skills/game-economy-design/SKILL.md
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.
npx skillsauth add fcsouza/agent-skills design-game-economy-designInstall 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.
Virtual currencies, sinks/faucets, inflation control, reward balancing, and monetization integration. Genre-agnostic — applies to any game with resources, currencies, or tradeable items.
Trigger: game economy, virtual currency, sinks and faucets, inflation, reward balance, loot tables, crafting economy, marketplace, monetization, pricing, premium currency, gold sinks, resource balance
game-design-fundamentals — core loop understandingpostgres-game-schema — currency and item data modelsSid Meier: "A game is a series of interesting decisions" — economy makes decisions meaningful. Richard Garfield: "Elegant systems create depth from simple rules." Raph Koster: "Players will optimize the fun out of your game" — design economies that stay fun when optimized. Will Wright: "Simulation systems generate emergent behavior" — economies should emerge, not be scripted.
List every currency: name, how earned, how spent, persistence on reset.
Every way players earn currency: combat rewards, quest rewards, daily login, achievements, trading.
Every way players spend: upgrades, crafting, shop, repairs, fees, taxes, cosmetics.
Create a spreadsheet simulating player income vs. spending over time. Target: net currency growth should be slow or zero at every stage.
Use weighted random for drops, with pity system for rare items. Cross-reference quest-mission-design for quest rewards.
Map premium currency to Stripe products via stripe-game-payments. Ensure premium currency can't break game balance.
| Metric | Healthy Range | Warning Sign | |--------|-------------|-------------| | Daily currency earned / spent ratio | 0.8-1.2 | > 1.5 (inflation) or < 0.5 (deflation) | | Median player currency held | 2-5x average purchase cost | > 20x (nothing to buy) | | Premium conversion rate | 2-5% of active players | < 1% (too expensive) or > 15% (too aggressive) | | Time to first meaningful purchase | 5-15 minutes | > 30 min (slow start) |
postgres-game-schema — currency and item table schemasstripe-game-payments — premium currency and IAP integrationquest-mission-design — quest reward balancinggame-design-fundamentals — core loop reward schedulesredis-game-patterns — leaderboard caching for economy rankingsSid Meier: The economy exists to make decisions interesting. If every choice has an obvious best option, the economy has failed. Players should regularly face "do I buy upgrade A or save for upgrade B?" dilemmas.
Richard Garfield (Magic: The Gathering): The best economies emerge from simple, elegant rules. A few well-designed resource types with clear trade-offs create more depth than a dozen currencies that nobody understands.
Raph Koster: Players will find the optimal farming strategy and grind it. Design your economy so that even the optimal path is fun, and the sub-optimal paths are still viable.
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.
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.
testing
Adds or updates a single world lore entry (faction, location, NPC, or event) — validates against existing lore for consistency, applies the right template, and updates docs/world-lore.md. Extract the entry type (faction/location/npc/event) and name from the user's message.