Agent skill

Playtest Report

by Donchitos in Donchitos/Claude-Code-Game-Studios

Creates a blank playtest report template or converts raw playtest notes into structured findings sorted into design, balance, bug and polish items.

MITAuto-check passedGame Development

Install Playtest Report

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

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

GitHub CLI
$ gh skill install Donchitos/Claude-Code-Game-Studios playtest-report --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/playtest-report .claude/skills/playtest-report && 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
playtest-report
GitHub stars
26k
Token cost
~1.7k tokens
SKILL.md length
613 words
Files
1
Skills in repo
73
Repo updated
First seen
Licence
MIT

At a glance

Creates a blank playtest report template or converts raw playtest notes into structured findings sorted into design, balance, bug and polish items.

  • Works in 4 steps: Parse Arguments → Action Routing → Save Report → …
  • Getting a blank playtest form to hand to testers before a session
  • SKILL.md covers Phase 1: Parse Arguments, Phase 2A: New Template Mode, Phase 2B: Analyze Mode and Phase 3: Action Routing, plus 3 more sections
  • Calls bash

What it does

The skill works in two modes. With `new` it prints a blank report template and finishes without saving anything. With `analyze` and a path it reads raw notes, compares them with existing design documents and fills the template with structured findings, flagging observations that clash with design intent. With no argument the agent asks which mode you want.

Defects such as crashes, frame drops or softlocks go in the Bugs Encountered table instead of the gameplay pain points, which are reserved for how the game feels to play. Findings are then sorted into four buckets, design changes, balance adjustments, bug reports and polish items, and routed onward.

When your agent uses it

  • Getting a blank playtest form to hand to testers before a session
  • Converting messy session notes into a structured report
  • Spotting where playtest feedback contradicts the design document

Example prompts

  • “Generate a new playtest report template.”
  • “Analyze the notes in playtests/session-3.md and fill in the report.”
  • “Sort feedback from last night's playtest into design, balance, bug and polish items.”

Requirements

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

Workflow steps

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

  1. Parse Arguments
  2. Action Routing
  3. Save Report
  4. 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
    • Agent
    • AskUserQuestion
    • Bash(bash "*/.claude/skills/playtest-report/../../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

Playtest Report loads about 1.7k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 613 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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). 613 words, ~1,663 tokens.

Download SKILL.mdSave it as .claude/skills/playtest-report/SKILL.md (or your agent's skills folder).
name
playtest-report
description
Structured playtest report template, or turn existing playtest notes into structured feedback.
allowed-tools
Read, Glob, Grep, Write, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/playtest-report/../../hooks/yaml-helper.sh" resolve_config *)
argument-hint
[new|analyze path-to-notes] [--review full|lean|solo]
user-invocable
true
model
sonnet

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

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

Phase 1: Parse Arguments

See .claude/docs/director-gates.md for the full check pattern. Individual gate definitions live in .claude/docs/director-gates/[gate-id].md — the spawned agent reads its own gate file; do not read it in the parent session.

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).

Determine the mode:

  • new → generate a blank playtest report template. This mode ends after Phase 2A: a blank template has nothing to route, review or save.
  • analyze [path] → read raw notes and fill in the template with structured findings
  • No argument → ask via AskUserQuestion: [A] New blank template / [B] Analyze notes — I'll give you the path

Phase 2A: New Template Mode

Generate this template and output it to the user:

markdown
# Playtest Report

## Session Info
- **Date**: [Date]
- **Build**: [Version/Commit]
- **Duration**: [Time played]
- **Tester**: [Name/ID]
- **Platform**: [PC/Console/Mobile]
- **Input Method**: [KB+M / Gamepad / Touch]
- **Session Type**: [First time / Returning / Targeted test]

## Test Focus
[What specific features or flows were being tested]

## First Impressions (First 5 minutes)
- **Understood the goal?** [Yes/No/Partially]
- **Understood the controls?** [Yes/No/Partially]
- **Emotional response**: [Engaged/Confused/Bored/Frustrated/Excited]
- **Notes**: [Observations]

## Gameplay Flow
### What worked well
- [Observation 1]

### Pain points
- [Issue 1 -- Severity: High/Medium/Low]

### Confusion points
- [Where the player was confused and why]

### Moments of delight
- [What surprised or pleased the player]

## Bugs Encountered
| # | Description | Severity | Reproducible |
|---|-------------|----------|-------------|

## Feature-Specific Feedback
### [Feature 1]
- **Understood purpose?** [Yes/No]
- **Found engaging?** [Yes/No]
- **Suggestions**: [Tester suggestions]

## Quantitative Data (if available)
- **Deaths**: [Count and locations]
- **Time per area**: [Breakdown]
- **Items used**: [What and when]
- **Features discovered vs missed**: [List]

## Overall Assessment
- **Would play again?** [Yes/No/Maybe]
- **Difficulty**: [Too Easy / Just Right / Too Hard]
- **Pacing**: [Too Slow / Good / Too Fast]
- **Session length preference**: [Shorter / Good / Longer]

## Top 3 Priorities from this session
1. [Most important finding]
2. [Second priority]
3. [Third priority]

In new mode, stop here with: Verdict: COMPLETE — blank template output; nothing saved.


Phase 2B: Analyze Mode

Read the raw notes at the provided path. Cross-reference with existing design documents. Fill in the template above with structured findings. Flag any playtest observations that conflict with design intent.

An observation that describes a defect — a crash, a framerate drop, a softlock, something that plainly breaks rather than plays badly — goes in the Bugs Encountered table, not under Gameplay Flow → Pain points, and is routed as a bug in Phase 3. Pain points are for how the game feels to play.


Phase 3: Action Routing

