| name | triage-integration-test-failures |
| description | Use when a CI integration, unbounded, or container test job fails intermittently, passes on a rerun, fails identically across every matrix variant, or shows an infra-shaped error (connection timeout, account lock, native crash, docker daemon not ready) rather than a clear assertion diff -- the cause may be environmental, tooling, or a real product defect exposed only sometimes. Classify the failure before proposing any fix. |
Triage integration test failures
Overview
A failure investigation ends with one of five remedies, not a patch guessed
under time pressure. Classify the failure first. The category decides the
remedy; the wrong category produces a fix that treats a symptom.
REQUIRED BACKGROUND: superpowers:systematic-debugging governs root-cause
work in general. This skill adds the classification step and the toolkit
specific to this repo's CI, agent, and test infrastructure.
Hard rule: delegate the reading
A CI job log, an az monitor/kubectl dump, and an agent log are evidence,
not the deliverable. None of them belongs in the main session.
- Run every command in the toolkit below inside a subagent (Agent tool --
general-purpose or Explore), not in the main session. Give the subagent
the exact command and the exact question ("did this job fail on a
connection error before any agent code ran, or on an assertion diff?");
it returns a short verdict with the one or two evidence lines that prove
it, never the raw log or the full command output.
- This applies even to a "quick look" -- a CI log or agent log runs to
hundreds of KB or has single lines tens of KB wide, and once that text
lands in the main session it is re-billed on every later turn for the
rest of the investigation.
- For agent-log evidence specifically, dispatch a subagent that follows the
analyze-dotnet-agent-logs skill; do not hand-parse the log yourself
even inside that subagent.
- The main session's job is Steps 2-4: collect verdicts, classify, decide,
and record the decision. It holds conclusions, not evidence bytes.