Files
Claude-Code-Game-Studios/CCGS Skill Testing Framework/skills/utility/playtest-report.md
T
DonchitosandClaude Opus 5.5 b21fa0f7f2 Release 1.1.2 — the default path works end to end
Fix release for 1.1.1: the minimal path end to end, engine commands that
run on Godot, Unity and Unreal, hook warnings you can see, and verdicts
that say when they could not check. Details in CHANGELOG.md; upgrade
steps in UPGRADING.md (v1.1.1 → v1.1.2).

Fixes #67
Fixes #131

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WuJn2FdynEybfL5KC697nJ
2026-09-29 21:32:19 +10:00

9.0 KiB

Skill Test Spec: /playtest-report

Skill Summary

/playtest-report has two modes. new outputs a blank playtest report template and stops with Verdict COMPLETE, saving nothing; analyze [path] reads raw notes from a file, cross-references the design documents, fills the template with structured findings and flags observations that conflict with design intent. Defects (crashes, framerate drops) go in the Bugs Encountered table, not under Gameplay Flow → Pain points. The template has these sections: Session Info, Test Focus, First Impressions, Gameplay Flow (what worked, pain points, confusion, delight), Bugs Encountered, Feature-Specific Feedback, Quantitative Data, Overall Assessment, and Top 3 Priorities.

Findings are sorted into four buckets and routed: design changes to /propagate-design-change [path], balance adjustments to /balance-check [system], bugs to /bug-report, polish items to the production/ backlog. In full review mode the skill spawns creative-director for gate CD-PLAYTEST; in lean and solo it skips the gate with a note. It then asks "May I write this playtest report to production/qa/playtests/playtest-[date]-[tester].md?". Verdict is COMPLETE.


Static Assertions (Structural)

Checked against the SKILL.md by /skill-test spec — no fixture needed.

  • Has required frontmatter fields: name, description, argument-hint, user-invocable, allowed-tools
  • Has ≥2 phase headings
  • Contains verdict keyword: COMPLETE
  • Contains "May I write" collaborative protocol language before writing the report
  • Has a next-step handoff (/design-review after design changes, /bug-triage after bug fixes)

Director Gate Checks

  • Full mode: CD-PLAYTEST — creative-director reviews the report against the game pillars and core fantasy (APPROVE / CONCERNS / REJECT, or NOT ASSESSED when it lacked an input), after findings are categorised and before the report is saved
  • Lean mode: CD-PLAYTEST skipped (not a PHASE-GATE); note "CD-PLAYTEST skipped — Lean mode."
  • Solo mode: CD-PLAYTEST skipped; note "CD-PLAYTEST skipped — Solo mode."

Test Cases

Case 1: Happy Path — Analyze Notes, Findings Routed by Bucket

Fixture:

  • production/qa/notes/session-01.md holds one tester's notes: "framerate drops every time the forest area loads", "I could not work out how to open the first door", and "the second boss hits far too hard"
  • design/gdd/ holds the tutorial and combat GDDs; the tutorial GDD says the first door teaches the interact key
  • Review mode: solo

Input: /playtest-report analyze production/qa/notes/session-01.md

Expected behavior:

  1. Skill reads the notes and cross-references the design documents
  2. Skill fills the template; the framerate drop goes in the Bugs Encountered table
  3. Phase 3 presents findings in four buckets: the door confusion as a design change, the boss damage as a balance adjustment, the framerate drop as a bug
  4. Routing: /propagate-design-change on the tutorial GDD, /balance-check for combat, /bug-report for the framerate drop
  5. Skill notes "CD-PLAYTEST skipped — Solo mode." and asks "May I write this playtest report to production/qa/playtests/playtest-[date]-[tester].md?"
  6. On approval the file is written; verdict is COMPLETE

Assertions:

  • The framerate drop appears in the Bugs Encountered table, not under Gameplay Flow
  • Findings are presented in the four buckets (design, balance, bug, polish)
  • Each bucket is routed to its named skill (/propagate-design-change, /balance-check, /bug-report)
  • "May I write" names production/qa/playtests/playtest-[date]-[tester].md before writing
  • Verdict is COMPLETE

Case 2: New Mode — Blank Template Output

Fixture:

  • Any project state

Input: /playtest-report new

Expected behavior:

  1. Skill selects new mode
  2. Skill outputs the blank template with every section heading and its bracketed placeholders unfilled
  3. No notes file is read and no findings are invented
  4. The mode ends after the template: no routing, no director gate, no save ask, and the verdict is COMPLETE — blank template output; nothing saved

