architect-explain-test-runs

Installation
SKILL.md

Explain why a test run passed or failed

The user wants for a test run what they already get for a conversation: which procedures fired, which tools were called, and what actually happened turn by turn. Read the test invocation, find the divergence, and answer with it.

Host https://api.elevenlabs.io, header xi-api-key: $API_KEY. The engineer supplies $API_KEY and $AGENT_ID.

Order of investigation

  1. List recent runs. Fetch recent suite invocations, optionally filtered by agent, to find the invocation in question and to compare runs across time. To surface "frequent offenders", compare recent invocations and identify which specific tests fail repeatedly; those need fixing most.
  2. Read the invocation. GET /v1/convai/test-invocations/{suite_id} returns test_runs[], each with status, condition_result.result, and condition_result.rationale. The rationale per run is often specific enough on its own. For most "why did X fail" questions this is enough; stop here if the rationale already names the divergence.
  3. Read the full transcript only when the rationale is too vague. The invocation also carries the turn-by-turn transcript per run: messages, tool calls (including the procedure-start calls, so you can see which procedures fired), and tool errors. This is what answers "why did it fail" or "which procedures ran in each pass and fail run". On a suite with many tests and a repeat_count above 1, this payload can be large enough to overflow context. Check the test and run count first; if it covers more than a handful of tests or repeats, do not dump the full detail. Instead tell the user the suite is too large and offer to (a) look at just the failing test's rationale, or (b) point them to the Tests tab in the UI.
  4. Read the test definition for the criteria, scenario, and mocking config when you need to see exactly what was asserted.
  5. For a repeat set, compare a passing run against a failing run of the same test. The divergence is the answer: if the runs called different procedures, that is a routing problem; if they called the same procedures and tools, that is an eval or non-determinism problem.

Answer with the divergence, not the criterion

"It failed because it did not meet criterion X" restates what the user can already see and answers nothing. Instead:

Installs
1
GitHub Stars
4
First Seen
Sep 27, 2026