关于 mb-init
mb-init 是用于在代码仓库中创建 Memory Bank 基础结构的 Agent 技能,适合尚未开始需求规划的项目。它生成文档、目录和命令代理,并让任务队列保持为空,避免创建虚构路线图。
主要功能
- 01创建 Memory Bank 目录与核心文档
- 02生成命令文档和原生技能代理
- 03初始化空任务注册表
- 04支持脚本或手动创建
适用场景
- 01为新项目建立仓库内上下文
- 02为后续 PRD 和任务规划准备骨架
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mrvladd-d/ memobank --skill mb-init安装后在 Claude Code 中输入/mb-init确认已加载。
详细介绍
mb-init — 初始化 Memory Bank 骨架
- 功能: 创建基础目录、核心文档和项目原生命令代理。
- 适用场景: 只需要骨架,暂时不选择 PRD 或棕地映射时。
- 输入: 仓库根目录。
- 输出:
.memory-bank/、.tasks/、.protocols/、AGENTS.md和生成的命令存根。
目标
创建一致的基线,让 Agent 能够使用仓库本地上下文,而不是临时拼凑的提示词。
步骤
1) 创建目录
创建以下目录(若不存在):
.memory-bank/,含子目录(参见./references/shared-structure-template.md).tasks/.protocols/
2) 创建 Memory Bank 核心文件
根据模板创建:
AGENTS.mdCLAUDE.md→ 指向AGENTS.md的符号链接/副本.memory-bank/index.md.memory-bank/constitution.md.memory-bank/mbb/index.md.memory-bank/spec-index.md.memory-bank/glossary.md.memory-bank/invariants.md.memory-bank/product.md.memory-bank/requirements.md.memory-bank/schemas/task.schema.json.memory-bank/tasks/index.json.memory-bank/testing/index.md.memory-bank/skills/index.md
不含 PRD 的全新引导流程不得创建 .memory-bank/features/FT-001-*.md、.memory-bank/tasks/TASK-001.task.json 或任何其他虚假的路线图条目。.memory-bank/tasks/index.json 初始内容为 { "version": 1, "tasks": [] };/write-prd 创建经澄清的 PRD,/spec-init 仅准备轻量级 SDD 路线图,/prd 创建真实功能,必需的 /spec-design 创建精简或完整的主干门禁,/spec-improve FT-<NNN> 完成功能设计或标记为无需设计,此后 /prd-to-tasks FT-<NNN> 创建真实的 TASK-*.task.json 记录。对于明确处于待处理/受阻状态的功能,可选择使用 /clarify-feature FT-<NNN>。
还可创建支持更丰富规范层的可选目录,但不强制要求:
.memory-bank/contracts/.memory-bank/states/.memory-bank/runbooks/
3) 创建命令存根
为避免 AGENTS.md 中的链接失效,在 .memory-bank/commands/ 下创建最简文档。
使用 ./references/shared-commands-*.md:
mb.mdanalysis.mdbrainstorm.mdbrief.mdconstitution.mdwrite-prd.mdspec-init.mdprd.mdspec-design.mdspec-improve.mdspec-auto.mdclarify-feature.mdprd-to-tasks.mdexecute.mdverify.mdred-verify.mdautopilot.mdautonomous.mdmap-codebase.mddiscuss.mdadd-tests.mdreview.mdfind-skills.md
4) 创建原生技能(代理命令)
为每个命令创建精简的代理技能,使其能够在不同运行时中原生运行:
.claude/skills/<name>/SKILL.md→ Claude Code + OpenCode.agents/skills/<name>/SKILL.md→ Codex CLI + OpenCode
每个代理文件包含:Read and follow the instructions in .memory-bank/commands/<name>.md。
这样即可原生注册命令:在 Claude Code 中使用 /mb,在 Codex 中使用 $mb,在 OpenCode 中使用 /mb。
init-mb.js 脚本会自动创建这两组文件。
在预热阶段,Agent 必须尽早读取 .memory-bank/constitution.md。该文件记录项目的治理原则,不能取代 .memory-bank/invariants.md、.memory-bank/contracts/* 或 .memory-bank/spec-index.md;仅使用 /constitution 创建或修订这些原则。
5) 立即执行 MBB 规则
- 每个
.memory-bank/**/*.md文件都必须包含 frontmatter(description、status)。
可选快速方式
如果有 Node.js,可以运行辅助脚本(安全:不会覆盖现有文件):
# Option A: copy ./scripts/shared-init-mb.js into your repo then run:
node scripts/init-mb.js
如果不想运行脚本,也可以直接根据模板手动创建文件。
完成定义
- 存在
AGENTS.md,且其中指向.memory-bank/index.md。 - 存在
CLAUDE.md,且内容与AGENTS.md一致。 .memory-bank/中包含预置文档。.memory-bank/constitution.md作为治理原则文档存在,且.memory-bank/commands/中提供/constitution。.memory-bank/tasks/index.json和.memory-bank/schemas/task.schema.json存在;任务状态以 JSON 为基础。- 在没有 PRD 的骨架中,
.memory-bank/tasks/index.json的tasks数组为空。 - 骨架引导过程不会创建虚假的功能文档;任务规划稍后从
/write-prd、/spec-init、/prd、必需的/spec-design、/spec-improve FT-<NNN>,然后/prd-to-tasks FT-<NNN>开始。 - 引导过程不会创建
.memory-bank/tasks/TASK-001.task.json。 - 未来的任务记录必须包含必填字段
tier: T0|T1|T2|T3;路由仅通过task.tier进行,不再使用已移除的risk/risk.level模型。 .memory-bank/commands/中包含命令文档存根。.tasks/和.protocols/存在。