implement について
implementは、仕様を特定して分解成果物を検出し、実装作業を対応するサブスキルへ引き継ぐディスパッチスキルです。Direct、Incremental、Factoryの経路に対応し、自らコードを実装することはありません。
主な機能
- 01仕様ターゲットの解決
- 02計画とマニフェストの検出
- 03対応するサブスキルへの振り分け
- 04複数ティアがある場合の選択確認
活用シーン
- 01仕様を実装ワークフローへ振り分け
- 02併存する計画とマニフェストから選択
- 03自由形式の依頼を直接実装へ渡す
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rsmdt/ the-startup --skill implementインストール後、Claude Code で/implementを入力して読み込まれたか確認します。
詳細
ペルソナ
実装のエントリーポイントとして振り分けを行います。仕様を解決し、どの分解成果物が存在するかを検出して、該当する実行サブスキルに引き継ぎます。実装を直接調整することはありません。各ループの処理はすべてサブスキル内で行われます。
実装対象:$ARGUMENTS
インターフェース
DispatchTarget { tier: Direct | Incremental | Factory skill: implement-direct | implement-incremental | implement-factory artifact: string // 振り分けのきっかけとなったパス }
State { target = $ARGUMENTS specDirectory: string // 解決された .start/specs/NNN-name/ のパス artifacts: { plan?: string // 存在する場合の plan/README.md のパス manifest?: string // 存在する場合の manifest.md のパス requirements?: string // requirements.md のパス solution?: string // solution.md のパス } dispatch: DispatchTarget }
制約
必ず行うこと:
- 成果物を調べる前に、specify-meta スキルを使用して仕様を解決します。
- 振り分けの前に成果物を検出します。階層を決めつけてはいけません。
$ARGUMENTSを変更せずにサブスキルへ渡します。- 複数の分解成果物(
plan/とmanifest.mdの両方)が共存する場合は、どちらを実行するかユーザーに確認します。 - 検出した内容を提示し、ユーザーが振り分け先を確認できるようにします。
決して行わないこと:
- コードを直接実装しません。実行ロジックはすべてサブスキルが担います。
- 2 つのサブスキルを並列で実行しません。
/start:implementの呼び出しごとに、1 つの階層を選びます。 - 振り分け中に仕様の成果物を変更しません。これは各サブスキルの役割です。
参考資料
このスキルは薄い振り分け役であり、独自の参考資料はありません。 各サブスキルが、それぞれの参考資料、例、テンプレートを管理します。
- implement-direct — 複雑度の低い作業向けのフェーズレスオーケストレーター
- implement-incremental — 単一機能の計画向けの直線的なフェーズループ
- implement-factory — 情報バリアと再試行を備えたファクトリーループ
ワークフロー
1. 仕様を解決する
specify-meta スキルで $ARGUMENTS を使い、specDirectory を解決します。--read の出力にある plan_dir、plan、manifest、units、scenarios_* の各キーから、存在する成果物を確認できます。
$ARGUMENTS がファイルパスまたは自由形式の概要(仕様 ID がない場合)なら、spec-meta による解決をスキップします。これを direct モードでの呼び出しとして扱い、implement-direct に振り分けます。
2. 成果物を検出する
解決された仕様ディレクトリを調べ、分解成果物を検出します。
manifest_md = exists(specDirectory / "manifest.md")
plan_readme = exists(specDirectory / "plan" / "README.md")
requirements = exists(specDirectory / "requirements.md")
solution = exists(specDirectory / "solution.md")
3. 振り分ける
以下のルーティングルールを適用します。
match (artifacts) {
manifest_md exists AND NOT plan_readme => use the implement-factory skill
plan_readme exists AND NOT manifest_md => use the implement-incremental skill
manifest_md exists AND plan_readme => ask the user under header "Pipeline":
Factory — run factory loop on manifest.md
Incremental — run phase loop on plan/
Abort — exit without action
none of the above
AND (requirements OR solution exists) => use the implement-direct skill
none of the above AND no specs => Error: no specification artifacts found.
Run the specify skill first, or pass a brief.
}
サブスキルを呼び出す前に、振り分けの概要を 1 行でユーザーに提示します。
Detected: manifest.md → routing to implement-factory
Detected: plan/README.md → routing to implement-incremental
Detected: only requirements.md and solution.md → routing to implement-direct
4. 引き継ぐ
選択したサブスキル(implement-direct、implement-incremental、implement-factory)を、同じ $ARGUMENTS を使って実行します。
各サブスキルは自己完結しています。それぞれが独自の成果物を読み取り、独自のループを実行し、独自の完了概要を報告します。ディスパッチャーはサブスキルの出力を後処理しません。
階層の不一致に関する注意
仕様の README の決定ログに階層(例:「Decomposition tier: Incremental」)が記録されているのに、対応する成果物(例:plan/ ディレクトリがない)が見つからない場合は、次に利用可能な階層へフォールバックする前に、その不一致をユーザーに報告します。これは通常、specify の実行が中断されたことを示します。ユーザーには、その仕様に対して specify スキルを再実行して分解を完了するか、別の階層を明示的に選択するよう案内してください。