wait-cilisted
Install: claude install-skill snowzhaozhj/claude-devtools-rs
# wait-ci
**触发**(任一即用):
- 用户显式 `/wait-ci` 或 `/wait-ci 6`
- 自然语言"等 CI / CI 过了没 / 看 CI 结果 / 跑完没 / build 怎么样"
- Claude 自己刚 `git push` 后——SHALL 主动调(CLAUDE.md "What to do first" 第 6 条 + `.claude/rules/opsx-apply-cadence.md` 发布尾段 N.2)
不调用 = 默认违约——push 完就走人是 CLAUDE.md feedback_pr_must_be_mergeable 明确禁止的。
## 输入
- 可选 PR number。若省略:
1. 先 `gh pr view --json number -q .number`(当前分支关联的 PR)
2. 若无(未开 PR):报告"当前分支没关联 PR"并退出
## 工作步骤
### 1. 确定 PR number
```bash
pr="${ARG:-}"
if [ -z "$pr" ]; then
pr=$(gh pr view --json number -q .number 2>/dev/null || true)
fi
if [ -z "$pr" ]; then
echo "No PR associated with current branch. Run: gh pr create"
exit 1
fi
```
### 2. ���第一眼状态(不阻塞)
```bash
gh pr checks "$pr" 2>&1 | head -15
```
根据输出判断:
- 所有 `pass` → 报告"CI 全绿"并退出
- 有 `fail` → 跳到 Step 4
- 有 `pending` / `in_progress` / `queued` → 进入 Step 3 poll
### 3. 起后台 watch,等 harness 自动通知(首选方式)
`gh pr checks` 自带 `--watch`,内部 polling 直到所有 check 收敛——**全绿 exit 0、任一 fail exit 8**。配合 Bash 工具 `run_in_background: true`,命令完成时 harness 自动 task-notification 触发主 session:
```bash
gh pr checks "$pr" --watch --fail-fast --interval 30 2>&1 | tail -30
```
调用方式:Bash 工具 `run_in_background: true` + `timeout: 900000`(15 min 上限兜底 Tauri 矩阵 + perf bench 偶发慢跑),**不要**主动 poll bg 输出、**不要** `while sleep`、**不要** ScheduleWakeup 节奏。
**为什么是首选**:主 session 整个等待过程只多消耗 2 个 turn(起命令 + 处理 task-notification)。对比 ScheduleWakeup 每 270 s 重跑完整 prompt 一次(一次 CI 10-15 min = 3-5 个完整 turn 重读上下文 + 跑 `gh pr checks`),省 50-80 % token。
参数说明: