spec-driven-archive について
spec-driven-archiveは、`.spec-driven/`を使うプロジェクトで完了した変更をアーカイブするスキルです。CLIによる確認とAIによる仕様統合を組み合わせ、未完了タスクがあれば処理を止めます。
主な機能
- 01進行中の変更を一覧表示
- 02アーカイブ前にタスク完了を確認
- 03差分仕様をメイン仕様へ統合
- 04仕様インデックスとマッピングを更新
- 05変更をアーカイブしロードマップを調整
活用シーン
- 01完了した仕様駆動変更のアーカイブ
- 02要件の追加・変更・削除の反映
- 03アーカイブ時の仕様とロードマップ更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kw12121212/ auto-spec-driven --skill spec-driven-archiveインストール後、Claude Code で/spec-driven-archiveを入力して読み込まれたか確認します。
詳細
完了した仕様駆動型の変更をアーカイブする作業を支援します。
このスキルのコマンド
このスキルで使用する正確なコマンドを思い出せない場合は、実行する前にここで確認してください。 推測してはいけません。
modify: node {{SKILL_DIR}}/scripts/spec-driven.js modify
apply: node {{SKILL_DIR}}/scripts/spec-driven.js apply <name>
verify-spec-mappings: node {{SKILL_DIR}}/scripts/spec-driven.js verify-spec-mappings
archive: node {{SKILL_DIR}}/scripts/spec-driven.js archive <name>
責任の分担
このスキルを実行する際は、スクリプトが行う作業と AI が行う作業を明確に区別してください。
CLI スクリプトが担当
node {{SKILL_DIR}}/scripts/spec-driven.js modifyはアクティブな変更を一覧表示しますnode {{SKILL_DIR}}/scripts/spec-driven.js apply <name>はタスクの完了状況を報告しますnode {{SKILL_DIR}}/scripts/spec-driven.js archive <name>は変更ディレクトリを.spec-driven/changes/archive/YYYY-MM-DD-<name>/に移動します。また、.spec-driven/roadmap/が存在する場合は、影響を受けるマイルストーンの宣言済みステータスを調整し、.spec-driven/roadmap/INDEX.mdを更新します
AI が担当
- 必要に応じて、どの変更をアーカイブするかユーザーに尋ねる
applyの出力を解釈し、未完了のタスクがある場合はアーカイブを中止する.spec-driven/changes/<name>/specs/を確認し、差分仕様を.spec-driven/specs/に統合する。REMOVEDにより空になったメイン仕様ファイルは必要に応じて削除する- 確認を求めずに空の
specs/を受け入れる — 仕様に影響しない変更も有効です - 作成または削除されたメイン仕様ファイルを反映するよう、
.spec-driven/specs/INDEX.mdを更新する - 仕様の統合中に、仕様マッピングのフロントマターを保持するか適用する
- 統合した仕様の影響、アーカイブによって変更されたロードマップのステータス、最終的なアーカイブ先を要約する
前提条件
.spec-driven/ ディレクトリがプロジェクトルートに存在している必要があります。続行する前に確認してください。
ls .spec-driven/
確認に失敗した場合、プロジェクトは初期化されていません。まず /spec-driven-init を実行してください。
手順
-
変更を選択する —
node {{SKILL_DIR}}/scripts/spec-driven.js modifyを実行してアクティブな変更を一覧表示します。アーカイブする変更を尋ねます。すでに指定されている場合は、それを使用します。 -
未完了のタスクを確認する — 次を実行します。
node {{SKILL_DIR}}/scripts/spec-driven.js apply <name>remaining > 0の場合は中止してください — すべてのタスクが完了するまでアーカイブはできません。未完了のタスクを列挙し、/spec-driven-apply <name>または/spec-driven-cancel <name>を提案してください。 -
差分仕様を統合する —
.spec-driven/changes/<name>/specs/内のすべてのファイルを一覧表示します。specs/が空の場合:確認を求めずに続行します — 仕様に影響しない変更も有効です。- 各差分ファイル(例:
specs/install/install-behavior.md)を、対応するメイン仕様ファイル(例:.spec-driven/specs/install/install-behavior.md)に統合します。 - ADDED:
### Requirement:ブロックを対象ファイルに追加します(ファイルが存在しない場合は作成します) - MODIFIED:名前で既存の
### Requirement: <name>ブロックを特定し、その箇所で置き換えます - REMOVED:名前で
### Requirement: <name>ブロックを特定して削除します。ファイルが空になった場合は削除します - 差分ファイルにマッピングのフロントマターが含まれている場合は、変更をアーカイブに移動する前に、そのフロントマターを対象のメイン仕様ファイルに適用します
- 統合後に
specs/で変更された内容を簡潔に要約します。
-
specs/INDEX.md を更新する — 統合後、
.spec-driven/specs/INDEX.mdを更新します。- 新しく作成された仕様ファイルのエントリを追加します(一行の説明を付けます)
- 削除された仕様ファイルのエントリを削除します
- ファイルの適用範囲が変わっていない限り、既存のエントリは変更しません
node {{SKILL_DIR}}/scripts/spec-driven.js verify-spec-mappingsを実行し、アーカイブ処理を完了する前にマッピングのフロントマターのエラーを修正します
-
変更をアーカイブする — 次を実行します。
node {{SKILL_DIR}}/scripts/spec-driven.js archive <name>これにより、
questions.mdを含む変更ディレクトリ全体がアーカイブに移動します。.spec-driven/roadmap/が存在する場合、このコマンドはアーカイブした変更の影響を受けるマイルストーンの宣言済みステータスも調整し、.spec-driven/roadmap/INDEX.mdを再生成します。 -
確認する — 結果を報告します。
- 変更の移動先(例:
.spec-driven/changes/archive/2024-01-15-<name>/) - アーカイブによって変更されたマイルストーンの宣言済みステータス、またはロードマップのインデックスエントリ
- 後続作業がある場合は
/spec-driven-proposeの実行を提案します
- 変更の移動先(例:
ルール
- アーカイブする前に、未完了のタスクがないか必ず確認してください
- 未完了のタスクがある変更は、決してアーカイブしないでください
- どの手順をスクリプトで実行し、どの手順を AI で実行するかを必ず明記してください
- アーカイブする前に、必ず差分仕様をマージしてください。これは必須のゲートであり、省略できません
changes/<name>/specs/が空の場合、確認せずに進めてください。仕様に影響しない変更も有効ですREMOVEDの差分エントリを適用する際に、.spec-driven/specs/内の要件や空の仕様ファイルを削除することは許可されています- 変更ディレクトリを手動で削除しないでください。アーカイブコマンドを実行して変更をアーカイブしてください
- 実装とテストの対応関係は、要件の本文ではなくフロントマターに記載してください