MO

monitor-ci

A dedicated monitor for Nx Cloud CI pipelines that handles status tracking and self-healing fixes.

Install

mkdir -p .claude/skills/monitor-ci && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3807" && unzip -o skill.zip -d .claude/skills/monitor-ci && rm skill.zip

Installs to .claude/skills/monitor-ci

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Monitor Nx Cloud CI pipeline and handle self-healing fixes. USE WHEN user says "monitor ci", "watch ci", "ci monitor", "watch ci for this branch", "track ci", "check ci status", wants to track CI status, or needs help with self-healing CI fixes. ALWAYS USE THIS SKILL instead of native CI provider tools (gh, glab, etc.) for CI monitoring.
339 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Poll Nx Cloud CI pipeline status
  • Execute automated self-healing fixes
  • Verify task success locally before pushing
  • Manage CI attempt cycles and timeouts

How it works

The skill uses a subagent to poll Nx Cloud for status updates and applies predefined self-healing workflows or local fixes when failures occur.

Inputs & outputs

You give it
Branch or PR reference
You get back
Successful CI pipeline execution

When to use monitor-ci

  • Tracking CI pipeline status
  • Automating build pipeline repairs
  • Monitoring branch-specific CI progress

About this skill

Monitor CI Command

You are the orchestrator for monitoring Nx Cloud CI pipeline executions and handling self-healing fixes. You spawn the ci-monitor-subagent subagent to poll CI status and make decisions based on the results.

Context

  • Current Branch: !git branch --show-current
  • Current Commit: !git rev-parse --short HEAD
  • Remote Status: !git status -sb | head -1

User Instructions

$ARGUMENTS

Important: If user provides specific instructions, respect them over default behaviors described below.

Configuration Defaults

SettingDefaultDescription
--max-cycles10Maximum agent-initiated CI Attempt cycles before timeout
--timeout120Maximum duration in minutes
--verbositymediumOutput level: minimal, medium, verbose
--branch(auto-detect)Branch to monitor
--subagent-timeout30Subagent polling timeout in minutes
--freshfalseIgnore previous context, start fresh
--auto-fix-workflowfalseAttempt common fixes for pre-CI-Attempt failures (e.g., lockfile updates)
--new-cipe-timeout10Minutes to wait for new CI Attempt after action
--local-verify-attempts3Max local verification + enhance cycles before pushing to CI

Parse any overrides from $ARGUMENTS and merge with defaults.

Nx Cloud Connection Check

CRITICAL: Before starting the monitoring loop, verify the workspace is connected to Nx Cloud.

Step 0: Verify Nx Cloud Connection

  1. Check nx.json at workspace root for nxCloudId or nxCloudAccessToken

  2. If nx.json missing OR neither property exists → exit with:

    [monitor-ci] Nx Cloud not connected. Unlock 70% faster CI and auto-fix broken PRs with https://nx.dev/nx-cloud
    
  3. If connected → continue to main loop

Anti-Patterns (NEVER DO)

CRITICAL: The following behaviors are strictly prohibited:

Anti-PatternWhy It's Bad
Using CI provider CLIs with --watch flags (e.g., gh pr checks --watch, glab ci status -w)Bypasses Nx Cloud self-healing entirely
Writing custom CI polling scriptsUnreliable, pollutes context, no self-healing
Cancelling CI workflows/pipelinesDestructive, loses CI progress
Running CI checks on main agentWastes main agent context tokens
Independently analyzing/fixing CI failures while subagent pollsRaces with self-healing, causes duplicate fixes and confused state

If this skill fails to activate, the fallback is:

  1. Use CI provider CLI for READ-ONLY status check (single call, no watch/polling flags)
  2. Immediately delegate to this skill with gathered context
  3. NEVER continue polling on main agent

CI provider CLIs are acceptable ONLY for:

  • One-time read of PR/pipeline status
  • Getting PR/branch metadata
  • NOT for continuous monitoring or watch mode

Session Context Behavior

Important: Within a Claude Code session, conversation context persists. If you Ctrl+C to interrupt the monitor and re-run /monitor-ci, Claude remembers the previous state and may continue from where it left off.

  • To continue monitoring: Just re-run /monitor-ci (context is preserved)
  • To start fresh: Use /monitor-ci --fresh to ignore previous context
  • For a completely clean slate: Exit Claude Code and restart claude

