name: tigris-panel description: Run a TIGRIS Parliament review — the three-phase adversarial procedure (Stakes / Argument / Amendment) that produces a review-as-game-record for a board game or a TIGRIS-internal artifact. Invoked after a game's DESIGN is complete or a spec is ready for scrutiny. Outputs: tierA-stakes.md, playtests/PT*-argument.md, panel/SUMMARY.md, amendments.md.
tigris-panel — Parliament procedure
60-second quickstart
You: "Run tigris-panel on games/0001-parliament/"
Claude: [reads design.md, axis-pool.md, personas/, forbidden-words.md]
[dispatches 7 designer personas to DRAFT 3 axes each in snake order]
[writes games/0001-parliament/tierA-stakes.md]
[reports: "21 stakes drafted, GATE passed — 3 collision candidates identified"]
[runs ARGUMENT phase: narrated playthrough with attacks/defends/collisions]
[writes games/0001-parliament/playtests/PT01-argument.md]
[runs AMENDMENT phase deterministically]
[writes games/0001-parliament/amendments.md + updates axis-pool.md]
[writes panel/SUMMARY.md]
[reports: "review complete — 5 earned, 2 refuted, 1 collision, 1 axis adopted"]
First invocation of the session, Claude should also announce "using tigris-panel to run the Parliament review on
What this skill does
Executes the three-phase Parliament procedure defined in docs/specs/2026-04-19-tigris-v2.0-design.md §8.3–8.6. Produces an argument-record, not a consensus document.
Two modes:
- game-review — artifact is under
games/NNNN-<slug>/; full roster (7 designers + optional 5 lenses); output undergames/<slug>/. - spec-review — artifact is under
docs/specs/orpersonas/or.claude/skills/; designers only (lenses don't parliament on processes); output underdocs/specs/reviews/<artifact-slug>/with the same Parliament shape.
Preconditions
- Artifact exists and has YAML frontmatter with
slug,stage,version,rubric_version: v2.0. - All 7 designer personas exist at
personas/designers/*.mdwithpreferred_axesfield populated. personas/axis-pool.mdexists and has 24 live-or-adopted axes.personas/forbidden-words.mdexists (vocabulary discipline enforced at write-time).- For originals: CONCEPT has declared
anchor_personaandanchor_axis. For reviews: CONCEPT may declare these or skip (anchor-cell may be left null in spec-review mode).
Procedure
Step 1 — Load context
- Read the artifact.
- Read
personas/axis-pool.md(current live axes, adopted list, retired list). - Read
personas/playtest-rubric.md(the Parliament-shape rubric v2.0). - Read
personas/forbidden-words.md. - Read
docs/specs/2026-04-19-tigris-v2.0-design.md§8 for procedure details. - Determine mode (game-review vs spec-review) from artifact path.
- Create output directory.
Step 2 — TIER-A: STAKES (draft phase)
- Determine seating: 7 designer personas (spec-review) or 7 designers + optional 5 lenses (game-review).
- Establish draft order:
- Round 1: user-specified order, usually "anchor persona last" (forces them onto shared ground).
- Round 2: reverse of round 1.
- Round 3: same as round 1.
- For each draft slot, dispatch a mini-task:
- Persona reads their preferred_axes list.
- Persona reads the Pool's current state (live / adopted / retired).
- Persona picks one axis not already drafted this game.
- A persona may pick a retired axis at cost of 2 draft-slots (skip their next draft).
- Record draft in
tierA-stakes.md.
- After drafts complete, each persona stakes their 3 axes:
- For each target player count of the design, assign score 0–10 with a rule-grounded one-sentence justification.
- Record in persona's section of
tierA-stakes.md.
- Publish
tierA-stakes.md.
Step 3 — GATE check
Verify all three GATE conditions from personas/playtest-rubric.md:
- Anchor stake viable? (If declared; otherwise mark N/A for spec-reviews.)
- Draft coverage ≥ 3 bands of the 4 (A/B/C/D)?
- ≥ 1 collision candidate identifiable?
If pass: proceed to Step 4. If fail: return to user with specific failure mode and a re-draft proposal.
Step 4 — TIER-B: ARGUMENT (narrated playthrough)
- For games: seeded-RNG narrated playthrough covering 2p / 3p / 4p serially. For specs: walk the spec section-by-section with personas commenting.
- At each pre-declared moment (start, turn 1 / §1, turn 5 / §5, mid, late, end):
- Each persona reviews their stake(s) applicable at this moment.
- Each persona may declare: hold, attack
, defend, or collide-with . - Attacks require cited evidence; defenses require cited evidence; collisions require adjacency argument.
- FORCED-ENGAGEMENT (v2.1) — inserted between the penultimate and final moment-anchor. For each drafted stake with 0 marks at this point, the owning persona must declare one of: HOLD-EXPLICIT (cost 1 token), RETIRE-EXPLICIT (refund 1 token, +0.5 refute mark), or LAST-CALL-STAKE (double tokens on final round). Stakes still at 0-marks after this phase become
silent-retireat endgame (−3 points, +1 toward retirement, persona-retirement flag at 3+ in a game). - Record every action in
playtests/PT<NN>-argument.mdwith moment-anchors (turn numbers or section numbers). - At game end, classify each stake: earned / contested / refuted / hold-explicit / retire-explicit / silent-retire. The
ignoredstate is no longer terminal in v2.1.
Step 5 — TIER-C: AMENDMENT (deterministic pass)
- Read
personas/axis-pool.mdRubric Ledger. - For each stake in this game, update ledger row:
- +1 to earned / contested / refuted / ignored count on that axis.
- Check adoption triggers (≥ 2 earned across ≥ 2 games):
- Mark axis
adopted. - Bump rubric version in
personas/playtest-rubric.md(v2.0 → v2.1).
- Mark axis
- Check retirement triggers (≥ 2 refuted across ≥ 2 games):
- Mark axis
retired.
- Mark axis
- Write
games/<slug>/amendments.mdwith the full change record. - Log new innovations to
personas/playtest-innovations.md(includetrigger_patternfield).
Step 6 — Synthesize SUMMARY.md
Write panel/SUMMARY.md with:
---
name: Parliament Summary — <artifact>
slug: SUMMARY
stage: panel
version: 1.0.0
rubric_version: v2.0
bet_version: parliament
artifact_under_review: <path>
personas_seated: [list]
total_stakes: <N>
earned: <N> / refuted: <N> / contested: <N> / ignored: <N>
collisions: <N>
axes_adopted: [list]
axes_retired: [list]
created: <today>
---
Body structure (lean — this is an argument record, not an essay):
- Headline — one sentence naming the argument's shape.
- Earned stakes — table: persona, axis, count, score, defending moment.
- Refuted stakes — table: persona, axis, count, score, refuting moment.
- Collisions — each collision with both personas, both axes, resolving moment.
- Ignored stakes — flagged as silent failures with persona names (persona-retirement candidates if repeated).
- Amendment outcome — axes adopted, axes retired, rubric version change.
- Success criteria check — did the review meet
playtest-rubric.md's 4 success criteria?
Step 7 — Update TRACKER.md
Append a row:
| Artifact | Status | Stage | Rubric ver | Update | Earned / Refuted / Collisions | Notes |
|---|---|---|---|---|---|---|
| parliament-complete | TIER-C | v2.x | N/N/N |
Step 8 — Hand off
Report to user:
- Paths to all output artifacts.
- Success criteria check result.
- Total earned / refuted / ignored / collision counts.
- Axes adopted or retired.
- Next step: HANDOFF (if game) or spec amendment integration (if spec-review).
Invariants
- Stakes are never averaged. Aggregate scores are banned.
- Every attack, defense, and collision cites a specific moment (turn number, section number) and a specific rule or mechanic.
- Ignored stakes are reported, not hidden. They are as meaningful as earned stakes.
- Axis adoption and retirement are deterministic from the ledger — no user approval for the default path.
- Reviews are immutable once written. A revision creates a new version directory.
- Forbidden-words compliance is enforced at stake-write time, not post-hoc.
Mode differences
| game-review | spec-review | |
|---|---|---|
| Designer personas | 7 | 7 |
| Player lenses | 5 (optional) | 0 |
| Per-count scoring | 2p/3p/4p | N/A (single aggregate at moment-anchors) |
| Anchor stake declared | required (from CONCEPT) | optional |
| Output path | games/<slug>/ |
docs/specs/reviews/<slug>/ |
| Feeds into | HANDOFF → next game | rubric amendment / spec v+1 |
Example invocation
"Run tigris-panel on games/0001-parliament/"
Expected output:
games/0001-parliament/
├── tierA-stakes.md # 21 stakes, 3 per persona
├── playtests/
│ └── PT01-argument.md # argument record with moment-anchors
├── amendments.md # what this game adopted/retired
├── panel/
│ └── SUMMARY.md # lean argument record
└── handoff.md # (written by a later HANDOFF step)
Plus updates to:
personas/axis-pool.md— ledger updatedpersonas/playtest-rubric.md— version bumped if adoptionpersonas/playtest-innovations.md— new innovations appendedTRACKER.md— new row
What this skill does NOT do
- Invoke HANDOFF — that's a separate step.
- Re-score prior games on amendment — forward-only versioning means prior scores are locked.
- Approve or reject the artifact — the output is evidence; user decides.
- Generate physical components or renderings — Parliament's design doc is markdown-only for v2.0.