implement-from-plan reference
GitHub Issue を作らず、local plan から実装、検証、review、PR 作成まで進める入口である。
対象読者と使いどころ
| 項目 | 内容 |
|---|---|
| 対象読者 | Issue 化が不要な bounded task を、受け入れ条件を残して実装したい人 |
| 目的 | Issue を作らず、local plan を起点に実装から PR まで進める |
| 代表的な入口 | /implement-from-plan pr=draft |
| 入力 | 要求から作る local plan、または既存の research packet |
| 結果 | 検証済みの変更、指定した review、commit、push、必要な PR |
fix-github-issue と違い、claim gate や Issue 更新は行わない。dummy Issue や hidden Issue も作らない。
まず何が起きるか
- Issue を作らずに local plan を作り、要求と repository の一次情報から受け入れ条件を整理する。
- plan validation と
plan readinessで、受け入れ条件、変更範囲、検証方法を確認する。 - 実装し、通常検証、PR 前 simplify、必要な pre-review E2E を行って pre-review commit を作る。
- working tree が clean であることを確認し、review、push、PR 作成の前に
fix-code-commentsskill を実行する。対応言語の変更が無い branch でも省略せず、review 指摘の対応で HEAD が変わった場合は push 前に再実行して run record を最新 HEAD に揃える。 - local review が有効な場合は current HEAD を review する。
- finding があれば修正、再検証、再commitを行い、指定した review gate の収束後に push する。
pr=create|draftなら PR を作り、PR review と CI を確認する。pr=noneなら PR を作らず完了確認へ進む。- final E2E が必要な場合は review 後に実行し、最新結果を PR と完了報告へ反映する。
受け入れ条件や公開 API、設定形式、画面上の挙動に複数の完了形がある場合は、plan を確定する前に利用者へ確認する。
plan validation
| 指定 | 動作 |
|---|---|
agent=auto |
plan validation に使う Agent を自動選択する |
agent=codex / agent=claude / agent=copilot |
plan validation Agentを固定する |
config=<path> |
validation Agent の設定を渡す |
claude-mcp=off / claude-mcp=on |
Claude validation で MCP を使うか指定する |
skip-validation |
別 Agent の validation だけを省略する。readiness と通常検証は省略しない |
questions=off |
plan 作成前の最小確認を止める。高影響な判断を Agent が補った場合は plan 作成後に停止する |
plan validation が通っても、plan readiness が変更範囲や検証方法の不足を返した場合は実装を始めない。
調査から始める
| 指定 | 動作 |
|---|---|
research=auto / research=light / research=standard / research=deep / research=spike |
plan 作成前に read-only 調査を追加する |
research=off |
追加の調査 packet を作らない |
research-packet=<path> |
検証済みの packet を plan の根拠に使う |
research-packet=auto |
要求に一致する単一の current packet がある場合だけ採用する |
grill=skip |
research artifact が要求する深掘り interview を明示的に省略する |
research-packet=auto の候補が複数、古い、または読み取れない場合は自動採用しない。packet に未解決の重要判断が残る場合は、質問への回答か grill=skip の明示が必要になる。
shared implementation options
PR と review
| 指定 | 動作 |
|---|---|
pr=draft / pr=create / pr=none |
Draft PR、通常 PR、PR なしのいずれかを選ぶ |
review=auto |
plan と変更規模から review の強さを決める |
review=simplify |
PR 前 simplify だけを行う |
review=off |
review=simplify の alias として扱う |
review=once |
simplify 後に選択した Agent の one-shot review を行う |
review=on |
local review と、PR 作成後の review を収束させる |
agents=codex / agents=claude / agents=copilot / agents=none |
local reviewer を指定する。複数指定もできる |
reviewers=copilot / reviewers=codex / reviewers=codex,copilot / reviewers=copilot,codex / reviewers=none |
GitHub reviewer または trigger を指定する |
max-local-review-loops=auto / max-local-review-loops=<positive-integer> / max-local-review-loops=unlimited |
local reviewer loop の上限を指定する |
max-github-review-loops=auto / max-github-review-loops=<positive-integer> / max-github-review-loops=unlimited |
GitHub reviewer / trigger loop の上限を指定する |
ask-user |
review finding の採否を利用者に確認する |
pr= が未指定の場合は、通常 PR、Draft PR、PR なしのどれに進むかを推測せず、利用者へ確認する。
agents= は local reviewer、reviewers= は GitHub reviewer の指定である。reviewers=codex,copilot と reviewers=copilot,codex は同じ指定として扱う。
review=once では agents= に 1 つの runtime が必要で、agents=none や複数指定は開始前に停止する。
review=auto は変更規模から profile を選び、risk が高いほど coverage を広げる。
| profile | review mode | 既定 local reviewer | review loop の自動上限 |
|---|---|---|---|
minimal |
review=simplify |
なし | なし |
standard |
review=once |
実装 runtime の反対側 | なし |
high |
review=on |
実装 runtime の反対側 | 5 |
full |
review=on |
codex,claude |
10 |
実装 runtime が Claude Code なら Codex、Codex なら Claude、それ以外は Codex を反対側の既定値とする。判定できない場合は standard を選ぶ。review=、agents=、reviewers=、loop 上限の明示値は自動結果より優先し、unlimited は明示指定時だけ使う。
review=on で代表 profile の選択または明示 override が必要な場合は、利用者に確認してから実行する。
pr=none review=on agents=none のように実行可能な review 経路がない組み合わせは開始前に停止する。
単独の local plan はこの Skill で進める。親 Issue の sub-issue 群を queue 実行する場合は agent-team-run を使う。
E2E と作業場所
| 指定 | 動作 |
|---|---|
e2e=auto |
変更内容から E2E の要否と実行時点を決める。既定 |
e2e=off |
E2E を実行しない |
e2e=pre-review |
local review の前に E2E を行う |
e2e=final |
review とコード変更が収束した後に E2E を行う |
e2e=both |
pre-review と final の両方で行う |
worktree=on / worktree=off |
専用 worktree を使うか、現在の作業場所で実装するかを選ぶ。既定は on |
stack=<PR number|PR URL|auto> / stack=true |
stacked PR の親を PR または一意な source Issue の依存から解決する |
stack-base=<branch> |
stacked PR の親 branch を明示し、作業起点と review / PR の base をそろえる |
e2e=auto で文書だけを変更し、local apply、browser UI、command behavior、workflow runtime に影響しない場合は E2E を実行しない。e2e=pre-review|final|both を明示した場合は省略しない。
E2E の実行方法に利用者判断が必要な場合は、実行も skip も推測せず確認へ戻る。
stacked PR の親
stack=<PR number|PR URL> は同じ repository の open PR を親として指定します。stack=auto または stack=true は、research packet、handoff、plan から source Issue を一意に特定できる場合だけ Issue 依存から親 PR を解決します。自由文 plan などで source Issue を特定できない場合は停止します。
解決した親 PR、base branch、base OID は worktree、review、PR 作成へ引き継ぎ、PR 作成直前に再検査します。stack と stack-base は同時に指定できません。
stack=auto が logical_dependency_pr と effective_tail_candidate を返しても、legacy parent_pr_not_top は実装開始許可に読み替えません。chain_root_status、stack_members、publication_order_snapshot は後続 coordinator 用の観測 evidence として保持します。
source Issue を一意に特定できる auto stack は、fix-github-issue と同じ publication intent registry と standalone coordinator を使います。commit 後に current branch と HEAD を ready にし、先行 intent がある場合は status と heartbeat を続けます。順番が来たら prepare から再開し、restack 後の HEAD で validation、simplify、review、E2E をそろえ直します。
明示 stack=auto の publication gate と closing Issue gate は required です。required worker は implementation を commit までに限定し、publication-finalization が保存済み intent を使って prepare、current-HEAD gate、PR 作成を担当します。
false stop、unsafe pass、duplicate publication、順序違反、closing Issue の誤停止または見逃しがあれば、両 gate を report-only に rollback します。残存 publication intent は計測 artifact に記録して abort し、required registry へ持ち越しません。
generic resolver の legacy 既定値は変更しません。
branch を直接指定する互換経路
stack-base=<branch> を指定すると、先に対象 branch を fetch し、origin/<stack-base> を worktree または branch の起点にします。同じ branch を review-profile-plan、local review、create-pr にも渡します。
既存 linked worktree は、clean で origin/<stack-base> が HEAD の祖先になっている場合だけ再利用します。条件を満たさない場合は、自動 rebase や追加 worktree の作成を行わず、必要な操作を案内して停止します。
未指定時は stack-base による上書きを行わず、作業起点、review base、PR base の各既存手順を維持します。
実装開始時には、確定した PR、review、local reviewer、E2E、smoke の実行条件を durable state へまとめて保存する。現在の Codex thread ID または Claude Code session ID を取得できる場合は、plan ID と role=implementation の session binding も保存する。再開時は保存済みの条件を使い、不足項目の補完、既存値との不一致、live binding の保存失敗が解消するまで完了扱いにしない。
plan.json の decisions[].category には、ux_visible_behavior、data_format、public_api、config_format、scope、other のいずれかを指定する。
readiness checkpoint の acceptance_evidence は省略できる。記載する場合は plan の全 acceptance に対応する entry を置き、各 entry を status: "satisfied" かつ空でない evidence[] にする。
durable state を作る plan task-ledger には、--state-workflow-id PLAN_ID と次の selector snapshot を渡す。
CLI では --state-pr-mode <pr_mode>、--state-review-mode <review_mode>、--state-agents <agents>、--state-e2e-mode <e2e_mode>、--state-smoke-mode <smoke_mode> と指定する。stack resolver を使った場合は --state-stack-selector <selector> と --state-stack-resolution <artifact path> も指定する。
| flag | 値 |
|---|---|
--state-pr-mode |
正規化済みの PR mode |
--state-review-mode |
解決済みの review mode |
--state-agents |
解決済みの local reviewer selector |
--state-e2e-mode |
解決済みの E2E mode |
--state-smoke-mode |
解決済みの smoke mode |
--state-stack-selector |
正規化前の stack selector |
--state-stack-resolution |
stack-resolution.v1 artifact path |
完了報告前には、canonical completion-check が state から解決する artifact を plan implementation-evidence --kind <kind> --state-evidence <artifact.json> で登録する。
| kind | 登録する条件 |
|---|---|
commit、validation、pre-pr-simplify |
常時 |
review |
review_mode が once または on |
ci |
pr_mode!=none |
pre-review-e2e |
e2e_mode が pre-review または both |
final-e2e |
e2e_mode が final または both |
validation kind には run-validation が出力した validation-transcript.v1 を登録する。集約用の validation-evidence.v1 は登録しない。
publication は CI artifact から PR 番号を解決できない場合だけ使う optional fallback であり、必須 evidence ではない。mode が要求しない kind も登録しない。
完了確認へ渡す --simplify-result は、次のいずれかを受理する。
{"status":"success"}{"status":"skipped_trivial_change"}{"status":"skipped_covered_by_multi_review","covered_by":{"evidence_path":"<multi-review evidence>"}}
skipped_covered_by_multi_review を使う場合は、covered_by.evidence_path を空にしない。
Stop hook は明示 workflow identity または current session binding と role=implementation を branch 推定より優先する。保存済み selector と canonical artifact ref を CompletionCheckOptions へ変換し、完了報告と同じ canonical evaluator の結果を canonical_completion に記録する。非 implementation role と durable state が無い branch-only inference は no-op にする。
required mode では完了報告と同じ canonical 判定を effective exit に使う。旧判定は legacy_decision に残し、shadow_decision と divergence に比較結果を記録する。
完了確認の completion-check は実行のたびに fix-code-comments の run record を照合し、comment-check-observation.v1 を state root の repository 単位 path へ保存して、stdout に summary を additive に含める。この観測は report_only で、required_action を追加せず完了判定と exit code を変えない。base は optional な --base-ref で明示でき、省略時は origin/main との merge-base を使う。
停止条件と再開
次の場合は commit、push、PR 作成、完了報告へ進まない。
- plan validation、readiness、review、CI、E2E に未解決の required action がある。
- plan と実際の変更ファイル、検証方法、受け入れ条件に差が出た。
- reviewer を起動できない、または finding の修正を検証できていない。
- host profile への反映に companion PR が必要だが、元の handoff や PR 状態を確認できない。
停止時は、不足項目と再開に使う command を報告する。利用者が回答した場合は plan を更新し、readiness と変更差分の確認から再開する。
完了は会話の要約だけで決めない。指定した validation、review、CI、E2E と PR mode の結果が current HEAD に対してそろった場合だけ完了として報告する。
実行例
/implement-from-plan pr=draft
/implement-from-plan research=standard pr=create agents=claude reviewers=none
/implement-from-plan research-packet=tmp/task-research/abc/research-packet.json pr=draft
/implement-from-plan pr=none review=once agents=claude e2e=off
/implement-from-plan pr=create review=on agents=codex,claude reviewers=copilot e2e=final
詳細 contract
- no-Issue implementation flow contract
- implementation readiness contract
- E2E workflow gate
- task-research reference
- fix-github-issue reference
- Issue workflow skill guide
claude/skills/implement-from-plan/SKILL.mdclaude/skills/implement-from-plan/references/*.md