本文へ移動
cccskills
無料GitHub で公開

dev:spec

自己完結した実装仕様書を作成する。Gate 単位で Goal / Constraints / Acceptance Criteria を契約として明示し、実装エージェントに委任できる形で渡す。Trigger: 仕様書を作成, /dev:spec, 実装計画, 実装仕様

インストール方法を見る

含まれるファイル(7)

  • SKILL.md11.1 KB
  • agents/plan-reviewer.md8.6 KB
  • references/templates/spec-template-dir.md5.4 KB
  • references/templates/tasks-schema-v3.md10.1 KB
  • references/templates/tasks.template.json1.0 KB
  • scripts/__tests__/migrate-progress.test.mjs2.0 KB
  • scripts/migrate-progress.mjs6.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

ゴール

「Claude を有能なエンジニアとして委任できる」契約書としての仕様書を作成する。

v3 の規律:

  • 詳細な実装手順(impl)は書かない。エンジニアが自律的に決められるようにする
  • 各 Gate に Goal / Constraints / Acceptance Criteria を明示する
  • AC は「何が成立しているか」を検証可能な形で書く(コマンド・テスト・手動操作 何でも可)
  • Todo は粒度の合意と影響範囲の明示にとどめる(軽量化)

出力

ファイル内容
docs/PLAN/{YYMMDD}_{slug}/spec.md概要・背景・設計決定・アーキテクチャ・generated タスクリスト(Gate 契約 + Todo)
docs/PLAN/{YYMMDD}_{slug}/tasks.jsonschema v3 の構造化データ(Gate 契約 + Todo + Preflight)
docs/PLAN/{YYMMDD}_{slug}/references/参照資料(必要な場合のみ)

★ 実行手順

Step 1: コンテキスト収集

  1. 直前の会話から仕様書の対象タスクを特定する。特定できないときのみ AskUserQuestion で確認
  2. CLAUDE.md を Read してプロジェクト構成・技術スタックを把握する
  3. 関連ドキュメント・コードを Glob / Grep / Read で探索する

Step 2: 要件の深掘り

以下 4 項目を判定する:

判定項目基準
技術選定主要な技術的意思決定が確定しているか
スコープ変更範囲が明確か(含む/含まないの境界)
データフローコンポーネント間のデータ受け渡しが定義済みか
エッジケースエラーハンドリング・境界条件の方針があるか
  • 2 項目以上が未確定 → /dev:dig を実行して解消
  • 1 項目以下が未確定 → Step 3 へ進む

Step 3: Gate 設計と契約化

仕様書の中核。Gate 単位で契約を組み立てる ことで、後段の実装エージェントが詳細手順なしで動ける状態にする。

  1. 機能を 検証可能な単位 で Gate に分割する
    • 1 Gate = 「これが満たされれば次に進める」と人間が確信できる粒度
    • 通常 1 Gate = 1-3 時間の実装ボリューム
  2. 各 Gate に以下を定義する:
    • Goal: what(何を達成するか 1-2 文) + why(設計上の意図)
    • Constraints: must / mustNot の配列(採用技術・整合性ルール・破壊禁止対象等)
    • Acceptance Criteria: 検証可能な受け入れ基準のリスト
  3. AC の書き方:
    • 「実装したか」ではなく 「結果として何が成立しているか」 を書く
    • 形式は自由(タスクの種類による)。例:
      • コマンド出力: bun run type-check が 0 errors
      • テスト: bun test path/to/file が GREEN
      • HTTP: GET /api/x が 200 を返し JSON {a, b} を含む
      • ブラウザ: /xxx を開くと yyy が表示される(手動)
      • ファイル: .env.example に NEW_KEY が記載されている
  4. Gate 間の依存関係(前 Gate 通過が次の前提)を dependencies に書く

Step 4: Todo 分解

各 Gate の AC を満たすために必要な Todo を列挙する。

  • Todo は 粒度の合意 + 影響範囲の明示 に絞る(impl は書かない)
  • フィールド: id / gate / title / tdd / dependencies / affectedFiles
  • [TDD] ラベル: 入出力が明確でアサーション検証可能な Todo に付与(tdd: true)
  • [SIMPLE] ラベル: 数行追加・import 追加・定数追加・既知パターンの 1 箇所適用などの軽微な変更で完結する Todo に付与(title 先頭に [SIMPLE])
  • 両ラベルは通常排他的だが、必要なら両方付与可

