# Facilitator Guide: "Build a Learning Game" (30-minute add-on)

**Format:** build-with-me segment after the main workshop
**The arc:** they build an AI skill first, then use it to build their own game.
That order matters. The skill is the transferable takeaway; the dragon is the
reward.
**Materials:** PARTICIPANT_HANDOUT.md (share the file digitally, everything they
paste comes from it), the goal_slide.png for your deck, live demo at
https://skyvale-dragon-demo.vercel.app

## Pre-flight checklist (do this before the session)

- [ ] Verify the live demo loads on venue wifi (hard-refresh it)
- [ ] Share PARTICIPANT_HANDOUT.md as a digital file (drive link, chat, email),
      never as a printout or PDF export. The Part 1 box only survives an exact
      copy-paste from the original file
- [ ] Tell the room up front: Claude will ask permission to download files and
      write folders. Yes is the answer
- [ ] Dry-run the ENTIRE handout yourself that morning in a clean folder:
      paste the Part 1 skill-builder prompt, restart, confirm "make me a quiz
      game" triggers the skill, then run Part 3 with test questions
- [ ] Put a backup on a USB stick or shared drive: the four repo files
      (assets/index.html, assets/three.min.js, assets/config.sample.json,
      references/customization.md) AND a pre-built game folder for worst case
- [ ] Participants need Claude Code (logged in), internet, and an empty folder.
      Node.js is only needed for the npx fallback install, so don't make it a
      requirement, just a nice-to-have

## The 30 minutes

| Time | Beat | What you do |
|------|------|-------------|
| 0-3 | **Hook: play it** | Play the live demo on screen. Fly a gate, miss one on purpose to show the retry and feedback, tap F, land. Land the line: "This is a quiz. Nobody in this room will call it one." |
| 3-6 | **The framework** | Show the /goal slide. Credit Sabrina, the structure is hers. Same five slots that built the original dragon game now build a learning game. Their voice goes in the WHY slot. |
| 6-10 | **Write your 4 questions** | Heads-down with the Part 2 worksheet. 3 gates (2 to 4 answers), 1 fire (exactly 3), answers under 6 words, one-line "why" each. Coach the fire question: highest-stakes content, something satisfying to burn. |
| 10-17 | **Build the skill** | Everyone pastes the big Part 1 box. While Claude works (2 to 3 min), do your best teaching of the day: walk through the skill text on screen. It's not code, it's judgment written down. Then everyone restarts (`/exit`, then `claude` again; `/clear` is not enough) and types "make me a quiz game" to watch their own skill wake up. That moment is the workshop. |
| 17-27 | **Build the game** | They paste Part 3 with their questions, Claude builds, they playtest against the Part 4 checklist. First 630 in the room gets bragging rights. Circulate and triage with the "If something goes sideways" table. |
| 27-30 | **Wrap** | The reveal: they wrote zero code. They wrote a brief and four good questions, and they built a reusable skill that now lives on their machine. "What's the thing YOU do twice that should be a skill?" Part 5 (shipping to a public link) is their homework. |

Running comfortable at 40 minutes instead? Give questions 6 minutes, the skill
build 10, and do Part 5 live with whoever wants a public link on screen.

## If someone gets stuck

| Symptom | Save |
|---------|------|
| "Unknown command /goal" on paste | The literal first line got read as a slash command. Delete that line, paste again. Announce the fix to the room the first time it happens, it will happen more than once |
| Skill built but doesn't trigger | They didn't restart Claude Code. Skills are discovered at session start |
| Asset download fails mid-build (locked-down laptop, wifi hiccup) | Hand them the four files from your USB backup and tell Claude "the downloads failed, here are the files, finish building the skill." Or the one-command fallback: `npx skills add Rweiss1014/skyvale-quiz-flight` (needs Node.js) |
| Claude tries to rebuild the game instead of copying it | Their paste lost the CONSTRAINTS block. Re-paste Part 3 verbatim; "engine as-is, config only" is the fence |
| Sample questions show instead of theirs | The number-one known failure, and the skill's own verify step is built to catch it. Have them tell Claude: "the game shows the sample question instead of mine, fix the config loading." Then hard-refresh |
| Game won't load from double-clicking index.html | Normal, it needs a local server. "Ask Claude to serve it and give you the address" |
| Answers truncated on the in-game signs | Over 6 words. Claude will shorten them on request |
| Room-wide wifi meltdown | The pre-built backup game runs fully offline once the files are local. Skill-building becomes a demo on your screen instead of hands-on, and the game part still works for everyone |

## Timing truths

The schedule only works if questions are written BEFORE the skill build starts,
so hold the line on the 6-10 beat. If you're running long, Part 5 is always the
cut. Never cut the playtest. The playtest is the payoff.

## Talking points bank

- "The framework is Sabrina's. The questions are yours. The engine took me four
  failed attempts at one fire-breathing mechanic, which is exactly why the skill
  tells Claude to copy it, never rebuild it."
- On the skill text, while it builds: point at the line "a broken config fails
  silently." That's a real bug that cost real time, written down once so nobody
  in this room ever hits it. That's what a skill IS.
- Scoring, when asked: 100 points per first-try answer with a streak multiplier
  up to 1.5x, 150 for fire, 100 for landing, 630 perfect, 300 passes. Retries
  earn half points, so a miss doesn't end the run. Retries are learning, not
  punishment.
- For the skeptic: the game reports MORE assessment data than a slide quiz, not
  less. Score, pass/fail, first-try rate, and how long learners hesitated
  before each answer, straight into the LMS.
