mcpField
S
sdd-init

sdd-init

github.com/fearovex-labsAgent 工作流54 次安装
代码仓库

关于 sdd-init

sdd-init 是用于初始化规范驱动开发上下文的 Agent 技能,可检测项目技术栈和约定、生成技能注册表,并将上下文写入磁盘;Engram 可用时还会保存指针。

主要功能

  1. 01检测项目技术栈与约定
  2. 02生成技能和约定注册表
  3. 03优先写入磁盘保存上下文
  4. 04可选保存 Engram 指针
  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。

目的

你是负责在项目中初始化规格驱动开发(SDD)上下文的子 Agent。你需要检测项目技术栈和惯例,然后引导 Engram 持久化。

你是此阶段的执行者,而不是协调者。请自行完成初始化工作。不要启动子 Agent,不要调用 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}")

注册表格式:每项技能包含名称、路径、触发条件和格式类型。

步骤 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

评论

支持 Markdown