بنقرة واحدة
spec-bootstrap
Use when 用户调用 /spec-bootstrap, or 项目尚未建立 .claude/code-specs/ 骨架且需要初始化 code-specs 体系。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when 用户调用 /spec-bootstrap, or 项目尚未建立 .claude/code-specs/ 骨架且需要初始化 code-specs 体系。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | spec-bootstrap |
| description | Use when 用户调用 /spec-bootstrap, or 项目尚未建立 .claude/code-specs/ 骨架且需要初始化 code-specs 体系。 |
| argument-hint | [--stack <name> | --no-stack] [--full | --minimal] [--force] [--reset] |
| disable-model-invocation | true |
在项目中建立 .claude/code-specs/ 骨架,采用 {package}/{layer}/ 二维布局 + 共享 guides/。
index.mdcodeSpecs.packages.include 生成 {pkg}/{layer}/ 目录树--stack <name>,从 core/specs/stack-templates/<name>/ 拷贝 core 主题文件(含 convention 模板段落),让 00-task 有真实文件靶子guides/index.mdlocal.md(只保留 Customizations + Changelog;模板漂移治理已切到 .template-hashes.json).template-hashes.json(记录本次使用的模板 sha256 + canonical version,用于模板漂移治理).claude/tasks/00-bootstrap-guidelines.md 首任务project-config.json 的 codeSpecs.bootstrapStatus/spec-update 的职责)project-config.json.monorepo.packages 存在).claude/code-specs/
├── index.md
├── {pkg-a}/
│ ├── frontend/index.md
│ └── backend/index.md
├── {pkg-b}/
│ ├── frontend/index.md
│ └── backend/index.md
├── guides/index.md
└── local.md
仍走单例 package 布局:
.claude/code-specs/
├── index.md
├── {project-name}/
│ ├── frontend/index.md
│ └── backend/index.md
├── guides/index.md
└── local.md
project-name 依次取自 project-config.json.project.name → package.json.name → 仓库目录名。
.claude/config/project-config.json/scan --initconfig.codeSpecs.packages.include 显式声明 → 直接使用(最高优先级)config.monorepo.packages → 向后兼容使用structure.archivedApps[] / structure.auxiliaryApps[](取自 config)codeSpecs.packages.configPackagePatterns 匹配的配置包(默认 *-config / *-preset / tsconfig*)codeSpecs.packages.skipDefaultFilters: true 关闭project.name → package.json.name → 仓库目录名codeSpecs.packages.exclude 永远作为post-execute过滤(支持 * glob)pendingPackages(含 included + autoExcluded),skill 用 AskUserQuestion 让用户确认"要纳管哪些包":
multiSelect: true(每个包是独立决策,不能被压成单选)label 为包名 + 标签(✓ 建议纳管 / ✗ 自动过滤),description 写过滤理由(如"匹配 *-config 模式"/"在 archivedApps 列表")project-config.json.codeSpecs.packages.include,以免下次再次命中自动过滤逻辑AskUserQuestion 体感会差(modal 太长),改纯文本模式:原样输出"建议纳管 / 自动过滤"清单 + 反馈块:
反馈方式:
1. 接受全部建议 → 回「1」或「OK」
- 要调整 → 直接说"也纳管 X / 排除 Y",按反馈写回 include
--stack <name> 且栈模板的 manifest.json 声明了 layers → 用栈模板声明tech.frameworks 推断(命中前端框架 → frontend,后端 → backend)['frontend']--no-stack 显式跳过 > --stack <name> 显式指定 > tech.frameworks 推断(vue/nuxt → vue-nuxt;react/next → react-next;express/fastify/nest → node-express) > 空骨架stackSource(explicit / inferred / fallback / none / disabled),skill 需要把推断结果原话反馈给用户(例如"已自动选择栈 vue-nuxt(来自 tech.frameworks),要空骨架请加 --no-stack")--stack 有效 → 从 core/specs/stack-templates/<name>/<layer>/ 拷贝主题文件--scope 决定:core(默认,仅 manifest.core)/ full(core + optional)/ minimal(仅 index.md).claude/code-specs/{frontend,backend}/ 顶层目录 → 报错,要求 --reset 重建node ~/.agents/agent-workflow/core/utils/workflow/spec_bootstrap.js init \
--project-root "$(pwd)" \
--frameworks "vue,nuxt" \
--stack vue-nuxt
.template-hashes.json 自动写入(记录模板 sha256 + canonical version;取代 local.md Template Baseline).claude/tasks/00-bootstrap-guidelines.md 自动生成(引导用户 Document Reality;若已有 workflow 任务则放 spec-bootstrap/ 子目录避免冲突)codeSpecs.runtime.scope 时,自动写 "active_task"(让会话启动 hook 默认按当前 task 收窄注入);单包项目不写。已有值(含 null)不覆盖📋 Post-bootstrap audit: {withPlaceholders}/{total} 个骨架文件仍含占位符local.md / .template-hashes.json / 00-bootstrap-guidelines.md/spec-update.claude/tasks/00-bootstrap-guidelines.md 按步骤填充git add .claude/code-specs/ .claude/tasks/ && git commit 版本化CLI init 返回里带有 nextActions 字段(primary / firstTargetFile / grepHint / estimatedTimePerFile / commitHint / remainingPackages),skill 完成 bootstrap 后把它们组织成结构化收尾消息,至少覆盖以下要点:
✅ 骨架已生成(N 个文件),应用栈:{stack or "空骨架"}
📋 Post-bootstrap audit: {withPlaceholders}/{total} 个骨架文件仍含占位符(正常起点)
▶ 下一步
1. 打开 {nextActions.primary.path}(含具体步骤)
2. 首个靶子:{nextActions.firstTargetFile}
3. 找代码样本:{nextActions.grepHint}
4. 预计 {nextActions.estimatedTimePerFile}/文件
5. 填完第一个再把剩余 {remainingPackages.length} 个包按类似节奏处理
6. 完成后:{nextActions.commitHint}
若 CLI 返回了 pendingPackages.autoExcluded,在结尾前追加一段"自动过滤详情"供用户确认。
/spec-bootstrap # 默认 core 主题;frameworks 命中时自动推断栈
/spec-bootstrap --stack vue-nuxt # 显式指定栈模板(覆盖推断结果)
/spec-bootstrap --no-stack # 显式跳过栈模板,生成空骨架
/spec-bootstrap --stack vue-nuxt --full # core + optional 主题都生成
/spec-bootstrap --stack vue-nuxt --minimal # 仅 index.md,不拷贝主题
/spec-bootstrap --force # 忽略 frameworks,生成 frontend + backend
/spec-bootstrap --reset # 清空已有 .claude/code-specs/ 重建
/scan 在检测到未初始化时会引导调用本命令,或用户选择跳过(bootstrapStatus: "skipped")00-bootstrap-guidelines 任务是本命令的主要后续动作,引导用户按 Document Reality 原则逐步填充骨架/spec-update 在第一次写入 code-spec 时会要求骨架已存在/spec-review 检查骨架完整性、convention 必备段 lint、.template-hashes.json 漂移--reset 是破坏性操作,会删除整个 .claude/code-specs/ 目录并重建,执行前需要交互确认--reset用于让 session-start hook 与 pre-execute-inject hook 在 monorepo 下按活动任务自动收窄 code-specs 读取范围,避免多包项目会话启动就读整棵 spec 树。
取值:
| 值 | 行为 |
|---|---|
"active_task" | 有 active task 时用 task.package;无 task 时 scopeDenied |
["pkg-a", "pkg-b"] allowlist | 当前 task.package 命中才认可;未命中 scopeDenied |
null / 未设 | 保持历史行为(由 task → project.name → package.json → repo-dir 兜底) |
bootstrap 默认在 monorepo 首次落地时写 "active_task";单包项目不写。用户可以手工改成 allowlist 或显式 null。scopeDenied 时 reader 不回退全树,调用方(hook / skill)各自决定输出 paths-only / 空段 / 提示文案。
经 3 轮 Codex review 收敛后的设计原则:
{package}/{layer}/ + guides/ layer布局.template-hashes.json 模板漂移治理shared/ 默认生成(避免 phantom 目录)Use when 用户调用 /design-plan, or 需要为复杂跨服务需求(多服务改动 / 数据库 DDL / 新增对外接口 / 架构调整)产出可评审的技术方案文档,典型用户是技术主管 / 资深研发。简单单服务改动走 /workflow-spec,Bug 修复走 /fix-bug。
Use when asked to review a diff, do a pre-commit code review, or review staged/branch changes. Supports staged diffs, branch diffs, and session mode that reviews only files edited in the current conversation context.
Use when 用户调用 /plan-archive, or 三阶段研发流程的阶段三:在所有模块研发上线后,根据实际代码改动回写阶段一技术方案 + 项目级架构文档(docs/architecture / docs/contracts / docs/assets/概要设计 等)。
Use when 用户说「快速规划」「轻规划」「不走 workflow」「plan 一下」「quick plan」, or 需求清晰、作用域明确、可一次性规划完成的简单到中等任务。复杂项目(跨 module / 新子系统 / 需追溯)或需要正式需求文档 / PRD 请用 /workflow-spec。
Use when 用户调用 /spec-update, or 工作中沉淀出新 convention / 接口 contract / 模式需要落到 .claude/code-specs/, or execute 末尾终审(workflow-execute Step 7)建议沉淀 code-spec。
Use when 用户说「补充前端设计」「UX 深化」「页面 flowchart」「布局提取」「补 §4.4」, or workflow-spec Step 5 确认需要前端设计深化, or 已有 Spec 需要补充 User Flow / Page Hierarchy / Layout Anchors。