← ClaudeAtlas

wait-cilisted

Poll `gh pr checks <pr>` 直到全绿或失败;失败时自动 `gh run view --log-failed` 过滤 FAILED/panicked/error 行提炼真正的错误。**只要**刚 `git push` 完 / 用户说"等 CI / CI 过了没 / 看 CI 结果 / CI 跑没跑完 / 跑完没"或显式 `/wait-ci [pr]`,**都用这个 skill**——CLAUDE.md "What to do first" 第 6 条已把"PR push 后 SHALL `/wait-ci` 直到全绿"列为硬约束(`scripts/check-openspec-archives.sh` 等 CI-only check 本地 preflight 拦不下来),不能 push 完就走人。
snowzhaozhj/claude-devtools-rs · ★ 1 · AI & Automation · score 67
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。 参数说明: