こんにちは!エンジニアの黒神です!
今回は「仕様駆動開発(Spec-Driven Development)」を Claude Code 上で手軽に実行できるツール 「cc-sdd」 を触ってみたら開発体験がめちゃ良かったのでご紹介します。
SDD に関しては紹介記事がたくさんあるので省略しますが、簡単にいえば 「仕様(Spec)を先に定義し、その仕様を満たすコードを書いていく開発手法」 のことです。
https://zenn.dev/nogu66/articles/spec-driven-development
特に Vibe Coding で作ったプロダクトは、とりあえず動くけど中身の設計やコードがボロボロのパターンが多く、とてもプロダクション運用できる状態ではないことが多いです。
「cc-sdd」を導入することで、ドキュメント整備された環境を簡単に手に入れられ、開発生産性の向上が見込めます。
ツール自体の導入も簡単なので、これを機にぜひ一度触ってみてほしいです。
cc-sdd について
Amazon の IDE、「Kiro」の Spec モードを参考に作られたオープンソースの国産 SDD 支援ツールです。
エンジニアの Gota(@gota_bara)さんが開発しており、活発にアップデートされています。
https://x.com/gota_bara/status/1957911703754338658
使用感やバグ報告などフィードバック募集中とのことですので、何かあれば GitHub Issue や PR を送って開発を応援しましょう!
リポジトリはこちら:
https://github.com/gotalab/cc-sdd
cc-sdd の推しポイント
- 簡単インストール
- 次のステップを教えてくれる
- Steering Documents の自動作成/読み込み
- TDD 前提で実装してくれる
- 作業の状況把握/再開が簡単
- 複数の CLI/IDE に対応
順に説明していきます。
簡単インストール
「cc-sdd」は拡張機能のような感じなので、コマンド一つで簡単にインストールできます。
# 基本インストール(デフォルト: 英語、Claude Code)
npx cc-sdd@latest
# 言語オプション(デフォルト: --lang en)
npx cc-sdd@latest --lang ja # 日本語
npx cc-sdd@latest --lang zh-TW # 繁体字中国語
# エージェントオプション(デフォルト: claude-code)
npx cc-sdd@latest --gemini-cli --lang ja # Gemini CLI用
npx cc-sdd@latest --cursor --lang ja # Cursor IDE用
Claude Code で利用する前提なら npx cc-sdd@latest --lang ja
のみで良いでしょう。
コマンドを実行すると Spec 開発に必要なファイルを現在のプロジェクトに作成してよいか聞かれるので、必要なものを許可して導入完了です。
(基本的には All で OK。ただし CLAUDE.md も上書きされるのでご注意を)
たったこれだけです!
次のステップを教えてくれる
親切だなーと思ったのは、次に実行するべきコマンドを最後に教えてくれること。
表示されたコマンドをコピペすることで、迷わず次のステップに進むことができます。
https://x.com/kokushing/status/1959891680544583971
Steering Documents の自動作成/読み込み
Steering Documents というのは、現在のプロジェクトのコードを解析し、プロジェクト概要やアーキテクチャを文章化したものです。この文章を前提知識として読み込ませることで、プロジェクトに対する理解が深まり、繰り返し作業を減らしたり、一貫性のあるコード出力が見込めます。
https://kiro.dev/docs/steering/
cc-sdd ではコマンド 1 つで Steering Documents を作成し、タスク実行時に自動的に読み込みます。
AI だけでなく、人間にとっても価値のあるドキュメントなので、導入後にまずはこの Steering Documents を作成することをおすすめします。
TDD 前提で実装してくれる
cc-sdd は TDD(テスト駆動開発)前提で実装を行うため、テスト環境の構築や、テストコードの作成を別途指示する必要はありません。
RED で失敗するテストを書いてから実装を行い、GREEN でテストをパスしたら次のタスクに着手する、といった感じで進行してくれます。
どれくらい厳密にテストをするか等は Spec 作成時にある程度調整できるので、気になる方は念入りにレビューするのが良いと思います。
作業の状況把握/再開が簡単
タスクファイル(tasks.md)では、実装タスク一覧が ToDo リストで書かれており、完了済みタスクに関してはチェックマークが入力されているため、ぱっと見で進捗状況を把握できます。
また、spec-status コマンドを利用すれば具体的な進捗状況を確認することも可能です。

このコマンドのおかげで途中参加したメンバーも状況を把握しやすくなり、作業再開も楽になります。
ヤッタネ!
複数の CLI/IDE に対応
現在対応しているツールは下記のとおりです。
- Claude Code
- Gemini CLI
- Cursor
個人的には普段の業務では Cursor、個人開発では Claude Code と分けていたのでドンピシャでした。
その他の対応予定もあるようなので、期待して待ちましょう。
cc-sdd を使った開発の流れ
- コマンドインストール
- Steering Documents の作成 (/kiro:steering)
- Specs テンプレートの作成 (/kiro:spec-init)
- requirements.md の作成 (/kiro:spec-requirements)
- design.md の作成 (/kiro:spec-design)
- tasks.md の作成 (/kiro:spec-tasks)
- タスク番号を指定して実行 (/kiro:spec-impl)
(1)は初回のみで OK、(2)は機能実装が完了した後に実行しておくと良いです。
(3)以降は新規機能開発のタイミングで実行です。
基本的に(3)のspec-init
コマンドでテンプレート作成を行えば次のステップを教えてくれるので、表示されたコマンドをコピペして進めていきましょう。
(6)まで完了してタスクを開始する前に一度コミットしておくことをおすすめします。
(7)はコマンドの引数にタスク番号が必要なので注意してください。対応するタスク番号は tasks.md 内に割り振られています。
/kiro:spec-impl 1 // 1番のタスクを順番に処理する
詳しくは公式ドキュメントを参照してください。
README_ja.md (GitHub)
どういうシーンで使うべきか
基本的に Vibe Coding したコードをプロダクション運用に向けて整備するために使うのがベストです。
公式ドキュメントにも 「プロトタイプからプロダクション開発プロセスへ」 と記載があります。
ゼロから作るタイミングでも使えなくはないのですが、SDD ではじっくり丁寧に開発を進めていくため時間とトークンの消費が多くなります。そのため、狙ったものが出力できなかったときにコストパフォーマンスが良くありません。
雑に Vibe Coding で骨組みを作り、コア機能が実装できたのでこれから作り込んでいくぞ!というタイミングで使うのがおすすめです。
出力精度を高めるために
活用テクニックを書きたかったのですが、まだまだ使い込みが足りない…!
このあたりは今後も触ってみて知見が溜まり次第、追記していきます。
- Spec 関連のファイルは必ず目を通してレビューする
- /compact(コンテキストの圧縮) は 1 タスクを終えたら実行する
- /kiro:steering でこまめに Steering Documents を更新する
- TBD
使ってみてね!
以上、Claude Code でも SDD が体験できるツール「cc-sdd」のご紹介でした。
ツール自体がとても丁寧に作られており、CLI ながら非常に Kiro と近い開発体験を味わうことができます。Claude Code、Gemini CLI、Cursor ユーザでまだ SDD を体験したことがない〜という方はぜひ触ってみてください。
自分もまだまだ触り始めて日が浅いので、今後も利用を継続して知見をためていこうと思います。
改めて Gota さん、素敵なツールありがとうございます!