skills/game-dev-commands/game-balance/SKILL.md
Analyzes a game system against design principles — economy health metrics, difficulty curve, reward schedules, and progression cost curves. Flags imbalances with severity levels. Use after creating an MVP plan with game-architect. Extract the analysis scope (economy/difficulty/progression/rewards/all) from the user's message.
npx skillsauth add fcsouza/agent-skills game-balanceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
docs/mvp-first-draft.md in the project (run game-architect first)Execute in this exact order:
docs/mvp-first-draft.md
⛔ Cannot proceed. docs/mvp-first-draft.md not found. Run the game-architect skill first to generate the MVP plan before running a balance analysis. and stop.game-economy-design skillgame-design-fundamentals skillskill-progression-trees skilldocs/build-registry.md if it existsdocs/quest-registry.md if it exists (for reward cross-reference in Phase 4)Extract from docs/mvp-first-draft.md:
Skip this phase entirely if scope is "difficulty" or "progression".
Apply the Economy Health Metrics table from game-economy-design. For each metric, find the relevant value in docs/mvp-first-draft.md (or flag as "not defined"):
| Metric | Target Range | Found in Plan | Status | |--------|------------|--------------|--------| | Daily currency earn/spend ratio | 0.8–1.2 | [value or "not defined"] | 🟢/🟡/🔴 | | Median player currency held | 2–5× avg purchase cost | [value or "not defined"] | 🟢/🟡/🔴 | | Premium conversion rate | 2–5% of active players | [value or "not defined"] | 🟢/🟡/🔴 | | Time to first meaningful purchase | 5–15 minutes | [value or "not defined"] | 🟢/🟡/🔴 |
Status legend:
Also check for these anti-patterns from the skill:
For each flagged issue, cite the specific skill principle: e.g., [→ game-economy-design: every faucet needs a sink]
Skip this phase entirely if scope is "economy" or "rewards".
Apply the flow channel framework from game-design-fundamentals (Csikszentmihalyi principle: challenge must scale with skill).
Analyze the intended difficulty curve from mvp-first-draft.md against the four progression phases:
| Phase | Expected Pattern | Found in Plan | Assessment | |-------|----------------|--------------|------------| | Early game | Rapid unlocks, teaching mechanics, high success rate | [from plan] | 🟢/🟡/🔴 | | Mid game | Meaningful choices, branching paths, ~65% success rate | [from plan] | 🟢/🟡/🔴 | | Late game | Mastery optimization, meaningful challenge | [from plan] | 🟢/🟡/🔴 | | Endgame | Social/competitive/infinite scaling | [from plan] | 🟢/🟡/🔴 |
Check for these anti-patterns from the skill:
The getDifficultyMultiplier formula from the skill: 1 + (playerSuccessRate - targetSuccessRate) * 0.3 — note if the plan accounts for adaptive difficulty or not.
For each flagged issue, cite the skill: [→ game-design-fundamentals: flow channel — challenge must scale with skill]
Skip this phase entirely if scope is "economy", "difficulty", or "rewards".
Apply the cost scaling principles from skill-progression-trees.
Expected formula: cost = baseCost × tier^exponent where exponent should be 1.5–2.0.
Analyze the plan's progression costs:
| Progression System | Cost Structure in Plan | Expected Formula Applied? | Issue | |-------------------|----------------------|--------------------------|-------| | [system 1 from plan] | [flat / linear / exponential] | 🟢/🟡/🔴 | [if flagged] | | [system 2 from plan] | ... | ... | ... |
Check for these anti-patterns from the skill:
For each flagged issue, cite the skill: [→ skill-progression-trees: cost = baseCost * tier^exponent]
Skip this phase entirely if scope is "difficulty" or "progression".
Apply reward schedule principles from game-design-fundamentals (variable ratio > fixed ratio — B.F. Skinner principle).
Analyze the reward structure:
| Reward Type | Schedule in Plan | Variable? | Assessment | |-------------|----------------|-----------|------------| | Quest rewards | [fixed / variable] | [yes/no] | 🟢/🟡/🔴 | | Daily login | [fixed / variable] | [yes/no] | 🟢/🟡/🔴 | | Loot drops | [fixed / variable] | [yes/no] | 🟢/🟡/🔴 | | Achievement rewards | [fixed / variable] | [yes/no] | 🟢/🟡/🔴 |
If docs/quest-registry.md exists, cross-reference quest reward amounts against the economy metrics from Phase 1.
Check for these anti-patterns:
For each flagged issue, cite the skill: [→ game-design-fundamentals: variable ratio reward schedules sustain engagement longer]
Output the complete report:
# Balance Report — [game name from mvp-first-draft.md] — [current date]
## Executive Summary
🔴 Critical issues: [count]
🟡 Warnings: [count]
🟢 Healthy systems: [count]
[If 0 critical issues]: ✅ No blockers found — safe to proceed with current design.
[If critical issues exist]: ⛔ [count] critical issue(s) must be resolved before launch.
---
## Economy Health [only if analyzed]
[metrics table from Phase 1]
[anti-pattern findings]
## Difficulty Curve [only if analyzed]
[phase table from Phase 2]
[anti-pattern findings]
## Progression Costs [only if analyzed]
[table from Phase 3]
[anti-pattern findings]
## Reward Schedules [only if analyzed]
[table from Phase 4]
[anti-pattern findings]
---
## Recommended Actions
### 🔴 Critical (resolve before building)
1. [Issue description] — [specific fix] `[→ skill-name: principle]`
...
### 🟡 Warnings (address before launch)
1. [Issue description] — [specific fix] `[→ skill-name: principle]`
...
### 🟢 Notes (optional improvements)
1. [Suggestion] `[→ skill-name: principle]`
...
tools
Use when implementing client-server state synchronization, delta compression, optimistic updates, rollback netcode, or real-time game state reconciliation. Triggers: state sync, netcode, delta, rollback, interpolation, prediction.
testing
Use when designing virtual economies, currencies, sink/faucet balance, loot tables, crafting systems, shops, or inflation control. Triggers: economy, currency, sinks, loot, inflation, crafting, shop.
development
Audits existing game code against design principles — checks server-authority, schema conventions, auth security, payment safety, narrative coherence, and MVP scope drift. Extract the optional component name or path from the user's message (defaults to entire src/). Use after building components or before committing.
testing
Designs a single quest end-to-end — coherence check, objective tree, quest brief, and registry entry. Extract the quest name from the user's message. Requires docs/world-lore.md and docs/quest-registry.md.