仕様駆動開発(Spec-Driven Development) のための Claude Code プラグイン — 仕様を先に書き、AI がフルコンテキストで実装・レビューする。
マーケットプレイスバージョン: 0.2.12
マーケットプレイスは 2 つのプラグイン(forge、anvil)で構成される。AI 検索可能なドキュメントインデックス(doc-advisor)は別リポジトリ BlueEventHorizon/DocAdvisor が提供し、forge の検索系スキルがこれへ転送する(index-docs / query-docs)。
仕様駆動開発は、すべてのコード変更を書かれた仕様に遡れるワークフローである。forge が要件定義・設計・計画・実装・レビューの5段階を導き、AI が場当たり的な指示ではなく明文化された意図に基づいて作業する。各段階で文書が生まれ、次の段階の入力になる。結果として追跡可能で監査可能な成果物が得られる — コードがなぜ存在するかを常に説明できる。
→ 哲学と追加開発ワークフローの詳細は 仕様駆動開発ガイド を参照。
プロジェクトが大きくなると、ルール・規約・設計文書が蓄積される。AI がそれらを見つけられなければ活用できない。外部の doc-advisor(BlueEventHorizon/DocAdvisor)はこれらの文書を ToC(キーワード/メタデータ)でインデックス化し、forge の重要な場面で自動的に提供する:
- 実装時 — コードを書く前にプロジェクト固有の実装ルールと関連仕様を収集する。
- レビュー時 — 適用すべきルールをレビュー観点として追加し、汎用的なベストプラクティスではなくプロジェクトの実際の基準で検査する。
forge の /forge:query-db-rules / /forge:query-db-specs / /forge:update-db-rules / /forge:update-db-specs が doc-advisor の query-docs / index-docs へ転送する。これによりコンテキストの欠損がなくなる — AI がシニアメンバーと同じ知識で実装・レビューできるようになる。
flowchart LR
subgraph forge
R(["要件定義"]) --> D(["設計"]) --> P(["計画"]) --> I(["実装"]) --> RF(["レビュー / 修正"])
end
RF --> DL(["成果物"])
DA["doc-advisor(外部)"] -. "コンテキスト収集" .-> forge
AV[anvil] -- "コミット & PR" --> DL
| プラグイン | バージョン | 説明 |
|---|---|---|
| forge | 0.3.6 | AI によるドキュメントライフサイクルツール。要件定義・設計・計画書の作成、コード・文書レビュー、自動修正、品質確定に対応 |
| anvil | 0.0.12 | GitHub 操作ツールキット。PR 作成、Issue 管理、GitHub ワークフロー自動化に対応 |
doc-advisor は外部依存: AI 検索可能な文書インデックスは別リポジトリ BlueEventHorizon/DocAdvisor として配布される。インストールは
/plugin marketplace add BlueEventHorizon/DocAdvisor→/plugin install doc-advisor@DocAdvisor。
Feature と文書構造管理の詳細は 文書構造ガイド を参照。
flowchart LR
REQ["start-requirements<br/>(何を作るか)"]
UXUI["start-uxui-design<br/>(どう見せるか)"]
DES["start-design<br/>(どう作るか)"]
PLAN["start-plan<br/>(いつ作るか)"]
IMPL["start-implement<br/>(作る)"]
REQ --> UXUI -.->|optional| DES --> PLAN --> IMPL
REV["review<br/>(全ステージで利用可)"]
REQ & DES & PLAN & IMPL -.->|"随時"| REV
| 段階 | スキル | 入力 | 出力 |
|---|---|---|---|
| 要件定義 | start-requirements | 対話 / ソースコード / Figma | 要件定義書(Markdown) |
| UXUI デザイン | start-uxui-design | 要件定義書の ASCII アート | デザイントークン + UI 仕様 |
| 設計 | start-design | 要件定義書 | 設計書(Markdown) |
| 計画 | start-plan | 設計書 | 計画書(YAML) |
| 実装 | start-implement | 計画書 | コード + 進捗更新 |
| レビュー | review | コード / 文書 | 指摘 + 修正 |
# 1. プロジェクト設定(初回のみ)
/forge:setup-doc-structure
# 2. 要件定義から実装まで
/forge:start-requirements my-feature --mode interactive --new
/forge:start-design my-feature
/forge:start-plan my-feature
/forge:start-implement my-feature
# 3. レビュー(随時)
/forge:review code src/ --auto| スキル | 説明 | トリガー |
|---|---|---|
| review | コード・文書を 🔴🟡🟢 重大度付きでレビュー。--auto-critical で 🔴 のみ / --auto で 🔴🟡 を自動修正 |
"レビューして" |
| start-requirements | 対話・ソース解析・Figma の 3 モードで要件定義書を作成 | "要件定義" |
| start-design | 要件定義書から設計書を作成。既存資産の再利用を重視 | "設計書作成" |
| start-plan | 設計書からタスクを抽出し YAML 計画書を作成 | "計画書作成" |
| start-implement | 計画書のタスクを選択し、実装・レビュー・計画書更新を一連で実行 | "実装開始" |
| start-uxui-design | 要件定義書からデザイントークン・UI 仕様を UX 評価付きで創造 | "UXUIデザイン" |
| create-feature-from-markdown-plan | Claude plan mode の Markdown plan から要件定義書 → 設計書を一気通貫で作成(forge 実装計画書 {feature}_plan.yaml は対象外) |
"markdown plan から feature 作成" |
| merge-specs | 2 つの仕様 DIR(基本 / 追加)を内容単位でマージ。追加側を正として基本側を改訂し、純粋新規分のみ移送 | "spec をマージ" |
| setup-doc-structure | .doc_structure.yaml 生成 + ディレクトリ scaffold |
"初期設定" |
| setup-version-config | .version-config.yaml 生成・更新 |
"バージョン設定" |
| update-version | バージョン一括更新。patch/minor/major/直接指定 | "バージョン更新" |
| clean-rules | rules/ を分類学に基づいて分析・再構築 | "rules を整理" |
| help | インタラクティブヘルプ | "ヘルプ" |
| reviewer | criteria に基づき P1/P2/P3 をチェック順で順次評価 (1 起動原則) | ※ review が委譲 |
| evaluator | レビュー指摘を吟味し修正/スキップ/要確認を判定 | ※ review が委譲 |
| fixer | レビュー指摘に基づきコード・文書を修正 | ※ review が委譲 |
| present-findings | レビュー結果を対話的に1件ずつ提示 | ※ review が委譲 |
| doc-structure | .doc_structure.yaml のパース・パス解決 |
※ 各オーケストレーターが呼び出し |
| next-spec-id | 全ブランチをスキャンして仕様書 ID の次番を取得 | ※ start-requirements が呼び出し |
詳細ガイド — 使い方、使用例
| スキル | 説明 | トリガー |
|---|---|---|
| commit | 変更内容からコミットメッセージを自動生成し commit & push | "コミットして" |
| create-pr | GitHub PR をドラフト作成。コミット差分からタイトル/本文を自動生成 | "PR を作成" |
| create-issue | 問題・背景・原因を整理して GitHub Issue を作成(解決策は impl-issue が担当) | "issue を作成" |
| impl-issue | GitHub Issue から実装計画策定→ブランチ作成→実装→PR 作成までを一貫実行(UI Issue 対応) | "この issue を実装" |
| triage-issue(試作) | GitHub Issue を軽量実装で進めるか forge SDD フローに委ねるかを判定(read-only) | "このIssueをトリアージして" |
| capture-emulator-screen | Android Emulator / iOS Simulator 上で実装済みアプリ画面を起動・操作・キャプチャ | ※ sync-screen-design 等から呼び出し |
| sync-screen-design | 画面設計書・Figma・実装キャプチャの三点突合で実装画面を仕様とデザインに同期 | "Figma 通りに直して" |
| figma-mcp-guide | Figma MCP サーバーの公式知識ベース。get_design_context / get_screenshot 等のツール仕様 | ※ 他スキルが参照 |
| prepare-figma | Figma デザインからデザイン仕様書を作成。nodeId 検証とプレビュー突合まで | ※ impl-issue が呼び出し |
| resolve-figma-node | 画面名/ID から Figma 内の正しい nodeId と URL を PAT で検証して特定 | ※ prepare-figma 等が呼び出し |
太字 = ユーザー起動可能、斜体 = AI 専用(他スキルから内部的に呼び出される)
文書検索は別リポジトリ BlueEventHorizon/DocAdvisor の doc-advisor が提供する(index-docs / query-docs)。forge の /forge:query-db-rules 等から呼び出される。詳細は同リポジトリの README を参照。
Claude Code セッション内で:
/plugin marketplace add BlueEventHorizon/bw-cc-plugins
/plugin install forge@bw-cc-plugins
/plugin install anvil@bw-cc-plugins
# 文書検索(doc-advisor)は別マーケットプレイス
/plugin marketplace add BlueEventHorizon/DocAdvisor
/plugin install doc-advisor@DocAdvisor
/plugin install を実行するとインストールスコープの選択を求められます(--scope で直接指定することも可能):
/plugin install forge@bw-cc-plugins --scope user # 自分の全プロジェクトで使う
/plugin install forge@bw-cc-plugins --scope project # このリポのチーム全員で使う
/plugin install forge@bw-cc-plugins --scope local # このリポで自分だけ使う| スコープ | 対象範囲 | チーム共有 | 設定保存先 |
|---|---|---|---|
| user | 自分・全プロジェクト | なし | ~/.claude/settings.json |
| project | このリポジトリの全員 | あり(git コミット) | .claude/settings.json |
| local | 自分・このリポジトリのみ | なし(gitignore) | .claude/settings.local.json |
- 全プロジェクトで常に使いたい → user
- このリポジトリのチーム全員に配布したい → project
- このリポジトリで自分だけ使いたい → local
注意: 同じプラグインをすでにインストール済みの場合、別スコープで再インストールはできません。スコープを変更するには先にアンインストールしてから再インストールしてください。
特定のプロジェクトで無効化したい場合は /plugin disable forge@bw-cc-plugins を実行してください。
無効化したプラグインを再有効化するには、ターミナルから:
claude plugin enable forge@bw-cc-pluginsmarketplace add は GitHub リポジトリをプラグイン取得元として登録します(ユーザーごとに1回)。
git clone https://github.com/BlueEventHorizon/bw-cc-plugins.git
claude --plugin-dir ./bw-cc-plugins/plugins/forge注意:
--plugin-dirはセッション限定です。Claude Code を起動するたびに指定が必要です。解除するには、フラグなしで起動するだけです。
ターミナルから(スコープはインストール時に選択したものを指定):
claude plugin update forge@bw-cc-plugins --scope user # user スコープの場合
claude plugin update forge@bw-cc-plugins --scope project # project スコープの場合
claude plugin update forge@bw-cc-plugins --scope local # local スコープの場合.doc_structure.yaml はプロジェクトのドキュメント配置場所と種別を宣言する設定ファイル。forge が参照する(/forge:update-db-rules 等が対象パスを解決して doc-advisor に渡す)。/forge:setup-doc-structure で生成する。
→ 文書構造ガイド | スキーマ仕様
/anvil:create-pr の初回実行時に git remote から GitHub リポジトリを検出し、.git_information.yaml への設定保存を提案します。
- Claude Code CLI
- Python 3(setup スキャン用)
- Codex CLI(任意。Codex エンジン使用時に必要。未インストールの場合は Claude にフォールバック)
- 文書検索を使う場合は外部 doc-advisor(Python 標準ライブラリのみ・追加 API キー不要)
- gh CLI(anvil 用、認証済み)