Skip to content
cccskills
FreePublished on GitHub

dev:spec

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

The English summary is being prepared. Showing the original description.

See how to install

Files included (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 (original)

Review the instructions the agent will receive before you install.

ゴール

「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 で要件の深掘りに使用

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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.

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 21, 2026

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

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 21, 2026

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

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 21, 2026

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

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 21, 2026

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

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 21, 2026

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

The English summary is being prepared. Showing the original description.

ryryo/dot-claude-dev3Updated Oct 21, 2026

See all skills by ryryo

Report a problem with this skill