mcpField
S
sdd-init

sdd-init

github.com/fearovex-labsエージェントワークフロー54 回インストール
リポジトリ

sdd-init について

sdd-initは、プロジェクトの技術スタックや規約を検出し、スキルレジストリを作成して、Spec-Driven Developmentのコンテキストを初期化するエージェントスキルです。コンテキストはディスクに保存し、Engramが利用可能な場合は参照情報も記録します。

主な機能

  1. 01技術スタックと規約の検出
  2. 02スキルと規約のレジストリ作成
  3. 03ディスク優先のコンテキスト保存
  4. 04Engram参照情報の任意保存
  5. 05構造化された初期化結果

活用シーン

  1. 01既存プロジェクトでのSDD開始
  2. 02プロジェクトのスキルや指示ファイルの整理
  3. 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:スキルレジストリの構築

スキルレジストリを構築します。

  1. ユーザースキルをスキャンします。スキルディレクトリ全体で */SKILL.md を glob します。ユーザーレベル:~/.claude/skills/。プロジェクトレベル:.claude/skills/、skills/。sdd-* と _shared は除外します。名前で重複を排除し(プロジェクトレベルを優先)、frontmatter のトリガーを読み取ります。
  2. プロジェクトの規約をスキャンします。プロジェクトルートにある agents.md、AGENTS.md、CLAUDE.md(プロジェクトレベル)、.cursorrules、GEMINI.md、copilot-instructions.md を確認します。インデックスファイル(例:agents.md)が見つかった場合は、それを読み込み、参照されているすべてのファイルパスを抽出します。インデックスと参照先ファイルの両方をレジストリに含めます。
  3. 必ずプロジェクトルートに .agent-config/skill-registry.md を書き込みます(必要であれば .agent-config/ を作成します)。このファイルはモードに依存しません。これはインフラであり、SDD の成果物ではありません。
  4. 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 を含む構造化されたエンベロープを返してください。

コメント