Categorize all findings into four buckets:

  • Design changes needed — fun issues, player confusion, broken mechanics, observations that conflict with the GDD's intended experience
  • Balance adjustments — numbers feel wrong, difficulty too spiked or too flat
  • Bug reports — clear implementation defects that are reproducible
  • Polish items — not blocking progress, but friction or feel issues for later

Present the categorized list, then route:

  • Design changes: "Run /propagate-design-change [path] on the affected design document to find downstream impacts before making changes."
  • Balance adjustments: "Run /balance-check [system] to verify the full balance picture before tuning values."
  • Bugs: "Use /bug-report to formally track these."
  • Polish items: "Add to the polish backlog in production/ when the team reaches that phase."

Show full SKILL.md (256 more words)Show less

Phase 3b: Creative Director Player Experience Review

Review mode check — apply before spawning CD-PLAYTEST:

  • solo → skip. Note: "CD-PLAYTEST skipped — Solo mode." Proceed to Phase 4 (save the report).
  • lean → skip (not a PHASE-GATE). Note: "CD-PLAYTEST skipped — Lean mode." Proceed to Phase 4 (save the report).
  • full → spawn as normal.

After categorising findings, spawn creative-director via Agent using gate CD-PLAYTEST (.claude/docs/director-gates/cd-playtest.md).

Pass: the structured report content, game pillars and core fantasy (from design/gdd/game-concept.md), the specific hypothesis being tested. If game-concept.md does not exist — expected at minimal, where design/game-brief.md replaces it — the brief has no pillars: pass its one-sentence pitch and its "Who it's for / what they feel" line instead, and say they stand in for pillars. If neither document exists, say so in the prompt: "No pillars available — assess against the hypothesis alone." A director gate handed silence about pillars will invent them.

Present the creative director's assessment before saving the report. If CONCERNS or REJECT, add a ## Creative Director Assessment section to the report capturing the verdict and feedback. If APPROVE, note the approval in the report. If NOT ASSESSED (the director lacked an input — .claude/docs/director-gates.md), add the same section naming what was missing; it is not an approval.


Phase 4: Save Report

Ask: "May I write this playtest report to production/qa/playtests/playtest-[date]-[tester].md?"

If yes, write the file, creating the directory if needed.


Phase 5: Next Steps

Verdict: COMPLETE — playtest report generated.

  • Act on the highest-priority finding category first.
  • After addressing design changes: re-run /design-review on the updated GDD.
  • After fixing bugs: re-run /bug-triage to update priorities.

© 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/playtest-report of Donchitos/Claude-Code-Game-Studios.

Open the folder on GitHubat commit b21fa0f

Compare with similar skills

Playtest Report 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.

Playtest Report compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Playtest Report this skillDonchitos/Claude-Code-Game-Studios26k—~1.7kAutomated safety check: PassMIT
Game Boy ROM Playthrough Drivertrekawek/coffee-gb1.2k—~1.3kAutomated safety check: PassMIT
Evidence-Based Game QAzenstory-ai/novel-to-game834—~389Automated safety check: PassMIT
Build Game Inventorynirholas/three.ws2271 repos~418Automated safety check: PassApache-2.0
Ship Web Gamesnirholas/three.ws2271 repos~284Automated safety check: PassApache-2.0
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Plays an authorized Game Boy or Game Boy Color ROM in one persistent headless Coffee GB session, inspecting frames and keeping an action trace for replay or tests.

    1.2k GitHub stars~1.3k tokensUpdated 7 days ago
    Game DevelopmentAuto-check passed
  • Evidence-Based Game QA

    zenstory-ai/novel-to-game

    Verifies a game build on its target runtime with real run evidence for launch, rendering, input, core loop, outcome and restart, and records limitations honestly.

    834 GitHub stars~389 tokensUpdated 5 days ago
    Game DevelopmentAuto-check passed
  • Build Game Inventory

    nirholas/three.ws

    Build or repair game inventory, loot, equipment, tooltips, drag-and-drop, persistence, and progression systems.

    227 GitHub starsUsed in 1 repo~418 tokens
    Game DevelopmentAuto-check passed
  • Ship Web Games

    nirholas/three.ws

    Package, deploy, and verify a playable Three.js or web game.

    227 GitHub starsUsed in 1 repo~284 tokens
    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 10 repos~5k tokens
    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 9 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 9 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 9 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 9 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 9 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 9 days ago
    Auto-check: notes

Questions about Playtest Report

What does Playtest Report do?

Creates a blank playtest report template or converts raw playtest notes into structured findings sorted into design, balance, bug and polish items. The skill works in two modes. With `new` it prints a blank report template and finishes without saving anything.

When should I use Playtest Report?

Playtest Report fits situations like: getting a blank playtest form to hand to testers before a session; converting messy session notes into a structured report; spotting where playtest feedback contradicts the design document.

How do I install Playtest Report in Claude Code?

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

How do I install Playtest Report in Codex?

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

Can I use Playtest Report 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 playtest-report -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playtest-report, .gemini/skills/playtest-report, .github/skills/playtest-report and .opencode/skills/playtest-report in your project.

What does Playtest Report need to run?

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

Does Playtest Report 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 Playtest Report safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Playtest Report use?

Playtest Report 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 Playtest Report use?

About 1.7k tokens (SKILL.md is roughly 6.7k 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 Playtest Report?

Skills that share tags, products or a category with Playtest Report: Game Boy ROM Playthrough Driver (trekawek/coffee-gb, 1.2k stars), Evidence-Based Game QA (zenstory-ai/novel-to-game, 834 stars), Build Game Inventory (nirholas/three.ws, 227 stars) and Ship Web Games (nirholas/three.ws, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Playtest Report?

Donchitos (a GitHub user) maintains it in Donchitos/Claude-Code-Game-Studios, which has 25,871 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.