원클릭으로
start-plan
設計書から実装戦略を策定し、タスクを抽出して YAML 計画書を作成・更新する。レビュー+自動修正→commit まで一貫実行。 トリガー: "計画書作成", "計画開始", "start plan", "start planning"
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
設計書から実装戦略を策定し、タスクを抽出して YAML 計画書を作成・更新する。レビュー+自動修正→commit まで一貫実行。 トリガー: "計画書作成", "計画開始", "start plan", "start planning"
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
msg-sys 通信基盤(常駐 Codex セッションとの Stop フック経由の非同期往復)の上で、 Codex とのレビュー依頼・所見受領・修正・完了判定を駆動する。3モード(依頼/受信/再開)を持つ。 依頼モードのトリガー句: "msg-reviewでレビュー依頼", "Codexとレビュー往復したい", "常駐Codexにレビューを依頼", "msg-reviewを実行して", "Codexセッションにコードレビューを頼みたい"。 受信モードの起動契機(トリガー句ではなくメッセージ本文の形式で成立): Stop フックが差し戻した メッセージ本文の先頭が `[msg-review] <種別> review_id=<review_id> round=<n>` である。 再開モードのトリガー句: "msg-reviewを再開したい", "レビューの往復上限到達通知が来た、状況を確認して", "review_idの未解決所見を要約して", "msg-reviewの続きを確認したい"。
計画書からタスクを選び、実装・レビュー・計画更新まで一貫して実行する。 トリガー: "実装開始", "タスク実行", "start implement"
コード・文書をレビューし、品質問題の発見から修正まで自動化できる。重大度 🔴🟡🟢 で分類。 --auto で修正まで一貫実行。code/requirement/design/plan/uxui/generic の6種別に対応。 トリガー: "レビュー", "review", "レビューして", "確認して"
GitHub Issue を軽量実装で進めるか forge の SDD フロー(start-requirements/start-design/start-plan)に委ねるかを判定するスキル。feature namespace の要否も判定する。トリガー:「このIssueをトリアージして」「Issueの進め方を判定して」「#N はどう進めるべきか判定して」
GitHub Issue の実装を準備から完了まで一貫して行う。triage の判定調査結果(仕様書・ルール・類似PR・既存コードの特定)を引き継ぎ、実装計画の策定・Issue への解決内容記載・実装・レビューまで進める。UI Issue の場合は Figma デザイン仕様書・実装設計書の作成、UI 実装、実装レビューまでカバーする。 `/anvil:triage-issue` が軽量実装と判定した Issue に対して Skill ツール経由でのみ起動される(ユーザーからの直接起動は不可)。
コミットメッセージを自動生成し、手間なく commit & push できる。 トリガー: "コミットして", "commit して", "push して", "commit & push"
| name | start-plan |
| description | 設計書から実装戦略を策定し、タスクを抽出して YAML 計画書を作成・更新する。レビュー+自動修正→commit まで一貫実行。 トリガー: "計画書作成", "計画開始", "start plan", "start planning" |
| user-invocable | true |
| argument-hint | <feature> [--new|--add] |
| allowed-tools | Bash, Read, Write, Glob, Grep, Agent, Skill, AskUserQuestion |
設計書から実装戦略を策定し、タスクを抽出して計画書を作成または更新する。
設計書からタスク抽出・YAML計画書作成・レビュー+自動修正・commit まで完走すること。
Phase 完了後は立ち止まらず次の Phase に自動で進む。不明点がある場合のみ AskUserQuestion で確認する。
/forge:start-plan [feature] [--new|--add]
| 引数 | 内容 |
|---|---|
| feature | Feature 名(省略時は対話で確定) |
| --new | 新規アプリ・新規 feature(追加開発でない) |
| --add | 既存アプリへの機能追加(追加開発) |
対象 Feature を確定する。Feature が決まらないと、入力(どの設計書から計画するか)も出力先も決まらない。
フィーチャー概念の把握 [MANDATORY]: フラグ問わず以下を Read し、フィーチャーとは何か・名前空間の原則を把握する。
${CLAUDE_PLUGIN_ROOT}/docs/additive_development_spec.md §0 — フィーチャーの概念定義${CLAUDE_PLUGIN_ROOT}/skills/doc-structure/SKILL.md の「出力先ディレクトリの解決」手順に従い、
doc_type plan(feature 未指定)で既存ファイルの有無を確認し、以下の3分岐で確定する:
additive_development_spec.md §0 参照)計画書が新規アプリ向けか、既存アプリへの追加開発(additive)向けかを確定する。追加開発の計画書には frontmatter マーカーの付与が必須となるため、計画書作成前に判定する。
--new 指定 → 新規アプリ・新規 feature として処理--add 指定 → 既存アプリへの機能追加(追加開発)として処理type: temporary-feature-* frontmatter を持つ)かで推定し、判断がつかなければ AskUserQuestion で確認する--add(追加開発)の場合 [MANDATORY]: 以下を Read し、判定基準・矛盾時の優先度・merge 手順を把握したうえで後続 Phase に進む。
${CLAUDE_PLUGIN_ROOT}/docs/additive_development_spec.md — 追加開発ワークフロー仕様(§1 適用条件・対象外 / §6 frontmatter 定義一覧)${CLAUDE_PLUGIN_ROOT}/docs/plan_format.md の「追加 feature 用 frontmatter」節 — type: temporary-feature-plan マーカー定義計画書の出力先を特定する。入力文書(設計書)は Phase 1 で agent が特定する。
${CLAUDE_PLUGIN_ROOT}/skills/doc-structure/SKILL.md の「出力先ディレクトリの解決」手順に従い、
doc_type plan、feature {feature} で出力先ディレクトリを求める。
plan に対応するエントリが無い場合は AskUserQuestion で出力先を確認する出力先の計画書の存在を確認し、モードを決定する。
| 状況 | モード |
|---|---|
| 計画書が存在しない | 新規作成モード → Phase 1 へ |
| 計画書が存在する | AskUserQuestion でユーザーに確認 |
既存計画書がある場合、AskUserQuestion を使用して確認する:
/forge:review plan --files {既存計画書パス} を起動して終了以下のプラグイン文書を常に読み込む:
${CLAUDE_PLUGIN_ROOT}/docs/spec_format.md — ID分類カタログ(タスクIDの体系を確認)${CLAUDE_PLUGIN_ROOT}/docs/plan_format.md — 計画書テンプレート${CLAUDE_PLUGIN_ROOT}/docs/plan_principles_spec.md — 計画書作成原則・タスク設計ガイドライン${CLAUDE_PLUGIN_ROOT}/docs/document_style_guide.md — 文書スタイル指針(タグ・見出し・参照記法)以下の 2 つを Agent ツールで並列起動 し、各 agent の return value を main AI コンテキストに直接保持する。エラー時は該当カテゴリなしで後続工程に進む。
Agent ツール起動: 仕様書収集
prompt:
Feature "{feature}" の計画書作成に必要な要件定義書と設計書 (`*_design.md`) を検索する。
`/forge:query-db-specs {feature}` を呼ぶ。
return value として以下の markdown 形式で返す:
## 仕様書 (N 件)
- `path/to/design.md` — 関連理由 (要件定義書 / 設計書 等を明記)
Agent ツール起動: 計画書ルール収集
prompt:
Feature "{feature}" の計画書作成に適用するフォーマット・タスク設計ルールを検索する。
`/forge:query-db-rules {feature} 計画` を呼ぶ。
return value として以下の markdown 形式で返す:
## 計画書ルール (N 件)
- `path/to/rule.md` — 関連理由
全 agent 完了後、2 つの return value をそのままユーザーに表示する。5 件以下は全件表示、6 件以上は先頭 3 件 + ... 他 N 件。
Phase 1 の 2 agent の return value を起点に、必要なファイルを Read する:
*_design.md) と要件定義書を Read該当 agent がエラー終了して return value を得られなかった場合 → 該当カテゴリなしで続行。 ただし 仕様書 return value に設計書が含まれていない場合 → AskUserQuestion:
タスク分割の前に、設計書全体を俯瞰し「どういうアプローチで実装に到達するか」を汎用 Agent (general-purpose) に策定させる。
Agent ツールで実装戦略 agent を起動する。Phase 1 で得た仕様書 return value から設計書パスを抽出し、agent 起動の引数として渡す:
Agent ツール起動: 実装戦略策定 (subagent_type: general-purpose)
prompt:
以下の設計書を読み、実装戦略を策定する。
詳細手順は `${CLAUDE_PLUGIN_ROOT}/docs/strategy_formulation_spec.md` を Read して従うこと。
- feature: {feature}
- design_docs: [{設計書パス1}, {設計書パス2}, ...] ← Phase 1 仕様書 return value から抽出
- rules_docs: [{ルール文書パス1}, ...] ← Phase 1 計画書ルール return value から抽出
策定した実装戦略の markdown を return value として返すこと。
(ファイルへの書き出しは不要。main AI が return value を受け取ってから配置する)
Agent 完了後、return value (戦略書 markdown) を承認前にそのまま最終出力先へ Write する。チャットへの全文転記より先にファイルとして配置し、ユーザーが文書そのものを読んでレビューできるようにする:
{output_dir}/{feature}_strategy.mdWrite 完了後:
実装戦略書を作成しました: {output_dir}/{feature}_strategy.md
内容を確認してください。
既存計画書がある場合(更新モード)、以下を必ず確認する:
上記に未反映がある場合は AskUserQuestion を使用して先に更新するか確認する。
{output_dir}/{feature}_strategy.md を Read し、実装戦略のフェーズ分割に従ってタスクを抽出・分割する:
実装戦略書の必読化 [MANDATORY]: すべてのタスクの required_reading に {output_dir}/{feature}_strategy.md を含める。executor が単一タスクだけを実装する場合でも、全体戦略・フェーズ意図・リスク対策を理解したうえで実装判断できるようにするため。
タスクの粒度:
| 基準 | 内容 |
|---|---|
| 単位 | 1つのファイル、または「完結性」の基準(1つの Agent 実行で完結する)を満たす範囲の密接に関連するファイル |
| 量 | やるべき内容は5〜10項目程度 |
| 完結性 | タスク完了時にビルド・テストが成功する規模 [MANDATORY] |
タスクグループ化: タスクを細かく分割すると途中でビルドが壊れることは普通に起きる。その場合は複数タスクをグループ化し、グループ完了時にビルドを確認する。
「タスクN完了時点でビルドが通るか?」→ No ならグループ化。グループも「1つの Agent 実行で完結する単位」であることを基準とし、1 Agent が把握・実行しきれない規模になったら段階的に分割できないか検討する。
出力フォーマット [MANDATORY]: plan_format.md の YAML スキーマに従って生成する。ファイル名: {feature}_plan.yaml(拡張子は .yaml、.md ではない)
Markdown 出力の禁止 [MANDATORY]:
.md のファイル名で計画書を出力するのは禁止#)・Markdown table・Markdown 箇条書きで計画書本体(タスク・トレーサビリティ・改定履歴)を表現してはならない。これらはすべて YAML の構造化データとして表現するtasks[] の YAML フィールド (task_id / title / priority / status / design_id / depends_on / group_id / build_check / description / acceptance_criteria / required_reading) として記述するdesign_id が無いタスクに - を入れてはならない。design_id: null を使用するrequired_reading が無いタスクに - を入れてはならない。required_reading: [] を使用するdescription 内の各項目を YAML 配列要素として記述するのは可(description フィールドの値が文字列配列であるため)Claude Code の plan mode が生成する Markdown plan とは別物。Markdown plan は
/forge:create-feature-from-markdown-planの入力素材であり、/forge:start-planの出力ではない。
フォーマットの優先順位:
${CLAUDE_PLUGIN_ROOT}/docs/plan_format.md作成場所: 事前準備「出力先の解決」で確定した出力先ディレクトリ
追加開発(--add)の場合 [MANDATORY]: plan_format.md「追加 feature 用 frontmatter」が定義する type: temporary-feature-plan マーカーを、ファイル先頭のコメントブロック(# --- で囲む YAML コメント)として付与する。plan.yaml はトップレベルキー追加が禁止(🟡 major 違反)のため、マーカーはキーではなくコメントで表現する(既存スキーマと衝突しない)。notes の正本は対応する追加 feature 要件定義書(REQ-xxx)を指す。新規アプリ(--new)・既存計画書の更新時は付与しない。
タスクID採番 [MANDATORY]: プロジェクトのフォーマットルールに従う。ルールがない場合は TASK-001, TASK-002 等の連番。
タスク ID を付与する際は、必ず以下のスクリプトで次の連番を取得する。手動での番号決定は禁止:
SCAN_SCRIPT="${CLAUDE_PLUGIN_ROOT}/skills/next-spec-id/scripts/scan_spec_ids.py"
python3 "$SCAN_SCRIPT" TASK
JSON 出力の next_id を起点に連番を使用する。duplicates が空でない場合は警告を表示する。
優先度: プロジェクトのフォーマットルールに従う。ルールがない場合は数値が大きいほど優先度が高い(例: 1〜99)。実装戦略のフェーズ順序を反映すること。
「やるべき内容」の記載原則 [MANDATORY]: 設計書を参照すればわかる実装詳細(プロパティ名、型、メソッドシグネチャ等)は計画書に書かない。設計書の該当セクションを特定できるレベルの記述にとどめること。計画書に実装詳細を転記すると設計書との二重管理になり、不整合の原因となる。
依存関係マップ(作業メモ): タスク間の依存関係を整理するために作成してよいが、計画書本体には含めない。依存関係は各タスクの depends_on 配列に落とし込む。循環依存がないか確認すること。
計画書作成後、以下を確認する。ファイルを書き出す前に MUST 自己検査すること。
plan_format.md 必須スキーマ検査 [MANDATORY]:
{feature}_plan.yaml 形式(拡張子 .yaml)requirements_traceability / design_traceability / tasks / revision_history の 4 キーがすべて存在するtype: temporary-feature-plan マーカーは先頭コメントブロックであり top-level キーではないため許容)tasks[] の各要素が必須フィールドをすべて持つ: task_id / title / priority / status / design_id / depends_on / group_id / build_check / description / acceptance_criteria / required_readingtasks[].design_id は文字列か null(- や "-" ではない)tasks[].depends_on / required_reading は配列(なければ []、null でも - でもない)tasks[].required_reading に {output_dir}/{feature}_strategy.md が含まれているtasks[].build_check の値は per_task / skip / on_group_complete のいずれかtasks[].status の値は pending / in_progress / completed のいずれかrequirements_traceability[].status の値は pending / completed のいずれか計画品質検査 [MANDATORY]:
plan_format.md の YAML フォーマットに従っているか(Markdown table・Markdown 見出しで計画書本体を表現していないか)計画書作成・更新後に Skill ツールで /forge:review plan を --auto モードで実行する:
# Skill ツールで起動する
/forge:review plan --files {作成した計画書のファイルパス} --auto
対象はこのワークフローで作成・変更したファイル(差分)のみ。 Skill が失敗した場合は Phase 4.4 のチェック項目を手動で確認し、人間にレビューを依頼する。
/forge:update-db-specs が利用可能であれば実行する(利用不可の場合はスキップ)。
commit/push の確認フローを担うスキル(例: anvil:commit)が available-skills にあれば呼び出す。無ければ git add → git commit の手順を案内する(Issue #159)。
作成したファイルパスとともに次のステップを案内する:
計画書を作成しました:
→ {実装戦略書パス}
→ {計画書パス}
次のステップ:
/forge:start-implement {feature} # タスクの実行を開始
※ 実装戦略書・計画書は実装完了後に削除する ephemeral 文書です。