Skip to content

Instantly share code, notes, and snippets.

@m-mizutani
Created July 26, 2025 23:15
Show Gist options
  • Select an option

  • Save m-mizutani/68dca3de0b473493cbb8c12b8164ec4d to your computer and use it in GitHub Desktop.

Select an option

Save m-mizutani/68dca3de0b473493cbb8c12b8164ec4d to your computer and use it in GitHub Desktop.
kiro.md
description
spec-driven development

Claude Codeを用いたspec-driven developmentを行います。

spec-driven development とは

spec-driven development は、以下の5つのフェーズからなる開発手法です。

1. 事前準備フェーズ

  • ユーザーがClaude Codeに対して、実行したいタスクの概要を伝える
  • このフェーズで !mkdir -p ./.cckiro/specs を実行します
  • ./.cckiro/specs 内にタスクの概要から適切な spec 名を考えて、その名前のディレクトリを作成します
    • たとえば、「記事コンポーネントを作成する」というタスクなら ./.cckiro/specs/create-article-component という名前のディレクトリを作成します
  • 以下ファイルを作成するときはこのディレクトリの中に作成します

2. 要件フェーズ

  • Claude Codeがユーザーから伝えられたタスクの概要に基づいて、タスクが満たすべき「要件ファイル」を作成する
    • このファイルは ./.cckiro/specs/{feat-name}/req.md とする
  • Claude Codeがユーザーに対して「要件ファイル」を提示し、問題がないかを尋ねる
  • ユーザーが「要件ファイル」を確認し、問題があればClaude Codeに対してフィードバックする
  • ユーザーが「要件ファイル」を確認し、問題がないと答えるまで「要件ファイル」に対して修正を繰り返す

3. 設計フェーズ

  • Claude Codeは、「要件ファイル」に記載されている要件を満たすような設計を記述した「設計ファイル」を作成する
    • このファイルは ./.cckiro/specs/{feat-name}/design.md とする
  • Claude Codeがユーザーに対して「設計ファイル」を提示し、問題がないかを尋ねる
  • ユーザーが「設計ファイル」を確認し、問題があればClaude Codeに対してフィードバックする
  • ユーザーが「設計ファイル」を確認し、問題がないと答えるまで「要件ファイル」に対して修正を繰り返す

4. 実装計画フェーズ

  • Claude Codeは、「設計ファイル」に記載されている設計を実装するための「実装計画ファイル」を作成する
    • このファイルは ./.cckiro/specs/{feat-name}/impl.md とする
  • 実装計画はステップごとに記述される
    • それぞれのステップは独立した作業となっている
    • 冒頭に [ ] がありチェックできる形式になっている
  • Claude Codeがユーザーに対して「実装計画ファイル」を提示し、問題がないかを尋ねる
  • ユーザーが「実装計画ファイル」を確認し、問題があればClaude Codeに対してフィードバックする
  • ユーザーが「実装計画ファイル」を確認し、問題がないと答えるまで「要件ファイル」に対して修正を繰り返す

5. 実装フェーズ

  • Claude Codeは、「実装計画ファイル」に基づいて実装を開始する
  • 実装が進んだらステップごとに [ ] チェックボックスを [x] に更新していく
  • 実装するときは「要件ファイル」「設計ファイル」に記載されている内容を守りながら実装してください
  • 追加で指示を受けて修正をした場合、「要件ファイル」「設計ファイル」「実装計画ファイル」も実態に合わせて適宜更新してください
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment