MCPInstall

balance-check

Find balance outliers, broken progressions, degenerate strategies, economy imbalances in formulas and data. 'Check game balance'.

Installs
793
Last 24h
+24
Trending rank
#5033
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/donchitos/claude-code-game-studios --skill balance-check
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads balance-check automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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

Balance Check

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

Insufficient input — check this before producing any report

If the inputs this skill needs do not exist, the answer is "could not run" — not a filled-in report. Check first, and stop if the check fails.

  1. List the inputs this skill reads (data files, prior reports, profiler output, test results, registries, source code).
  2. For each, record FOUND or ABSENT — not "assumed present".
  3. If any input required for a section is ABSENT, that section is NOT ASSESSED — NO DATA. Do not estimate it, do not infer it from an adjacent artifact, and do not leave a mandated cell to be filled by whoever reads the template next.
  4. If every required input is ABSENT, stop and report NOT ASSESSED — NO DATA as the whole verdict, naming what was missing and which skill produces it.

A verdict of NOT ASSESSED is a success. It is the correct, useful answer to "what does the data say?" when there is no data. The failure mode this prevents is specific: a report whose verdict enum has no "could not run" state produces false clean passes — an asset audit returning COMPLIANT on a project with no assets and no standards, or a performance profile reporting ">99% headroom against a 16.67ms budget" with zero profiler data and no budget ever set.

Absence of evidence is never evidence of absence. A scan that finds no matches because there are no files to scan has not verified anything. Say which of the two happened — a reader cannot tell from a green result.


Phase 1: Identify Balance Domain

Determine the balance domain from $ARGUMENTS — the whole string, since a data-file path may contain spaces:

  • Combat → weapon/ability DPS, time-to-kill, damage type interactions
  • Economy → resource faucets/sinks, acquisition rates, item pricing
  • Progression → XP/power curves, dead zones, power spikes
  • Loot → rarity distribution, pity timers, inventory pressure
  • File path given → load that file directly and infer domain from content

If no argument, ask the user which system to check.


Phase 2: Read Data Files

Read relevant files from assets/data/ and design/balance/ for the identified domain. Note every file read — they will appear in the Data Sources section of the report.


Phase 3: Read Design Document

Registry first. If design/registry/entities.yaml exists, read it before the GDD. Its constants and formulas sections hold the cross-GDD named values and output ranges — the balance targets — already distilled, each with a source: GDD and any revised: date:

Grep pattern="^  - name:" path="design/registry/entities.yaml" output_mode="content" -A 6

Take the intended values from the registry for any constant or formula it lists (the constants: and formulas: blocks); these are the authoritative cross-doc figures a GDD must not contradict. If design/registry/entities.yaml does not exist or has no entries (it ships as an empty stub until /design-system populates it), skip this and use the GDD alone.

