# CI Watch

> Poll GitHub Actions CI for a PR, auto-fix failures, and report terminal state

- Skill: `omninode-ai/ci-watch` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add omninode-ai/ci-watch`
- Raw SKILL.md: https://api.skillmd.com/api/skills/omninode-ai/ci-watch/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: OmniNode-ai (https://skillmd.com/u/omninode-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/omninode-ai/ci-watch

---


# CI Watch

Dispatch to the deterministic node — do NOT inline any logic.

## Primary path (bus-driven)

```bash
onex run-node node_ci_watch \
  --input '{"pr_number": <pr_number>, "repo": "<repo>", "correlation_id": "<uuid>", "timeout_minutes": 60, "max_fix_cycles": 3, "dry_run": false}' \
  --timeout 300
```

## Fallback path (local/offline)

```bash
onex node node_ci_watch --input <json_file>
```

Where `<json_file>` contains `ModelCiWatchCommand` JSON: `{"pr_number": <n>, "repo": "<org/repo>", "correlation_id": "<uuid>"}`.

On non-zero exit, a `SkillRoutingError` JSON envelope is returned — surface it directly, do not produce prose.

## Routing Contract

Primary dispatch uses `onex run-node node_ci_watch` (Kafka bus). Fall back to `onex node node_ci_watch --input <file>` for local/offline execution. Non-zero exit emits a `SkillRoutingError` JSON envelope — callers must surface it verbatim, never paraphrase.

