skills/wait-for-ci/SKILL.md
Wait for a GitHub Actions run to finish with minimal terminal output and a reliable exit code. Use when an agent must wait for CI to pass (e.g. after push, after opening a PR, or when verifying a specific run). Prefer gh run watch with --exit-status and --compact to avoid flooding context with poll output.
npx skillsauth add michael-f-bryan/skills wait-for-ciInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When waiting for a GitHub Actions run to complete, use gh run watch with flags that minimise stdout and provide a checkable exit code. Do not run plain gh run watch <run-id>; it polls every 3 seconds and prints full pipeline status each time, which wastes context.
gh run watch <run-id> --exit-status --compact
--exit-status: Exits with non-zero status if the run fails. Use the command’s exit code to decide success/failure.--compact: Shows only relevant or failed steps instead of every step, reducing output size.To cut down output further, increase the refresh interval (default 3 seconds):
gh run watch <run-id> --exit-status --compact --interval 10
After the command exits:
In shell scripts or when deciding next steps, rely on $? or the command in a conditional, e.g.:
gh run watch 12345 --exit-status --compact || echo "CI failed"
https://github.com/owner/repo/actions/runs/<run-id>.gh run list --limit 1 and use the run ID from the first row.gh pr create or gh pr checks: the run ID may be in the command output or from gh run list.Use -R owner/repo when the run is not in the current repo:
gh run watch <run-id> --exit-status --compact -R owner/repo
documentation
Use when handling multi-step tasks, investigations, or long sessions where working notes, interim findings, and scratch planning are needed to keep context and handoffs clear.
documentation
When generating or editing markdown content, actively look for existing pages to link to and incorporate relevant wikilinks so content is interconnected. Use when writing notes, docs, or any .md content.
testing
Use when drafting, editing, or evaluating communication that should sound like Michael across public technical prose, internal notes, agent prompts, engineering feedback, and concise operational updates.
development
Design, implement, and refactor high-quality Temporal workflows and activities in Python. Use when building or changing Temporal Python applications; when designing activities (injectable deps, Pydantic params/result, business logic outside); when implementing workflows with dynamic inputs or Continue-As-New; or when configuring reliability (timeouts, retries, idempotency), determinism, or testing. Covers boundaries, typed contracts, bounded history, and progressive disclosure via resources.