Step 5: Preflight 抽出

sandbox では実行不可能な処理(3 カテゴリのみ)を Preflight として抽出する。

  • ネットワーク必須: npm/pnpm/yarn/bun/pip install、uv sync、npx create-*、git clone、curl、リモート API
  • ワークスペース外書き込み: brew install、apt install、cargo install、グローバル npm、~/.zshrc 編集
  • 対話必須: gh auth login、gcloud auth login、OAuth フロー、パスワードプロンプト

抽出しないもの: prisma generate などのローカル生成、ローカル DB マイグレーション、テスト実行。

各項目に id / title / command / manual / reason / ac(完了確認の Acceptance Criteria)を設定する。

該当なし → Preflight セクション全体を省略。

Step 6: ファイル作成(authored → tasks.json → generated 同期)

  1. date +%y%m%d で日付を取得
  2. AskUserQuestion で slug を確定
  3. mkdir -p docs/PLAN/{YYMMDD}_{slug} でディレクトリを作成
  4. spec.md authored 部分作成: references/templates/spec-template-dir.md を Read し、authored セクションのみ Write
    • Gate 0(/dev:spec-run 参照) / 概要 / 背景 / 設計決定事項 / アーキテクチャ詳細 / 変更対象ファイル / レビューステータス / 残存リスク
    • アーキテクチャ詳細は 概念レベルの Before/After 図やデータフロー図 に絞る。型定義・関数本体・API 実装コード等のコードレベル詳細は書かない
    • 「参照すべきファイル」は外部参照(references/ にコピーしたもの)がある場合のみ記載。コードベース内ファイルは Gate の Constraints / affectedFiles で参照する
    • Preflight がある場合は Gate 0 直後にチェックリストを出力
    • 「タスクリスト」セクションは <!-- generated:begin --> / <!-- generated:end --> マーカーのみ置き、内部は 空 にする
    • 実装手順は 書かない
  5. tasks.json 作成: references/templates/tasks.template.json を Read し、schemaVersion: 3 で Write
    • spec.slug, spec.title, spec.summary(1-2 文), spec.createdDate(YYYY-MM-DD)
    • status: "not-started", reviewChecked: false
    • preflight[]: 各項目に id / title / command / manual / reason / ac / checked: false
    • gates[]: 各 Gate に id / title / summary / dependencies / goal{what,why} / constraints{must,mustNot} / acceptanceCriteria[](各 AC は id/description/checked: false) / todos[](軽量フィールドのみ) / review: null / passed: false
    • progress / metadata は 書かない(dashboard で動的計算するため tasks.json には保持しない)
  6. generated 領域の同期: tasks.json の Edit/Write で PostToolUse hook が sync-spec-md.mjs を自動発火する。hook 環境外の場合は明示実行:
    node .claude/skills/dev/spec-run/scripts/sync-spec-md.mjs docs/PLAN/{YYMMDD}_{slug}/tasks.json
    

Step 7: 外部参照資料の同梱

仕様書内で参照しているファイルのうち、作業エージェントがアクセスできないものを references/ に同梱する。

条件アクション
他リポジトリ 内cp でコピー
外部 API ドキュメント要点を markdown で新規作成
会話中の API 仕様・データ構造リファレンス markdown を新規作成
特定 SDK 依存の設計必要な API パターンを markdown 化

同梱後:

  1. ファイル内に元リポジトリの相対パスが残っていないか Grep で確認 → 該当箇所に注記
  2. 仕様書側の参照パスを references/ 内パスに書き換え

Step 8: レビュー

→ agents/plan-reviewer.md を Read して Agent に委譲。

レビュー観点(v3 ベース、詳細は agents/plan-reviewer.md):

  1. Gate 契約の質 — Goal/Constraints/AC が委任可能な水準で書かれているか
  2. AC の検証可能性 — 機械検証 / 人手確認のどちらでも判定可能か
  3. タスク粒度 — Gate 1-3 時間、Todo が単一責任
  4. 依存関係 — 順序が正しく循環依存がない
  5. 参照の完全性 — 外部参照が同梱済みでパスが正しい
  6. 漏れ — セットアップ・エラーハンドリング・テストが抜けていない
  7. 意味的整合性 — Gate 契約と spec.md の設計決定 / アーキテクチャに矛盾がない

