ci:monitoring

SkillMonitoring & ops

Monitor running CI jobs, wait for completion, create tasks for results

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the ci:monitoring skill

What this skill tells your AI

The instructions your AI receives, as published by rossoctl/rossoctl in .claude/skills/ci:monitoring/SKILL.md and read by ahel’s review.

Monitor running CI pipelines and report results. Creates task items for each CI check being monitored.

Context-Safe Execution (MANDATORY)

CI log downloads MUST go to files. Status checks (gh pr checks) are small and OK inline.

export LOG_DIR="${LOG_DIR:-${WORKSPACE_DIR:-/tmp}/rossoctl-ci}"
mkdir -p "$LOG_DIR"

# When downloading logs after completion:
gh run view <run-id> --log-failed > $LOG_DIR/ci-run-<run-id>.log 2>&1; echo "EXIT:$?"
# Analyze in subagent: Task(subagent_type='Explore') with Grep

When to Use

  • After pushing to a PR, to track CI completion
  • When user says "monitor CI" or "check CI"
  • When waiting for HyperShift E2E (long-running, needs manual trigger)
  • To track multiple CI checks in parallel

Workflow

1. Create Monitoring Tasks

For each pending CI check, create a task:

TaskCreate: "<worktree> | <PR> | CI | Monitor | <check-name>"
  metadata: plan="ad-hoc", runner="main-session"

Example:

#33 [in_progress] mlflow-ci | PR#569 | CI | Monitor | Kind Deploy & Test
#34 [pending]     mlflow-ci | PR#569 | CI | Monitor | HyperShift E2E

2. Check Status Periodically

gh pr checks <PR-number>

3. On Completion

For each check that completes:

  • Mark monitoring task as completed
  • If passed: note in task description
  • If failed: create RCA task and invoke rca:ci
TaskUpdate: #33 status=completed
TaskCreate: "<worktree> | <PR> | Kind CI | RCA | <failure summary>"

4. Report Summary

Present final status table:

#CheckStatusAction
#33Kind Deploy & Testpassed-
#34HyperShift E2Efailed→ #35 RCA created
#35Kind CIRCAAgent empty response

CI Check Types

CheckTriggerDurationManual?
CodeQLAuto on push~2 minNo
Deploy & Test (Kind)Auto on push~12 minNo
E2E HyperShift/test comment~45 minYes
Build, Lint, SecurityAuto on push~1 minNo

HyperShift E2E

HyperShift requires manual trigger:

# Trigger via PR comment (done by user in GitHub UI)
# The workflow responds to issue_comment with "/test"

Monitor:

gh run view <run-id> --json status --jq '.status'
gh run view <run-id> | head -25

Task Tracking

On invocation:

  1. TaskList - find existing CI monitoring tasks for this PR
  2. Update completed checks
  3. Create new monitoring tasks for pending checks
  4. For failures, create RCA tasks linked to rca:ci or rca:hypershift

Naming: <worktree> | <PR> | CI | Monitor | <check-name>

Troubleshooting

HyperShift not starting

  • Needs /test comment on PR
  • Check if previous run is still cleaning up
  • Check slot availability: CI has limited concurrent HyperShift clusters

CI running on old commit

  • Push triggers new run on latest commit
  • Old runs may still be in progress
  • Check headSha matches expected commit

Related Skills

  • ci:status - One-time status check
  • rca:ci - RCA when CI fails
  • tdd:ci - TDD iteration using CI
  • tdd:kind - Local Kind testing (faster feedback)

Signals

GitHub stars
300
Forks
107
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
ci-monitoring
Source
github.com/rossoctl/rossoctl