watch-ci-after-pushlisted
Install: claude install-skill Vivswan/skills
# Watch CI After Push
Every push gets a **background watcher** that reports pass/fail with failing-job logs. Never fire-and-forget a push. Never watch CI inline: an inline watch blocks the session for minutes while a background watcher costs nothing.
## When to Apply
- A `git push` just ran (any branch with CI)
- A PR just merged (watch the mainline tip, not the topic HEAD; recipe below)
- "did CI pass?" / "watch the pipeline" / "check the build"
## Workflow
### 1. Find the runs the push triggered
- Poll until the runs appear: they can take a few seconds to register after the push.
- Always pass the **FULL 40-character SHA**: `gh run list --commit` silently returns an empty list for short SHAs.
```bash
sha="$(git rev-parse HEAD)" # full SHA - short SHAs silently match nothing
for i in 1 2 3 4 5; do
runs="$(gh run list --commit "$sha" --json databaseId,name,status,conclusion,url)"
[ "$runs" != "[]" ] && break
sleep 3
done
echo "$runs"
```
Still empty after ~15s? That usually means no workflow triggers on this ref. Say so and stop (include the repo's Actions URL).
### 2. Watch in the background
Preferred: spawn a **background subagent** with this brief, then keep working. Never sleep or poll waiting for it. Act on its report when the completion notification arrives:
```text
Watch the CI runs for commit <full-sha> on <repo>: run
"<skill-dir>/scripts/watch-ci.sh <full-sha>" from the repo root and
report its full output. Exit 0: all green (skipped runs count as