build について
buildは、SPEC.mdに定義されたタスクを計画・実行するスキルです。Claude向けにタスク状態を管理し、指定された不変条件とインターフェースを保ちながら、テストとコマンドで変更を検証します。
主な機能
- 01SPEC.mdからタスクと制約を読み込む
- 02不変条件とインターフェースを参照して計画
- 03実行中のタスク状態を管理
- 04指定されたテストと検証コマンドを実行
- 05失敗をspecのワークフローへフィードバック
活用シーン
- 01次の保留中のspecタスクを実装
- 02指定タスクまたは全タスクを実行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ juliusbrussee/ cavekit --skill buildインストール後、Claude Code で/buildを入力して読み込まれたか確認します。
詳細
build — 仕様を実装する
ネイティブな単一スレッドの計画→実行。あなたがメインのClaudeです。スウォームは使いません。
LOAD
SPEC.mdを読みます。存在しない場合 → まずspecスキルを呼び出すようユーザーに伝えます。そこで停止します。- まだ読み込んでいない場合は、
FORMAT.mdを一度読みます。 - §Rがあれば読みます — ビルドで順守すべき外部事実です。⊥ 再導出または矛盾がないか確認します。
- 呼び出し引数を解析します。
§T.n→ そのタスクのみ--next→ ステータスが.または~の行のうち、番号が最も小さいもの--allまたは引数なし → §Tの順に、すべての.行
影響範囲が大きい場合(共有モジュール、認証、データ、金銭、公開されている§I)は、先に /review を実行します。簡単で元に戻せる場合は、計画の手順を省略してEXECUTEに進みます。
PLAN
ネイティブな計画モードを使います。タスク分解を独自に作り直さず、計画モードに委ねます。選択したタスクごとに:
- 該当する§Vの不変条件をすべて引用します。計画ではすべて順守する必要があります。
- 変更する§Iのインターフェースをすべて引用します。形状を維持する必要があります。
- 作成/編集するファイルを列挙します。
- 検証条件 — 該当する各§Vを証明する、正確なテスト/受け入れ基準を明記します。「テストを追加する」ではなく、どのテストかを示します。「TDDを行う」だけでは逆効果です。仕様には何を確認すべきかが書かれています。該当する各§Vについて、最初に失敗する名前付きテストを指定します。
- 検証コマンド(テスト、ビルド、lint)を明記します。これが外部オラクルです。成功なら完了、⊥「完了したように見える」ではありません。
計画を提示します。自動モードでない限り、ユーザーの承認を待ちます。
EXECUTE
タスクごとに、順番に実行します。
- §T.nのステータス欄を
.から~に変更します。SPEC.mdにのみ書き込みます。 - 計画に従ってコードを編集します。
- 検証コマンドを実行します。
- 成功 →
~からxに変更します。次のタスクに進みます。 - 失敗 → backpropスキルを呼び出します。やみくもに再試行してはいけません。
FAIL → BACKPROP
テスト/ビルドの失敗時:
- 失敗出力を読みます。
- 問いかけます。失敗の原因は(a)自分のコードのバグ、(b)仕様の誤り、(c)未指定のエッジケースのどれか?
- (a)の場合 → コードを修正して再実行します。仕様は変更しません。
- (b)または(c)の場合 → まず
bug: <cause>を指定してspecスキルを呼び出し、§Vと§Bを更新させてから、更新済みの仕様に基づいてビルドを再開します。
ルール:バックプロパゲーションを検討せずに、根本原因を黙って修正してはいけません。§Bは再発を防ぐための記録です。
WRITE POLICY
- §Tのステータスのみ変更します。buildからSPEC.mdの他の箇所を編集してはいけません。
- その他の仕様変更にはspecスキルを呼び出します。
- §Tの完了ごとにコミットします。メッセージ:
T<n>: <goal line>+ §Vの引用。
VERIFICATION
以下の場合のみ、タスクを x にします。
- 検証コマンド(オラクル)が終了コード0で終了する。
- 該当するすべての§Vに、検証条件で指定した名前付きテストがあり、それらが成功する。
- §Vの不変条件に後退がない(最後に全テストスイートを実行する)。
NON-GOALS
- サブエージェントは使いません。並列ワーカーも使いません。メインスレッドのみです。
- 進捗ダッシュボードは作りません。
cat SPEC.md | grep §Tがダッシュボードです。 - 選択したタスクの範囲を超える、推測に基づく作業はしません。
コメント
Markdown 対応