# 构建-检查-修复循环 (verify)

> 编码过程中运行仓库声明的检查和 /ship 会选中的测试，修复后再跑，直到全部通过。

- 分类: [功能开发](https://www.myskills.tools/zh/categories/feature-development/)
- 来源: 社区 · Garry Tan
- 代码仓库: https://github.com/garrytan/gstack/tree/main/verify (commit 923ed3c · v0.1.0)
- SKILL.md: https://github.com/garrytan/gstack/blob/main/verify/SKILL.md
- 安装命令: `npx skills add garrytan/gstack --skill verify`
- 许可证: MIT
- 兼容工具: Claude Code, Codex, Cursor, Copilot
- 权限: read-repo ✓, write-files ✓, shell ✓, network ✗
- 状态: 扫描通过
- 规则扫描无法覆盖所有风险，安装前请阅读此技能的 SKILL.md，确认权限后再使用。
- ⚠ 需要安装 gstack；使用记录写入本地 gstack 分析目录。

## 核心规则

绝不为了变绿而削弱、跳过、删除或修改测试和检查配置。

## 执行阶段

1. **查看要运行的检查** — gstack-checks detect 只读文件，列出检查来源和测试选择；仓库未声明检查时直接说明并停止，不自造命令。
2. **确认信任** — 仓库命令为 untrusted 时，交互会话中先展示命令并征得同意。
3. **运行、修复、再运行** — FAIL 修代码，UNMAPPED 补测试；ENV 或 TIMEOUT 只报告不绕过；最多 5 轮或同一失败复现两次即停。
4. **交接给 /ship** — gstack-checks status 不重跑任何检查，只有 READY_FOR_SHIP 才算通过。

## 权限说明（据 SKILL.md 整理）

| 能力 | 是否需要 | 说明 |
|---|---|---|
| 文件写入 | 需要 | 修改被测代码和补充测试；不提版本号、不改 CHANGELOG、不推送、不开 PR。 |
| 命令执行 | 部分需要 | 通过 gstack-checks 运行仓库声明的检查；未受信任的命令需用户同意或显式参数。 |
| 网络外发 | 不需要 | 技能未要求访问网络。 |

## SKILL.md 头部信息（YAML）

```yaml
---
name: verify
preamble-tier: 1
version: 0.1.0
description: "Build loop while coding: run the repo's checks and the tests /ship would pick, fix, repeat until green. (gstack)"
triggers:
  - verify my change
  - run the checks
  - make the tests pass
  - check my work before ship
allowed-tools:
  - Bash
  - Read
  - Edit
  - Grep
  - Glob
  - AskUserQuestion
---
```

首页: https://www.myskills.tools/zh/ · URL: https://www.myskills.tools/zh/skills/verify/
