SuperAPI AI 工具集

spec-context

编程与开发

查看项目

更新于 10-16 01:27

技能介绍

用途:在读写 requirements/.md 之前确定 {FEATURE_DIR},以当前 Git 分支名为锚点,禁止猜测路径。适用于将读写 {FEATURE_DIR}/requirements/.md、不确定当前 spec pack,或出现分支、目录、.aisdlc 相关上下文错误时。

主要能力:优先复用本会话已成功回显且存在 requirements/ 的 FEATURE_DIR,并回显 FEATURE_DIR=... (reuse);否则执行脚本并从输出读取 FEATURE_DIR=<path> 行。若仓库含 .gitmodules,还会暴露 submodule 状态快照,供实现阶段校验分支一致性、detached HEAD 与脏工作区,但不改变 FEATURE_DIR 解析规则。实现阶段调用方(如 spec-plan、spec-execute)如脚本输出 SUBMODULE_SET_JSON=... 或等价字段,应保留并传递给后续步骤。

使用方式:开始时宣布正在使用 spec-context 技能定位当前 Spec Pack(FEATURE_DIR)。执行 PowerShell:powershell -NoProfile -ExecutionPolicy Bypass -File "<本SKILL.md目录>/scripts/spec-common.ps1" -SkillName "<caller-skill-name>";或 Bash:"<本SKILL.md目录>/scripts/spec-common.sh" "<caller-skill-name>"。将 -SkillName 或第一参数替换为当前执行的技能名(如 spec-plan),<本SKILL.md目录> 替换为本 SKILL.md 所在目录的绝对路径。

硬规则:读写 requirements/*.md 前必须先回显 FEATURE_DIR=...;脚本失败立即停止,不得继续写文件;后续路径一律以 FEATURE_DIR 值为前缀;若存在 .gitmodules,实现阶段不得绕过脚本手猜 submodule 路径或分支状态。

限制与常见错误:未传 -SkillName 或照抄 <caller-skill-name> 字面量;非 spec 分支(分支名不符合 {num}-{short-name});手写 .aisdlc/specs/... 路径或在上下文失败后仍继续生成;把 submodule 分支当成新的 Spec 身份试图单独推导 FEATURE_DIR。其他细节暂未提供。