patpat-run

patpat-run is a skill for Cursor from goiltpatpat/patpat. It costs 51 tokens per session (1,556 once invoked), scanned A, original, MIT.

A local state machine for managing long, multi-stage engineering work that can be paused, checked, resumed, or handed to another worker.

In plain words
What is it for?
It helps run ordered engineering units, record checkpoints and proof, coordinate parallel work, and resume or take over a task after context loss.
Why use it?
It preserves progress and enforces dependencies, isolation, verification, and safe handoffs when work spans many steps or sessions.

Skill for Cursor

Written for Cursor: shipped in a Cursor plugin.

Part of the patpat plugin — 22 skills, 1 agent, 3 hooks shipped together

Good fit It helps run ordered engineering units, record checkpoints and proof, coordinate parallel work, and resume or take over a task after context loss.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/goiltpatpat/patpat/patpat-run
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add goiltpatpat/patpat --skill patpat-run
Clone the repo
git clone --depth 1 https://github.com/goiltpatpat/patpat

Made for: Cursor.

Or install patpat, the plugin that ships this one along with the rest of its 22 skills, 1 agent, 3 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for patpat-run

README.md
[![agentmods](https://agentmods.dev/badge/skills/goiltpatpat/patpat/patpat-run/github.svg)](https://agentmods.dev/skills/goiltpatpat/patpat/patpat-run)
Your own site
<a href="https://agentmods.dev/skills/goiltpatpat/patpat/patpat-run"><img src="https://agentmods.dev/badge/skills/goiltpatpat/patpat/patpat-run/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for patpat-run

Your own site · 80×15
<a href="https://agentmods.dev/skills/goiltpatpat/patpat/patpat-run"><img src="https://agentmods.dev/badge/skills/goiltpatpat/patpat/patpat-run.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 51 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,556 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00051 $0.01556
Opus 5 $0.00026 $0.00778
Sonnet 5 $0.00010 $0.00311
Haiku 4.5 $0.00005 $0.00156

Measured 6d ago against content hash 5dfbf024de9d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

patpat-run scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

The scan reads SKILL.md. This mod also ships 6 executable files (scripts/decisions.py, scripts/program_state.py, scripts/run_state.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/patpat-run/SKILL.md · 44 lines

How it starts

The opening of the file, as written. The whole thing — 44 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Patpat Run

When invoked directly, read the operating protocol in full. Do not load the router.

Read sequence verifiable units, proof over proxy, and apply the multi-phase run playbook.

Use scripts/run_state.py for durable graph state. Require a Git worktree with at least one commit and store state under Git metadata. Print the absolute store path at each checkpoint. Do not commit run state or create a tracked handoff unless the user explicitly requests it. Keep an append-only human decision trail at <git patpat/runs>/<run-id>/decisions.tsv next to state.json; same privacy as run state.

For a checked multi-unit plan, initialize scripts/program_state.py from the validated plan. Reject unordered units with exact, ancestor, or conservatively overlapping glob ownership. Keep dispatch closed until the integration owner supplies an absolute content-bound parallel-gate receipt that binds the plan digest, every unit's unique isolation identity, and all earned-parallelism checks. Open dispatch with set-gate dispatch open --receipt /absolute/path --integration-owner <identity>, then assign each dependency-ready frontier unit with an explicit actor, receipt-bound isolation identity, and expected generation. Pass the returned generation on every worker-controlled head, state, verdict, and unit-inbox mutation; never infer the current generation for a caller. Change a unit head only with its expected current head (none for the first head), and require that head to contain every declared dependency head in its Git ancestry. Treat each verdict slot as write-once until head change or reassignment. Reassignment increments the fencing token and rejects stale worker output. Closing dispatch revokes every active assignment; reopening it requires fresh assignment calls. Record unit events through the inbox with that unit's current head. Require the bound integration owner for program-wide events and acknowledgement; peek first and acknowledge a sequence only after processing the handoff. A changed dispatch receipt clears the inbox so a new authority epoch cannot inherit unattributed events. Bind verification and independent review to commits present in the repository. Require a fresh passing verification before review, and reject the verifier, assigned worker, or integration owner as reviewer. Recheck dependency ancestry before verdicts, completion, and delivery. Open delivery only when every dependency has fresh evidence. Any unit head change clears that unit's proof and inbox; a changed dependency head also revokes downstream assignments and evidence before work can resume. The program store coordinates state only; its local identities are self-asserted labels, not authentication. It does not stop an old process from writing an external surface, spawn workers, observe providers, or grant commit, push, merge, publish, or deploy authority.

Before fan-out, write the earned-parallelism receipt as bounded JSON and pass its absolute path to scripts/team_shape.py with --parallel-gate-receipt, --program-id, --plan-digest, --integration-owner, every --unit, observed capacity, and an explicit worker budget. Writable selection fails closed unless those expected values match the receipt; receipt-internal claims do not bind themselves to the active job. A boolean claim alone cannot admit writable fan-out. Accept serial fallback; the recommendation and receipt never grant authority. Send typed handoff cards and evidence pointers, never full worker transcripts. Mutation commands print bounded receipts by default; request --full only for deliberate ledger inspection. Use status --brief or status --unit <id>, and page the inbox with --after plus --limit.

Read the full file on GitHub · 44 lines

Files

What ships with it

7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago Changed · +2 lines 5dfbf024de9d
  2. 10d ago First seen · 42 lines · 51 tokens per session scan A 8bfab7395775

Subscribe to this mod's changes

patpat-run is a skill published in the GitHub repository goiltpatpat/patpat (1 stars, last pushed today), licensed MIT. It adds 51 tokens to every session and 1,556 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.