Then read the GDD for the system from design/gdd/ to understand intended design targets, tuning knobs, and expected value ranges — for anything the registry did not already supply. This is the baseline for "correct" behaviour. Read it by section: find the headings you need with the Grep tool (pattern ^#, content mode) and Read those ranges with offset and limit.

If the data files are FOUND but neither source gives targets for this domain, the sections that judge against targets (Outliers Detected, and Progression Analysis where the domain has a curve) are NOT ASSESSED — NO DATA. Each one names what was missing — the GDD it looked for in design/gdd/, and whether the registry was absent or empty — and names /design-system, which writes both.


Phase 4: Perform Analysis

Every domain: compare each value with its target. For each named value in the data files, take its target from Phase 3 — a registry constant's value, a registry formula's output_range, or the range the GDD states — and compare. A value outside its target is a row in Outliers Detected (player_damage_base 140 against 90–110). A value with no target anywhere is neither in range nor an outlier: list it under Values That Need Attention as no stated range — not judged.

Then run domain-specific checks:

Combat balance:

  • Calculate DPS for all weapons/abilities at each power tier
  • Check time-to-kill at each tier
  • Identify any options that dominate all others (strictly better)
  • Check if defensive options can create unkillable states
  • Verify damage type/resistance interactions are balanced

Economy balance:

  • Map all resource faucets and sinks with flow rates
  • Project resource accumulation over time
  • Check for infinite resource loops
  • Verify gold sinks scale with gold generation
  • Check if any items are never worth purchasing

Progression balance:

  • Plot the XP curve and power curve
  • Check for dead zones (no meaningful progression for too long)
  • Check for power spikes (sudden jumps in capability)
  • Verify content gates align with expected player power
  • Check if skip/grind strategies break intended pacing

Loot balance:

  • Calculate expected time to acquire each rarity tier
  • Check pity timer math
  • Verify no loot is strictly useless at any stage
  • Check inventory pressure vs acquisition rate

Phase 5: Output the Analysis

## Balance Check: [System Name]

### Data Sources Analyzed
- [List of files read]

### Health Summary: [NOT ASSESSED / HEALTHY / CONCERNS / CRITICAL ISSUES]

### Outliers Detected
| Item/Value | Expected Range | Actual | Issue |
|-----------|---------------|--------|-------|

### Degenerate Strategies Found
- [Strategy description and why it is problematic]

### Progression Analysis
[Graph description or table showing progression curve health]

### Recommendations
| Priority | Issue | Suggested Fix | Impact |
|----------|-------|--------------|--------|

### Values That Need Attention
[Specific values with suggested adjustments and rationale]

Choose the Health Summary by the worst finding, first match wins:

  • CRITICAL ISSUES — a degenerate strategy (one choice dominates every alternative), a progression that stalls or cannot be completed, or an economy loop with no sink
  • CONCERNS — outliers or curve problems a tuning pass can fix, with no finding of the critical kind
  • NOT ASSESSED — nothing to analyze (the no-data path above), a section that needs targets is NOT ASSESSED — NO DATA, or a value had no stated range to judge it against; name which. It ranks below the two finding verdicts, because a measured problem is more actionable than a gap, and above HEALTHY
  • HEALTHY — every value judged against a stated target, no outliers, no degenerate strategies, progression within the stated targets

Phase 6: Fix & Verify Cycle

After presenting the report, use AskUserQuestion:

  • Prompt: "Balance check complete. What would you like to do next?"
  • Options:
    • [A] Fix highest-priority issue now — walk me through it
    • [B] Save report to design/balance/balance-check-[system]-[date].md
    • [C] Stop here — I'll review the findings manually

Run as a subagent? game-designer preloads this skill, and a subagent has no AskUserQuestion. End your reply with the question and these three options as a short list, and stop: whoever called you asks the user and passes the answer back.

If [A]:

  • Ask which issue to address first (refer to the Recommendations table by priority row)
  • Guide the user to update the relevant data file in assets/data/ or formula in design/balance/
  • After each fix, offer to re-run the relevant balance checks to verify no new outliers were introduced
  • If the fix changes a tuning knob defined in a GDD or referenced by an ADR, remind the user:

    "This value is defined in a design document. Run /propagate-design-change [path] on the affected GDD to find downstream impacts before committing."

If [B]:

  • Write the report to design/balance/balance-check-[system]-[date].md (create the directory if needed). Use the current date for [date] in YYYY-MM-DD format.
  • Confirm the file was written, then end with: "Re-run /balance-check after fixes to verify."

If [C]:

  • Summarize open issues and end with: "Re-run /balance-check after fixes to verify."

FAQ

What does the balance-check skill do?

Find balance outliers, broken progressions, degenerate strategies, economy imbalances in formulas and data. 'Check game balance'.

How do I install balance-check?

Run npx skills add https://github.com/donchitos/claude-code-game-studios --skill balance-check in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/balance-check/ (personal) or .claude/skills/balance-check/ (project).

Which AI agents can use balance-check?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is balance-check safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains balance-check?

It is published by donchitos in donchitos/claude-code-game-studios. It has 793 recorded installs.

More from donchitos/claude-code-game-studios

View all →

playtest-report

donchitos/claude-code-game-studios

Structured playtest report template, or turn existing playtest notes into structured feedback.

Docs & Writing610 installs

brainstorm

donchitos/claude-code-game-studios

Guides the user through finding and choosing a game concept. Use when the user wants game ideas, a new concept, a game jam idea, or to explore other directions, including dropping the current idea and starting over.

art-bible

donchitos/claude-code-game-studios

Author the Art Bible — visual identity gating asset production. Run before /map-systems.

Media & Creative568 installs

team-narrative

donchitos/claude-code-game-studios

Orchestrate the narrative team — narrative-director, writer, world-builder, level-designer — for story, world lore, narrative-driven levels.

Frontend & Design561 installs

design-review

donchitos/claude-code-game-studios

Reviews one design document for completeness, internal consistency, implementability, and design standards. Before handing to programmers.

design-system

donchitos/claude-code-game-studios

Section-by-section GDD authoring for one system — walks through each required section, cross-references dependencies.

Frontend & Design508 installs

Popular media & creative skills

View category →

hyperframes

heygen-com/hyperframes

Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.

Media & Creative1.2M installs

media-use

heygen-com/hyperframes

Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.

Media & Creative1.1M installs

hyperframes-registry

heygen-com/hyperframes

About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.

Media & Creative1M installs

hyperframes-creative

heygen-com/hyperframes

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.

Media & Creative916.5K installs

ai-video-generation

101-skills/superpowers

Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse

Media & Creative881.5K installs

ai-image-generation

101-skills/superpowers

Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image

Media & Creative880.3K installs