Play a quest completion celebration animation. Use when the user invokes /celebrate, asks to celebrate a quest, or when a quest reaches the complete/archived state.
Play a rich, visually stunning celebration for a completed quest.
/celebrate or /celebrate <quest-id>If the user provides an argument:
/ or .), use it directlyname-resolution_2026-03-04__1954), look in:
.quest/<id>/ (active quest).quest/archive/<id>/ (archived quest)docs/quest-journal/ for a matching filename (journaled quest)name-resolution), find the best match in:
.quest/archive/docs/quest-journal/ (match by filename prefix)If no argument is provided:
.quest/archive/docs/quest-journal/ (by filename date)From a quest directory (.quest/ or .quest/archive/):
state.json — plan_iterations, fix_iterations, phase history, current_phasequest_brief.md — quest name, risk level, scope, acceptance criteriaphase_01_plan/handoff_arbiter.json — arbiter verdict and summaryphase_01_plan/handoff.json — planner summaryphase_01_plan/deferred_backlog_matches.json — prior deferred findings resurfaced for this quest, if presentphase_02_implementation/handoff.json — builder summary, files changedphase_03_review/handoff_code-reviewer-a.json — reviewer verdictphase_03_review/handoff_code-reviewer-b.json — reviewer verdictphase_03_review/handoff_fixer.json — fixer summary, what was fixed, test counts.quest/backlog/deferred_findings.jsonl — repo-level deferred findings backlog; filter entries where deferred_by_quest matches the current quest IDFrom a journal entry (docs/quest-journal/*.md):
celebration_data JSON block between <!-- celebration-data-start --> and <!-- celebration-data-end --> markersBefore rendering, explicitly decide whether the celebration should show the carry-over sections:
phase_01_plan/deferred_backlog_matches.json
Inherited Findings Used as count 0.quest/backlog/deferred_findings.jsonl
deferred_by_quest matches the current quest IDFindings Left For Future Quests as count 000, include one short empty-state section instead:
Carry-Over FindingsNo carry-over findings this round; nothing was inherited from earlier quests and nothing needs to be saved for the next one.IMPORTANT: Write the celebration directly as your response text. Do NOT run a script. Do NOT wrap the entire celebration in a code block. The UI renders agent markdown beautifully, but ASCII/block-letter title art must be wrapped in a fenced code block (triple backticks) so spacing is preserved without turning the whole celebration into a code block.
You have all the data from the artifacts. Now create your own celebration. Be creative. Make it feel like an achievement, not a status report.
Required sections (present them however you like):
plan-reviewer-a [Model] ........ The A Plan Criticplan-reviewer-b [Model] ........ The B Plan Criticcode-reviewer-a [Model] ........ The A Code Criticcode-reviewer-b [Model] ........ The B Code CriticCarry-over sections:
Inherited Findings Used
phase_01_plan/deferred_backlog_matches.jsonFindings Left For Future Quests
.quest/backlog/deferred_findings.jsonl entries where deferred_by_quest == current quest ID0, show the explicit empty-state Carry-Over Findings note above instead of these sectionsUse markdown richly:
# and ## headers (they render big and bold)**bold** for emphasis> blockquotes for the quote--- horizontal rules for visual separationASCII/block-letter title rules:
#, -, >, or any other markdown marker.Do NOT:
<pre> tags — they don't render reliably across terminals#Example of the kind of output that looks amazing (but don't copy this — create your own based on what you read):
██╗ ██╗███████╗██╗ ██╗ ██████╗
██║ ██║██╔════╝██║ ██║ ██╔═══██╗
███████║█████╗ ██║ ██║ ██║ ██║
██╔══██║██╔══╝ ██║ ██║ ██║ ██║
██║ ██║███████╗███████╗███████╗╚██████╔╝
╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ ╚═════╝
██╗ ██╗ ██████╗ ██████╗ ██╗ ██████╗
██║ ██║██╔═══██╗██╔══██╗██║ ██╔══██╗
██║ █╗ ██║██║ ██║██████╔╝██║ ██║ ██║
██║███╗██║██║ ██║██╔══██╗██║ ██║ ██║
╚███╔███╔╝╚██████╔╝██║ ██║███████╗██████╔╝
╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═════╝
Break the text across multiple lines — max ~5 letters per line. Each word gets its own block, like "HELLO" on one line and "WORLD" on the next. For longer words, hyphenate: "RESOL-" on one line and "UTION" on the next. This keeps it readable without horizontal overflow.
🎉 🎉 🎉 🎉 🙌 🎉 🎉 🎉 🎉
⭐️ Two-Gate Survivor — Plan survived dual review ⭐️ Arbiter's Blessing — Tie-break directive approved ⭐️ One-Shot Fixer — All blockers resolved in 1 pass ⭐️ 20/20 Vision — Perfect test coverage
📊 20 tools enhanced 🔒 Security model preserved 🧪 20/20 tests passing 📚 Docs updated (README + OPS) ⚡️ Medium-risk quest → Zero incidents
"All critical issues from the previous review cycle have been properly addressed."
— Code Reviewer A, final verdict
Victory Unlocked! 🎮
The tier must be candid. Smooth quests get celebrated. Rough quests get acknowledged with humor and respect — they still shipped.
| Tier | Icon | Grade | Meaning | Criteria |
|---|---|---|---|---|
| Diamond | 💎 | A+ | Flawless | Zero issues in first review, shipped clean |
| Platinum | 🏆 | A | Near-perfect | Minor issues, all fixed in one pass |
| Gold | 🥇 | B | Solid | Some issues, fixed cleanly |
| Silver | 🥈 | C | Workable | Multiple fix iterations but landed |
| Bronze | 🥉 | D | Rough | Got through, but bruised |
| Tin | 🥫 | D- | Dented | 3+ fix iterations, multiple plan revisions |
| Cardboard | 📦 | F (but passed) | Held together with tape | Barely survived, max iterations hit |
| Abandoned | 💀 | Incomplete | Never shipped | Quest was abandoned |
Tone shifts per tier:
Generate specific, context-aware content — not generic filler:
Achievements must be specific. Read the handoff summaries. If the arbiter broke a tie, that's "Two-Gate Survivor". If the fixer resolved all blockers in one pass, that's "One-Shot Fixer". If tests were 20/20, that's "20/20 Vision". If no unnecessary complexity was added, that's "KISS Champion". Never use generic achievements like "Quest Complete" or "Battle Tested".
Attach model attribution to achievements when possible. Prefer dynamic labels from artifacts, e.g. Gremlin Slayer (Codex) or Plan Perfectionist (KiMi K2.5).
Metrics must be domain-specific. Read the fixer handoff for file counts, test counts, and what was built. "20 tools enhanced" is good. "Files Changed: 22" is bad. "Security model preserved" is good. "Agents Involved: 0" is bad.
Quality tier must be named. Use the full honest scale above. If the quest struggled, say so — Tin and Cardboard are honest, not insults.
The quote must come from the quest. Pull a real line from the arbiter verdict, reviewer summary, or fixer handoff. Not "Shipping should feel like a celebration."
Emojis render beautifully in markdown. Use them generously: ⭐️ 🏆 🎯 💎 📊 🔧 🧪 🔒 📚 ⚡️ 🎊 🎉 🚀 🎮
/celebrate
/celebrate name-resolution_2026-03-04__1954
/celebrate .quest/archive/celebrate-v2_2026-03-05__0643
/celebrate docs/quest-journal/celebrate-v2_2026-03-05.md
/celebrate celebrate-v2