ワンクリックで
executing-plans
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when the user provides a GitHub PR link with a "deep review" trigger inside a locally cloned repo, to perform a thorough multi-dimensional code review grounded in ARCS DAG context, AGENTS.md conventions, and optional codegraph coupling analysis, then post findings as inline GitHub review comments under explicit user gate
Use when initializing a new ARCS project — bootstrapping a repo into the DAG with metadata, docs, and structural knowledge entries. Covers gather → present summary → init → codegraph ingestion → fan-out analysis across typed sub-agents.
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
Use when implementing any feature or bugfix, before writing implementation code
Use when you have a spec or requirements for a multi-step task, before touching code
Use when capturing a knowledge entry, before writing its body — to author a substantive per-kind body, not a summary-only stub
| name | executing-plans |
| description | Use when you have a written implementation plan to execute in a separate session with review checkpoints |
You have a written implementation plan to execute task-by-task with verification checkpoints.
NOT for:
loop insteadSequential single-agent execution is the default. When the orchestrator signals 2+ independent sub-problems, switch to Parallel Mode (below) — fan-out multi-agent dispatch of independent ready nodes with two-stage review.
CLI:
arcs --commands --jsonfor discovery. Mutating commands run directly — no token.
flowchart TD
A[Load plan] --> B{Diagram exists?}
B -->|Yes| C[arcs diagram ready slug planId]
B -->|No| D[Read plan body for task list]
C --> E[Extract per-node metadata]
D --> E
E --> F{Concerns about plan?}
F -->|Yes| G[Raise with human — STOP]
F -->|No| H[Select next ready task]
H --> I[Mark task started — see Transition ownership]
I --> J[Execute steps exactly]
J --> K[Run task's scoped verify command]
K --> L{Passes?}
L -->|No| M{Repeated failure?}
M -->|Yes| N[STOP — ask for help]
M -->|No| J
L -->|Yes| O[Report task done — see Transition ownership]
O --> P{More ready tasks?}
P -->|Yes| H
P -->|No| Q{All tasks done?}
Q -->|No| R[Re-scan: arcs diagram ready]
R --> P
Q -->|Yes| S[Report completion — devil-advocate gate owns the full-project pass]
When plan has .diagram.mmd:
arcs diagram ready <slug> <planId> → executable nodes (deps all :::done)%% metadata: node, skill, scope, files, acceptance, verifyDependency-aware ordering: arcs next respects dependsOn — it only surfaces tasks whose dependencies are all done. Use arcs next as the authoritative source for what's executable; you don't need to manually parse .mmd for ordering. arcs diagram ready remains useful for per-plan metadata inspection.
Transition ownership: When dispatched by the ARCS orchestrator, you never run arcs task transition — report each task done in your return envelope (STATUS/FILES_TOUCHED/VERIFY) and the orchestrator transitions after the execute gate passes. Only when running standalone (no orchestrator session) transition yourself, with both flags: arcs task transition <slug> <taskId> done --diagramNodeId=T001 --planId=<planId>
Verify scope rule: Run ONLY the current task's verify command, scoped to that task's files. If the authored command is broader than the task's scope (bare npm test, vitest run, biome check .), narrow it to the touched files first (e.g. npm test -- test/orders.test.ts). Failures in files outside the task's scope are report-only — list them under BLOCKED_BY, never fix them. Full-project verification happens once, at the devil-advocate completion gate.
Directed gotcha read before each task: Before executing a task, search the DAG for known traps in its area so you don't walk into one the plan didn't anticipate: arcs knowledge search <slug> "<task-keywords>" --lean --json, filtering for kind=gotcha. Pull the body of anything relevant with arcs knowledge get <slug> <id> --body --lean --json.
Fetch once, then paste the relevant output into each dispatch's CONTEXT — don't make sub-agents re-fetch:
arcs context <slug> --audience=implementer --lean --json
arcs search <slug> "<task-keywords>" --lean --json
Sub-agents run arcs lookups only to fill gaps the dispatch left open — never to re-derive what CONTEXT already states.
Sub-agents MUST NOT edit .mmd files — orchestrator owns diagram updates.
When the orchestrator signals 2+ independent sub-problems, execute the plan via fresh subagents fanned out across independent ready nodes, with two-stage review per task. This replaces the sequential single-agent walk above with diagram-first parallel dispatch.
flowchart TD
A[Load plan + extract all tasks] --> B{Diagram .mmd exists?}
B -->|yes| C[arcs diagram ready → get parallel-safe nodes]
B -->|no| D[Pick next task sequentially]
C --> E[Read node metadata: skill, scope, acceptance, verify]
D --> F[Construct subagent prompt]
E --> F
F --> G[Dispatch implementer subagent]
G --> H{Subagent status?}
H -->|DONE / DONE_WITH_CONCERNS| I[Dispatch spec-reviewer subagent]
H -->|NEEDS_CONTEXT| J[Provide context, re-dispatch]
H -->|BLOCKED| K{Assess blocker}
J --> G
K -->|context gap| J
K -->|needs stronger model| L[Re-dispatch with capable model]
K -->|task too large| M[Split task, update plan]
K -->|plan wrong| N[Escalate to human]
L --> G
I --> O{Spec compliant?}
O -->|no| P[Implementer fixes spec gaps] --> I
O -->|yes| Q[Code-quality review — see gate note below]
Q --> R{Quality approved?}
R -->|no| S[Implementer fixes quality issues] --> Q
R -->|yes| T[Mark task done]
T --> U{More tasks?}
U -->|yes| B
U -->|no| V[Dispatch devil-advocate PHASE: completion — the single full-project pass]
V -->|PASS| W[Report completion]
V -->|BLOCK| X[Re-dispatch scoped fixes per FAILURES] --> V
Gate cap: two consecutive completion BLOCKs → stop and escalate to human; never loop the V→X cycle a third time.
Under the ARCS orchestrator: the orchestrator's devil-advocate PHASE: execute gate replaces the code-quality reviewer step (the gate runs the scoped VERIFY and the drift check); spec review remains. Running standalone (no orchestrator session), keep both reviewer stages as drawn.
flowchart TD
A[Subagent fails] --> B{First attempt?}
B -->|yes| C[Re-dispatch with more context or stronger model]
B -->|no| D{Same failure mode?}
D -->|yes| E[Escalate to human — don't loop]
D -->|no| C
C --> F{Success?}
F -->|yes| G[Continue pipeline]
F -->|no| D
When the plan has a .mmd file:
arcs diagram ready <slug> <planId> → all returned nodes are dispatch-safe in parallel%% metadata (skill, scope, files, acceptance, verify) to construct promptsarcs task transition <slug> <taskId> done --diagramNodeId=T001 --planId=<planId> (standalone only — under the orchestrator, report done and let it transition)diagram ready to discover newly-unblocked nodesOwnership: Dispatcher owns .mmd updates. Implementer subagents MUST NOT edit diagrams.
Every implementer subagent prompt MUST include:
| Section | Content |
|---|---|
| Goal | Exact task description from plan (full text, not summary) |
| Context | Where this task fits in the plan; what came before |
| Scope | File boundaries — what to touch, what NOT to touch |
| Acceptance | Done criteria copied verbatim from plan/diagram |
| Verify | Exact command to run before claiming done — scoped to the task's files, never the full suite |
| Skill | Which work-mode skill to load (from diagram metadata or inferred) |
| Return | Structured Return envelope (below) — brief prose findings first, JSON block last |
Do NOT make the subagent read the plan file. Provide full text in the prompt. Prompt templates: ./implementer-prompt.md, ./spec-reviewer-prompt.md, ./code-quality-reviewer-prompt.md.
| Task complexity | Model tier |
|---|---|
| 1-2 files, clear spec, mechanical | Fast/cheap |
| Multi-file integration, pattern matching | Standard |
| Architecture, design, review | Most capable |
All sub-agents MUST return a JSON block as the LAST thing in their message — brief prose findings first, JSON block last, nothing after it:
{
"status": "DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT",
"summary": "<1-2 sentences>",
"payload": { "<role-specific fields per prompt template>": "..." }
}
Role payloads: implementer → filesChanged/filesCreated/verification{command,result,scopeReason}/concerns/scopeChanges; spec reviewer → compliant/issues; quality reviewer → approved/issues.
Orchestrator parses status for routing, payload for action.
Mapping to the orchestrator's Standard Return Envelope: DONE→done, DONE_WITH_CONCERNS→done + concerns surfaced, BLOCKED→blocked, NEEDS_CONTEXT→blocked.
Include in every dispatch prompt:
"Return format: brief prose findings first, then the JSON envelope (status + typed payload) from your role's prompt template as the LAST thing in your message — nothing after it."
./spec-reviewer-prompt.md../code-quality-reviewer-prompt.md. Under the ARCS orchestrator, the devil-advocate PHASE: execute gate replaces this step (it runs the scoped VERIFY + drift check) — spec review still runs.Parallel implementers are allowed when tasks touch zero shared files.
When to serialize instead:
The concerns, scopeChanges, and DONE_WITH_CONCERNS payloads collected from each subagent are near-free durable signal — don't discard them. At fan-in, route the durable items (a non-obvious trap hit, a convention that had to be discovered, a plan-vs-reality delta) into the DAG: arcs knowledge upsert <slug> "<title>" --kind=<gotcha|pattern> --summary="<1-2 sentences>" --keywords="<k1,k2>" --source-files="<path,...>" --json. Skip purely mechanical or task-local notes. Upsert is idempotent by title.
git stash — ever, under any circumstancegit checkout on shared branchesgit diff HEAD -- <your-files> to verify YOUR changes only — bare git diff is unreliable in parallelSTOP executing immediately when:
Ask for clarification rather than guessing. Don't force through blockers.
When execution surfaces something the plan didn't know — a plan-vs-reality delta, a gotcha hit mid-task, a convention the plan got wrong — capture it so the "new knowledge entries" sync trigger below actually fires: arcs knowledge upsert <slug> "<title>" --kind=<gotcha|lesson> --summary="<what reality diverged from the plan / the trap hit>" --keywords="<k1,k2>" --source-files="<path,...>" --json. Skip when execution matched the plan exactly. Upsert is idempotent by title.
Post-execution DAG sync fires automatically when:
lastSyncedAt > 7 days agodone status