mcpField
S
sdd-init

sdd-init

github.com/gentleman-programmingエージェントワークフロー1.2k121 回インストール31 週間前に更新
リポジトリ

sdd-init について

sdd-initは、プロジェクトの技術スタックと規約を検出し、選択された仕様駆動開発の保存先を初期化するエージェントスキルです。プロジェクトやユーザーのスキル、規約のレジストリも作成します。

主な機能

  1. 01技術スタックとプロジェクト規約の検出
  2. 02Engramおよび/またはOpenSpecの初期化
  3. 03スキルレジストリの作成
  4. 04プロジェクトコンテキストの保存
  5. 05構造化された初期化結果の返却

活用シーン

  1. 01プロジェクトで仕様駆動開発を開始
  2. 02プロジェクトの構成や規約を記録
  3. 03利用可能なスキルと指示ファイルを整理

インストール

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

$npx skills add https://github.com/gentleman-programming/agent-teams-lite --skill sdd-init

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

詳細

目的

プロジェクトにおける仕様駆動開発(SDD)のコンテキストを初期化するサブエージェントです。プロジェクトの技術スタックと規約を検出し、有効な永続化バックエンドを初期化します。

このフェーズではオーケストレーターではなく、実行役として作業します。初期化作業は自分で行ってください。サブエージェントを起動したり、delegate や task を呼び出したりしないでください。上流に報告が必要な実際のブロッカーに遭遇した場合を除き、実行を引き渡さないでください。

実行と永続化の契約

  • mode が engram の場合: openspec/ ディレクトリを作成しないでください。

    プロジェクトのコンテキストを保存する:

    mem_save(
      title: "sdd-init/{project-name}",
      topic_key: "sdd-init/{project-name}",
      type: "architecture",
      project: "{project-name}",
      content: "{detected project context markdown}"
    )
    

    topic_key を使うとアップサートが有効になります。初期化を再実行すると、既存のコンテキストが更新され、重複して作成されることはありません。

    (命名規則の詳細は skills/_shared/engram-convention.md を参照してください。)

  • mode が openspec の場合:skills/_shared/openspec-convention.md を読み、その指示に従ってください。完全なブートストラップを実行してください。

  • mode が hybrid の場合:両方の規約ファイルを読み、その指示に従ってください。openspec のブートストラップを実行し、コンテキストを Engram にも永続化してください。

  • mode が none の場合:プロジェクトファイルには書き込まず、検出したコンテキストを返してください。

実行内容

ステップ 1:プロジェクトのコンテキストを検出する

プロジェクトを読み、以下を把握してください。

  • 技術スタック(package.json、go.mod、pyproject.toml などを確認)
  • 既存の規約(リンター、テストフレームワーク、CI)
  • 使用されているアーキテクチャパターン
ステップ 2:永続化バックエンドを初期化する

mode が openspec と判定された場合は、次のディレクトリ構造を作成してください。

openspec/
├── config.yaml              ← Project-specific SDD config
├── specs/                   ← Source of truth (empty initially)
└── changes/                 ← Active changes
    └── archive/             ← Completed changes
ステップ 3:設定を生成する(openspec モード)

検出した内容に基づき、openspec モードの場合は設定を作成してください。

# openspec/config.yaml
schema: spec-driven

context: |
  Tech stack: {detected stack}
  Architecture: {detected patterns}
  Testing: {detected test framework}
  Style: {detected linting/formatting}

rules:
  proposal:
    - Include rollback plan for risky changes
    - Identify affected modules/packages
  specs:
    - Use Given/When/Then format for scenarios
    - Use RFC 2119 keywords (MUST, SHALL, SHOULD, MAY)
  design:
    - Include sequence diagrams for complex flows
    - Document architecture decisions with rationale
  tasks:
    - Group tasks by phase (infrastructure, implementation, testing)
    - Use hierarchical numbering (1.1, 1.2, etc.)
    - Keep tasks small enough to complete in one session
  apply:
    - Follow existing code patterns and conventions
    - Load relevant coding skills for the project stack
  verify:
    - Run tests if test infrastructure exists
    - Compare implementation against every spec scenario
  archive:
    - Warn before merging destructive deltas (large removals)
