Use when 需要在本仓库的 AI SDLC 流程中初始化新的 Spec Pack(创建三位编号分支与 `.aisdlc/specs/{num}-{short-name}` 目录),或在执行 `spec-init` 时不确定输入解析、短名称规则、UTF-8 BOM 文件路径传参、脚本调用方式与输出物。
From sdlc-dev-skillsnpx claudepluginhub zixun-github/aisdlcThis skill uses the workspace's default tool permissions.
scripts/spec-create-branch.ps1scripts/spec-create-branch.shspec-init 用于在本仓库里创建一个新的需求级 Spec Pack:自动递增三位编号、创建并切换到 {num}-{short-name} 分支、生成 .aisdlc/specs/{num}-{short-name}/ 目录结构,并把原始需求写入 requirements/raw.md(UTF-8 with BOM)。
约束:即使仓库包含 .gitmodules,spec-init 也只初始化根项目的 Spec 分支与 Spec Pack;子仓分支不在本阶段批量创建。
{num}-{short-name} 分支与 .aisdlc/specs/... 目录)。{num}-{short-name} spec 分支上,且 .aisdlc/specs/{num}-{short-name}/ 已存在并结构完整(这时直接进入后续命令)。{num}-{short-name}(num 为三位数字;short-name 为 kebab-case,小写字母/数字/连字符).aisdlc/specs/{num}-{short-name}/requirements/、design/、implementation/、verification/、release/requirements/raw.md(内容=原始需求;编码=UTF-8 with BOM)<本SKILL.md目录>/scripts/spec-create-branch.ps1(-File 直接执行,需 PowerShell 5.0+)spec-create-branch.sh(命令行参数见 --help;stdout 输出 JSON)I1 -> I2 之间创建并校验与根项目同名的 Spec 分支强制规则:始终以文件路径方式传入需求内容(避免中文内容在参数传递/编码上出问题)。
$sourceFilePath(但要提示"会被删除")。_sdlc-raw-temp.md,然后用该路径作为 $sourceFilePath。
示例(Agent 操作):
1. Write 工具 → 路径: {REPO_ROOT}/_sdlc-raw-temp.md,内容: 用户提供的原始需求文本
2. 将 {REPO_ROOT}/_sdlc-raw-temp.md 作为 $sourceFilePath / --source-file 传入脚本
short-name(2-4 词,kebab-case)从原始需求提炼 2-4 个词的短名称,优先"动词-名词",保留常见技术缩写(如 oauth2、jwt、api):
export-orders-batch 或 add-order-exportexport-orders按操作系统自动选择脚本实现(不要硬跑"另一种")。
powershell -NoProfile -ExecutionPolicy Bypass -File "<脚本路径>" ... 调用spec-create-branch.sh(stdout 输出 JSON)执行参数(只填参数即可)
Main):
-ShortName <kebab-case>
-SourceFilePath <需求文件路径>
-Title <可选>
调用形态:
powershell -NoProfile -ExecutionPolicy Bypass -File "<本SKILL.md目录>/scripts/spec-create-branch.ps1" -ShortName "<kebab-case>" -SourceFilePath "<需求文件路径>" [-Title "<标题>"]
spec-create-branch.sh):
--short-name <kebab-case>--source-file <需求文件路径>--title <可选>spec-create-branch.sh --short-name <...> --source-file <...> [--title <...>]脚本职责边界:
.aisdlc/specs/...检查以下事实是否同时成立(缺一不可):
git branch --show-current)符合 {num}-{short-name}。.aisdlc/specs/<branchName>/ 存在,且包含 5 个必需子目录(requirements/、design/、implementation/、verification/、release/)。.aisdlc/specs/<branchName>/requirements/raw.md 存在,内容等于原始需求(注意文件头有 UTF-8 BOM)。.gitmodules:本阶段不要求任何子仓已创建分支;后续应由 I1/I2 门禁处理using-aisdlc 继续自动推进spec-init 的 DoD 通过后,本技能不做"下一步分流"判定(避免出现第二个路由源)。统一做法:
ROUTER_SUMMARY(见下节)using-aisdlc 路由下一步(Router 默认自动续跑;进入 R1:spec-product-clarify)Spec Pack 初始化完成后(无论成功或失败),必须完成以下动作(按顺序,不可省略):
创建成功时:
ROUTER_SUMMARY:
stage: R0
artifacts:
- "{FEATURE_DIR}/requirements/raw.md"
needs_human_review: false
blocked: false
block_reason: ""
notes: "Spec Pack 已初始化完成;建议 Router 进入 R1(spec-product-clarify)"
任一 DoD 未满足并停止时:
ROUTER_SUMMARY:
stage: R0
artifacts: []
needs_human_review: true
blocked: true
block_reason: "<填写失败点与最小修复动作>"
notes: "未完成初始化,需先修复再继续"
立即执行 using-aisdlc:将上述 ROUTER_SUMMARY 作为路由输入传递给 using-aisdlc,由 Router 判定下一步并自动推进(无需等待用户说「继续」)。
对话输出:在调用 using-aisdlc 前,可简短说明「本阶段产物已落盘,正在调用 using-aisdlc 路由下一步。」
spec/<slug>、feature/<slug>、features/<slug>;本仓库规范是 {num}-{short-name} + .aisdlc/specs/...。SourceFilePath 指向的文件;对用户的原始文件务必先确认是否需要备份。--;尽量 2-4 词。.aisdlc/specs/...