โก Evolved from Claude Code Game Studios (CCGS) โ now a standalone framework supporting both OpenCode and Pi coding agents.
- ๐ก Motivation
- ๐ Port Status
- ๐ Quick Start
- ๐ Recommended Plugins
- ๐บ๏ธ Key Mappings
- ๐ง Model Mapping
- ๐ฏ Model Assignment Strategy
- ๐ Customizing Models
- ๐ Directory Tree
- ๐ Hooks Plugin
- ๐๏ธ Studio Hierarchy
- ๐ Known Issues
- ๐ License
Game development is a multi-disciplinary process โ design, writing, architecture, programming, art, audio, QA, release โ that's hard to coordinate with AI assistants in ad-hoc chat sessions. OpenCode Game Studios provides a structured framework for the full game lifecycle:
- Pre-workflow exploration โ Rapidly prototype 2-4 ideas with zero commitment before choosing a development workflow
- Design-first pipeline โ Brainstorm โ systems map โ section-by-section GDDs โ cross-GDD review, before any code is written
- Phase gates โ Formal checkpoints between phases with PASS/CONCERNS/FAIL verdicts that prevent advancing with gaps
- Workflow selection โ Choose Hybrid (lightweight discovery then production) or Full OCGS (process-heavy from day one), depending on team size and project maturity
- 52 coordinated agents โ From creative director to engine specialists, each with defined responsibilities, delegation maps, and strict domain boundaries
- 77 slash commands โ Route through the right skill every time, from
/concept-brainstormto/launch-checklist
This project evolved from CCGS and runs on OpenCode and Pi.
โ ๏ธ Active Development โ This is a living framework. Things will break, change, and improve. Report bugs at github.com/striderZA/OpenCodeGameStudios/issues.
| Component | CCGS (Claude Code) | OpenCode | Pi | Status |
|---|---|---|---|---|
| ๐ค Agents | 49 agents (.claude/agents/) |
52 agents (.agents/agents/) |
52 agents (.agents/agents/) |
โ |
| โจ๏ธ Skills | 72 skills (.claude/skills/) |
77 skills (.agents/skills/) |
77 skills (.agents/skills/) |
โ +5 |
| โจ๏ธ Commands | โ | 77 commands (.agents/commands/) |
โ prompt templates | โ New |
| ๐ Plugins | 12 bash hooks (.claude/hooks/) |
3 TS plugins (.opencode/plugins/) |
7 Pi extensions (.pi/extensions/) |
โ 158 tests |
| ๐ Rules | 11 rule files (.claude/rules/) |
11 rule files (.agents/rules/) |
11 rule files (.agents/rules/) |
โ |
| โ๏ธ Config | CLAUDE.md + .claude/settings.json |
AGENTS.md + opencode.json |
AGENTS.md + .pi/settings.json |
โ |
opencodeWindows users:
.opencode/{agents,commands,skills,rules}are git symlinks and requirecore.symlinks=true(+ Developer Mode) to check out correctly โ see Known Issues if/shows no commands.
Type / to browse all 77 skills and 54 commands, or /start for onboarding.
piAll OCGS skills, commands, and agents load automatically through Pi extensions. See docs/pi-compatibility.md for setup details.
See OCGS-Pong โ a complete Pong game built entirely with this toolchain. Demonstrates the full workflow from concept through implementation using OCGS agents and skills.
The framework is partitioned into 22 pluggable theme modules. Only install what you need for your project:
| Module | Description |
|---|---|
core |
Framework skeleton โ directors, onboarding, /start, /help (required) |
art |
Aseprite MCP, art bible, asset specs, art generation |
design |
Game mechanics, systems design, combat, balance, playtesting |
architecture |
Technical planning, ADRs, architecture review |
stories |
Epics, stories, dev workflow, code review |
programming |
Gameplay, AI, engine, network agents + coding rules |
ui |
UX design, UI programming, accessibility |
audio |
Audio direction, sound design |
narrative |
Story, world-building, dialogue |
level-design |
Level layout, encounter design |
qa |
Testing strategy, bug tracking, profiling, skill testing |
release |
Release management, sprints, changelogs, hotfixes |
prototyping |
Rapid prototyping, concept exploration |
live-ops |
Post-launch content, community management |
localization |
i18n, translation pipeline |
engine-godot |
Godot 4 specialists (GDScript, C#, shaders, GDExtension) |
engine-unity |
Unity specialists (DOTS, shaders, Addressables, UI) + unity-mcp |
engine-unreal |
Unreal Engine 5 specialists (GAS, Blueprint, replication, UMG) |
engine-sfml3 |
SFML 3 specialist (Graphics, Audio, Network, Window, System) |
engine-raylib |
Raylib specialist (core, rlgl, raudio, raymath, raygui) |
engine-bevy |
Bevy specialist (ECS, 2D/3D rendering, bevy_ui, assets, audio) |
data |
Data file conventions and validation |
# Install modules
node .opencode/modules/install.mjs add core
node .opencode/modules/install.mjs add engine-godot art design qa
# List all available and installed modules
node .opencode/modules/install.mjs list
# See module details
node .opencode/modules/install.mjs info core
# Remove a module (preserves user-modified files)
node .opencode/modules/install.mjs remove artModule sources live in .agents/modules/<name>/ and are copied into the
framework directories on install. User-modified files are detected during
removal and left in place.
These plugins enhance the OpenCode experience and are recommended for all game development sessions:
| Plugin | Purpose |
|---|---|
| dynamic-context-purging | Dynamic context pruning โ automatically manages context window size, indexes content for search, and prevents context overflow during long sessions |
| Superpowers | Enhanced skill library โ provides structured workflows for brainstorming, test-driven development, writing plans, code review, and parallel agent dispatch |
OpenCode: Add to your opencode.json:
{
"plugin": [
"./.opencode/plugins/ccgs-hooks.ts",
"PLUGIN_NAME"
]
}Pi: OCGS Pi extensions are bundled in .pi/extensions/ and auto-discovered
on startup. See docs/pi-extensions.md for details.
| CCGS (Claude Code) | OpenCode | Pi |
|---|---|---|
.claude/skills/*.md โ |
.agents/skills/*.md |
.agents/skills/*.md |
.claude/agents/*.md โ |
.agents/agents/*.md |
.agents/agents/*.md |
.claude/hooks/*.sh โ |
.opencode/plugins/ccgs-hooks.ts |
.pi/extensions/ |
.claude/rules/*.md โ |
.agents/rules/*.md |
.agents/rules/*.md |
CLAUDE.md โ |
AGENTS.md |
AGENTS.md |
.claude/settings.json โ |
opencode.json |
.pi/settings.json |
| CCGS | OpenCode |
|---|---|
opus ๐ |
kimi-k2.6 |
sonnet ๐๏ธ |
qwen3.6-plus |
haiku ๐ |
deepseek-v4-flash |
| Tier | Model | Agents | Rationale |
|---|---|---|---|
| Directors (Tier 1) | opencode-go/kimi-k2.6 |
3 (creative-director, technical-director, producer) | Heaviest model for strategic planning, architecture decisions, and cross-team coordination |
| Workhorses (Tier 2-3) | opencode-go/qwen3.6-plus |
43 (all other agents) | Balanced model for day-to-day design, implementation, testing, and review tasks |
| Lightweight (Special) | opencode-go/deepseek-v4-flash |
3 (community-manager, devops-engineer, sound-designer) | Fast, low-latency model for simple, repetitive, or always-running agents |
Note: Subagents invoked via the
tasktool inherit the caller's model regardless of their frontmattermodel:field. See Known Issues.
The default session model (set via opencode -m) should match the tier of work:
opencode -m opencode-go/kimi-k2.6โ director-level sessionsopencode -m opencode-go/qwen3.6-plusโ general development sessionsopencode -m opencode-go/deepseek-v4-flashโ quick QA or maintenance sessions
OpenCode supports any model provider โ switch the studio to your preferred models, including local ones, with a single command.
# Preview the change first
node utils/assign-models.js --dry-run --map '{
"opencode-go/kimi-k2.6": "anthropic/claude-opus-4",
"opencode-go/qwen3.6-plus": "openai/gpt-4o",
"opencode-go/deepseek-v4-flash": "ollama/llama3.2"
}'
# Apply it
node utils/assign-models.js --map '{
"opencode-go/kimi-k2.6": "anthropic/claude-opus-4",
"opencode-go/qwen3.6-plus": "openai/gpt-4o",
"opencode-go/deepseek-v4-flash": "ollama/llama3.2"
}'Or save your mapping to a JSON file and refer to it:
node utils/assign-models.js --config my-models.json| Provider | Model ID Format | Example |
|---|---|---|
| OpenCode (default) | opencode-go/<model> |
opencode-go/qwen3.6-plus |
| Anthropic Claude | anthropic/<model> |
anthropic/claude-opus-4, anthropic/claude-sonnet-4 |
| OpenAI | openai/<model> |
openai/gpt-4o, openai/o3 |
| Google Gemini | google/<model> |
google/gemini-2.5-pro |
| Ollama (local) | ollama/<model> |
ollama/llama3.2, ollama/mistral |
| OpenAI-compatible | <endpoint>/<model> |
http://localhost:11434/v1/llama3.2 |
Tip: Run
opencode modelsto list all models available through your configured providers. See the OpenCode provider docs for setup instructions.
/
โโโ AGENTS.md ๐ Project configuration
โโโ opencode.json โ๏ธ OpenCode config (permissions, plugins)
โโโ .pi/ โ๏ธ Pi config (extensions, settings)
โโโ .agents/ ๐ฆ Canonical content (harness-agnostic)
โ โโโ agents/ ๐ค 52 agent definitions
โ โโโ skills/ ๐ ๏ธ 77 skill workflows
โ โโโ commands/ โจ๏ธ 77 slash commands
โ โโโ rules/ ๐ 11 coding standards
โ โโโ modules/ ๐งฉ 22 pluggable theme modules
โ โโโ ... 22 modules total
โโโ .opencode/ โ๏ธ OpenCode-specific (plugins, config)
โ โโโ commands/ โ .agents/commands/ (symlink)
โ โโโ agents/ โ .agents/agents/ (symlink)
โ โโโ skills/ โ .agents/skills/ (symlink)
โ โโโ rules/ โ .agents/rules/ (symlink)
โ โโโ plugins/
โ โ โโโ ccgs-hooks.ts ๐ Session lifecycle, validation
โ โ โโโ drift-detector.ts ๐ Template drift detection
โ โ โโโ changelog-generator.ts ๐ Changelog generation
โ โ โโโ tests/ ๐งช 18 test suites (158 tests)
โ โโโ modules/
โ โโโ install.mjs CLI: add/remove/list modules
โ โโโ installed.json Module manifest
โ โโโ ... 22 module sources
โโโ design/ ๐จ Game design documents
โโโ .pi/ โ๏ธ Pi-specific extensions & settings
โ โโโ extensions/ ๐งฉ Pi extensions (ocgs-core, delegation, question, etc.)
โโโ docs/
โ โโโ CONTRIBUTING.md ๐ Framework contribution guide
โ โโโ authoring-agents.md ๐ค Agent authoring guide
โ โโโ authoring-skills.md ๐ ๏ธ Skill authoring guide
โ โโโ pi-compatibility.md ๐ง Pi setup guide
โ โโโ pi-extensions.md ๐งฉ Pi extension reference
โ โโโ pi-workflow.md ๐ Pi workflow differences
โ โโโ framework/ ๐๏ธ OCGS framework reference docs & templates
โ โโโ architecture/ ๐๏ธ ADRs
โ โโโ engine-reference/ ๐ Engine API reference
โโโ tests/
โ โโโ agents/ ๐ Agent framework validation
โ โโโ workflow/ ๐ Workflow integrity (refs, paths, gates, invariants)
โ โโโ [game-specific tests]
โ โโโ [spawned by test-setup]
โโโ production/ ๐ Sprint plans, session logs
โโโ utils/ ๐ง Developer utilities
โ โโโ assign-models.js ๐ฏ Batch-model assignment tool
โโโ ... ๐ฎ Game source & assets
The OCGS plugin system is documented in .opencode/plugins/README.md.
Three TypeScript plugins implement the original 12 CCGS bash hooks plus
extensions:
| Plugin | Purpose |
|---|---|
ccgs-hooks.ts |
Session lifecycle, commit validation, asset checks, agent logging, gap detection |
drift-detector.ts |
Detects agent/skill/command template drift on session start and file writes |
changelog-generator.ts |
Generates CHANGELOG.md from conventional commits since last tag |
All 12 bash hooks from CCGS ported to ccgs-hooks.ts:
| # | Bash Hook | ๐ OpenCode Event | ๐งช Tests |
|---|---|---|---|
| 1 | session-start.sh |
session.created |
18 |
| 2 | session-stop.sh |
session.idle / server.instance.disposed |
10 |
| 3 | detect-gaps.sh |
session.created |
15 |
| 4 | log-agent.sh |
tool.execute.before (task) |
5 |
| 5 | log-agent-stop.sh |
tool.execute.after (task) |
4 |
| 6 | validate-assets.sh |
tool.execute.after |
16 |
| 7 | validate-commit.sh |
tool.execute.before (git commit) |
17 |
| 8 | validate-push.sh |
tool.execute.before (git push) |
13 |
| 9 | validate-skill-change.sh |
tool.execute.after |
12 |
| 10 | pre-compact.sh |
experimental.session.compacting |
14 |
| 11 | post-compact.sh |
experimental.compaction.autocontinue |
5 |
| 12 | notify.sh |
Utility (showNotification) |
โ |
๐งช Run plugin test suite:
npm run test:plugins(needs thetsxESM loader โ see CONTRIBUTING.md) ๐งช Run workflow integrity suite:node tests/workflow/run-all.mjs๐งช Run e2e parity suite:npm run test:parity(requires both theopencodeandpiCLIs installed)
See CONTRIBUTING.md for guides on adding agents, skills, commands, rules, and plugins.
๐ฌ creative-director ๐ง technical-director ๐ฏ producer
โโโ ๐จ art-director โโโ ๐ป lead-programmer
โโโ ๐ต audio-director โโโ ๐งช qa-lead
โโโ ๐ narrative-director โโโ ๐ฆ release-manager
โโโ ๐ฎ game-designer โโโ ๐ localization-lead
โโโ ... (49 agents total)
| Issue | Impact | Workaround |
|---|---|---|
Subagent model resolution via task โ Agent model: frontmatter fails with ProviderModelNotFoundError for models that work when used directly via opencode -m <model>. Subagents inherit the caller's model per OpenCode docs, so the frontmatter model may only apply when the agent runs as a primary session. |
Agents using opencode-go/kimi-k2.6 and opencode-go/deepseek-v4-flash as subagents via task |
Use opencode-go/qwen3.6-plus for subagent-heavy workflows, or start dedicated sessions with opencode -m <model> for director-level agents. Root cause being tracked upstream in OpenCode. |
.opencode/* symlinks inert on Windows โ .opencode/{agents,commands,skills,rules} are committed as git symlinks. With the Windows default core.symlinks=false, git checks them out as plain-text stub files instead of real symlinks, so OpenCode's /-command and skill/agent discovery finds nothing. |
OpenCode is non-functional on a stock Windows clone (Pi is unaffected โ it reads .agents/ directly) |
git config --global core.symlinks true + enable Developer Mode, then re-clone; or run node tools/fix-opencode-symlinks.mjs to repair an existing checkout. |
MIT โ Free for any use.
Built with โค๏ธ for AI-assisted game development
OpenCode Game Studios ยท CCGS Port
MIT License ยท Free for any use
โ Support development