ステップ 4:スキルレジストリを構築する

skill-registry スキル(skills/skill-registry/SKILL.md)と同じロジックに従ってください。

  1. ユーザースキルをスキャンします。既知のすべてのスキルディレクトリで */SKILL.md を glob します。ユーザーレベル:~/.claude/skills/、~/.config/opencode/skills/、~/.gemini/skills/、~/.cursor/skills/、~/.copilot/skills/、このスキルファイルの親ディレクトリ。プロジェクトレベル:.claude/skills/、.gemini/skills/、.agent/skills/、skills/。sdd-*、_shared、skill-registry はスキップします。名前が重複するものは除外し(プロジェクトレベルを優先)、フロントマターのトリガーを読み取ります。
  2. プロジェクトの規約をスキャンします。プロジェクトルートにある agents.md、AGENTS.md、CLAUDE.md(プロジェクトレベル)、.cursorrules、GEMINI.md、copilot-instructions.md を確認します。インデックスファイル(例:agents.md)が見つかった場合は、それを読み、参照されているすべてのファイルパスを抽出します。インデックスファイルと参照先のファイルの両方をレジストリに含めてください。
  3. 必ずプロジェクトルートに .atl/skill-registry.md を書き込みます(必要に応じて .atl/ を作成)。このファイルはモードに依存しません。これは SDD アーティファクトではなく、インフラストラクチャです。
  4. Engram が利用可能な場合は、Engram にも保存します:mem_save(title: "skill-registry", topic_key: "skill-registry", type: "config", project: "{project}", content: "{registry markdown}")

レジストリの形式とスキャンの詳細は skills/skill-registry/SKILL.md を参照してください。

ステップ 5:プロジェクトのコンテキストを永続化する

このステップは必須です。省略しないでください。

mode が engram の場合:

mem_save(
  title: "sdd-init/{project-name}",
  topic_key: "sdd-init/{project-name}",
  type: "architecture",
  project: "{project-name}",
  content: "{your detected project context from Steps 1-4}"
)

mode が openspec または hybrid の場合:ステップ 3 ですでに設定を書き込んでいます。

mode が hybrid の場合:上記のとおり、mem_save も呼び出してください(両方のバックエンドに書き込みます)。

ステップ 6:概要を返す

判定された mode に合わせて、構造化された概要を返してください。

mode が engram の場合:

skills/_shared/engram-convention.md に従い、title と 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-new <change-name>.
mode が openspec の場合:
## SDD Initialized

**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: openspec

### Structure Created
- openspec/config.yaml ← Project config with detected context
- openspec/specs/      ← Ready for specifications
- openspec/changes/    ← Ready for change proposals

### Next Steps
Ready for /sdd-explore <topic> or /sdd-new <change-name>.
mode が none の場合:
## SDD Initialized

**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: none (ephemeral)

### Context Detected
{summary of detected stack and conventions}

### Recommendation
Enable `engram` or `openspec` 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-new <change-name>.

ルール

  • プレースホルダーの仕様ファイルは絶対に作成しないでください。仕様は変更時に sdd-spec を使って作成します
  • 実際の技術スタックを必ず検出し、推測しないでください
  • このフェーズではオーケストレーターのように振る舞わず、直接実行して結果を返してください
  • プロジェクトにすでに openspec/ ディレクトリがある場合は、既存の内容を報告し、更新するかどうかをオーケストレーターに確認してください
  • config.yaml のコンテキストは簡潔にしてください(10 行以内)
  • status、executive_summary、detailed_report(任意)、artifacts、next_recommended、risks を含む構造化されたエンベロープを返してください

コメント