community skill
no-mistakes
kunchenguid 维护的本地 git push 门禁 CLI(Go)及其 skill,在代码抵达推送目标前强制走 intent → rebase → review → test → document → lint → push → PR → CI 流水线逐项验证,通过 no-mistakes axi 命令族输出机器可读 TOON 并在 gate 决策点由 agent 判断或转交给人。
no-mistakes
no-mistakes 是 kunchenguid 维护的本地 git push 门禁(quality gate)CLI(Go 实现)及其配套 skill。它在代码改动抵达配置好的推送目标之前,强制走一条流水线(intent → rebase → review → test → document → lint → push → PR → CI)逐项验证。skill 本身教 agent 如何用 no-mistakes axi 命令族驱动这个门禁:命令向 stdout 输出机器可读的 TOON,进度走 stderr,agent 据此在每一个决策点上做判断或转交给人。
来源
- 上游仓库:https://github.com/kunchenguid/no-mistakes
- 项目主页:https://kunchenguid.github.io/no-mistakes/
- Skill 源文件:https://github.com/kunchenguid/no-mistakes/tree/main/skills/no-mistakes
- 上游 SKILL.md:https://github.com/kunchenguid/no-mistakes/blob/main/skills/no-mistakes/SKILL.md
- 许可证:MIT
适合什么时候用
- 已经写完并提交了改动,想在
git push前自动跑代码审查、测试、lint、文档、构建 CI 等一整套校验,而不是靠记忆手动补跑。 - 让 agent「先做完一个任务,再把它验证一遍」:agent 在 feature 分支上做完工作、提交后,把用户的目标作为
--intent喂给流水线驱动验证。 - 想把门禁发现的问题按严重度分流:机械低风险的
auto-fix可由 agent 在自己判断下授权修复,而质疑用户意图或产品行为的ask-user必须停下来转交给人。
门禁流水线
intent → rebase → review → test → document → lint → push → PR → CI
- intent:传入用户本次「想达成什么」作为意图,供后续 review 判断「是有意为之的取舍」还是「失误」。
- rebase / review / test / document / lint:各步骤可能自跑、可能 auto-fix、可能在
gate:上停下等人决策。 - push / PR / CI:CI 步骤会在 checks 通过后继续盯 PR,所以
axi run在 checks 变绿那一刻就返回checks-passed,而不是阻塞在人工 merge 上。
两种调用方式
- 仅校验(validate-only):裸
/no-mistakes(可带 flag 风格请求,如「跳过 lint 步骤」→--skip=lint)。用户的改动已提交,校验并汇报结果即可。 - 先做任务(task-first):
/no-mistakes <task>,例如/no-mistakes 给 status 命令加个 --json 标志。agent 先自己完成任务并提交到 feature 分支,再把该任务文本作为--intent驱动流水线校验。
验证与决策循环
- 启动运行:
no-mistakes axi run --intent "<用户想达成的目标>",它会阻塞到第一个决策点或结束。axi run与每次axi respond同步返回,review、test、CI 每步都可能耗时数分钟,单个调用可能久不返回——这是正常的,应给长超时且不要因「看起来慢」就取消或重发。 - 若输出含
gate:,说明流水线在等人。读findings表,每条 finding 带id / severity / file / action:auto-fix— 机械且低风险,可自行判断后用--action fix授权修复。no-op— 仅提示,无需动作。ask-user— 质疑用户意图或触及产品行为,只能由用户决定,必须停下转交,不要自行 approve/fix/skip。
- 重复步骤 2,直到输出从
gate:变为outcome::checks-passed(已通过但 PR 未合并,此时停止驱动、请用户审查合并)、passed、failed、canceled。
关键纪律:运行进行中绝不要自己改代码修 finding(门禁同时持有 finding 与修复),也绝不要用 abort/rerun 去绕过或重启一个正在进行的 gate;它们只在两次运行之间、终态之后使用。
前置条件
- 要验证的工作必须已提交在某分支上(门禁校验提交历史,不是工作区未提交内容)。
- 必须处于 feature 分支,而非仓库默认分支。
- 仓库必须已用
no-mistakes init初始化。
任一条件不满足,axi run 会返回带精确修复命令的 error:;读它并照做即可。若 no-mistakes 命令本身缺失或异常,no-mistakes doctor 会报告问题所在。
安装提示
这是社区上游的 skill 目录。本站只收录索引和中文说明,不镜像上游 skill 文件。skill 安装命令指向上游目录:
npx skills add https://github.com/kunchenguid/no-mistakes/tree/main/skills/no-mistakes
该 skill 驱动的是 no-mistakes CLI(Go 二进制),需先安装 CLI 并对仓库执行 no-mistakes init;CLI 的安装方式以上游仓库 / 项目主页为准。
使用注意
--intent是必填项:写「用户想达成什么」(来自对话的目标),而非对 diff 或改了哪些文件的描述,宁详勿略,把取舍与约束一并记下。- review 步骤的 auto-fix 默认关闭(
auto_fix.review: 0;仓库或全局auto_fix.review > 0才重新启用),因此阻塞在 review 与 ask-user 上的 finding 会集中交给你决策,而非被默默自修。 - 长时间运行的调用是在干活、不是卡死;如需不打扰运行地查进度,从另一个调用跑
no-mistakes axi status。 - 查看状态用
no-mistakes axi(总览)、axi status(详情)、axi logs --step <name> --full(单步全量日志);取消仅在运行间使用axi abort或axi abort --run <id>。 - 成功收尾(
checks-passed/passed)时,给用户一份简明汇报:验证了什么、发现了什么;若输出含fixes表,说明流水线补上了你原始改动遗漏的修复,需逐条列出供人复核。