SuperAPI AI 工具集

spec-pack-abandon

部署与运维

查看项目

更新于 10-16 02:12

技能介绍

用途

spec-pack-abandon 用于在需求出现重大问题、需要废弃或撤销当前 Spec Pack 时,安全地完成撤销与清理。它适用于需求/约束出现重大问题、决定不再继续澄清/设计/实现的场景,需要删除 .aisdlc/specs/{CURRENT_BRANCH}/ 目录以及该分支的本地与远程副本。

不适用于以下情况:只是想回退某个提交或重做需求文档,应优先使用正常的 git 回退或新提交,而不是删分支;当前不在符合 {num}-{short-name} 命名规范的 spec 分支时,应先切到目标 spec 分支,否则停止。

主要能力

  • 通过 spec-context 获取上下文,精确定位 FEATURE_DIR 与 CURRENT_BRANCH,禁止猜路径或猜分支。
  • 生成删除清单,包含:仓库根目录、将删除的当前分支、将删除/清理的 FEATURE_DIR、demo/prototypes 目录、远程分支是否存在、未提交更改概览、与 origin 分支的 ahead/behind 计数。
  • 提供两次精确短语确认门禁:第一次确认短语为「确认删除清单」,第二次确认短语为「最终确认执行删除」。
  • 准备并展示将要执行的删除命令,包括切到 main、清理本地残留目录、删除本地分支、删除远程分支。
  • 执行后做最小验收:确认本地分支无输出、远程分支无匹配、FEATURE_DIR 路径检测为 False。

使用方式

开始时会宣布:「我正在使用 spec-pack-abandon 技能废弃当前 Spec Pack(输出删除清单并二次确认后删除目录与分支)。」

首先执行 spec-context 获取上下文并回显 FEATURE_DIR。随后在 PowerShell 中通过加载 skills\spec-context\scripts\spec-common.ps1 并调用 Get-SpecContext -SkillName "spec-pack-abandon" 获取 REPO_ROOT、CURRENT_BRANCH、FEATURE_DIR,并检测远程分支存在性与工作区状态,输出删除清单。用户回复「确认删除清单」后,展示将要执行的具体删除命令;用户回复「最终确认执行删除」后,才按展示的命令执行。

硬规则包括:必须使用 spec-context 的 CURRENT_BRANCH 与 FEATURE_DIR;必须在任何删除命令前输出删除清单;必须完成两次精确短语确认;禁止使用 git clean -fd 全盘清空;遇到任何验证失败即停止;分支名与 CURRENT_BRANCH 不一致必须停止。

适用场景

  • 需求/约束出现重大问题,决定废弃当前 spec pack。
  • 需要删除 .aisdlc/specs/{CURRENT_BRANCH}/ 以及该分支的本地与远程副本。

限制

  • 不用于回退提交或重做需求文档。
  • 当前不在 spec 分支时需先切换,否则停止。
  • 未收到两次精确确认短语前禁止执行任何删除动作。
  • 不得跳过 spec-context 或猜测路径与分支名。
  • 关于具体收费、价格、平台与效果等事实,资料中暂未提供。