SuperAPI AI 工具集

setup-skills

部署与运维

查看项目

更新于 10-18 16:17

技能介绍

用途

setup-skills 用于为单个代码仓库搭建工程类技能所假定的基础配置,包括 issue 跟踪位置、triage 标签词表、领域文档布局,以及可选的 Git 破坏性命令防护。它是一个提示驱动的技能:先探查仓库现状,向用户展示发现并逐项确认,最后写入或更新文件。

主要能力

  • 探查仓库:读取 git remote 与 .git/config、根目录 AGENTS.md / CLAUDE.md、GLOSSARY.md 与 GLOSSARY-MAP.md、docs/adr/ 与 src//docs/adr/、docs/agents/、.scratch/、.claude/settings.json,以及 monorepo 信号(pnpm-workspace.yaml、package.json 的 workspaces 字段、packages/ 下自带 src/)。
  • 配置 issue 跟踪器:默认推荐 Local markdown(.scratch/<feature>/ 下以文件形式存放);也可选 GitHub Issues(gh CLI)、GitLab Issues(glab CLI),或让用户用一段话描述其他跟踪器(Jira、Linear 等)。结果写入 docs/agents/issue-tracker.md。
  • 配置 triage 标签:确认是否保留默认六类 triage 标签,或将仓库已有的不同标签名映射过来,写入 docs/agents/triage-labels.md。
  • 配置领域文档:默认单上下文布局(根目录一个 GLOSSARY.md 与 docs/adr/);仅在探查发现 monorepo 信号时才提供多上下文布局(根 GLOSSARY-MAP.md 指向各上下文的 GLOSSARY.md)。写入 docs/agents/domain.md。
  • 可选 Git 防护:将一组破坏性 git 命令的 deny 规则合并进项目 .claude/settings.json 的 permissions.deny,并写入 docs/agents/git-guardrails.md。
  • 更新 CLAUDE.md 或 AGENTS.md 中的 ## Agent skills 区块,采用就地更新而非追加重复块。
  • 在 GitHub 或 GitLab 上创建缺失的标签(gh label create / glab label create)。

使用方式

技能按固定流程执行:

  1. 探索仓库现状,不预设任何内容。
  2. 呈现已存在与缺失的配置,按 Section A(issue 跟踪器)、B(triage 标签)、C(领域文档)、D(Git 防护)逐项询问,每项先给出推荐答案。探查已能确定的项可跳过(如无 monorepo 时跳过 Section C 的布局选择,已有 deny 规则时跳过 Section D)。
  3. 展示草稿供用户编辑:待写入的 ## Agent skills 区块、docs/agents/ 下各文件内容,以及 Section D 为是时的 git-guardrails.md 与将合并的 deny 条目。
  4. 写入:若 CLAUDE.md 存在则编辑它;否则若 AGENTS.md 存在则编辑它;两者都不存在时询问用户创建哪一个,不代为选择。若已有 ## Agent skills 区块则就地更新内容,不覆盖用户对周边章节的修改。

Section D 选择是时,只向目标项目的 .claude/settings.json 写入,不创建 .claude/hooks/、不注册 PreToolUse、不复制脚本、不改动 ~/.claude/settings.json。合并需要 jq,以幂等方式仅追加缺失规则,保留文件中的 allow 规则、hooks、env 与既有 deny 条目及其顺序,替换前写入带时间戳的备份。文件缺失或为空时初始化为 {};若 jq 缺失或文件不是合法 JSON 对象,合并会以非零状态退出并提示,不重建文件、不手工编辑作为绕过。

种子 deny 规则包括:

Bash(git push *) Bash(git reset --hard *) Bash(git clean *) Bash(git -C * push) Bash(git -C * push *) Bash(git -C * reset --hard) Bash(git -C * reset --hard *) Bash(git -C * clean) Bash(git -C * clean *) Bash(git branch -D *) Bash(git branch --delete --force *) Bash(git checkout . *) Bash(git restore . *) Bash(git stash drop *) Bash(git stash clear *) Bash(git tag -d *) Bash(git tag -D *)

日常 git 操作(add、commit、merge、rebase、switch、worktree、soft reset)仍可正常使用。若既有 deny 列表中已含旧版宽泛规则(如 Bash(git reset *)、Bash(git rebase *) 或对应的 git -C 形式),技能会保留并提示用户这些规则可能阻碍 soft reset 与 rebase,但不会自行删除。

适用场景

适用于希望工程类技能(如 to-tickets、to-spec、review-axes、/implement、/delegate-tickets、/implement-spec)按统一配置读取 issue 跟踪位置、triage 标签、领域文档布局的单个仓库;也适用于为 Claude Code 项目添加破坏性 git 命令防护。

限制

  • 提示驱动,非确定性脚本,结果依赖与用户的交互确认。
  • Git 防护合并依赖 jq;jq 缺失或 settings.json 非法时不会修改文件。
  • 不安装或注册 hooks;用户如需全局 hooks 需自行配置。
  • GitHub / GitLab 的“PR 作为请求入口”标志默认关闭,技能不主动提示开启。
  • 不创建 AGENTS.md 与 CLAUDE.md 二者并存的情况,若都已存在则编辑已有者。
  • 不会自行删除既有 deny 规则。
  • 完成后如需切换 issue 跟踪器、刷新 deny 规则或从头重来,需重新运行该技能。

补充

完成后推荐(但不代为运行)配套的 /setup-solid 技能,它会在 CLAUDE.md 中写入 SOLID 章节,按 boy scout 规则限定于新代码与每次变更触及的代码。