sdd-init について
sdd-initは、プロジェクトの技術スタックや規約を検出し、スキルレジストリを作成して、Spec-Driven Developmentのコンテキストを初期化するエージェントスキルです。コンテキストはディスクに保存し、Engramが利用可能な場合は参照情報も記録します。
主な機能
- 01技術スタックと規約の検出
- 02スキルと規約のレジストリ作成
- 03ディスク優先のコンテキスト保存
- 04Engram参照情報の任意保存
- 05構造化された初期化結果
活用シーン
- 01既存プロジェクトでのSDD開始
- 02プロジェクトのスキルや指示ファイルの整理
- 03後続のSDDフェーズ向けアーキテクチャ記録
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ fearovex-labs/ agent-config --skill sdd-initインストール後、Claude Code で/sdd-initを入力して読み込まれたか確認します。
詳細
トリガー:「sdd init」、「iniciar sdd」、プロジェクトでの SDD の初期化。
目的
プロジェクトで Spec-Driven Development(SDD)のコンテキストを初期化するサブエージェントです。プロジェクトの技術スタックと規約を検出してから、Engram の永続化をブートストラップします。
このフェーズではオーケストレーターではなく、実行担当です。初期化作業は自分で行ってください。サブエージェントを起動したり、delegate や task を呼び出したりしないでください。実際に上流へ報告する必要がある問題に直面した場合を除き、実行を引き渡さないでください。
実行と永続化の契約
-
Engram が利用可能な場合(デフォルト)、
_shared/sdd-phase-common.mdのセクション C に従い、ディスクを優先して永続化します。 プロジェクトコンテキストを保存する — まずディスクに保存し、その後 Engram のポインターを保存します。Write("docs/sdd/{project-name}/init-context.md", "{detected project context markdown}") mem_save( title: "sdd-init/{project-name}", topic_key: "sdd-init/{project-name}", type: "architecture", project: "{project-name}", content: "path: docs/sdd/{project-name}/init-context.md\n\n{1-3 sentence summary}" )topic_keyを使うと upsert が可能になり、init を再実行したときに既存のポインターが更新され、重複しません。正となる情報源はディスク上のファイルです。(命名規則の詳細は
skills/_shared/engram-convention.mdを参照してください。) -
Engram が利用できない場合(
noneモード):検出したコンテキストをインラインで返します。プロジェクトコンテキストが生成された場合は、ディスク上の成果物も書き込みます。
プロセス
ステップ 1:プロジェクトコンテキストの検出
プロジェクトを読み取り、以下を把握します。
- 技術スタック(package.json、go.mod、pyproject.toml などを確認)
- 既存の規約(リンター、テストフレームワーク、CI)
- 使用中のアーキテクチャパターン
ステップ 2:スキルレジストリの構築
スキルレジストリを構築します。
- ユーザースキルをスキャンします。スキルディレクトリ全体で
*/SKILL.mdを glob します。ユーザーレベル:~/.claude/skills/。プロジェクトレベル:.claude/skills/、skills/。sdd-*と_sharedは除外します。名前で重複を排除し(プロジェクトレベルを優先)、frontmatter のトリガーを読み取ります。 - プロジェクトの規約をスキャンします。プロジェクトルートにある
agents.md、AGENTS.md、CLAUDE.md(プロジェクトレベル)、.cursorrules、GEMINI.md、copilot-instructions.mdを確認します。インデックスファイル(例:agents.md)が見つかった場合は、それを読み込み、参照されているすべてのファイルパスを抽出します。インデックスと参照先ファイルの両方をレジストリに含めます。 - 必ずプロジェクトルートに
.agent-config/skill-registry.mdを書き込みます(必要であれば.agent-config/を作成します)。このファイルはモードに依存しません。これはインフラであり、SDD の成果物ではありません。 - Engram が利用可能な場合は、Engram にも保存します:
mem_save(title: "skill-registry", topic_key: "skill-registry", type: "config", project: "{project}", content: "{registry markdown}")
レジストリの形式:スキルごとに 1 つのエントリを作成し、名前、パス、トリガー、形式タイプを記載します。
ステップ 3:プロジェクトコンテキストの永続化
このステップは必須です。省略しないでください。
ディスクを優先して永続化します。まずディスク上の成果物を書き込み(正となる情報源)、その後 Engram のポインターを保存します。
Write("docs/sdd/{project-name}/init-context.md", "{your detected project context from Steps 1-2}")
Engram が利用可能な場合は、ポインターも保存します。
mem_save(
title: "sdd-init/{project-name}",
topic_key: "sdd-init/{project-name}",
type: "architecture",
project: "{project-name}",
content: "path: docs/sdd/{project-name}/init-context.md\n\n{1-3 sentence summary}"
)
ステップ 4:概要の返却
構造化された概要を返します。
Engram が利用可能な場合:
skills/_shared/engram-convention.md に従って、タイトルと topic_key を sdd-init/{project-name} としてプロジェクトコンテキストを永続化します。
以下を返します。
## SDD Initialized
**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: engram
### Context Saved
Project context persisted to Engram.
- **Engram ID**: #{observation-id}
- **Topic key**: sdd-init/{project-name}
No project files created.
### Next Steps
Ready for /sdd-explore <topic> or /sdd-propose <change-name>.
Engram が利用できない場合:
## SDD Initialized
**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: none (ephemeral)
### Context Detected
{summary of detected stack and conventions}
### Recommendation
Enable `engram` for artifact persistence across sessions. Without persistence, all SDD artifacts will be lost when the conversation ends.
### Next Steps
Ready for /sdd-explore <topic> or /sdd-propose <change-name>.
ルール
- プレースホルダーの仕様ファイルは絶対に作成しないでください。仕様ファイルは変更中に sdd-spec を使って作成します。
- 実際の技術スタックを必ず検出し、推測しないでください。
- このフェーズではオーケストレーターとして振る舞わず、直接実行して結果を返してください。
- 設定コンテキストは簡潔に保ち、10 行以内にしてください。
status、executive_summary、detailed_report(任意)、artifacts、next_recommended、risksを含む構造化されたエンベロープを返してください。