NEEDS_REVISION の場合は AskUserQuestion で修正方針を確認し、最大 2 回ループ。

Step 9: ユーザー最終確認

仕様書完成を報告し、AskUserQuestion で次のアクションを確認:

  • コミット → /dev:simple-add でコミット
  • 修正 → 指示に従い修正
  • 実装へ進む → /dev:spec-run で仕様書を実行

完了条件

  • 冒頭に Gate 0(/dev:spec-run 参照)が記述されている
  • 仕様書内の全参照ファイルがコードベース内パスで解決可能
  • 外部参照は references/ にコピー済み、パスも修正済み
  • Gate 間の依存関係が依存関係図に図示されている
  • 全 Gate に goal{what, why} / constraints{must, mustNot} / acceptanceCriteria[] が設定されている
  • 全 AC が 検証可能な記述 になっている
  • レビューが完了(APPROVED or ユーザー判断で続行)
  • ユーザーが承認済み
  • docs/PLAN/{YYMMDD}_{slug}/spec.md が存在する
  • docs/PLAN/{YYMMDD}_{slug}/tasks.json が存在する
  • tasks.json の schemaVersion が 3 である
  • tasks.json の各 Todo が軽量フィールドのみ(impl を持たない)
  • spec.md に <!-- generated:begin --> ... <!-- generated:end --> マーカーが存在し、内容が tasks.json と同期している

参照

  • references/templates/tasks.template.json — schema v3 雛形
  • references/templates/tasks-schema-v3.md — schema 仕様書
  • references/templates/spec-template-dir.md — spec.md テンプレート
  • agents/plan-reviewer.md — レビューエージェント
  • .claude/skills/dev/spec-run/scripts/sync-spec-md.mjs — generated 領域の自動生成
  • /dev:spec-run — 仕様書実行プロトコル
  • /dev:dig — Step 2 で要件の深掘りに使用

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Rebuild a degraded AI image to remove crunchy textures and repeated-edit artifacts while preserving identity, style, and composition. Use for clean remakes, not ordinary retouching or upscaling.

日本語の概要は準備中です。原文の説明を表示しています。

ryryo/dot-claude-dev32026年10月10日 更新

analyze-seminar-video

無料日本語概要

セミナー・講義・ウェビナー・研修・実演動画をローカルで文字起こしし、内容を分析して、必要なスライド画像や動画クリップ付きのHTML/Markdown資料を作る。動画から学習資料・実践ガイドを作りたい場合に使う。映像作品の再現設計やCanvas生成は対象外。

ryryo/dot-claude-dev32026年10月10日 更新

architecture-refactor-loop

無料日本語概要

責務・依存方向・状態や副作用の境界を監査し、既存挙動を保って段階的にリファクタリングする。read-only監査にも対応する。

ryryo/dot-claude-dev32026年10月10日 更新

astra-rules-refactor

無料日本語概要

AGENTS.mdや既存スキルをGPT-6 Astra向けに監査・整理するときに使う。契約と意図的な他モデル委譲を保ち、重複、過剰な手順、曖昧な停止条件を修正する。

ryryo/dot-claude-dev32026年10月10日 更新

character-sheet-imagegen

無料日本語概要

人物の参照写真から、同一性を保った複数アングルのキャラクターシートを生成・修正する。指定された身だしなみや撮影表現も整える。

ryryo/dot-claude-dev32026年10月10日 更新

character-to-codex-pet

無料日本語概要

既存キャラクター画像を、承認制でピクセルアートの正準画像へ変換し、3状態パイロット、クロマ前処理、状態間ジオメトリ検証、9状態生成、遷移QA、仮配置、アプリ内確認、ロールバック可能な正式配置まで行う。キャラクターからCodexペットを作る依頼に加え、ジャンプで小さくなる、状態ごとに身長が変わる、足元が跳ねる、クロマ縁が出る、アニメーションを修復したい依頼で使用する。

ryryo/dot-claude-dev32026年10月10日 更新

ryryo のスキルをすべて見る

このスキルの問題を報告する