Concept prototype before GDDs — throwaway HTML, Engine or Paper build, PROCEED/PIVOT/KILL/NOT ASSESSED.

MITAuto-check: notesGame Development

Install Prototype

skills CLI
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill prototype -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Donchitos/Claude-Code-Game-Studios prototype --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/prototype .claude/skills/prototype && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
prototype
GitHub stars
26k
Token cost
~8.1k tokens
SKILL.md length
4,575 words
Files
1
Skills in repo
73
Repo updated
First seen
Licence
MIT

At a glance

Concept prototype before GDDs — throwaway HTML, Engine or Paper build, PROCEED/PIVOT/KILL/NOT ASSESSED.

  • Works in 9 steps: Define the Question → Load Concept Context → Choose the Prototype Path → …
  • Tasks that involve Game design
  • SKILL.md covers Purpose, Phase 1: Define the Question, Phase 2: Load Concept Context and Phase 3: Choose the Prototype…, plus 7 more sections
  • Calls bash

What it does

Prototype is an agent skill from Donchitos/Claude-Code-Game-Studios. Concept prototype before GDDs — throwaway HTML, Engine or Paper build, PROCEED/PIVOT/KILL/NOT ASSESSED. After /brainstorm and /setup-engine.

Its SKILL.md is about 8.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development, covering Game design and Brainstorming. The repository describes itself as: Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy. The licence is MIT.

When your agent uses it

  • Tasks that involve Game design
  • Tasks that involve Brainstorming

Example prompts

  • “/prototype”

Requirements

  • Pre-approved tools (allowed-tools): Read, Glob, Grep, Write, Edit, Bash, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/prototype/../../hooks/yaml-helper.sh" resolve_config *)

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. Define the Question
  2. Load Concept Context
  3. Choose the Prototype Path
  4. Plan the Prototype
  5. Implement
  6. Playtest Debrief
  7. Generate Prototype Report
  8. Creative Director Review
  9. Summary and Next Steps

What it can do on your machine

Read from SKILL.md and the folder at commit b21fa0f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Glob
    • Grep
    • Write
    • Edit
    • Bash
    • Agent
    • AskUserQuestion
    • Bash(bash "*/.claude/skills/prototype/../../hooks/yaml-helper.sh" resolve_config *)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Prototype loads about 8.1k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 4,575 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~8.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Glob, Grep, Write, Edit, Bash, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/prototype/.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Donchitos/Claude-Code-Game-Studios at commit b21fa0f, republished under its MIT licence (© Donchitos). 4,575 words, ~8,138 tokens.

