Prompt file imported from agent-kit-startup/agent-kit (
.cursor/commands/run-plan.md). Copyright stays with the author.
Command: /run-plan
Goal
Run the active plan continuously until it is done or blocked. The agent picks the strategy (orchestrated when Task exists, in-session loop otherwise, headless agent-kit run-plan). Never /git-prod from this command.
HITL contract, exact Ask labels, numbered fallback (path 1): hitl-gates. Full tick contract: run-plan-tick-contract.md.
Hard stops (kit failure if skipped)
- Never
/git-prod. Suggest it only after Final HANDOFF when staging is ahead ofmain(separate HITL). - One to-do per tick. Mark
in_progressbefore work. Never stack the next to-do. - Risk / API-limit stop. PII, secrets, or ambiguous scope: Ask the risk labels. Quota or Task abort: revert the to-do to
pending, HANDOFF the stop, do not reschedule or silent-inline. - One Ask on the default path. Inbox, owed-close, and landing Asks are opt-in or post-default, never pre-Ask blockers. Empty inbox: silent skip. Skip the inbox Ask inside a
/run-plan-allper-plan Task. - Exhaustion audits do not steal
/git-prod. Exit3is timeout-only and does not retroactively convert, upgrade, or rewrite a later monitor into success.
Ask labels
| Gate | Labels |
|---|---|
| Risk | Continue with risk / Modify approach / Stop run |
| Inbox (post-default) | Analyze inbox now / Enqueue Fix now / Not now |
| Exhaustion (post-default) | Run review now / Always enable automatic / Not now |
| Owed-close (post-default) | Adopt existing monitor / Ack owed without review / Not now |
Pending ticket (preflight, id ticket) |
Read the ticket / Accept / Discard / Later |
Numbered-list fallback is path 1 when Ask questions is missing.
Procedure
- Read HANDOFF + plan + config. Preflight API-limit stop, pending operator ticket (Ask
ticketonly while.cursor/context/gate-exit.jsonhas a pending entry; inside a/run-plan-allTask or--no-hitl, list the stamps instead: pending-ticket.md), audits, unsatisfiable Claude reviewer, session-pile. Read a product-context extract when the plan points at one. - Next pending to-do.
force_task: trueor findings → Task. Lightweight docs-only → inline-first. Else Task or in-session. - Execute only that to-do. Findings-only for
review-*.autoRemediatedefault false: no silent product fix. - Close: plan status, HANDOFF, cadence bump,
/git-stagingon a commitable diff. Staging ready: yes requires lint evidence (ornone applicable). Dashboard HTML:none applicable (dashboard-CSS)covered by plugin-ux-validation. Contract string alone without that evidence is invalid. - Reschedule or stop (blocker, exhausted, user stop, API limit). Never
/git-prod.
Persona chrome (agentPersona.modes.run-plan) after the command Ask, not instead of HITL. Default chat chrome: no cockpit emoji.
