* test: reproduce Windows SDK not found after fresh npx install (#3211) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: red — docs-parity live-registry tests fail against stub helper (#3049) Adds: - tests/helpers/live-command-registry.cjs (stub: returns empty Set) - tests/docs-parity-live-registry.test.cjs (new polarity-inverted test) - tests/fixtures/live-command-registry/ (fixture .md files) All parity and helper-contract tests fail because the stub returns an empty registry. This is the intentional RED state before GREEN implementation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(test-helpers): live-command-registry derives canonical tokens from commands/gsd/*.md (#3049) Implements GREEN phase: - tests/helpers/live-command-registry.cjs: walks commands/gsd/*.md, parses YAML frontmatter name: field, emits /gsd-slug, /gsd:slug, $gsd-slug per command. Memoized per process. Fails loud on malformed frontmatter (k302). - tests/docs-parity-live-registry.test.cjs: updated with INTERNAL_COMPONENT_SLUGS exemption for path-component and placeholder tokens (gsd-build from GitHub org URLs, gsd-workspaces from ~/gsd-workspaces/ paths, gsd-tools from bin/gsd-tools.cjs paths, etc.) Docs drift caught and fixed: - ns-* rename: /gsd-ns-workflow→/gsd-workflow etc. in COMMANDS, FEATURES, INVENTORY, USER-GUIDE (6 commands across 4 English files) - /gsd-scan → /gsd-map-codebase --fast (FEATURES, INVENTORY, USER-GUIDE) - /gsd-note → /gsd-capture (FEATURES, issue-driven-orchestration, ja-JP, ko-KR) - /gsd-do → /gsd-fast (FEATURES, ja-JP, ko-KR) - /gsd-from-gsd2 → /gsd-import --from-gsd2 (CLI-TOOLS, FEATURES, INVENTORY) - /gsd-verify-phase → /gsd-validate-phase (STATE-MD-LIFECYCLE) - /gsd-settings-integrations → /gsd-settings or /gsd-config --integrations (CLI-TOOLS) - /gsd-dev-preferences removed from profile-user artifact lists (AGENTS, COMMANDS, FEATURES in English, ja-JP, ko-KR) - /gsd-select-framework removed from gsd-framework-selector spawner list (AGENTS, INVENTORY) All 28 new tests pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor(test): replace deny-list parity tests with polarity-inverted live-registry approach (#3049) - Delete bug-3010-reapply-patches-references.test.cjs (hardcoded deny-list) - Delete bug-3029-3034-stale-command-routes.test.cjs (hardcoded deny-list) - Delete bug-3042-3044-research-flag-and-stale-refs.test.cjs (deny-list + frontmatter checks) - Add tests/skill-frontmatter-contract.test.cjs (frontmatter structural checks extracted from deleted file) - Update tests/commands-doc-parity.test.cjs to derive slug from name: frontmatter field instead of filename, so ns-* commands resolve to their actual deployed tokens Closes #3049 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: annotate commands-doc-parity with source-text-is-the-product exemption (#3049 lint fix) The readFileSync on commands/gsd/*.md reads product markdown whose deployed text IS what the user sees — content.startsWith('---') detects YAML frontmatter in those files, not source-code structure. Add the allow-test-rule exemption matching the same rationale used in docs-parity-live-registry.test.cjs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: walk docs/** recursively to cover nested locale trees (CR finding 7) Replaced the non-recursive listMdFiles() with a hand-rolled DFS walker compatible with Node 20+. Surfaces unreadable-directory errors as stderr warnings (PRED.k302) rather than silently skipping. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: annotate live-command-registry helper and commands-doc-parity with source-text exemptions (CR findings 6, 8) Adds allow-test-rule comments to suppress lint-no-source-grep false positives on YAML frontmatter structure checks in both files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: anchor --research-phase assertions to arg-parsing section and verify combined refresh (CR findings 9, 10) Finding 9: scopes --research-phase check to within 1200 chars of the flag description section header, preventing false positives from prose mentions. Finding 10: tightens the force-refresh assertion to require BOTH --research and force/refresh semantics within the --research-phase description section, verifying the combined-mode contract rather than standalone --research presence. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * test: fix execSync mock to accept opts parameter, forward to saved implementation (CR finding 5) The mock at line 212 dropped the options parameter when delegating to savedExecSync. Updated to (cmd, opts) signature and pass opts through. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: correct routing entrypoint, --fast default, /gsd-review collision, verifying-stage mapping (CR findings 1-4) Finding 1: Change Freeform Routing command from /gsd-fast to /gsd-progress --do. /gsd-fast is the inline trivial-task executor, not the routing entrypoint. Finding 2: Clarify that /gsd-map-codebase --fast REQ-SCAN-02 default (tech+arch) runs as a single combined-focus agent, resolving the contradiction with REQ-SCAN-01. Finding 3: Rename the namespace router /gsd-review to /gsd-quality across all docs, command file, and help.md to eliminate the naming collision with the concrete cross-AI peer-review command (review.md, name: gsd:review). Finding 4: Replace /gsd-validate-phase with /gsd-verify-work in the STATE-MD-LIFECYCLE.md verifying-stage table. /gsd-validate-phase is the retroactive Nyquist-validation flow, not the normal phase-verification step. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs+test: fix locale doc drift surfaced by recursive walker (CR finding 7 follow-up) The recursive listMdFiles() walker newly covered docs/**/*.md subdirs. Stale command references in locale docs are now caught and fixed: - docs/zh-CN/references/model-profiles.md: remove /gsd-set-profile (deleted command); config.json is the current mechanism - docs/zh-CN/references/ui-brand.md: remove /gsd-alternative-1/2 template placeholders - docs/{ja-JP,ko-KR,pt-BR}/superpowers/specs/2026-03-20-*: replace /gsd-new-workspace, /gsd-list-workspaces, /gsd-remove-workspace with /gsd-workspace --new / --list / --remove (consolidated in #2790) Also adds smoke- and alternative-{1,2} to INTERNAL_COMPONENT_SLUGS (filesystem path and template placeholder patterns, not slash commands) and introduces listEnglishMdFiles() to scope the English parity check to docs/ excluding locale subdirectories (which have their own per-locale describe blocks). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add bash language tag to fenced code blocks in ja-JP and ko-KR workspace specs (CR round 2) Satisfies MD040 fenced-code-language requirement. These blocks contain shell commands and were missing the language specifier. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
18 KiB
GSD エージェントリファレンス
全18種の専門エージェント(v1.32 現在) — 役割、ツール、スポーンパターン、相互関係。アーキテクチャの詳細はアーキテクチャを参照してください。
概要
GSD はマルチエージェントアーキテクチャを採用しており、軽量なオーケストレーター(ワークフローファイル)が新しいコンテキストウィンドウを持つ専門エージェントをスポーンします。各エージェントは特定の役割に特化し、限定的なツールアクセス権を持ち、特定の成果物を生成します。
エージェントカテゴリ
| カテゴリ | 数 | エージェント |
|---|---|---|
| リサーチャー | 3 | project-researcher, phase-researcher, ui-researcher |
| アナライザー | 2 | assumptions-analyzer, advisor-researcher |
| シンセサイザー | 1 | research-synthesizer |
| プランナー | 1 | planner |
| ロードマッパー | 1 | roadmapper |
| エグゼキューター | 1 | executor |
| チェッカー | 3 | plan-checker, integration-checker, ui-checker |
| ベリファイヤー | 1 | verifier |
| オーディター | 2 | nyquist-auditor, ui-auditor |
| マッパー | 1 | codebase-mapper |
| デバッガー | 1 | debugger |
エージェント詳細
gsd-project-researcher
役割: ロードマップ作成前にドメインエコシステムを調査する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-new-project, /gsd-new-milestone |
| 並列数 | 4インスタンス(stack, features, architecture, pitfalls) |
| ツール | Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp (context7) |
| モデル (balanced) | Sonnet |
| 生成物 | .planning/research/STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md |
機能:
- Web検索による最新のエコシステム情報の取得
- Context7 MCP統合によるライブラリドキュメントの参照
- リサーチドキュメントを直接ディスクに書き込み(オーケストレーターのコンテキスト負荷を軽減)
gsd-phase-researcher
役割: 計画策定前に、特定フェーズの実装方法を調査する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-plan-phase |
| 並列数 | 4インスタンス(project-researcher と同じフォーカスエリア) |
| ツール | Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp (context7) |
| モデル (balanced) | Sonnet |
| 生成物 | {phase}-RESEARCH.md |
機能:
- CONTEXT.md を読み取り、ユーザーの決定事項に焦点を当てた調査を実施
- 特定フェーズのドメインに対する実装パターンの調査
- Nyquist バリデーションマッピング用のテストインフラの検出
gsd-ui-researcher
役割: フロントエンドフェーズ向けのUIデザインコントラクトを作成する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-ui-phase |
| 並列数 | 単一インスタンス |
| ツール | Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp (context7) |
| モデル (balanced) | Sonnet |
| カラー | #E879F9(フクシア) |
| 生成物 | {phase}-UI-SPEC.md |
機能:
- デザインシステムの状態を検出(shadcn の components.json、Tailwind 設定、既存トークン)
- React/Next.js/Vite プロジェクト向けの shadcn 初期化を提案
- 未回答のデザインコントラクトに関する質問のみを提示
- サードパーティコンポーネントに対するレジストリ安全ゲートの適用
gsd-assumptions-analyzer
役割: フェーズに対してコードベースを深く分析し、エビデンス・信頼度・誤った場合の影響を含む構造化された前提条件を返す。
| プロパティ | 値 |
|---|---|
| スポーン元 | discuss-phase-assumptions ワークフロー(workflow.discuss_mode = 'assumptions' の場合) |
| 並列数 | 単一インスタンス |
| ツール | Read, Bash, Grep, Glob |
| モデル (balanced) | Sonnet |
| カラー | Cyan |
| 生成物 | 決定ステートメント、エビデンスファイルパス、信頼度レベルを含む構造化された前提条件 |
主な動作:
- ROADMAP.md のフェーズ説明と過去の CONTEXT.md ファイルを読み取り
- フェーズに関連するファイル(コンポーネント、パターン、類似機能)をコードベースから検索
- エビデンスに基づく前提条件を形成するため、最も関連性の高いソースファイルを5〜15件読み取り
- 信頼度の分類: Confident(コードから明確)、Likely(妥当な推論)、Unclear(複数の方向性がありうる)
- 外部調査が必要なトピック(ライブラリ互換性、エコシステムのベストプラクティス)にフラグを付与
- ティアによる出力の調整: full_maturity(3〜5領域)、standard(3〜4)、minimal_decisive(2〜3)
gsd-advisor-researcher
役割: discuss-phase のアドバイザーモードにおいて、単一のグレーエリアの決定事項を調査し、構造化された比較表を返す。
| プロパティ | 値 |
|---|---|
| スポーン元 | discuss-phase ワークフロー(ADVISOR_MODE = true の場合) |
| 並列数 | 複数インスタンス(グレーエリアごとに1つ) |
| ツール | Read, Bash, Grep, Glob, WebSearch, WebFetch, mcp (context7) |
| モデル (balanced) | Sonnet |
| カラー | Cyan |
| 生成物 | 根拠パラグラフ付きの5列比較表(Option / Pros / Cons / Complexity / Recommendation) |
主な動作:
- Claude の知識、Context7、Web検索を使用して、割り当てられた単一のグレーエリアを調査
- 実質的に有効な選択肢を提示 — 水増しのための代替案は含めない
- Complexity 列は影響範囲+リスクで表記(時間見積もりは使用しない)
- 推奨は条件付き(「Xの場合は推奨」「Yの場合は推奨」)— 単一の勝者ランキングにはしない
- ティアによる出力の調整: full_maturity(成熟度シグナル付き3〜5選択肢)、standard(2〜4)、minimal_decisive(2選択肢、決定的な推奨)
gsd-research-synthesizer
役割: 並列リサーチャーの出力を統合サマリーにまとめる。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-new-project(4つのリサーチャー完了後) |
| 並列数 | 単一インスタンス(リサーチャー後に順次実行) |
| ツール | Read, Write, Bash |
| モデル (balanced) | Sonnet |
| カラー | Purple |
| 生成物 | .planning/research/SUMMARY.md |
gsd-planner
役割: タスク分解、依存関係分析、ゴール逆算検証を含む実行可能なフェーズ計画を作成する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-plan-phase, /gsd-quick |
| 並列数 | 単一インスタンス |
| ツール | Read, Write, Bash, Glob, Grep, WebFetch, mcp (context7) |
| モデル (balanced) | Opus |
| カラー | Green |
| 生成物 | {phase}-{N}-PLAN.md ファイル |
主な動作:
- PROJECT.md、REQUIREMENTS.md、CONTEXT.md、RESEARCH.md を読み取り
- 単一のコンテキストウィンドウに収まるサイズの原子的タスク計画を2〜3個作成
<task>要素を含むXML構造を使用read_firstおよびacceptance_criteriaセクションを含む- 計画を依存関係のウェーブにグループ化
gsd-roadmapper
役割: フェーズ分解と要件マッピングを含むプロジェクトロードマップを作成する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-new-project |
| 並列数 | 単一インスタンス |
| ツール | Read, Write, Bash, Glob, Grep |
| モデル (balanced) | Sonnet |
| カラー | Purple |
| 生成物 | ROADMAP.md |
主な動作:
- 要件をフェーズにマッピング(トレーサビリティ)
- 要件から成功基準を導出
- 粒度設定に基づくフェーズ数の調整
- カバレッジの検証(すべての v1 要件がフェーズにマッピングされていること)
gsd-executor
役割: アトミックコミット、逸脱処理、チェックポイントプロトコルを使用して GSD 計画を実行する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-execute-phase, /gsd-quick |
| 並列数 | 複数(ウェーブ内は並列、ウェーブ間は順次) |
| ツール | Read, Write, Edit, Bash, Grep, Glob |
| モデル (balanced) | Sonnet |
| カラー | Yellow |
| 生成物 | コード変更、git コミット、{phase}-{N}-SUMMARY.md |
主な動作:
- 計画ごとに新しい200Kコンテキストウィンドウを使用
- XMLタスク指示に正確に従う
- 完了したタスクごとにアトミックな git コミットを作成
- チェックポイントタイプの処理: auto, human-verify, decision, human-action
- 計画からの逸脱を SUMMARY.md に報告
- 検証失敗時にノードリペアを実行
gsd-plan-checker
役割: 実行前に計画がフェーズ目標を達成できるかを検証する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-plan-phase(検証ループ、最大3回の反復) |
| 並列数 | 単一インスタンス(反復型) |
| ツール | Read, Bash, Glob, Grep |
| モデル (balanced) | Sonnet |
| カラー | Green |
| 生成物 | 具体的なフィードバック付きの PASS/FAIL 判定 |
8つの検証ディメンション:
- 要件カバレッジ
- タスクの原子性
- 依存関係の順序
- ファイルスコープ
- 検証コマンド
- コンテキスト適合性
- ギャップ検出
- Nyquist コンプライアンス(有効時)
gsd-integration-checker
役割: フェーズ間の統合とエンドツーエンドフローを検証する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-audit-milestone |
| 並列数 | 単一インスタンス |
| ツール | Read, Bash, Grep, Glob |
| モデル (balanced) | Sonnet |
| カラー | Blue |
| 生成物 | 統合検証レポート |
gsd-ui-checker
役割: UI-SPEC.md のデザインコントラクトを品質ディメンションに対して検証する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-ui-phase(検証ループ、最大2回の反復) |
| 並列数 | 単一インスタンス |
| ツール | Read, Bash, Glob, Grep |
| モデル (balanced) | Sonnet |
| カラー | #22D3EE(シアン) |
| 生成物 | BLOCK/FLAG/PASS 判定 |
gsd-verifier
役割: ゴール逆算分析によりフェーズ目標の達成を検証する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-execute-phase(すべてのエグゼキューター完了後) |
| 並列数 | 単一インスタンス |
| ツール | Read, Write, Bash, Grep, Glob |
| モデル (balanced) | Sonnet |
| カラー | Green |
| 生成物 | {phase}-VERIFICATION.md |
主な動作:
- タスク完了だけでなく、フェーズ目標に対してコードベースを検証
- 具体的なエビデンス付きの PASS/FAIL 判定
/gsd-verify-workで対処すべき問題をログに記録
gsd-nyquist-auditor
役割: テストを生成して Nyquist バリデーションのギャップを埋める。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-validate-phase |
| 並列数 | 単一インスタンス |
| ツール | Read, Write, Edit, Bash, Grep, Glob |
| モデル (balanced) | Sonnet |
| 生成物 | テストファイル、更新された VALIDATION.md |
主な動作:
- 実装コードは一切変更しない — テストファイルのみ
- ギャップごとに最大3回の試行
- 実装のバグはユーザーへのエスカレーションとしてフラグを付与
gsd-ui-auditor
役割: 実装済みフロントエンドコードの事後的な6ピラービジュアル監査を行う。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-ui-review |
| 並列数 | 単一インスタンス |
| ツール | Read, Write, Bash, Grep, Glob |
| モデル (balanced) | Sonnet |
| カラー | #F472B6(ピンク) |
| 生成物 | スコア付きの {phase}-UI-REVIEW.md |
6つの監査ピラー(1〜4でスコアリング):
- コピーライティング
- ビジュアル
- カラー
- タイポグラフィ
- スペーシング
- エクスペリエンスデザイン
gsd-codebase-mapper
役割: コードベースを探索し、構造化された分析ドキュメントを作成する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-map-codebase |
| 並列数 | 4インスタンス(tech, architecture, quality, concerns) |
| ツール | Read, Bash, Grep, Glob, Write |
| モデル (balanced) | Haiku |
| カラー | Cyan |
| 生成物 | .planning/codebase/*.md(7ドキュメント) |
主な動作:
- 読み取り専用の探索 + 構造化された出力
- ドキュメントを直接ディスクに書き込み
- 推論不要 — ファイル内容からのパターン抽出
gsd-debugger
役割: 永続的な状態を持つ科学的手法でバグを調査する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-debug, /gsd-verify-work(失敗時) |
| 並列数 | 単一インスタンス(インタラクティブ) |
| ツール | Read, Write, Edit, Bash, Grep, Glob, WebSearch |
| モデル (balanced) | Sonnet |
| カラー | Orange |
| 生成物 | .planning/debug/*.md、ナレッジベースの更新 |
デバッグセッションのライフサイクル:
gathering → investigating → fixing → verifying → awaiting_human_verify → resolved
主な動作:
- 仮説、エビデンス、排除された理論を追跡
- コンテキストリセット後も状態が永続化
- 解決済みとマークする前に人間による検証を要求
- 解決時に永続的なナレッジベースに追記
- 新しいセッション開始時にナレッジベースを参照
gsd-user-profiler
役割: 8つの行動ディメンションにわたってセッションメッセージを分析し、スコア付きの開発者プロファイルを作成する。
| プロパティ | 値 |
|---|---|
| スポーン元 | /gsd-profile-user |
| 並列数 | 単一インスタンス |
| ツール | Read |
| モデル (balanced) | Sonnet |
| カラー | Magenta |
| 生成物 | USER-PROFILE.md、CLAUDE.md プロファイルセクション |
行動ディメンション: コミュニケーションスタイル、意思決定パターン、デバッグアプローチ、UXの好み、ベンダー選択、フラストレーショントリガー、学習スタイル、説明の深度。
主な動作:
- 読み取り専用エージェント — 抽出されたセッションデータを分析し、ファイルは変更しない
- 信頼度レベルとエビデンス引用を含むスコア付きディメンションを生成
- セッション履歴が利用できない場合はアンケートにフォールバック
エージェントツール権限サマリー
| エージェント | Read | Write | Edit | Bash | Grep | Glob | WebSearch | WebFetch | MCP |
|---|---|---|---|---|---|---|---|---|---|
| project-researcher | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| phase-researcher | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ui-researcher | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| assumptions-analyzer | ✓ | ✓ | ✓ | ✓ | |||||
| advisor-researcher | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| research-synthesizer | ✓ | ✓ | ✓ | ||||||
| planner | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| roadmapper | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| executor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| plan-checker | ✓ | ✓ | ✓ | ✓ | |||||
| integration-checker | ✓ | ✓ | ✓ | ✓ | |||||
| ui-checker | ✓ | ✓ | ✓ | ✓ | |||||
| verifier | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| nyquist-auditor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| ui-auditor | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| codebase-mapper | ✓ | ✓ | ✓ | ✓ | ✓ | ||||
| debugger | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| user-profiler | ✓ |
最小権限の原則:
- チェッカーは読み取り専用(Write/Edit なし) — 評価のみを行い、変更は行わない
- リサーチャーは Web アクセスを持つ — 最新のエコシステム情報が必要なため
- エグゼキューターは Edit を持つ — コードを変更するが Web アクセスは不要
- マッパーは Write を持つ — 分析ドキュメントを作成するが Edit は不要(コード変更なし)