Download SKILL.mdSave it as .claude/skills/prototype/SKILL.md (or your agent's skills folder).
name
prototype
description
Concept prototype before GDDs — throwaway HTML, Engine or Paper build, PROCEED/PIVOT/KILL/NOT ASSESSED. After /brainstorm and /setup-engine.
allowed-tools
Read, Glob, Grep, Write, Edit, Bash, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/prototype/../../hooks/yaml-helper.sh" resolve_config *)
argument-hint
[concept-description] [--path html|engine|paper] [--review full|lean|solo] [--spike]
user-invocable
true
model
sonnet

!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys review_mode,automation,workflow

Resolved above — use as-is; --review overrides review_mode for this run. No block → defaults in .claude/docs/config-resolution.md.

Purpose

This is the concept prototype — a fast, throwaway build that answers one question: "Is this core idea actually fun to interact with?"

Default use — run right after /brainstorm and /setup-engine, before writing GDDs or architecture docs. Its verdict determines whether the concept is worth the investment of full design documentation.

Mid-production? You can also run this at any stage to test a specific mechanic, design change, or technical question. Pass --spike to activate spike mode: a lightweight ~4-hour build with no GDD prerequisites and no phase gate implications.

Already have GDDs and architecture complete? To validate the full game loop before committing to Production, run /vertical-slice instead.


Phase 1: Define the Question

Every AskUserQuestion call follows .claude/docs/automation-modes.md (collaborative asks always · guided major-only · autonomous logs and proceeds; automation_always_ask categories always prompt).

Check for spike mode: If --spike was passed, skip to the Spike Mode section at the bottom of this skill.

Check for a carry-forward note: Glob prototypes/*/PIVOT-NOTE.md. If one exists for this concept (or an earlier version of it), read it and start from its revised hypothesis instead of forming one from scratch — say which note you used.

Then, unless --spike sent you to Spike Mode, use AskUserQuestion to confirm intent before proceeding — with or without a carry-forward note:

  • Prompt: "How would you like to use this prototype session?"
  • Options:
    • Prototype this concept — build a throwaway build to validate the core idea is fun before writing GDDs (1–3 days)
    • Skip — concept already proven — I have enough evidence this works; log it and proceed directly to design
    • Mid-production spike — I'm already in Production and want to test a specific mechanic or technical question quickly (~4 hours, no phase gate implications)

If "Skip — concept already proven": Ask (plain text, not a widget): "What evidence do you have that the concept works?" Record the one-line answer, then stop. Note: "Concept prototype skipped — evidence: [answer]." Suggest next step: /map-systems or /design-system [mechanic].

If "Mid-production spike": skip to the Spike Mode section below.

If "Prototype this concept": continue with Phase 1 below.


A note on prototype strategy: The research on successful indie development is consistent — building 2-3 concept variants and letting the best one win is far more likely to succeed than iterating one concept until it works. This is your first prototype, not necessarily your only one. If this prototype produces a PIVOT verdict, consider whether to refine this concept OR start fresh with a different angle on the same game idea and prototype that instead.

Game jam as a prototype vehicle: If you're planning a concept prototype anyway, consider timing it to a game jam (Ludum Dare, GMTK Game Jam, Global Game Jam). Jams provide a forced timebox (48-72 hours), instant distribution to thousands of players who rate and review early builds, and a deadline that prevents scope creep by design. Many shipped games (Celeste, VVVVVV) began as jam prototypes. Not required — but worth considering if the timing is right.

Read the concept description from the argument. Before building anything, define the falsifiable hypothesis this prototype must answer:

"If the player [does X], they will feel [Y] — we will know this is true if [measurable signal Z]."

Good: "If the player swings on grapple hooks, traversal will feel fluid — we'll know if players chain 3+ swings without stopping within 2 minutes of picking it up."

Bad: "Does this feel fun?" ← not testable, not falsifiable.

If the concept is too vague to form a hypothesis, stop here. Ask the user to narrow the question before proceeding. A prototype without a clear question wastes time.

Also ask: "What is the riskiest assumption in this concept?" That is the first thing the prototype should test — not the easiest part, the riskiest.


Phase 2: Load Concept Context

Read design/gdd/game-concept.md — or design/game-brief.md, the one-page brief that replaces it at rigor: minimal — if either exists. Extract:

  • Core fantasy (what the player is supposed to feel)
  • Core loop (the moment-to-moment action being tested)

Determine the engine and language in use: read engine.name and engine.language from project.yaml. For each field, if its key is absent or empty (including when project.yaml has no engine: block), fall back to CLAUDE.md and .claude/docs/technical-preferences.md. Treat a [TO BE CONFIGURED] value as not set.


Phase 3: Choose the Prototype Path

Select the prototype path. If --path [html|engine|paper] was passed, use that. Otherwise, use this quick-reference first, then read the full path details below:

GenreRecommended pathKey reason
Platformer / action / fighterEngineFeel IS the hypothesis; browser latency produces false results
Racing / sportsEngineSame — timing and physics feedback are the point
Top-down shooter / twin-stickEngineAim feel is timing-sensitive
Puzzle (logic)HTML or PaperTiming is not the point; logic and clarity are
Card gamePaper firstFastest iteration by hand before touching code
Narrative / visual novelPaper (Twine / Ink / Yarn Spinner)Story is the mechanic — test it without code overhead
Strategy / 4X / city builderPaper (spreadsheet sim)Validate economy and progression rules before building
Roguelike (systems-heavy)Paper → EngineValidate that the ruleset is interesting before building
Idle / clicker / incrementalHTMLTurn-based logic, no feel sensitivity required
Rhythm gamePaper first (design levels in audio)Design levels before the engine exists
RPG / open worldPaper → EngineSystems complexity: validate rules, then validate feel
Horror / atmosphericEngineAtmosphere requires real rendering

Rule of thumb: "Does this feel right?" → Engine. "Are these rules interesting?" → Paper. "Is this logic correct?" → HTML or Paper.

Path: HTML (browser-playable)

Best for: Puzzle games, card games, turn-based strategy, word games, idle games, top-down logic games. Anything where timing precision doesn't matter.

Reliability: ~85–90% one-shot. The agent writes a single self-contained HTML file the user opens in a browser — no install required.

Limitation — browser latency lies about game feel. Browsers introduce 50–133ms of rendering variance. This makes HTML prototypes fundamentally unreliable for action games, platformers, fighting games, or anything where input timing, jump arcs, or collision feel are what you're testing. If feel is the hypothesis, use the Engine path instead.

Alternative tools for this path: PICO-8 (extreme constraints, great for retro arcade concepts, web-export in one command), Phaser.js (more capable browser game framework, still no install needed), or Twine (narrative/choice-based games). These are faster than raw HTML for their respective genres — suggest them if appropriate.

Output: A single prototype.html (or PICO-8/Phaser equivalent) the user opens in any browser.

Distribution — the HTML path's biggest advantage: Unlike Engine prototypes, this build can reach real players globally in minutes. Use this actively:

  • itch.io — upload the file, share the link, get play counts and written feedback within hours. Free. The indie community plays rough builds here without expecting polish. This is genuine external validation at zero cost.
  • Loom + file share — share via Google Drive/Dropbox, ask someone to record their screen + audio with Loom while playing. You get a video of real first-impression reactions and confusion without synchronous scheduling.
  • r/playmygame or r/WebGames (Reddit) — active communities that specifically test early builds and give unsolicited honest feedback.
  • Game dev Discord servers (GMTK, Brackeys, GameDev.tv) — members test each other's prototypes routinely; an HTML file is the easiest possible ask.

Path: Engine (engine project)

Best for: Action games, platformers, physics-heavy games, anything where moment-to-moment feel IS the hypothesis. Use this when HTML latency would lie about the result.

Reliability: ~50–60% one-shot. Expect 2–4 rounds of iteration — this is normal, not a failure.

Limitation — requires engine installed and running. This path is a multi-turn collaborative loop:

  1. Agent writes the code
  2. User runs it in the engine
  3. User reports errors or observations
  4. Agent fixes and iterates

Sunk cost rule: If the user has been iterating for more than 2 hours without reaching a playable state, stop. The scope is too large or the question is wrong. Reframe the hypothesis and simplify aggressively, or switch to Paper path.

Output: A minimal runnable engine project in prototypes/[name]-concept/.

Lighter alternative — Love2D (Lua): If the project engine (Godot, Unity, Unreal) feels too heavy to stand up for a throwaway build, consider Love2D — a minimal 2D framework that installs in minutes, requires no project scaffolding, and renders natively with no browser latency. Used by many indie devs for rapid 2D action and platformer prototypes (Balatro prototyped in Love2D; Nuclear Throne's early builds used it). It sits between HTML overhead and full engine overhead: heavier than opening a browser, lighter than setting up a full engine project. Best for 2D action/platformer feel validation when the project engine is 3D-first or takes significant time to configure.


Path: Paper (rules document + play log)

Best for: Strategy games, card games, board game-style mechanics, economy systems, progression loops, any game where the logic can be simulated by hand. Works for any genre when you need to validate rules, not feel.

Reliability: 100%. No code, no engine, no install.

Limitation — cannot validate moment-to-moment feel. Paper prototypes prove that the rules are internally consistent and the decisions are interesting. They cannot tell you whether jumping feels right or whether explosions feel satisfying.

Paper playtest observation protocol (run this with 5+ people):

  1. Brief the rules once. Hand them the rule summary sheet. Then step back.
  2. Do NOT explain further. Do NOT help. Do NOT clarify. Confusion is data.
  3. Watch silently. Note every moment they slow down, re-read, or ask a question.
  4. After the session, ask one question only: "What was confusing?" — not "Did you like it?"
  5. Use fresh testers for each iteration. The same person cannot give new first-impression data.
  6. If 3+ testers hit the same confusion point, that rule is broken — redesign it before re-testing.

Output: A printable rules document + a completed play log showing one simulated session.

Narrative tools for this path: For dialogue-heavy and story-driven games, skip the generic rules doc — use a dedicated narrative scripting tool instead:

  • Twine — zero-code hypertext fiction; ideal for branching structure experiments and choice-impact testing
  • Ink (Inkle) — plain-text scripting language used in 80 Days, Heaven's Vault, and Overboard; exports directly to Unity and Godot
  • Yarn Spinner — dialogue scripting used in A Short Hike, DREDGE, and Night in the Woods; integrates natively with Unity and Godot

All three let you write and playtest branching dialogue in minutes. Key metric for narrative prototypes: time to first emotional beat — how many exchanges before the player feels something? If it takes more than 3-4 exchanges, the opening is too slow.


Assess which path best fits the hypothesis, then use AskUserQuestion with your recommendation pre-stated:

  • Prompt: "Which prototype path would you like to use? (Based on your concept, I'd recommend [path] — [one sentence reason].)"
  • Options:
    • HTML — browser prototype — puzzle, card, turn-based, strategy, idle. Opens by double-clicking, no install. 85–90% reliable. Not suitable for action games — browser latency lies about feel.
    • Engine — native prototype — action, platformer, physics, or anything where feel IS the hypothesis. 50–60% one-shot; 2–4 iteration rounds are normal. Requires engine installed.
    • Paper — rules document + play log — strategy, economy, logic, board-game-style mechanics. 100% reliable. Cannot validate feel.

Phase 4: Plan the Prototype

Define in 3–5 bullet points the minimum viable prototype:

  • What is the falsifiable hypothesis?
  • What is the riskiest assumption — and how does this prototype test it first?
  • What is the absolute minimum needed to answer the question?
  • What is explicitly cut? (menus, save systems, error handling, polish, architecture — all of it)

Scope constraint: A concept prototype tests ONE mechanic — not the whole game. If scope covers more than one mechanic, cut it down. When in doubt, cut more.

Present this plan to the user before building. Get confirmation before proceeding. Name the checkpoint file in that confirmation: "May I record this plan in production/session-state/active.md?"

Once confirmed, write a session checkpoint to production/session-state/active.md (create production/session-state/ if it does not exist). Include: concept name, hypothesis, path chosen, scope bullet points, and current phase ("Phase 5 — Implement"). This lets the next session resume without starting over if the session ends mid-build — especially important for multi-day Engine path work.


Phase 5: Implement

Ask: "May I create the prototype directory at prototypes/[concept-name]-concept/ and begin implementation?"

If yes, create the directory. Every file must begin with:

[comment] PROTOTYPE - NOT FOR PRODUCTION
[comment] Question: [Core question being tested]
[comment] Date: [Current date]

Write [comment] in each file's own comment syntax — # in GDScript (.gd) and Python, // in C#, C++ and JavaScript, -- in Lua, <!-- … --> in HTML and Markdown. A header in another language's syntax is a parse error, not a label. Files that cannot hold a comment (JSON, engine-generated scene and project files) are exempt.

Standards are intentionally relaxed:

  • Hardcode values freely
  • Use placeholder assets (colored rectangles, debug shapes)
  • Skip error handling entirely
  • Use the simplest approach that works
  • Copy code rather than importing from production
  • No architecture, no patterns, no abstractions

Do not add polish. No menus, no game over screens, no music, no tutorial text unless the tutorial IS the mechanic being tested. Every addition beyond the hypothesis is waste.

Playtesting tip: If you have access to anyone who hasn't seen the game — friends, family, strangers online — watching them play without explanation gives far better signal than testing it yourself. Watch silently; don't guide them. Confusion is data. Ask one question after: "What was confusing?" Not "Did you like it?"

No external testers available? Use rotation: if you built system A, you're a naive tester for system B. In a two-person team this works well. Solo developer? Step away for 2-3 days before playing fresh — you won't have perfect first-impression signal, but you'll surface the worst blockers. Another option: play your own prototype as a speedrun (force yourself through it in 5 minutes without stopping to fix things) — the friction you feel is what strangers will hit.

Want more granular UX data? Ask the tester to think aloud as they play — narrate their thoughts in real time: "I'm pressing space... nothing happened... is that the jump key?" This surfaces confusion the moment it happens rather than waiting for a post-play debrief. Best for UI/UX and onboarding clarity. Silent observation is still better for testing raw feel; think-aloud changes how people play slightly but gives much richer data about why they're confused.

HTML prototype? itch.io, Reddit (r/playmygame), and Discord (GMTK, Brackeys) let you reach strangers today at zero cost — see the distribution options in the HTML path section above.

Testing AI, NPC, or complex system behavior before writing the code? Use the Wizard of Oz technique: one person plays normally while a second person secretly controls the NPC, enemy, or system behavior in real time — making the decisions a human would make, not an algorithm. The player believes it's automated. This lets you validate whether your AI design feels right before writing a single line of pathfinding or decision tree code. When you observe what responses the human controller naturally produces, you learn exactly what the AI needs to do.

Engine path: multi-turn loop

After writing the initial code:

"The prototype files are written. Run the project in your engine now. If there are errors, paste them here and I'll fix them. If it runs, describe what you see and whether it feels like it's answering the question."

Iterate until the prototype is playable. Each loop:

  1. User runs → reports errors or observations
  2. Agent fixes errors or adjusts the mechanic
  3. Repeat until playable or sunk cost rule triggers
HTML path: single output

Write a single prototype.html to prototypes/[concept-name]-concept/. Include all styles, logic, and assets inline. The file must be openable by double-clicking with no server required.

Paper path: document + log

Write prototypes/[concept-name]-concept/rules.md (the game rules) and prototypes/[concept-name]-concept/play-log.md (a simulated session walking through one complete play cycle step by step with dice rolls, decisions, and outcomes narrated).


Show full SKILL.md (1,989 more words)Show less

Phase 6: Playtest Debrief

The prototype is built. Now hand it to the user and capture what they actually experienced. Do NOT skip to report generation — the report is only as good as the observations you collect here.

For HTML path: Say exactly this:

"The prototype is ready. Open prototypes/[name]-concept/prototype.html in your browser and play it. Take as long as you need. Don't rush through it — try to approach it the way a new player would. Come back here when you're done."

For Engine path: The multi-turn iteration loop already captured errors and behavior. Now ask for the overall assessment:

"Now that it's running — play through it a few times as if you're the player, not the developer. Come back when you have a feel for it."

For Paper path: Say exactly this:

"Read through prototypes/[name]-concept/rules.md and walk through the play-log.md as if you're playing it for the first time. If you have someone nearby, try running the rules with them. Come back when you've seen at least one full play cycle."

If nobody can play it this session, do not ask for a verdict and do not infer one from how the build looks: the recommendation is NOT ASSESSED — built, not played. Write the report with that verdict (Phase 7, asking first) and name the next step — play it, then re-run this debrief.

Once the user returns, ask these questions one at a time — wait for each answer before asking the next:

  1. Hypothesis check:

    "The hypothesis was: [restate the hypothesis from Phase 1]. Did it hold up — CONFIRMED, PARTIALLY CONFIRMED, or REFUTED? Tell me what you saw."

  2. Best moment:

    "What was the moment — if any — where it felt like it was working? Be specific."

  3. Worst moment:

    "What was the most frustrating, confusing, or broken moment? Be specific — not 'it felt slow' but 'the jump took about half a second to respond and it felt like I was fighting the controls'."

  4. Surprise:

    "Did anything happen that you didn't expect — good or bad?"

  5. Verdict:

    "PROCEED, PIVOT, or KILL — and one sentence why."

Collect all answers before moving to report generation. If any answer is vague ("it felt fine", "pretty good"), ask a follow-up: "Can you be more specific? What exactly felt fine about it?" Precise observations make the report useful. Vague ones make it useless.


Phase 7: Generate Prototype Report

Read .claude/docs/templates/prototype-report.md to get the report structure. Fill in every section based on what was observed during this session. Replace all placeholder text with real observations — no generic filler.

Ask: "May I write this report to prototypes/[concept-name]-concept/REPORT.md and add its row to prototypes/index.md?"

If yes, write the file. Then update prototypes/index.md (create if it does not exist) — append one row to the concept prototype table: concept name, date, path used, verdict (PROCEED/PIVOT/KILL, or NOT ASSESSED when nobody has played it), and a link to the REPORT.md. If a PIVOT chain exists (prior PIVOT-NOTE.md in a related concept folder), note the chain. This file is the project's complete history of what was tried and what was learned.


Phase 8: Creative Director Review

Review mode check:

  • solo → skip. Note: "CD-PLAYTEST skipped — Solo mode."
  • lean → skip. Note: "CD-PLAYTEST skipped — Lean mode."
  • full → spawn creative-director via Agent using gate CD-PLAYTEST if design/gdd/game-concept.md exists with game pillars defined, or design/game-brief.md exists (the rigor: minimal brief has no pillars — its pitch and "what they feel" line stand in). If neither is available, note: "CD-PLAYTEST skipped — game pillars not yet defined at concept prototype stage."

Pass: the full REPORT.md content, the original hypothesis, and game pillars / core fantasy from design/gdd/game-concept.md (or the brief's pitch and "what they feel" line from design/game-brief.md).

The creative director evaluates the result against the game's creative vision and returns one of the gate's verdicts — APPROVE, CONCERNS or REJECT — or NOT ASSESSED when it could not judge. Apply it to the recommendation:

  • APPROVE → the recommendation stands.
  • CONCERNS → show the concerns alongside the recommendation, then use AskUserQuestion: Revise the recommendation / Accept with noted concerns / Discuss further. The user decides; the director does not.
  • REJECT (the core fantasy is not present) → a PROCEED recommendation cannot stand. Use AskUserQuestion to ask the user to choose PIVOT or KILL, and run Phase 9 for that choice. A PIVOT or KILL recommendation stands.
  • NOT ASSESSED (the director lacked an input — .claude/docs/director-gates.md) → not an approval. Name what was missing; supply it and re-run the gate, or record the review as NOT ASSESSED and let the user decide whether the recommendation stands unreviewed.

When the director returned CONCERNS, REJECT or NOT ASSESSED, ask "May I update prototypes/[concept-name]-concept/REPORT.md and its prototypes/index.md row?", then record the director's verdict and reason in REPORT.md, and the final recommendation in both if it changed.


Phase 9: Summary and Next Steps

Output a summary: the hypothesis, the result, and the final recommendation. Link to prototypes/[concept-name]-concept/REPORT.md.

If PROCEED: Your concept prototype validated the core idea. Now design it properly, informed by what you just learned.

At workflow: minimal: /create-stories (from the brief), then /dev-story on the first story — the rest of this list is the standard/full path.

Recommended path (in order, standard/full):

  1. /design-review design/gdd/game-concept.md — validate the concept doc against what the prototype revealed
  2. /gate-check — confirm readiness to advance to Systems Design
  3. /art-bible — define visual identity (optional but worth doing before GDDs)
  4. /map-systems — decompose the concept into all game systems
  5. /design-system [mechanic] — GDD for each MVP system; use prototype learnings in the Tuning Knobs and Formulas sections
  6. /review-all-gdds — cross-system consistency check

Note: If you used the HTML path and feel is still uncertain, consider running a quick engine path prototype targeting feel before writing GDDs.

If PIVOT:

Before routing to the next prototype, capture the carry-forward note. Ask these two questions (plain text, one at a time):

  1. "What specifically worked in this prototype that we should preserve in the next version?"
  2. "What is the single most important thing to change?"

Ask: "May I write this to prototypes/[concept-name]-concept/PIVOT-NOTE.md?"

If yes, write the file with: original hypothesis, what to keep, what to change, and the revised hypothesis for the next prototype. The next /prototype run picks it up at the start of Phase 1.

  • Run /prototype [revised-concept] to test the adjusted direction
  • Or /brainstorm [hint] if the concept needs more fundamental rethinking

If KILL:

Before moving on, run this check to confirm the verdict is sound and not temporary frustration:

  • Core mechanic still unclear to testers after 2+ playtests?
  • No "fun moment" (smile, laugh, or retry by choice) observed in any session?
  • 3+ PIVOT iterations on the same concept with no clear improvement?
  • Concept only works when heavily explained or when the dev guides the player?
  • Building this feels like obligation, not excitement?

If 2+ boxes apply → KILL verdict is sound. If 0–1 apply → consider one more focused PIVOT before killing.

Document the kill in prototypes/GRAVEYARD.md (create if it doesn't exist). Ask: "May I append this concept to prototypes/GRAVEYARD.md?" If yes, add one entry:

## [Concept Name] — YYYY-MM-DD
- **Kill reason:** [specific blocker — not "it was boring" but "players never understood the core action"]
- **What worked:** [2-3 things worth carrying forward to future concepts]
- **What failed:** [the specific mechanic, design decision, or scope issue]
- **Next time:** [one explicit action to try differently on a similar concept]

This file exists so the same mistake doesn't get made twice on the next concept.

  • Run /brainstorm open or /brainstorm [new-hint] to explore a different concept
  • The prototype report is the deliverable — no further action needed

If NOT ASSESSED (nobody has played it):

There is no fun evidence yet, so PROCEED, PIVOT and KILL are all unreachable — report NOT ASSESSED and stop here rather than guess.

  • Play it, then run /prototype [same concept] again
  • The report and the concept index row read NOT ASSESSED until a playtest happens


Spike Mode

Triggered by: --spike flag OR "Mid-production spike" entry choice in Phase 1.

Purpose: Test a specific technical or design question mid-production, without the overhead of a full concept prototype workflow. No GDD prerequisites. No phase gate implications. Hard cap: ~4 hours.

When to use:

  • You're in Production and want to test whether a new mechanic should be added
  • You're unsure if a technical approach will work before building it properly
  • A design change is being considered and you want a quick before/after comparison
  • A GDD system is proving harder than expected and you want to prototype the hard part
  • You need to confirm target hardware can sustain the required framerate before writing gameplay code (performance spike — see below)

Spike Mode workflow (replaces Phases 1–9):

  1. Define the spike question (plain text, not a widget): "What specific question does this spike answer? Give me one sentence: 'Can we [do X] using [approach Y]?'"

  2. Choose path — same AskUserQuestion widget as Phase 3 (HTML / Engine / Paper).

  3. Scope — maximum 2-3 bullet points. One mechanic, one technical question, nothing else.

  4. Build — first ask "May I create prototypes/[concept-name]-spike-[date]/ and build the spike there?" Same relaxed standards and header as the concept prototype. Hard cap: 4 hours. If not demonstrable in 4 hours, the question is too large. Split it.

  5. Observe and decide — no formal playtest debrief. Ask: "Did the spike answer the question? YES or NO, and why in one sentence."

  6. Write a spike note (not a full report) to prototypes/[concept-name]-spike-[date]/SPIKE-NOTE.md — first ask once for this step and the next, naming both files: "May I write prototypes/[concept-name]-spike-[date]/SPIKE-NOTE.md and clear the spike from production/session-state/active.md?" The note holds:

    • Question tested
    • Result (YES it works / NO it doesn't / PARTIAL — needs more investigation)
    • What to do next (add to current sprint / investigate further / abandon the idea)
  7. Update production/session-state/active.md to clear the spike and return to the current sprint state.

No CD gate. No phase gate. No PROCEED/PIVOT/KILL. Spike results inform decisions; they don't make them. The developer decides whether to add the mechanic/approach to the sprint backlog based on what the spike revealed.

Performance spike (special case): If the game involves demanding rendering — large open worlds, hundreds of simultaneous physics bodies, heavy particle systems, complex shaders — run a performance spike before writing gameplay code to confirm the target hardware can sustain the required framerate. This is distinct from other spikes in two ways:

  • The question is "can the engine render [scene X] at 60fps on [minimum spec hardware]?" not "does this mechanic feel good?"
  • The output is a benchmark number, not a feel verdict
  • No gameplay logic is needed — just the maximum intended scene load (terrain, draw calls, physics objects, particles) running at once
  • Build time stays within the ~4-hour cap; the spike is setting up the rendering load, not the game
  • If the answer is NO at this scope, this is an architecture or scope constraint that affects everything downstream — better to surface it now than during Sprint 8

Important Constraints
  • Prototype code must NEVER import from production source files
  • Production code must NEVER import from prototype directories
  • If the recommendation is PROCEED, production implementation is written from scratch — prototype code is never refactored into production
  • Total effort is hard-capped at 1 day (concept prototypes test one mechanic)
  • Test ONE mechanic — if scope grows, stop and simplify the question
  • No polish. No menus, no game over, no music, no UI unless it IS the mechanic
  • If stuck after 2 hours of engine iteration, reframe the question or switch paths
  • 3 PIVOT iterations → force a KILL decision. If this is the third time the same concept has produced a PIVOT verdict, the concept likely doesn't work. Ask: "Is this the right idea, or am I in the sunk cost trap?" A new concept prototyped fresh will almost always beat a fourth iteration of a struggling one.
  • Building 2-3 different concept variants and picking the best one is a healthier strategy than iterating one concept to death. Natural selection between prototypes beats willpower.
  • Networked/multiplayer games: A local prototype cannot validate the feel of a networked mechanic. Latency fundamentally changes how combat, movement, and prediction feel — a prototype running at 0ms local will feel entirely different at 80ms network delay. Use a local prototype to validate that the mechanic is interesting. Do not use it as evidence that it feels good under real network conditions. Network feel requires real peers or simulated latency (e.g., throttle tools, network condition simulators).

© Donchitos, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/prototype of Donchitos/Claude-Code-Game-Studios.

Open the folder on GitHubat commit b21fa0f

Compare with similar skills

Prototype next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Prototype compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Prototype this skillDonchitos/Claude-Code-Game-Studios26k—~8.1kAutomated safety check: NotesMIT
Abstract Strategyjwynia/agent-skills165—~2.7kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0
Godot Gdscript Patterns925236118/AlphaAgent1039 repos~5kAutomated safety check: PassMIT
Novel Game Adaptation Analysiszenstory-ai/novel-to-game8321 repos~558Automated safety check: PassMIT
Game Experience Density OptimizerDY-2026/GameDesignOS410—~2.1kAutomated safety check: PassMIT

Similar skills

  • Abstract Strategy

    jwynia/agent-skills

    Design abstract strategy games with perfect information, no randomness, and strategic depth.

    165 GitHub stars~2.7k tokensUpdated 7 mo ago
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • Godot Gdscript Patterns

    925236118/AlphaAgent

    Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.

    103 GitHub starsUsed in 9 repos~5k tokens
    Game DevelopmentAuto-check passed
  • Novel Game Adaptation Analysis

    zenstory-ai/novel-to-game

    Condenses a novel or its deconstruction notes into a cited SOURCE_BIBLE of world rules, player verbs, spaces and systems, before any game genre is chosen.

    832 GitHub starsUsed in 1 repo~558 tokens
    Game DevelopmentAuto-check passed
  • 当用户需要把游戏体验浓度、留存、首局节奏、Demo 完成率、单机总旅程、D1/D7、反馈、具身感、氛围、认知负荷、最佳刺激窗口、FEP/free-energy、预测误差、Markov blanket、习惯化或 liveops 参与问题,编译成可上线、可埋点、可复盘、可回滚的一周 ED 实验包时使用。Use when converting game experience-density and…

    410 GitHub stars~2.1k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Threejs Gameplay Systems

    corosolto/client

    Build and iterate playable Three.js game systems. An agent skill from corosolto/client.

    256 GitHub stars~1.5k tokensUpdated today
    Game DevelopmentAuto-check passed

More from Donchitos/Claude-Code-Game-Studios

All 73 skills in this repo
  • Game Asset Audit

    Donchitos/Claude-Code-Game-Studios

    Audits game assets against naming conventions, file size budgets and format standards, and finds orphaned assets and missing references.

    26k GitHub stars~2k tokensUpdated 8 days ago
    Auto-check passed
  • Game Asset Spec Writer

    Donchitos/Claude-Code-Game-Studios

    Writes per-asset visual specs and AI image-generation prompts for a game's characters, enemies and screens, driven by the GDD, art bible and an entity inventory.

    26k GitHub stars~5k tokensUpdated 8 days ago
    Auto-check passed
  • Game Balance Check

    Donchitos/Claude-Code-Game-Studios

    Checks game data and formulas for balance outliers, broken progression, degenerate strategies and economy problems, and answers 'could not run' when the data is missing.

    26k GitHub stars~2.2k tokensUpdated 8 days ago
    Auto-check passed
  • Structured Bug Reports

    Donchitos/Claude-Code-Game-Studios

    Turns a description into a structured bug report, or scans code for likely bugs, then verifies and closes reports through four modes.

    26k GitHub stars~2.5k tokensUpdated 8 days ago
    Auto-check: notes
  • Bug Triage

    Donchitos/Claude-Code-Game-Studios

    Reviews the open bug backlog, separates severity from priority, assigns fixes to sprints and reports systemic trends, writing a dated triage file.

    26k GitHub stars~2.3k tokensUpdated 8 days ago
    Auto-check passed
  • Changelog Generator for Games

    Donchitos/Claude-Code-Game-Studios

    Generates an internal or player-facing changelog from git commits and sprint data, filtering out framework maintenance commits so that only work on the game itself reaches release copy.

    26k GitHub stars~2.5k tokensUpdated 8 days ago
    Auto-check: notes

Questions about Prototype

What does Prototype do?

Concept prototype before GDDs — throwaway HTML, Engine or Paper build, PROCEED/PIVOT/KILL/NOT ASSESSED. Prototype is an agent skill from Donchitos/Claude-Code-Game-Studios. Concept prototype before GDDs — throwaway HTML, Engine or Paper build, PROCEED/PIVOT/KILL/NOT ASSESSED.

When should I use Prototype?

Prototype fits situations like: tasks that involve Game design; tasks that involve Brainstorming.

How do I install Prototype in Claude Code?

Run `npx skills add Donchitos/Claude-Code-Game-Studios --skill prototype -a claude-code`. Or copy the skill folder (.claude/skills/prototype in Donchitos/Claude-Code-Game-Studios) into .claude/skills/prototype in your project. Claude Code loads it when a task matches its description.

How do I install Prototype in Codex?

Run `npx skills add Donchitos/Claude-Code-Game-Studios --skill prototype -a codex`. Or copy the skill folder (.claude/skills/prototype in Donchitos/Claude-Code-Game-Studios) into .agents/skills/prototype in your project. Codex loads it when a task matches its description.

Can I use Prototype in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Donchitos/Claude-Code-Game-Studios --skill prototype -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prototype, .gemini/skills/prototype, .github/skills/prototype and .opencode/skills/prototype in your project.

What does Prototype need to run?

Going by SKILL.md and its folder, Prototype needs the command-line tools its instructions call (bash). Its frontmatter pre-approves these tools: Read, Glob, Grep, Write, Edit, Bash, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/prototype/../../hooks/yaml-helper.sh" resolve_config *).

Does Prototype access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Prototype safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Prototype use?

Prototype is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Prototype use?

About 8.1k tokens (SKILL.md is roughly 33k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Prototype?

Skills that share tags, products or a category with Prototype: Abstract Strategy (jwynia/agent-skills, 165 stars), Threejs Gameplay Systems (valkor-ai/loom, 1.2k stars), Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars) and Novel Game Adaptation Analysis (zenstory-ai/novel-to-game, 832 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Prototype?

Donchitos (a GitHub user) maintains it in Donchitos/Claude-Code-Game-Studios, which has 25,834 GitHub stars. The repository holds 73 skills in this directory. The repository was last updated on September 29, 2026.

Source: Donchitos/Claude-Code-Game-Studios on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.