From game-dev
Navigates Claude Code game dev skill ecosystem for AI agents: skill selection, dependency order, project setup, feature guides for worktrees, MCP, agents, and more.
npx claudepluginhub fcsouza/agent-skills --plugin standalone-skillsThis skill uses the workspace's default tool permissions.
How AI coding agents navigate this game development skill ecosystem — file conventions, which skills to read first, dependency order, and workflow patterns.
ARCHITECTURE.mdcustom-agents.mdmcp-setup.mdplan-mode.mdsettings-full.mdtemplates/claude-hooks-config.jsontemplates/game-agents/game-designer.mdtemplates/game-agents/game-engineer.mdtemplates/game-agents/narrative-writer.mdtemplates/game-project-claude.mdtodo-patterns.mdvision-multimodal.mdworktrees.mdRole-plays Link Freeman to execute dev stories, implement features, prototype mechanics, and review code for Unity, Unreal, and custom engines. Activates on Link Freeman or Game Developer requests.
Game development tools, asset pipelines, version control, build systems, and team development workflows for efficient production.
Builds complete browser games from scratch: scaffolds with Phaser/Three.js, generates assets/audio, adds Playwright tests, deploys to here.now, monetizes via Play.fun. Use for new 2D/3D game concepts.
Share bugs, ideas, or general feedback.
How AI coding agents navigate this game development skill ecosystem — file conventions, which skills to read first, dependency order, and workflow patterns.
Trigger: game dev workflow, skill navigation, which skill to use, game dev setup, project structure, skill dependencies, agent workflow, how to start, game dev ecosystem
None — this is the entry point for the entire ecosystem.
quest-narrative-coherence firstpostgres-game-schema before writing game logicDedicated files for each Claude Code feature. Read the relevant one when setting up a new project or adding a capability.
| File | Feature | When to Use |
|---|---|---|
| custom-agents.md | Custom Claude Code agents | Setting up game-engineer, narrative-writer, game-designer agents |
| worktrees.md | Git worktrees | Isolating a new game system or experimental change |
| mcp-setup.md | MCP servers (GitHub, Playwright, Context7) | Connecting external tools to Claude Code |
| plan-mode.md | Plan mode | Before implementing any new game system |
| todo-patterns.md | TodoWrite task tracking | Multi-step feature implementation |
| vision-multimodal.md | Screenshots + vision | Debugging UI, reviewing level design, game state |
| settings-full.md | Full .claude/settings.json | Permissions, hooks, and env vars for a game project |
| templates/game-agents/ | Agent definition files | Copy to .claude/agents/ in your project |
| templates/.mcp.json | MCP config | Copy to project root as .mcp.json |
| templates/claude-hooks-config.json | Hooks config | Copy hooks section into .claude/settings.json |
| templates/game-project-claude.md | Project CLAUDE.md | Copy to game project root |
[claude-code-game-workflow] (YOU ARE HERE)
|
┌───────────────┼───────────────┐
▼ ▼ ▼
[postgres-game-schema] [game-design-fundamentals] [quest-narrative-coherence]
| | | |
▼ ▼ ▼ ▼
[redis] [bullmq] [level-design] [worldbuilding]
| | [game-economy] [story-structure]
▼ ▼ [ui-ux-game] [character-design]
[game-backend-architecture] | [quest-mission-design]
| |
▼ ▼
[game-state-sync] [stripe-game-payments]
[betterauth] [elevenlabs-sound-music]
claude-code-game-workflow (this skill)game-design-fundamentals — define core loop, player motivationpostgres-game-schema — set up databasegame-backend-architecture — set up Elysia serverquest-narrative-coherence firstworldbuilding — load current world state| Need | Skill | Domain |
|---|---|---|
| Database schemas | postgres-game-schema | Engineering |
| Job queues | bullmq-game-queues | Engineering |
| Game server + WebSocket | game-backend-architecture | Engineering |
| Caching + leaderboards | redis-game-patterns | Engineering |
| Authentication | betterauth-integration | Engineering |
| Payments / IAP | stripe-game-payments | Engineering |
| Sound / Music | elevenlabs-sound-music | Engineering |
| Netcode / State sync | game-state-sync | Engineering |
| Core game design | game-design-fundamentals | Design |
| Level / Area design | level-design | Design |
| Quests / Missions | quest-mission-design | Design |
| Economy / Currency | game-economy-design | Design |
| UI / UX | ui-ux-game | Design |
| World lore | worldbuilding | Narrative |
| Story / Plot | story-structure-game | Narrative |
| Characters / NPCs | character-design-narrative | Narrative |
| Narrative consistency | quest-narrative-coherence | Narrative |
| CI/CD | ci-cd-game | Infrastructure |
| Monitoring | monitoring-game-ops | Infrastructure |
| Cursor/Codex setup | cursor-codex-integration | Infrastructure |
SKILL.md — knowledge document, read firstboilerplate/ — copy as starting codetemplates/ — configuration and document templatesARCHITECTURE.md — diagrams for infrastructure skillsQuick setup for a new game project (4 steps):
templates/game-project-claude.md → project root as CLAUDE.md. Fill in Core Loop, Genre, Platforms, Multiplayer.templates/claude-hooks-config.json into .claude/settings.json. See settings-full.md for the complete settings structure with permissions.templates/.mcp.json → project root. Set GITHUB_TOKEN in shell env.templates/game-agents/ → .claude/agents/ in your project.For detailed configuration of each Claude Code feature, see the Feature Guides table above.
In any prompt, reference skill files directly to inject their context:
@skills/game-dev/engineering/postgres-game-schema/SKILL.md — add inventory table
@skills/game-dev/narrative/quest-narrative-coherence/SKILL.md — create merchant quest
@skills/game-dev/engineering/matchmaking-system/SKILL.md — implement ELO queue
Copy the full hooks config from templates/claude-hooks-config.json. Four patterns:
Detects keywords in the user's prompt and prints the relevant skill path before Claude responds. Runs on every prompt — zero false-negative cost.
UserPromptSubmitquest / character / NPC / story / lore / narrative → quest-narrative-coherence/SKILL.mdschema / database / inventory / drizzle / migration → postgres-game-schema/SKILL.mdmatchmaking / lobby / ELO / rank / queue → matchmaking-system/SKILL.mdanalytics / retention / funnel / D1 / D7 / cohort → gameplay-analytics/SKILL.mdredis / leaderboard / pubsub / cache / presence → redis-game-patterns/SKILL.mdstate / sync / netcode / delta / rollback / prediction → game-state-sync/SKILL.md.claude/settings.json.{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "PROMPT=$(echo \"$CLAUDE_HOOK_INPUT\" | jq -r '.prompt // \"\"'); for kw in quest character NPC story lore narrative; do echo \"$PROMPT\" | grep -qi \"$kw\" && echo \"📚 Narrative skill: Read narrative/quest-narrative-coherence/SKILL.md first\" && break; done; for kw in schema database inventory drizzle migration; do echo \"$PROMPT\" | grep -qi \"$kw\" && echo \"📚 Engineering skill: Read engineering/postgres-game-schema/SKILL.md\" && break; done; for kw in matchmaking lobby elo rank queue; do echo \"$PROMPT\" | grep -qi \"$kw\" && echo \"📚 Engineering skill: Read engineering/matchmaking-system/SKILL.md\" && break; done; for kw in analytics retention funnel D1 D7 D30 cohort; do echo \"$PROMPT\" | grep -qi \"$kw\" && echo \"📚 Engineering skill: Read engineering/gameplay-analytics/SKILL.md\" && break; done; for kw in redis leaderboard pubsub cache presence; do echo \"$PROMPT\" | grep -qi \"$kw\" && echo \"📚 Engineering skill: Read engineering/redis-game-patterns/SKILL.md\" && break; done; exit 0"
}
]
}
]
}
}
Blocks careless writes to narrative files by injecting a reminder before Claude touches them.
PreToolUseWrite|Editquest|character|story|narrative|lore|npc — if yes, prints a reminder{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "FILE=$(echo \"$CLAUDE_HOOK_INPUT\" | jq -r '.tool_input.file_path // .tool_input.path // \"\"'); echo \"$FILE\" | grep -qiE '(quest|character|story|narrative|lore|npc)' && echo \"[game-dev] ⚠️ Narrative file: ensure quest-narrative-coherence check is complete.\"; exit 0"
}
]
}
Auto-formats TypeScript after every file write. Game projects accumulate debt fast when formatting is skipped.
PostToolUseWrite|Editbiome.json or biome.jsonc exists in the project root, runs bunx biome check --write on the written file{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "cd \"$CLAUDE_PROJECT_DIR\" && [ -f biome.json ] || [ -f biome.jsonc ] && bunx biome check --write . 2>/dev/null || true"
}
]
}
After every session, reminds the developer to update the narrative registry files.
Stopquest-registry.md and world-lore.md{
"hooks": {
"Stop": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "echo \"[game-dev] Session ended. If you created narrative content, update quest-registry.md and world-lore.md.\""
}
]
}
]
}
}
Use parallel Claude Code agents when a feature spans multiple domains. Each agent reads its own skills, works in isolation, and produces a concrete output you merge at the end.
When adding a major feature, split into two agents running simultaneously:
They work on separate concerns with no shared state. Use "worktree" isolation to give each agent its own git branch. Merge when both complete.
Prompt:
Use the Agent tool to run 2 parallel agents:
- Agent 1: Read skills/game-dev/design/game-economy-design/SKILL.md and design the currency economy for our idle game. Output: economy-design.md
- Agent 2: Read skills/game-dev/engineering/postgres-game-schema/SKILL.md and create the initial player schema. Output: modify db/schema.ts
For a narrative-heavy session with multiple interconnected characters and quests:
quest-narrative-coherence + creates new quest (loads world-lore.md, checks consistency)character-design-narrative + creates NPCs for that questRun in parallel. Then have the coherence agent review both outputs before merging to catch conflicts.
Prompt:
Use the Agent tool to run 2 parallel agents:
- Agent 1: Read narrative/quest-narrative-coherence/SKILL.md and narrative/worldbuilding/SKILL.md. Create a new merchant guild quest. Check world-lore.md for faction alignment. Output: quests/merchant-guild-q1.md
- Agent 2: Read narrative/character-design-narrative/SKILL.md. Create 2 NPCs for a merchant guild quest — a quest giver and antagonist. Output: characters/merchant-npcs.md
Breaking down "add matchmaking" into parallel workstreams:
matchmaking-system + game-economy-design → produces matchmaking config docmatchmaking-system + bullmq-game-queues → implements server-side queue logicpostgres-game-schema + redis-game-patterns → creates tables + Redis key designAll three run in parallel. One integration agent (sequential, after all three complete) assembles the final feature.
When not to parallelize: When Agent B's output depends on Agent A's output. Keep those sequential.
What to persist across Claude Code sessions so agents never lose context.
Write to ~/.claude/projects/<project>/memory/MEMORY.md after making significant decisions:
attributes->>'class'"quest-registry.md~/.claude/projects/<your-project>/memory/
MEMORY.md # key decisions — loaded every session automatically
world-state.md # factions, geography, lore summary
economy-state.md # current balance parameters
schema-decisions.md # why each schema looks the way it does
Keep companion files (world-state.md, etc.) in the project repo under docs/memory/ and symlink or reference them from MEMORY.md so they travel with the codebase.
MEMORY.md under 150 lines (Claude truncates at ~200)