# Cistatus

> Check PR CI status - all checks, failures, test results, and artifacts Use when this capability is needed.

- Skill: `tomevault-io/cistatus` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/cistatus`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/cistatus/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/cistatus

---


# CI Status

Check the current CI status for a PR and create task items for any failures.

## Context-Safe Execution (MANDATORY)

**CI log output MUST go to files.** `gh pr checks` is small and OK inline.
`gh run view --log-failed` and artifact downloads MUST redirect:

```bash
export LOG_DIR="${LOG_DIR:-${WORKSPACE_DIR:-/tmp}/kagenti-ci}"
mkdir -p "$LOG_DIR"

# Small output OK inline:
gh pr checks <PR-number>

# Large output MUST redirect:
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 on the log file
```

## When to Use

- After pushing changes to a PR
- When asked "what's the CI status?"
- Before deciding whether to push more changes
- After CI completes to summarize results

## Workflow

### 1. Get PR Status

```bash
gh pr checks <PR-number>
```

### 2. Summarize Results

Present as a table:

| Check | Status | Details |
|-------|--------|---------|
| CodeQL | pass/fail | N alerts |
| Deploy & Test (Kind) | pass/fail | N passed, N failed |
| E2E HyperShift | pass/fail/pending | N passed, N failed |
| Build | pass | - |
| Linting | pass | - |

### 3. For Failures - Get Details

```bash
# Kind CI test results
gh run download <run-id> -n e2e-test-results -D /tmp/ci-results
grep -oE 'errors="[0-9]+" failures="[0-9]+" skipped="[0-9]+" tests="[0-9]+"' /tmp/ci-results/e2e-results.xml

# Failed test names
grep '<failure' /tmp/ci-results/e2e-results.xml

# HyperShift logs
gh run view <run-id> --log-failed | tail -30

# CodeQL alerts
gh api repos/<owner>/<repo>/check-runs/<check-id>/annotations --jq '.[] | {path, line: .start_line, message: .message[:100]}'
```

### 4. Create Tasks for Failures

For each distinct failure, create a task:

```
TaskCreate: "<worktree> | <PR> | <topic> | RCA | <failure description>"
```

## Task Tracking

On invocation:
1. TaskList - check for existing CI-related tasks
2. TaskCreate for each new failure found
3. Link to plan doc if failures relate to planned work
4. Metadata: `plan: "ad-hoc"`, `runner: "main-session"`

## Troubleshooting

### CI check not appearing
- Push may not have triggered the workflow
- Check workflow trigger conditions in `.github/workflows/`
- HyperShift E2E requires manual `/test` comment

### Stale results
- CI runs on the commit at push time, not current HEAD
- Check `headSha` matches expected commit

## Related Skills

- `ci:monitoring` - Wait for and monitor running CI jobs
- `rca:ci` - Root cause analysis of CI failures
- `tdd:ci` - TDD iteration using CI as test environment

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/kagenti) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

