mcpField
S
sdd-spec

sdd-spec

github.com/fearovex-labs開発55 回インストール
リポジトリ

sdd-spec について

sdd-specは、観察可能な要件を差分仕様として定義する仕様作成スキルです。ソフトウェア変更を扱うオーケストレーター向けに、新規仕様と既存仕様への追加・変更・削除を区別します。

主な機能

  1. 01観察可能な機能要件の定義
  2. 02Given/When/Thenシナリオの作成
  3. 03既存システム向け差分仕様
  4. 04仕様のディスク優先保存
  5. 05プロジェクトローカルのスキル解決

活用シーン

  1. 01新しい変更の完全な仕様作成
  2. 02追加・変更要件の記録
  3. 03設計とタスク計画に向けた仕様準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/fearovex-labs/agent-config --skill sdd-spec

インストール後、Claude Code で/sdd-specを入力して読み込まれたか確認します。

詳細

sdd-spec

要件と Given/When/Then シナリオを含む差分仕様を作成します。

トリガー: /sdd-spec <change-name>、仕様の作成、仕様、機能要件、sdd spec


目的

仕様では、観察可能な動作の観点から、システムが何をしなければならないかを定義します。実装方法は記述しません。仕様は検証の信頼できる唯一の情報源です。

重要な概念 — 差分仕様: 仕様は既存の内容をすべて置き換えるものではなく、既存の内容に対する差分(変更)です。

  • 既存の仕様がない場合:完全な仕様を作成します
  • すでに仕様がある場合:ADDED/MODIFIED/REMOVED セクションを作成します

スキルの解決

オーケストレーターがこのサブエージェントを起動すると、次の方法でスキルパスを解決します。

1. .claude/skills/sdd-spec/SKILL.md     (project-local — highest priority)
2. ~/.claude/skills/sdd-spec/SKILL.md   (global catalog — fallback)

プロジェクトローカルのスキルは、グローバルカタログより優先されます。アルゴリズムの詳細は docs/SKILL-RESOLUTION.md を参照してください。



Claude の実行連携

以下のメモでは、ツールに依存しない上記のロジックを Claude Code ハーネスに結び付けます。これらは他のツールには移植できない実行レイヤーです。

  • ステップ 0a/0c のプリロード — skills/_shared/sdd-phase-common.md のセクション F(プロジェクトコンテキストの読み込み)とセクション G(仕様コンテキストのプリロード)に従います。ブロックしません。
  • ステップ 0b のドメインプリロード — ai-context/features/ 内の .md ファイルを一覧表示し、一致する各ファイルを Read します。読み込みエラーは未検出として扱い、何もせずスキップします。
  • 提案の読み込み — ハーネスの Read("docs/sdd/{change-name}/proposal.md") ツールを使用します。ディスク上にファイルがない場合(レガシーな変更)は、mem_search(query: "sdd/{change-name}/proposal") → mem_get_observation(id) にフォールバックします。どちらも存在せず、Engram に接続できない場合は、オーケストレーターが提案の内容をインラインで渡します。
  • 仕様の保存 — まずディスク上の成果物を Write("docs/sdd/{change-name}/spec.md", …) で書き込み、その後、topic_key: sdd/{change-name}/spec、type: architecture、project: {project}、content = "path: docs/sdd/{change-name}/spec.md\n\n{1-3 sentence summary}" を指定して、ポインターと要約を mem_save で保存します。Engram MCP に接続できない場合でも、ディスク上の成果物(信頼できる唯一の情報源)は書き込み、Engram のポインターの保存だけを省略します。
  • オーケストレーターへの出力 — オーケストレーターが期待する JSON ブロックとして、中立的な出力コントラクトを返します。手動での次のステップは /sdd-design <change-name>、続いて /sdd-tasks <change-name> です。ドメインコンテキストをプリロードした場合は、読み込みのみを行い、書き込みはしていない ai-context/features/*.md ファイルを artifacts に列挙します。

コメント