agni-kai
Zuko's Agni Kai for bakeoffs. The formal firebending duel, where competing implementations fight under the same rules and a judge…
Iroh's Pai Sho, testing a strategy against a real opponent before trusting it. Use for eval, /eval, "test this skill change", "does this prompt change behavior", "A/B this skill", "will agents actually follow this", or before promoting any skill, structure, or prompt change that
$ npx -y skills add tmcfarlane/team-avatar --skill pai-sho --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pai-shoContext preview
The summary Claude sees to decide when to auto-load this skill.
Iroh's Pai Sho, testing a strategy against a real opponent before trusting it. Use for eval, /eval, "test this skill change", "does this prompt change behavior", "A/B this skill", "will agents actually follow this", or before promoting any skill, structure, or prompt change that
name: pai-sho description: Iroh's Pai Sho, testing a strategy against a real opponent before trusting it. Use for eval, /eval, "test this skill change", "does this prompt change behavior", "A/B this skill", "will agents actually follow this", or before promoting any skill, structure, or prompt change that is meant to change what an agent does. Runs blinded candidates on several models, one blinded judge, and checks the real transcripts.
Iroh never trusted a strategy he had only imagined. He played it across the board against a real opponent, watched what actually happened, and only then believed it. A skill change is a strategy. Before you promote it, play it against agents that do not know they are being watched. You own the experiment design. Plan, blind, run, and synthesize.
On Codex, read [avatar-mode/references/codex.md](../avatar-mode/references/codex.md) for tool equivalents.
Run this from the top-level session. A dispatched character cannot dispatch candidates. If you are one, stop and report that the eval needs the top-level session.
These rules are non-negotiable. A leak makes the result worthless.
1. **Frame.** State the variant under test and the behavior that counts as success. Write the rubric, three to six concrete criteria, for the judge only. Hold it back from candidates. 2. **Set up sanitized environments.** Give each candidate its own working directory with the variant in place. Plant the context an organic task would have, such as a project skeleton and the skills a candidate would naturally read. For a two-variant comparison, build one set of directories per variant from the same skeleton. 3. **Write one organic prompt.** Write what a user would type. Leak nothing about what is measured. 4. **Spawn the candidates in parallel.** Use one Agent call per candidate, all in one message, with `run_in_background: true`. Run them on different models from the `panel` line of the avatar-setup sheet. Dispatch each as the character whose discipline fits the organic task, with `subagent_type: "team-avatar:<character>"` and the model passed explicitly. Never dispatch Toph for a task that edits files. Each candidate works in its own sanitized directory with the same prompt. Pick each reasoning effort for the job with the Agent tool's `effort` parameter. If a candidate produces nothing, continue with the rest and note the dropout. 5. **Spawn one blinded judge.** Wait until every candidate has finished. Pick a model from the `panel` line that did not run as a candidate, preferring a different model family from the candidates. If every panel model ran as a candidate, use the `strongest` line and say that judge independence was reduced. Dispatch the judge as Toph, who is read-only. The judge sees the rubric and the outputs by sanitized label, scores each criterion for each output, and names the strongest output with its reasons. It runs while you do steps 6 and 7. 6. **Verify the chain from transcripts, not self-report.** Read each candidate's local transcript. On Claude Code, it lives in the per-project transcripts directory, `~/.claude/projects/<encoded-cwd>/`, where `<encoded-cwd>` is this session's working directory with its path separators turned into `-` (for example `-Users-me-repo`). On Codex, read the session's rollout files under `${CODEX_HOME:-~/.codex}/sessions/`. Never glob across every project. That crosses workspace boundaries and reads private chats from unrelated projects. Note which files each candidate actually opened. Grade chain-following from the files it really read and the shape of its work, never from its own claims. 7. **Read every output yourself, end to end.** Score each against the rubric, criterion by criterion. Then compare with the judge's verdict. Agreement is strong signal. Disagreement means a model is biased or the rubric is ambiguous. Read both rationales and decide which. If the candidates diverge wildly, the frame or the prompt was underspecified. Fix it and run again rather than averaging the noise. 8. **Explain the number before you trust it.** A score is a measurement. Before you call the variant better, rule out that it measured something else, such as a leak in the prompt, a planted file that gave the answer away, or one candidate failing for an unrelated reason (Explain the Number, Earth in `four-elements`).
The variant under test, the rubric, notes for each candidate (model, what it read, what it produced, any dropout), the judge's verdict, your own synthesis and where it differs from the judge, and a recommendation on whether to promote the variant. Write it through `tea-time`.
Team Avatar: a universal agent orchestrator for Claude Code, Codex, and Cursor. Nine Avatar characters, 58 engineering skills. pstack with Avatar characters on top.
Zuko's Agni Kai for bakeoffs. The formal firebending duel, where competing implementations fight under the same rules and a judge…
Aang showing a new friend around the team. Explains Team Avatar to a user, the roster and who owns what, how to invoke a skill on…
Aang's operating mode for Team Avatar, principal-level engineering where each task goes to the character who owns that…
Aang choosing which bender takes which fight. Configures which model each Team Avatar character runs on, the default reasoning…
Sokka's battle map, the decision trail he keeps so anyone can see how the campaign was won. Use for show-me-your-work,…
Appa's morning departure for picking up paused or handed-off work. The team breaks camp, reads the map they left, and flies on…