← 2026-06-05
Claude Code Community 2026-06-05 Source →

Spec-Driven Development ─ YAML仕様書からClaude Codeワークフローを自動生成する手法

Spec-Driven Development ─ YAML仕様書からClaude Codeワークフローを自動生成する手法

Hacker Newsで「Spec-Driven Development(仕様駆動開発)」と呼ばれるClaude Code活用パターンが注目を集めている。事前にYAML形式で仕様書を書き、それをClaude Codeへの指示として使うことで、大規模なコーディングタスクでも一貫性を保てるというアプローチだ。


課題:大きなタスクをClaude Codeに渡すと迷走する

Claude Codeに「認証システムを実装して」のような大きなタスクを渡すと、コンテキストが進むにつれて方針がブレたり、前半と後半で設計が食い違ったりすることがある。

これはモデルの問題というより「仕様のあいまいさ」の問題だ。人間のエンジニアでも、要件定義なしに実装すると同じことが起きる。


解決策:実装前にYAML仕様書を書く

# spec.yaml
feature: user-authentication
goal: "Email + password認証をJWT使用で実装"

constraints:
  - bcryptでパスワードハッシュ化
  - JWTトークンの有効期限は24h
  - リフレッシュトークンはDBに保存
  - レート制限: 5回/分でIPブロック

steps:
  - name: "データモデル設計"
    deliverable: "User, RefreshToken テーブルのマイグレーション"
  - name: "認証エンドポイント"
    deliverable: "POST /auth/login, POST /auth/refresh, POST /auth/logout"
  - name: "ミドルウェア"
    deliverable: "JWT検証ミドルウェア"
  - name: "テスト"
    deliverable: "各エンドポイントのintegration test"

done_when:
  - 既存テストがすべてパス
  - 新規テストカバレッジ80%以上

このYAMLをそのままClaude Codeに渡すか、CLAUDE.mdに参照パスを書いておく。


ポイント:done_whenを必ず書く

特に重要なのが done_when セクションだ。Claude Codeは「完了」の定義がない場合、あいまいな状態で「できました」と返してしまうことがある。

明示的な完了条件を書くことで:


関連Tip:--worktreeで並列セッション

同じHNスレッドで話題になっていたもう一つのTip。

claude --worktree feature/auth-backend
claude --worktree feature/auth-frontend

--worktreeフラグを使うと、gitのworktree(独立した作業コピー)を自動で作成してClaude Codeを起動できる。これにより:

フロントエンドとバックエンドを別々のClaudeに任せる、といった分担が実用的になる。コミュニティでは「単一最大の生産性向上」と評する声もある。


まとめ

アプローチ 効果
YAML仕様書を先に書く 大きなタスクの迷走防止
done_whenで完了条件を明示 曖昧な「完成」を防ぐ
--worktreeで並列実行 バックエンド/フロントを同時に進める

Claude Codeは「賢いエンジニア」だが、要件が不明確なタスクは苦手というのは人間と同じだ。Spec-Driven Developmentは、Claude Codeの性能を最大限引き出すためのワークフロー設計パターンとして注目に値する。