Assertions:

  • Output contains the headings Session Info, Test Focus, First Impressions, Gameplay Flow, Bugs Encountered, Feature-Specific Feedback, Quantitative Data, Overall Assessment and Top 3 Priorities
  • Placeholders (e.g. [Date], [Name/ID]) are left unfilled
  • No notes file is read and no findings are fabricated
  • No "May I write" ask and no file written
  • Verdict is COMPLETE

Case 3: Observation Conflicts With Design Intent

Fixture:

  • design/gdd/crafting.md states crafting is a core loop players engage with every session
  • production/qa/notes/session-02.md records that the tester never opened the crafting menu in 40 minutes
  • Review mode: solo

Input: /playtest-report analyze production/qa/notes/session-02.md

Expected behavior:

  1. Skill reads the notes and cross-references design/gdd/crafting.md
  2. Skill flags the observation as conflicting with design intent
  3. Phase 3 puts it in the "Design changes needed" bucket
  4. Routing names /propagate-design-change on design/gdd/crafting.md
  5. Report saved after the "May I write" ask; verdict COMPLETE

Assertions:

  • The crafting observation is explicitly flagged as conflicting with the GDD's intent
  • It is categorised as a design change, not a polish item
  • /propagate-design-change is suggested on the affected GDD
  • Verdict is COMPLETE after the write

Case 4: Edge Case — Full Review Mode With No Pillars Available

Fixture:

  • Review mode: full
  • Neither design/gdd/game-concept.md nor design/game-brief.md exists
  • production/qa/notes/session-03.md holds playtest notes

Input: /playtest-report analyze production/qa/notes/session-03.md

Expected behavior:

  1. Skill structures and categorises the findings
  2. Skill spawns creative-director for CD-PLAYTEST with the report content and the hypothesis being tested
  3. Because neither pillars source exists, the prompt states "No pillars available — assess against the hypothesis alone." rather than omitting pillars
  4. The director's assessment is presented before the save ask

Assertions:

  • CD-PLAYTEST is spawned (review mode is full)
  • The gate prompt says no pillars are available instead of passing none silently
  • Pillars are not invented by the skill
  • The assessment is shown before "May I write"

Case 5: Director Gate — CD-PLAYTEST by Review Mode

Fixture:

  • design/gdd/game-concept.md exists with pillars
  • production/qa/notes/session-04.md holds playtest notes
  • Run three times: --review full, --review lean, --review solo
  • In the full run, creative-director returns CONCERNS

Input: /playtest-report analyze production/qa/notes/session-04.md --review [mode]

Expected behavior:

  1. Full: after Phase 3 categorisation, creative-director is spawned for CD-PLAYTEST with the report content, pillars from game-concept.md and the hypothesis; its CONCERNS assessment is presented and a ## Creative Director Assessment section is added to the report
  2. Lean: no director spawned; note "CD-PLAYTEST skipped — Lean mode."
  3. Solo: no director spawned; note "CD-PLAYTEST skipped — Solo mode."
  4. All three runs then ask "May I write" and end with verdict COMPLETE

Assertions:

  • In full mode, CD-PLAYTEST spawns creative-director before the report is saved
  • On CONCERNS, the report gains a ## Creative Director Assessment section with the verdict and feedback
  • In lean mode, the skip note names CD-PLAYTEST and Lean mode
  • In solo mode, the skip note names CD-PLAYTEST and Solo mode
  • No other director gate is spawned in any mode

Protocol Compliance

  • analyze reads the notes file and cross-references design documents before filling the template
  • Findings are categorised into design / balance / bug / polish and routed to the named follow-up
  • Applies the review mode before spawning CD-PLAYTEST and prints the skip note when skipped
  • Presents the director's assessment (full mode) before asking to save
  • Asks "May I write this playtest report to production/qa/playtests/playtest-[date]-[tester].md?" before writing
  • Ends with verdict COMPLETE and next steps (/design-review, /bug-triage)

Coverage Notes

  • A REJECT verdict from CD-PLAYTEST follows the same path as CONCERNS (an assessment section is added) and is not separately tested; APPROVE only adds an approval note. NOT ASSESSED (the director lacked an input) adds the section naming what was missing and is never read as an approval; not separately tested.
  • At modes.workflow: minimal, where design/game-brief.md replaces game-concept.md, the brief has no pillars: its one-sentence pitch and "Who it's for / what they feel" line are passed in their place; not separately tested.
  • Video or screenshot attachments are not tested; the report is text only.