spike について
変更を計画する前に、使い捨ての実験で不確かな技術案を検証するスキルです。最もリスクの高い疑問を最小限の実行可能な試作で確かめ、製品コードではなく判定を返します。
主な機能
- 01具体的な実現性の疑問を特定
- 02最もリスクの高い未知要素を優先
- 03最小限の一時的な実験を作成
- 04観測可能な結果を記録
- 05実現性の判定を提示
活用シーン
- 01不確かな外部APIの方式を試す
- 02変更案が実現可能か確認
- 03仕様作成前に技術リスクを解消
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ strelov1/ spec-driven-tdd --skill spikeインストール後、Claude Code で/spikeを入力して読み込まれたか確認します。
詳細
スパイク
実現可能性を調べるための使い捨て実験です。変更に、未検証の手法、外部 API、「これは可能なのか?」という未解決の疑問など、未検証の技術的リスクが伴う場合は、OpenSpec の成果物を書く前にスパイクを実施します。目的は、リスクの高い疑問への答えをスクリプト程度のコストで得て、実現できないアイデアを安価に見切ることです。
基本原則: コードは使い捨てです。後片付けが必要なスパイクは作り込みすぎです。残るのは結論だけです。
使用するタイミング
必須ではなく、リスクに応じて判断します。実現可能性が本当に不明な場合にのみスパイクを実施します。手法が明らかに実現可能なら、そのまま計画に進んでください。手法を選ぶのに必要な範囲で調査し、最もリスクの高い未知の要素からスパイクします。難所が機能しないのであれば、簡単な部分を試作しても意味がありません。
プロセス
- 分解する — 具体的な実現可能性の確認事項を 2~5 件、Given/When/Then 形式で整理し、リスクの高い順に並べます。最も危険な未知の要素を最初に扱います。
- すり合わせる — 確認事項と計画を提示し、コードを書く前にユーザーに調整してもらいます。
- 最小限に作る — スクラッチ用の場所(
/tmp、REPL、単発のcurlなど)に、動作する最小限のものを書きます。変更の作業ツリー内には決して作成しません。すべてハードコードします。パッケージ化、Docker、設定、ビルドツールは不要です。これはスパイクです。 - 観察する — 実行し、実際の出力を記録します。観察できる結果がなければ、スパイクで何も証明していません。
- 結論を出す — 次のうち 1 つだけを選び、その理由を 1 文で添えて完了します。
- VALIDATED — 手法は機能します。変更の計画に進んでください。
- PARTIAL — 一部だけが機能します。その範囲に絞ってから計画してください。
- INVALIDATED — 手法は機能しません。変更を作成しないでください。
スパイクの後
スクラッチコードを破棄します。結論を呼び出し元に返します。spec-driven-tdd の Plan フェーズでは、これによって /opsx:propose を実行するかどうかが決まります。
コメント
Markdown 対応