원클릭으로
ci-triage
Decision tree for a red CI run. Use BEFORE retrying — blind re-runs burn the shared GitHub rate limit and hide real bugs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Decision tree for a red CI run. Use BEFORE retrying — blind re-runs burn the shared GitHub rate limit and hide real bugs.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | ci-triage |
| description | Decision tree for a red CI run. Use BEFORE retrying — blind re-runs burn the shared GitHub rate limit and hide real bugs. |
Use this skill whenever a PR's CI goes red.
Never dump a full failed-run log into context (10-50KB+). Use the
wrapper's key-line extraction (github.ci.failed_log_signal_patterns,
capped by failed_log_max_lines). Pull the raw log only when a human
explicitly asks.
| Symptom | Class | Action |
|---|---|---|
psycopg2 ... Connection refused / port 5432 / "Apply migrations" | runner infra (postgres OOM/contention) | Do NOT loop-retry. Escalate / wait off-peak / evidence-based admin override. |
| kube-apiserver readiness 500 / kube-proxy CrashLoop / node not-ready | runner infra (kind cluster) | Same. |
test_openapi_route_coverage_matrix... AssertionError: N == M | matrix drift | git merge origin/<default> into branch (brings updated matrix). Proven fix. |
Type error / tsc / Would reformat / ruff | real code | Fix precisely. Don't retry. |
| compose/kind smoke ✅ but lint-and-unit ❌ on an FE-only PR | code clean → infra | Treat the red as infra; pursue the infra path. |
If a monitor/PM script or another agent is already auto-rerunning, do
NOT also push an empty commit or gh run rerun. Coordinate so exactly
one owner pulls the trigger. Empty-commit retrigger re-runs ALL checks
→ waste + runner contention.
≥3 failures of the same check across reruns is NOT a transient flake. Pull the real log, name the root cause, escalate (SRE / off-peak retry / evidence-based admin override) instead of an infinite loop.
When you i18n a user-facing string (raw → t('...')), grep
contract/snapshot tests for the raw string before merging — they may
assert on it and turn main red after merge.
Follow this before any commit, PR, or merge. Covers commit identity, branch hygiene, and merge mechanics so agents stop re-deriving the flow and wasting tokens.
Use agent-tools GitHub wrappers for frequent GitHub operations before generating direct gh commands.