systems-design
System interaction architecture, emergence analysis, coupling evaluation, and possibility space design. Use when designing a new game's system architecture, adding a system to an existing game, evaluating system health, diagnosing 'why doesn't this feel deep?', or when a game has many features but no emergent depth. The central structural skill — bridges individual mechanic evaluation (game-design) with architectural questions about how systems interact to create depth.
What this skill does
# Systems Design
**Purpose:** Tools for designing, evaluating, and diagnosing the structural architecture of game systems — how they interact, what they produce together, and why depth comes from interaction rather than accumulation.
**Core philosophy:** Games are not built from features. They are built from interacting systems. Depth comes from how systems interact, not how complex they are alone. A game with four tightly interacting systems is deeper than a game with twelve isolated ones.
---
## When to Activate
Use this skill when:
- Designing the system architecture of a new game
- Adding a new system to an existing game and need to evaluate fit
- A game has many features but feels shallow — "lots to do, nothing matters"
- Evaluating whether systems are producing emergent depth or just mechanical complexity
- Deciding which systems to build, cut, or defer
- Diagnosing dominant strategies that collapse possibility space
- Planning system build order for a prototype or MVP
- Reviewing whether a game's systems serve its experience pillars
---
## Core Framework: The System Interaction Matrix
The interaction matrix is the primary diagnostic tool. It maps every game system against every other system and classifies the interaction.
### Interaction Types
| Type | Symbol | Definition | Example |
|------|--------|------------|---------|
| **Feeds** | `→` | A generates input for B | Combat → Loot (kills produce drops) |
| **Constrains** | `⊣` | A limits B's option space | Stamina ⊣ Combat (fatigue restricts combos) |
| **Enables** | `⊕` | A creates conditions for B to function | Exploration ⊕ Crafting (discovery unlocks recipes) |
| **Conflicts** | `⊗` | A and B compete for the same resource or player attention | Building ⊗ Combat (same time budget) |
| **Emergent** | `✦` | Interaction produces behaviors neither system creates alone | Stealth ✦ AI (guards create patrol puzzles) |
| **Independent** | `·` | No meaningful interaction | Weather · Inventory |
### Template
Build this matrix early. Update it as systems evolve.
```
| Combat | Craft | Explore | Stealth | Economy |
-------------|--------|-------|---------|---------|---------|
Combat | — | | | | |
Craft | | — | | | |
Explore | | | — | | |
Stealth | | | | — | |
Economy | | | | | — |
```
### Worked Example: Action-Survival Game
```
| Combat | Craft | Explore | Stealth | Economy |
-------------|--------|--------|---------|---------|---------|
Combat | — | →Feed | ⊗Attn | ✦Emrg | →Feed |
Craft | ⊕Enabl | — | ⊕Enabl | ⊕Enabl | ⊣Constr |
Explore | →Feed | →Feed | — | ⊕Enabl | →Feed |
Stealth | ✦Emrg | ·Indep | →Feed | — | ·Indep |
Economy | ⊣Constr| →Feed | ⊕Enabl | ·Indep | — |
```
**Reading the matrix:**
- Row = source system, Column = target system
- Combat → Craft (Feed): combat produces materials for crafting
- Stealth ✦ Combat (Emergent): combining stealth with combat creates ambush tactics neither system produces alone
- Stealth · Economy (Independent): no meaningful connection — potential missed opportunity or acceptable isolation
### Matrix Health Indicators
- **Any row or column that is all `·` (Independent):** Vestigial system. Cut it or connect it.
- **Many `✦` (Emergent) cells:** Strong sign of depth. Protect these interactions.
- **No `⊣` (Constrains) cells:** Systems may lack tension. Players can engage everything without trade-offs.
- **Dense `⊗` (Conflicts) cells:** Players may feel pulled in too many directions. Reduce competing demands.
---
## System Selection
Not every game needs every possible system. Start from intent, not from a feature list.
### Derivation Method
1. **Start from experience pillars** (from **game-vision**) — what does this game want players to feel?
2. **Derive core loop verbs** — what does the player *do* repeatedly?
3. **Identify required systems** — which systems do those verbs demand?
4. **Add supporting systems** — only if they strengthen the core loop
5. **Stop** — resist the urge to add more
### The Three-Gate Filter
Before adding any system, it must pass all three gates:
| Gate | Question | If "No" |
|------|----------|---------|
| **Pillar** | Does this system serve an experience pillar? | Cut it — no pillar means no purpose |
| **Decision** | Does it create meaningful player decisions? | Redesign it — systems without decisions are content, not systems |
| **Interaction** | Does it interact with at least 2 other systems? | Defer it — isolated systems add complexity without depth |
A system that fails any gate is a candidate for cutting or deferral, not implementation.
---
## Coupling Analysis
How tightly systems depend on each other determines the architecture's flexibility and depth.
### Coupling Spectrum
| Level | Description | Example | Properties |
|-------|-------------|---------|------------|
| **Tight** | Systems are inseparable; changing one requires changing the other | Combat ↔ Health | High cohesion, brittle if poorly designed, essential for core loop |
| **Loose** | Systems enrich each other but function independently | Trading ↔ Exploration | Flexible, composable, good for supporting systems |
| **None** | No interaction whatsoever | Weather ↔ Inventory (if weather has no gameplay effect) | Waste — the system exists but contributes nothing to the whole |
### Coupling Guidelines
- **Core loop systems should be tightly coupled.** The actions at the heart of your game must be inseparable. If you can remove one without affecting the others, it's not truly core.
- **Supporting systems should be loosely coupled.** They add depth and variety, but the game must function (at reduced quality) without them.
- **No system should be completely uncoupled.** An isolated system is dead weight. If it doesn't interact with anything, it's consuming development budget and player attention for zero depth.
- **No system should couple to everything.** A system that touches every other system is a god-system — brittle, hard to tune, impossible to test in isolation. If you find one, decompose it.
### Coupling Diagnostic
- [ ] Every core loop system is tightly coupled to at least one other core system
- [ ] Supporting systems have 2-3 loose couplings, not 0 or 7+
- [ ] No system is completely isolated
- [ ] No single system is coupled to more than 60% of all other systems
- [ ] Removing any supporting system degrades but doesn't break the core loop
---
## Emergence Analysis
Emergence is when interacting systems produce behaviors that no individual system was designed to create. It is the source of depth, replayability, and "I can't believe that worked" moments.
### Emergence Categories
| Category | Description | Response |
|----------|-------------|----------|
| **Beneficial** | Player creativity, unexpected strategies, emergent narratives | Protect. Do not patch out. Highlight in tutorials or community. |
| **Neutral** | Surprising but harmless behaviors | Monitor. May become beneficial or degenerate over time. |
| **Degenerate** | Exploits, content trivialization, infinite loops, economy breaks | Fix. But understand the root interaction before patching — a naive fix often creates new degenerate emergence. |
### Predicting Emergence
You cannot predict all emergent behaviors. The combinatorial space of system interactions grows factorially. But you can be systematic about the ones you check:
**Step 1: Two-system interactions.** For each pair of systems, ask: "What happens when a player uses A and B together in ways I didn't explicitly design?" Trace the most obvious combinations.
**Step 2: Three-system chains.** For each triple, trace: "If A feeds B and B enables C, what does A indirectly produce in C?" Three-system chains Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.