Game Improvement Loop
Improve this game through short evidence loops. Keep player experience central and adapt the loop to the game's genre, platform, controls, and design promise.
Defaults
- Cycles: 3 unless user says otherwise.
- Playtest: 30 minutes per cycle unless user says otherwise.
- Log:
.scratch/game-improvement-loop/<YYYY-MM-DD>-<goal-slug>/cycle-N.md.
Do not shorten a requested/default playtest unless user approves. If full playtest cannot run, mark cycle incomplete.
Start Gate
Before PRD or code:
- Read local rules, docs, prior playtests, tickets/PRDs, and code paths relevant to the player-facing behavior.
- Research external references only when they help the requested goal.
- Return concise direction brief:
- player promise
- behavior to improve
- recommended direction plus key alternatives
- likely data/state needs
- primary player persona
- observable playtest signs
- cycle count and playtest duration
- Wait for user validation.
After validation, continue through all cycles unless blocked or direction becomes impossible.
Cycle
- Frame hypothesis: promise, design bet, observable signs.
- Research: code, docs, prior playtests, useful external sources.
- Create spec with
to-spec: hypothesis, persona, experience, non-goals, acceptance criteria, test/playtest plan.
- Implement the cycle. If the spec already points to implementation-ready tickets, use
handle-tickets and capture its PRs, branches, checks, blockers, and Codex outcomes. Otherwise use focused ticket-sized work with implement, then run review-fix and codex-pr-review when a PR exists. Keep slices vertical and playable.
- Choose the playtest target from delivery evidence: delivery worktree, preview URL, merged default branch, or blocked awaiting merge. Playtest in the target runtime for requested duration. Prefer clean session, representative viewport/device, and existing automation harness when available.
- Record evidence: method, runtime/build/URL, viewport/device, session id, start/end, duration, input count, transcript/log/screenshot paths, state contamination risk, and at least 5 relevant player-facing moments.
- Decide verdict:
validated, mixed, invalidated, or incomplete.
- Turn strongest miss into next-cycle seed.
Sub-Agents
Use sub-agents when they materially help and the work can be split cleanly. Run cycles sequentially because each cycle seeds the next.
Parallelize independent work inside a cycle: codebase research, design references, test/tooling inspection, asset review, or bounded implementation with non-overlapping files.
Worker brief must include direction, cycle number, persona, log path, ticket/PRD expectations, likely modules, verification commands, playtest duration, dirty-worktree warning, and required handoff.
Cycle Log
# Cycle N: <goal>
## Approved Direction
## Persona
## Hypothesis
## Research
## PRD
## Implementation
## Verification
## Playtest Evidence
## Observations
## Verdict
## Next Seed
## Blockers Or Fallbacks
Finish
Summarize cycles, PRDs/tickets, PRs, worktrees or preview targets, checks, playtest evidence, verdicts, blockers, and next best improvement. State plainly if any cycle is incomplete.
1---2name: game-improvement-loop3description: Runs iterative game-improvement cycles from a player-experience goal: investigate, validate direction, create a PRD, implement, playtest, and feed observations into the next cycle. Use when the user asks to improve game feel, UX, player experience, character/system behavior, or playtest-driven iteration.4---56# Game Improvement Loop78Improve this game through short evidence loops. Keep player experience central and adapt the loop to the game's genre, platform, controls, and design promise.910## Defaults1112- Cycles: 3 unless user says otherwise.13- Playtest: 30 minutes per cycle unless user says otherwise.14- Log: `.scratch/game-improvement-loop/<YYYY-MM-DD>-<goal-slug>/cycle-N.md`.1516Do not shorten a requested/default playtest unless user approves. If full playtest cannot run, mark cycle incomplete.1718## Start Gate1920Before PRD or code:21221. Read local rules, docs, prior playtests, tickets/PRDs, and code paths relevant to the player-facing behavior.232. Research external references only when they help the requested goal.243. Return concise direction brief:25 - player promise26 - behavior to improve27 - recommended direction plus key alternatives28 - likely data/state needs29 - primary player persona30 - observable playtest signs31 - cycle count and playtest duration324. Wait for user validation.3334After validation, continue through all cycles unless blocked or direction becomes impossible.3536## Cycle37381. Frame hypothesis: promise, design bet, observable signs.392. Research: code, docs, prior playtests, useful external sources.403. Create spec with `to-spec`: hypothesis, persona, experience, non-goals, acceptance criteria, test/playtest plan.414. Implement the cycle. If the spec already points to implementation-ready tickets, use `handle-tickets` and capture its PRs, branches, checks, blockers, and Codex outcomes. Otherwise use focused ticket-sized work with `implement`, then run `review-fix` and `codex-pr-review` when a PR exists. Keep slices vertical and playable.425. Choose the playtest target from delivery evidence: delivery worktree, preview URL, merged default branch, or blocked awaiting merge. Playtest in the target runtime for requested duration. Prefer clean session, representative viewport/device, and existing automation harness when available.436. Record evidence: method, runtime/build/URL, viewport/device, session id, start/end, duration, input count, transcript/log/screenshot paths, state contamination risk, and at least 5 relevant player-facing moments.447. Decide verdict: `validated`, `mixed`, `invalidated`, or `incomplete`.458. Turn strongest miss into next-cycle seed.4647## Sub-Agents4849Use sub-agents when they materially help and the work can be split cleanly. Run cycles sequentially because each cycle seeds the next.5051Parallelize independent work inside a cycle: codebase research, design references, test/tooling inspection, asset review, or bounded implementation with non-overlapping files.5253Worker brief must include direction, cycle number, persona, log path, ticket/PRD expectations, likely modules, verification commands, playtest duration, dirty-worktree warning, and required handoff.5455## Cycle Log5657```md58# Cycle N: <goal>5960## Approved Direction61## Persona62## Hypothesis63## Research64## PRD65## Implementation66## Verification67## Playtest Evidence68## Observations69## Verdict70## Next Seed71## Blockers Or Fallbacks72```7374## Finish7576Summarize cycles, PRDs/tickets, PRs, worktrees or preview targets, checks, playtest evidence, verdicts, blockers, and next best improvement. State plainly if any cycle is incomplete.