agni-kai
Zuko's Agni Kai for bakeoffs. The formal firebending duel, where competing implementations fight under the same rules and a judge…
Toph's lie detector for multi-model adversarial review. She feels a heartbeat through the ground and knows when someone is lying, so a change that only claims to work does not fool her. Use for interrogate, /interrogate, adversarial review, multi-model review, "challenge this",
$ npx -y skills add tmcfarlane/team-avatar --skill lie-detector --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/lie-detectorContext preview
The summary Claude sees to decide when to auto-load this skill.
Toph's lie detector for multi-model adversarial review. She feels a heartbeat through the ground and knows when someone is lying, so a change that only claims to work does not fool her. Use for interrogate, /interrogate, adversarial review, multi-model review, "challenge this",
name: lie-detector description: Toph's lie detector for multi-model adversarial review. She feels a heartbeat through the ground and knows when someone is lying, so a change that only claims to work does not fool her. Use for interrogate, /interrogate, adversarial review, multi-model review, "challenge this", "stress test this code", "find blind spots", "tear this apart", or a contested design before it ships. Several reviewers on different models challenge the change independently, and the lead sorts their findings into act on, consider, noted, and dismissed. Never applies changes.
Toph does not need to see a face to catch a lie. She feels the heartbeat jump through the ground. Code lies the same way. It claims to handle the empty case, the retry, the bad input, and the claim does not hold when you push on it. Put several reviewers on the change, each on a different model, and listen for where their heartbeats agree.
On Codex, read [avatar-mode/references/codex.md](../avatar-mode/references/codex.md) for tool equivalents.
The adversarial signal comes from model diversity, not from assigned personas. The deliverable is a synthesized verdict. Do not apply changes.
The top-level session running `avatar-mode` runs this skill. It dispatches one reviewer per entry on the `panel` line of the avatar-setup sheet (`${CLAUDE_CONFIG_DIR:-~/.claude}/team-avatar-models.md` on Claude Code, `${CODEX_HOME:-~/.codex}/team-avatar-models.md` on Codex), then acts as the lead.
When Toph runs this skill herself as a subagent, she cannot dispatch. She runs the reviewer prompt herself once, labels the result as one sequential pass with no model diversity, and still applies the lead judgment. Say in the reply that diversity was lost.
Find what to review from context.
Package the diff or the file contents with any surrounding files a reviewer needs to understand the code.
Before dispatching, state the intent in one clear paragraph. Draw it from the user's message, the commit messages, the PR description, and the code. If you are unsure of the intent, ask the user before you go on.
Dispatch every reviewer in one message, one per entry on the `panel` line, labeled Reviewer A, B, and so on to match the entry count. With no sheet or no `panel` line, use these defaults.
| Reviewer | Default model | |----------|---------------| | Reviewer A | `opus` | | Reviewer B | `fable` | | Reviewer C | `sonnet` | | Reviewer D | `haiku` |
Each reviewer is `subagent_type: "team-avatar:toph"`, so it stays read-only, with `run_in_background: true` and `model` set to its entry. Omit `model` for an `inherit` entry, so that reviewer runs on the parent model. An entry that carries an effort, as in `opus @high`, passes that level as the Agent tool's `effort` parameter.
If the Agent tool rejects an entry, run that reviewer on its family's default from the table and say so. Families go by model name, such as Opus, Fable, Sonnet, or Haiku. With no family match, use Reviewer A's default. If it rejects a table default, use the closest valid model from its error message, preferring the same family and tier, and name the substitution in the report. Do not block the review on a model name. Never treat an `inherit` entry as rejected.
Build every reviewer's prompt from [references/reviewer-prompt.md](references/reviewer-prompt.md). Fill the same template for each with the stated intent, the diff or file contents, the rubric from [references/rubric.md](references/rubric.md), and the code quality lens from [references/code-quality-lens.md](references/code-quality-lens.md). Pick each reviewer's effort for the job. Raise it one step for subtle concurrency or security code.
As results come back, build one picture. Parse every reviewer's findings. Merge findings that describe the same issue in different words, and note which models raised each one. A finding that two or more models raised independently is the strongest signal. Read a lone model's finding and weight it accordingly. Note disagreements. When one model flags something and another says the opposite, that is context for the verdict.
You are the lead reviewer, a pragmatic senior engineer, not a neutral aggregator. Read [references/lead-judgment.md](references/lead-judgment.md) for the full framework. Put every finding in one of four buckets, with the models that raised it and a one-line reason.
Before a finding lands in Act on, verify it yourself. Trace the call path or run it. A finding you cannot make concrete moves down a bucket.
### Intent > [The intent paragraph from step 2] ### Reviewers - Reviewer [label]: [model], [N findings] ### Act on [Each: the issue, which models raised it, why it matters.] ### Consider [Each: the issue, which models raised it, the tradeoff.] ### Noted [A brief list.] ### Dismissed [Each with a brief reason.] ### Agreement map [Where the models agreed and where they split, and what that pattern says.]
Write the prose per `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…