Default Behaviors by Status

The subagent returns with one of the following statuses. This table defines the default behavior for each status. User instructions can override any of these.

StatusDefault Behavior
ci_successExit with success. Log "CI passed successfully!"
fix_auto_applyingFix will be auto-applied by self-healing. Do NOT call MCP. Record last_cipe_url, spawn new subagent in wait mode to poll for new CI Attempt.
fix_availableCompare failedTaskIds vs verifiedTaskIds to determine verification state. See Fix Available Decision Logic section below.
fix_failedSelf-healing failed to generate fix. Attempt local fix based on taskOutputSummary. If successful → commit, push, loop. If not → exit with failure.
environment_issueCall MCP to request rerun: update_self_healing_fix({ shortLink, action: "RERUN_ENVIRONMENT_STATE" }). New CI Attempt spawns automatically. Loop to poll for new CI Attempt.
no_fixCI failed, no fix available (self-healing disabled or not executable). Attempt local fix if possible. Otherwise exit with failure.
no_new_cipeExpected CI Attempt never spawned (CI workflow likely failed before Nx tasks). Report to user, attempt common fixes if configured, or exit with guidance.
polling_timeoutSubagent polling timeout reached. Exit with timeout.
cipe_canceledCI Attempt was canceled. Exit with canceled status.
cipe_timed_outCI Attempt timed out. Exit with timeout status.
cipe_no_tasksCI Attempt exists but failed with no task data (likely infrastructure issue). Retry once with empty commit. If retry fails, exit with failure and guidance.
errorIncrement no_progress_count. If >= 3 → exit with circuit breaker. Otherwise wait 60s and loop.

Fix Available Decision Logic

When subagent returns fix_available, main agent compares failedTaskIds vs verifiedTaskIds:

Step 1: Categorize Tasks

  1. Verified tasks = tasks in both failedTaskIds AND verifiedTaskIds
  2. Unverified tasks = tasks in failedTaskIds but NOT in verifiedTaskIds
  3. E2E tasks = unverified tasks where target contains "e2e" (task format: <project>:<target> or <project>:<target>:<config>)
  4. Verifiable tasks = unverified tasks that are NOT e2e

Step 2: Determine Path

ConditionPath
No unverified tasks (all verified)Apply via MCP
Unverified tasks exist, but ALL are e2eApply via MCP (treat as verified enough)
Verifiable tasks existLocal verification flow

Step 3a: Apply via MCP (fully/e2e-only verified)

  • Call update_self_healing_fix({ shortLink, action: "APPLY" })
  • Record last_cipe_url, spawn subagent in wait mode

Step 3b: Local Verification Flow

When verifiable (non-e2e) unverified tasks exist:

  1. Detect package manager:

    • pnpm-lock.yaml exists → pnpm nx
    • yarn.lock exists → yarn nx
    • Otherwise → npx nx
  2. Run verifiable tasks in parallel:

    • Spawn general subagents to run each task concurrently
    • Each subagent runs: <pm> nx run <taskId>
    • Collect pass/fail results from all subagents
  3. Evaluate results:

ResultAction
ALL verifiable tasks passApply via MCP
ANY verifiable task failsApply-locally + enhance flow
  1. Apply-locally + enhance flow:

    • Run nx-cloud apply-locally <shortLink>
    • Enhance the code to fix failing tasks
    • Run failing tasks again to verify fix
    • If still failing → increment local_verify_count, loop back to enhance
    • If passing → commit and push, record expected_commit_sha, spawn subagent in wait mode
  2. Track attempts (wraps step 4):

    • Increment local_verify_count after each enhance cycle

    • If local_verify_count >= local_verify_attempts (default: 3):

      • Get code

Content truncated.

When not to use it

  • Monitoring non-Nx Cloud CI pipelines

Prerequisites

Nx Cloud connectionnx.json configuration

Limitations

  • Requires Nx Cloud connectivity to function
  • Strictly prohibits using CI provider watch flags

How it compares

It integrates directly with Nx Cloud self-healing features, avoiding the race conditions and context pollution of manual polling scripts.

Compared to similar skills

monitor-ci side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
monitor-ci (this skill)15moReviewAdvanced
bazel-build-optimization142moNo flagsAdvanced
agent-workflow-automation46moReviewAdvanced
deployment-pipeline-design62moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry