diff --git a/.agents/modules/architecture/skills/architecture-review/SKILL.md b/.agents/modules/architecture/skills/architecture-review/SKILL.md index ab311e9..99d614b 100644 --- a/.agents/modules/architecture/skills/architecture-review/SKILL.md +++ b/.agents/modules/architecture/skills/architecture-review/SKILL.md @@ -5,7 +5,6 @@ argument-hint: "[focus: full | coverage | consistency | engine | single-gdd path user-invocable: true allowed-tools: Read, Glob, Grep, Write, Task, question agent: technical-director -model: opencode-go/kimi-k2.6 --- # Architecture Review diff --git a/.agents/modules/core/docs/coordination-rules.md b/.agents/modules/core/docs/coordination-rules.md index a81bea2..8d83f04 100644 --- a/.agents/modules/core/docs/coordination-rules.md +++ b/.agents/modules/core/docs/coordination-rules.md @@ -12,25 +12,6 @@ 5. **No Unilateral Cross-Domain Changes**: An agent must never modify files outside its designated directories without explicit delegation. -## Model Tier Assignment - -Skills and agents are assigned to model tiers based on task complexity: - -| Tier | Model | When to use | -|------|-------|-------------| -| **Haiku** | `opencode-go/deepseek-v4-flash` | Read-only status checks, formatting, simple lookups — no creative judgment needed | -| **Sonnet** | `opencode-go/qwen3.6-plus` | Implementation, design authoring, analysis of individual systems — default for most work | -| **Opus** | `opencode-go/kimi-k2.6` | Multi-document synthesis, high-stakes phase gate verdicts, cross-system holistic review | - -Skills with `model: haiku`: `/help`, `/sprint-status`, `/story-readiness`, `/scope-check`, -`/project-stage-detect`, `/generate-changelog`, `/patch-notes`, `/onboard` - -Skills with `model: opus`: `/review-all-gdds`, `/architecture-review`, `/gate-check` - -All other skills default to Sonnet. When creating new skills, assign Haiku if the -skill only reads and formats; assign Opus if it must synthesize 5+ documents with -high-stakes output; otherwise leave unset (Sonnet). - ## Subagents vs Agent Teams This project uses two distinct multi-agent patterns: diff --git a/.agents/modules/core/docs/director-gates.md b/.agents/modules/core/docs/director-gates.md index 33a9f4f..946fb17 100644 --- a/.agents/modules/core/docs/director-gates.md +++ b/.agents/modules/core/docs/director-gates.md @@ -124,7 +124,7 @@ For phase gates, record in `docs/architecture/architecture.md` or ## Tier 1 — Creative Director Gates -Agent: `creative-director` | Model tier: Opus | Domain: Vision, pillars, player experience +Agent: `creative-director` | Domain: Vision, pillars, player experience --- @@ -266,7 +266,7 @@ any session that produces player feedback ## Tier 1 — Technical Director Gates -Agent: `technical-director` | Model tier: Opus | Domain: Architecture, engine risk, performance +Agent: `technical-director` | Domain: Architecture, engine risk, performance --- @@ -412,7 +412,7 @@ or before finalizing any engine-specific implementation approach ## Tier 1 — Producer Gates -Agent: `producer` | Model tier: Opus | Domain: Scope, timeline, dependencies, production risk +Agent: `producer` | Domain: Scope, timeline, dependencies, production risk --- @@ -538,7 +538,7 @@ is invoked ## Tier 1 — Art Director Gates -Agent: `art-director` | Model tier: Sonnet | Domain: Visual identity, art bible, visual production readiness +Agent: `art-director` | Domain: Visual identity, art bible, visual production readiness --- diff --git a/.agents/modules/core/skills/gate-check/SKILL.md b/.agents/modules/core/skills/gate-check/SKILL.md index 7f29b9d..95d3146 100644 --- a/.agents/modules/core/skills/gate-check/SKILL.md +++ b/.agents/modules/core/skills/gate-check/SKILL.md @@ -4,7 +4,6 @@ description: "Validate readiness to advance between development phases. Produces argument-hint: "[target-phase: workflow-selection | systems-design | technical-setup | pre-production | production | polish | release] [--review full|lean|solo]" user-invocable: true allowed-tools: Read, Glob, Grep, Bash, Write, Task, question -model: opencode-go/kimi-k2.6 --- # Phase Gate Validation diff --git a/.agents/modules/core/skills/help/SKILL.md b/.agents/modules/core/skills/help/SKILL.md index fd445e5..37badd6 100644 --- a/.agents/modules/core/skills/help/SKILL.md +++ b/.agents/modules/core/skills/help/SKILL.md @@ -6,7 +6,6 @@ user-invocable: true allowed-tools: Read, Glob, Grep context: | Static help skill — reads production artifacts directly to determine project state and next steps. -model: opencode-go/deepseek-v4-flash --- # Studio Help — What Do I Do Next? diff --git a/.agents/modules/core/skills/init-template/SKILL.md b/.agents/modules/core/skills/init-template/SKILL.md index f70c78e..e4f85fd 100644 --- a/.agents/modules/core/skills/init-template/SKILL.md +++ b/.agents/modules/core/skills/init-template/SKILL.md @@ -30,7 +30,6 @@ Otherwise, use `question` to gather missing details: ### Tab 3: Team - **Team size** (solo / small 2-5 / medium 6-15 / large 16+) -- **Preferred model tier** (default / workhorse / lightweight) — refer to the README's Model Mapping section for options ## Phase 2: Replace README.md @@ -73,7 +72,6 @@ Replace `[Game Name]`, `[One-line description]`, and `[Engine]` with the user's Read AGENTS.md and update: - Set the engine to the user's choice by changing the `## Technology Stack` section -- Update the model assignment: replace the model table with the user's preference (default/workhorse/lightweight), mapping to their engine's specialist agents - Remove or update any project-specific settings - If AGENTS.md is missing or malformed, warn and skip this phase diff --git a/.agents/modules/core/skills/project-stage-detect/SKILL.md b/.agents/modules/core/skills/project-stage-detect/SKILL.md index b327e36..4380f8f 100644 --- a/.agents/modules/core/skills/project-stage-detect/SKILL.md +++ b/.agents/modules/core/skills/project-stage-detect/SKILL.md @@ -4,7 +4,6 @@ description: "Automatically analyze project state, detect stage, identify gaps, argument-hint: "[optional: role filter like 'programmer' or 'designer']" user-invocable: true allowed-tools: Read, Glob, Grep, Bash, Write -model: opencode-go/deepseek-v4-flash # Read-only diagnostic skill — no specialist agent delegation needed --- diff --git a/.agents/modules/design/skills/review-all-gdds/SKILL.md b/.agents/modules/design/skills/review-all-gdds/SKILL.md index 8a3a04a..bf51941 100644 --- a/.agents/modules/design/skills/review-all-gdds/SKILL.md +++ b/.agents/modules/design/skills/review-all-gdds/SKILL.md @@ -4,7 +4,6 @@ description: "Holistic cross-GDD consistency and game design review. Reads all s argument-hint: "[focus: full | consistency | design-theory | since-last-review]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash, question, Task -model: opencode-go/kimi-k2.6 --- # Review All GDDs diff --git a/.agents/modules/design/skills/scope-check/SKILL.md b/.agents/modules/design/skills/scope-check/SKILL.md index 27e0b5e..c3c92ee 100644 --- a/.agents/modules/design/skills/scope-check/SKILL.md +++ b/.agents/modules/design/skills/scope-check/SKILL.md @@ -4,7 +4,6 @@ description: "Analyze a feature or sprint for scope creep by comparing current s argument-hint: "[feature-name or sprint-N]" user-invocable: true allowed-tools: Read, Glob, Grep, Bash -model: opencode-go/deepseek-v4-flash --- # Scope Check diff --git a/.agents/modules/release/skills/changelog/SKILL.md b/.agents/modules/release/skills/changelog/SKILL.md index 2fe6540..7da1186 100644 --- a/.agents/modules/release/skills/changelog/SKILL.md +++ b/.agents/modules/release/skills/changelog/SKILL.md @@ -7,7 +7,6 @@ allowed-tools: Read, Glob, Grep, Bash, Write context: | !git log --oneline -30 2>/dev/null !git tag --list --sort=-v:refname 2>/dev/null | head -5 -model: opencode-go/deepseek-v4-flash --- ## Phase 1: Parse Arguments diff --git a/.agents/modules/release/skills/patch-notes/SKILL.md b/.agents/modules/release/skills/patch-notes/SKILL.md index 68be695..6a77327 100644 --- a/.agents/modules/release/skills/patch-notes/SKILL.md +++ b/.agents/modules/release/skills/patch-notes/SKILL.md @@ -4,7 +4,6 @@ description: "Generate player-facing patch notes from git history, sprint data, argument-hint: "[version] [--style brief|detailed|full]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash -model: opencode-go/deepseek-v4-flash agent: community-manager --- diff --git a/.agents/modules/release/skills/sprint-status/SKILL.md b/.agents/modules/release/skills/sprint-status/SKILL.md index ec90548..9fa36cf 100644 --- a/.agents/modules/release/skills/sprint-status/SKILL.md +++ b/.agents/modules/release/skills/sprint-status/SKILL.md @@ -4,7 +4,6 @@ description: "Fast sprint status check. Reads the current sprint plan, scans sto argument-hint: "[sprint-number or blank for current]" user-invocable: true allowed-tools: Read, Glob, Grep -model: opencode-go/deepseek-v4-flash --- # Sprint Status diff --git a/.agents/modules/stories/skills/onboard/SKILL.md b/.agents/modules/stories/skills/onboard/SKILL.md index 5038e16..0ef6bb8 100644 --- a/.agents/modules/stories/skills/onboard/SKILL.md +++ b/.agents/modules/stories/skills/onboard/SKILL.md @@ -4,7 +4,6 @@ description: "Generates a contextual onboarding document for a new contributor o argument-hint: "[role|area]" user-invocable: true allowed-tools: Read, Glob, Grep, Write -model: opencode-go/deepseek-v4-flash --- ## Phase 1: Load Project Context diff --git a/.agents/modules/stories/skills/story-readiness/SKILL.md b/.agents/modules/stories/skills/story-readiness/SKILL.md index a25b0ca..980a6ba 100644 --- a/.agents/modules/stories/skills/story-readiness/SKILL.md +++ b/.agents/modules/stories/skills/story-readiness/SKILL.md @@ -4,7 +4,6 @@ description: "Validate that a story file is implementation-ready. Checks for emb argument-hint: "[story-file-path or 'all' or 'sprint']" user-invocable: true allowed-tools: Read, Glob, Grep, question, Task -model: opencode-go/deepseek-v4-flash --- # Story Readiness diff --git a/.agents/skills/architecture-review/SKILL.md b/.agents/skills/architecture-review/SKILL.md index ab311e9..99d614b 100644 --- a/.agents/skills/architecture-review/SKILL.md +++ b/.agents/skills/architecture-review/SKILL.md @@ -5,7 +5,6 @@ argument-hint: "[focus: full | coverage | consistency | engine | single-gdd path user-invocable: true allowed-tools: Read, Glob, Grep, Write, Task, question agent: technical-director -model: opencode-go/kimi-k2.6 --- # Architecture Review diff --git a/.agents/skills/changelog/SKILL.md b/.agents/skills/changelog/SKILL.md index 2fe6540..7da1186 100644 --- a/.agents/skills/changelog/SKILL.md +++ b/.agents/skills/changelog/SKILL.md @@ -7,7 +7,6 @@ allowed-tools: Read, Glob, Grep, Bash, Write context: | !git log --oneline -30 2>/dev/null !git tag --list --sort=-v:refname 2>/dev/null | head -5 -model: opencode-go/deepseek-v4-flash --- ## Phase 1: Parse Arguments diff --git a/.agents/skills/gate-check/SKILL.md b/.agents/skills/gate-check/SKILL.md index 7f29b9d..95d3146 100644 --- a/.agents/skills/gate-check/SKILL.md +++ b/.agents/skills/gate-check/SKILL.md @@ -4,7 +4,6 @@ description: "Validate readiness to advance between development phases. Produces argument-hint: "[target-phase: workflow-selection | systems-design | technical-setup | pre-production | production | polish | release] [--review full|lean|solo]" user-invocable: true allowed-tools: Read, Glob, Grep, Bash, Write, Task, question -model: opencode-go/kimi-k2.6 --- # Phase Gate Validation diff --git a/.agents/skills/help/SKILL.md b/.agents/skills/help/SKILL.md index fd445e5..37badd6 100644 --- a/.agents/skills/help/SKILL.md +++ b/.agents/skills/help/SKILL.md @@ -6,7 +6,6 @@ user-invocable: true allowed-tools: Read, Glob, Grep context: | Static help skill — reads production artifacts directly to determine project state and next steps. -model: opencode-go/deepseek-v4-flash --- # Studio Help — What Do I Do Next? diff --git a/.agents/skills/init-template/SKILL.md b/.agents/skills/init-template/SKILL.md index 1158830..7423eb8 100644 --- a/.agents/skills/init-template/SKILL.md +++ b/.agents/skills/init-template/SKILL.md @@ -30,7 +30,6 @@ Otherwise, use `question` to gather missing details: ### Tab 3: Team - **Team size** (solo / small 2-5 / medium 6-15 / large 16+) -- **Preferred model tier** (default / workhorse / lightweight) — refer to the README's Model Mapping section for options ### Modular Installation @@ -108,7 +107,6 @@ Replace `[Game Name]`, `[One-line description]`, and `[Engine]` with the user's Read AGENTS.md and update: - Set the engine to the user's choice by changing the `## Technology Stack` section -- Update the model assignment: replace the model table with the user's preference (default/workhorse/lightweight), mapping to their engine's specialist agents - Remove or update any project-specific settings - If AGENTS.md is missing or malformed, warn and skip this phase diff --git a/.agents/skills/onboard/SKILL.md b/.agents/skills/onboard/SKILL.md index 14023d8..6a98e0a 100644 --- a/.agents/skills/onboard/SKILL.md +++ b/.agents/skills/onboard/SKILL.md @@ -4,7 +4,6 @@ description: "Generates a contextual onboarding document for a new contributor o argument-hint: "[role|area]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, question -model: opencode-go/deepseek-v4-flash --- ## Overview diff --git a/.agents/skills/patch-notes/SKILL.md b/.agents/skills/patch-notes/SKILL.md index 68be695..6a77327 100644 --- a/.agents/skills/patch-notes/SKILL.md +++ b/.agents/skills/patch-notes/SKILL.md @@ -4,7 +4,6 @@ description: "Generate player-facing patch notes from git history, sprint data, argument-hint: "[version] [--style brief|detailed|full]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash -model: opencode-go/deepseek-v4-flash agent: community-manager --- diff --git a/.agents/skills/project-stage-detect/SKILL.md b/.agents/skills/project-stage-detect/SKILL.md index b327e36..4380f8f 100644 --- a/.agents/skills/project-stage-detect/SKILL.md +++ b/.agents/skills/project-stage-detect/SKILL.md @@ -4,7 +4,6 @@ description: "Automatically analyze project state, detect stage, identify gaps, argument-hint: "[optional: role filter like 'programmer' or 'designer']" user-invocable: true allowed-tools: Read, Glob, Grep, Bash, Write -model: opencode-go/deepseek-v4-flash # Read-only diagnostic skill — no specialist agent delegation needed --- diff --git a/.agents/skills/review-all-gdds/SKILL.md b/.agents/skills/review-all-gdds/SKILL.md index 8a3a04a..bf51941 100644 --- a/.agents/skills/review-all-gdds/SKILL.md +++ b/.agents/skills/review-all-gdds/SKILL.md @@ -4,7 +4,6 @@ description: "Holistic cross-GDD consistency and game design review. Reads all s argument-hint: "[focus: full | consistency | design-theory | since-last-review]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash, question, Task -model: opencode-go/kimi-k2.6 --- # Review All GDDs diff --git a/.agents/skills/scope-check/SKILL.md b/.agents/skills/scope-check/SKILL.md index 27e0b5e..c3c92ee 100644 --- a/.agents/skills/scope-check/SKILL.md +++ b/.agents/skills/scope-check/SKILL.md @@ -4,7 +4,6 @@ description: "Analyze a feature or sprint for scope creep by comparing current s argument-hint: "[feature-name or sprint-N]" user-invocable: true allowed-tools: Read, Glob, Grep, Bash -model: opencode-go/deepseek-v4-flash --- # Scope Check diff --git a/.agents/skills/sprint-status/SKILL.md b/.agents/skills/sprint-status/SKILL.md index ec90548..9fa36cf 100644 --- a/.agents/skills/sprint-status/SKILL.md +++ b/.agents/skills/sprint-status/SKILL.md @@ -4,7 +4,6 @@ description: "Fast sprint status check. Reads the current sprint plan, scans sto argument-hint: "[sprint-number or blank for current]" user-invocable: true allowed-tools: Read, Glob, Grep -model: opencode-go/deepseek-v4-flash --- # Sprint Status diff --git a/.agents/skills/story-readiness/SKILL.md b/.agents/skills/story-readiness/SKILL.md index a25b0ca..980a6ba 100644 --- a/.agents/skills/story-readiness/SKILL.md +++ b/.agents/skills/story-readiness/SKILL.md @@ -4,7 +4,6 @@ description: "Validate that a story file is implementation-ready. Checks for emb argument-hint: "[story-file-path or 'all' or 'sprint']" user-invocable: true allowed-tools: Read, Glob, Grep, question, Task -model: opencode-go/deepseek-v4-flash --- # Story Readiness diff --git a/.github/workflows/opencode.yml b/.github/workflows/opencode.yml deleted file mode 100644 index 56a5bfd..0000000 --- a/.github/workflows/opencode.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: opencode - -on: - issue_comment: - types: [created] - pull_request_review_comment: - types: [created] - -jobs: - opencode: - if: | - contains(github.event.comment.body, ' /oc') || - startsWith(github.event.comment.body, '/oc') || - contains(github.event.comment.body, ' /opencode') || - startsWith(github.event.comment.body, '/opencode') - runs-on: ubuntu-latest - permissions: - id-token: write - contents: read - pull-requests: write - issues: read - steps: - - name: Checkout repository - uses: actions/checkout@v7 - with: - persist-credentials: true - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Run opencode - uses: anomalyco/opencode/github@latest - env: - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - model: opencode-go/deepseek-v4-flash diff --git a/.opencode/modules/architecture/agents/lead-programmer.md b/.opencode/modules/architecture/agents/lead-programmer.md index 3e26a7c..1b266f4 100644 --- a/.opencode/modules/architecture/agents/lead-programmer.md +++ b/.opencode/modules/architecture/agents/lead-programmer.md @@ -1,7 +1,6 @@ --- description: "The Lead Programmer owns code-level architecture, coding standards, code review, and the assignment of programming work to specialist programmers. Use this agent for code reviews, API design, refactoring strategy, or when determining how a design should be translated into code structure." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/architecture/skills/architecture-review/SKILL.md b/.opencode/modules/architecture/skills/architecture-review/SKILL.md index ab311e9..99d614b 100644 --- a/.opencode/modules/architecture/skills/architecture-review/SKILL.md +++ b/.opencode/modules/architecture/skills/architecture-review/SKILL.md @@ -5,7 +5,6 @@ argument-hint: "[focus: full | coverage | consistency | engine | single-gdd path user-invocable: true allowed-tools: Read, Glob, Grep, Write, Task, question agent: technical-director -model: opencode-go/kimi-k2.6 --- # Architecture Review diff --git a/.opencode/modules/art/agents/art-director.md b/.opencode/modules/art/agents/art-director.md index 38bc16b..909bc9e 100644 --- a/.opencode/modules/art/agents/art-director.md +++ b/.opencode/modules/art/agents/art-director.md @@ -1,7 +1,6 @@ --- description: "The Art Director owns the visual identity of the game: style guides, art bible, asset standards, color palettes, UI/UX visual design, and the art production pipeline. Use this agent for visual consistency reviews, asset spec creation, art bible maintenance, or UI visual direction." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/art/agents/technical-artist.md b/.opencode/modules/art/agents/technical-artist.md index 6e33a07..d38d23f 100644 --- a/.opencode/modules/art/agents/technical-artist.md +++ b/.opencode/modules/art/agents/technical-artist.md @@ -1,7 +1,6 @@ --- description: "The Technical Artist bridges art and engineering: shaders, VFX, rendering optimization, art pipeline tools, and performance profiling for visual systems. Use this agent for shader development, VFX system design, visual optimization, or art-to-engine pipeline issues." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/audio/agents/audio-director.md b/.opencode/modules/audio/agents/audio-director.md index fc926a7..33613f7 100644 --- a/.opencode/modules/audio/agents/audio-director.md +++ b/.opencode/modules/audio/agents/audio-director.md @@ -1,7 +1,6 @@ --- description: "The Audio Director owns the sonic identity of the game: music direction, sound design philosophy, audio implementation strategy, and mix balance. Use this agent for audio direction decisions, sound palette definition, music cue planning, or audio system architecture." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/audio/agents/sound-designer.md b/.opencode/modules/audio/agents/sound-designer.md index f02d097..009053b 100644 --- a/.opencode/modules/audio/agents/sound-designer.md +++ b/.opencode/modules/audio/agents/sound-designer.md @@ -1,7 +1,6 @@ --- description: "The Sound Designer creates detailed specifications for sound effects, documents audio events, and defines mixing parameters. Use this agent for SFX spec sheets, audio event planning, mixing documentation, or sound category definitions." mode: subagent -model: opencode-go/deepseek-v4-flash maxTurns: 10 permission: bash: deny diff --git a/.opencode/modules/core/agents/creative-director.md b/.opencode/modules/core/agents/creative-director.md index c55bcf4..e27741f 100644 --- a/.opencode/modules/core/agents/creative-director.md +++ b/.opencode/modules/core/agents/creative-director.md @@ -1,7 +1,6 @@ --- description: "The Creative Director is the highest-level creative authority for the project. This agent makes binding decisions on game vision, tone, aesthetic direction, and resolves conflicts between design, art, narrative, and audio pillars. Use this agent when a decision affects the fundamental identity of the game or when department leads cannot reach consensus." mode: primary -model: opencode-go/kimi-k2.6 maxTurns: 30 permission: bash: deny diff --git a/.opencode/modules/core/agents/producer.md b/.opencode/modules/core/agents/producer.md index a28404f..affcd82 100644 --- a/.opencode/modules/core/agents/producer.md +++ b/.opencode/modules/core/agents/producer.md @@ -1,7 +1,6 @@ --- description: "The Producer manages all production concerns: sprint planning, milestone tracking, risk management, scope negotiation, and cross-department coordination. This is the primary coordination agent. Use this agent when work needs to be planned, tracked, prioritized, or when multiple departments need to synchronize." mode: primary -model: opencode-go/kimi-k2.6 maxTurns: 30 --- diff --git a/.opencode/modules/core/agents/technical-director.md b/.opencode/modules/core/agents/technical-director.md index ab85c99..4275c81 100644 --- a/.opencode/modules/core/agents/technical-director.md +++ b/.opencode/modules/core/agents/technical-director.md @@ -1,7 +1,6 @@ --- description: "The Technical Director owns all high-level technical decisions including engine architecture, technology choices, performance strategy, and technical risk management. Use this agent for architecture-level decisions, technology evaluations, cross-system technical conflicts, and when a technical choice will constrain or enable design possibilities." mode: primary -model: opencode-go/kimi-k2.6 maxTurns: 30 --- diff --git a/.opencode/modules/core/docs/coordination-rules.md b/.opencode/modules/core/docs/coordination-rules.md index 9525da1..8d83f04 100644 --- a/.opencode/modules/core/docs/coordination-rules.md +++ b/.opencode/modules/core/docs/coordination-rules.md @@ -12,25 +12,6 @@ 5. **No Unilateral Cross-Domain Changes**: An agent must never modify files outside its designated directories without explicit delegation. -## Model Tier Assignment - -Skills and agents are assigned to model tiers based on task complexity: - -| Tier | Model | When to use | -|------|-------|-------------| -| **Haiku** | `opencode-go/deepseek-v4-flash` | Read-only status checks, formatting, simple lookups — no creative judgment needed | -| **Sonnet** | `opencode-go/qwen3.6-plus` | Implementation, design authoring, analysis of individual systems — default for most work | -| **Opus** | `opencode-go/kimi-k2.6` | Multi-document synthesis, high-stakes phase gate verdicts, cross-system holistic review | - -Skills with `model: haiku`: `/help`, `/sprint-status`, `/story-readiness`, `/scope-check`, -`/project-stage-detect`, `/changelog`, `/patch-notes`, `/onboard` - -Skills with `model: opus`: `/review-all-gdds`, `/architecture-review`, `/gate-check` - -All other skills default to Sonnet. When creating new skills, assign Haiku if the -skill only reads and formats; assign Opus if it must synthesize 5+ documents with -high-stakes output; otherwise leave unset (Sonnet). - ## Subagents vs Agent Teams This project uses two distinct multi-agent patterns: diff --git a/.opencode/modules/core/docs/director-gates.md b/.opencode/modules/core/docs/director-gates.md index 33a9f4f..946fb17 100644 --- a/.opencode/modules/core/docs/director-gates.md +++ b/.opencode/modules/core/docs/director-gates.md @@ -124,7 +124,7 @@ For phase gates, record in `docs/architecture/architecture.md` or ## Tier 1 — Creative Director Gates -Agent: `creative-director` | Model tier: Opus | Domain: Vision, pillars, player experience +Agent: `creative-director` | Domain: Vision, pillars, player experience --- @@ -266,7 +266,7 @@ any session that produces player feedback ## Tier 1 — Technical Director Gates -Agent: `technical-director` | Model tier: Opus | Domain: Architecture, engine risk, performance +Agent: `technical-director` | Domain: Architecture, engine risk, performance --- @@ -412,7 +412,7 @@ or before finalizing any engine-specific implementation approach ## Tier 1 — Producer Gates -Agent: `producer` | Model tier: Opus | Domain: Scope, timeline, dependencies, production risk +Agent: `producer` | Domain: Scope, timeline, dependencies, production risk --- @@ -538,7 +538,7 @@ is invoked ## Tier 1 — Art Director Gates -Agent: `art-director` | Model tier: Sonnet | Domain: Visual identity, art bible, visual production readiness +Agent: `art-director` | Domain: Visual identity, art bible, visual production readiness --- diff --git a/.opencode/modules/core/skills/gate-check/SKILL.md b/.opencode/modules/core/skills/gate-check/SKILL.md index 7f29b9d..95d3146 100644 --- a/.opencode/modules/core/skills/gate-check/SKILL.md +++ b/.opencode/modules/core/skills/gate-check/SKILL.md @@ -4,7 +4,6 @@ description: "Validate readiness to advance between development phases. Produces argument-hint: "[target-phase: workflow-selection | systems-design | technical-setup | pre-production | production | polish | release] [--review full|lean|solo]" user-invocable: true allowed-tools: Read, Glob, Grep, Bash, Write, Task, question -model: opencode-go/kimi-k2.6 --- # Phase Gate Validation diff --git a/.opencode/modules/core/skills/help/SKILL.md b/.opencode/modules/core/skills/help/SKILL.md index fd445e5..37badd6 100644 --- a/.opencode/modules/core/skills/help/SKILL.md +++ b/.opencode/modules/core/skills/help/SKILL.md @@ -6,7 +6,6 @@ user-invocable: true allowed-tools: Read, Glob, Grep context: | Static help skill — reads production artifacts directly to determine project state and next steps. -model: opencode-go/deepseek-v4-flash --- # Studio Help — What Do I Do Next? diff --git a/.opencode/modules/core/skills/init-template/SKILL.md b/.opencode/modules/core/skills/init-template/SKILL.md index f70c78e..e4f85fd 100644 --- a/.opencode/modules/core/skills/init-template/SKILL.md +++ b/.opencode/modules/core/skills/init-template/SKILL.md @@ -30,7 +30,6 @@ Otherwise, use `question` to gather missing details: ### Tab 3: Team - **Team size** (solo / small 2-5 / medium 6-15 / large 16+) -- **Preferred model tier** (default / workhorse / lightweight) — refer to the README's Model Mapping section for options ## Phase 2: Replace README.md @@ -73,7 +72,6 @@ Replace `[Game Name]`, `[One-line description]`, and `[Engine]` with the user's Read AGENTS.md and update: - Set the engine to the user's choice by changing the `## Technology Stack` section -- Update the model assignment: replace the model table with the user's preference (default/workhorse/lightweight), mapping to their engine's specialist agents - Remove or update any project-specific settings - If AGENTS.md is missing or malformed, warn and skip this phase diff --git a/.opencode/modules/core/skills/project-stage-detect/SKILL.md b/.opencode/modules/core/skills/project-stage-detect/SKILL.md index b327e36..4380f8f 100644 --- a/.opencode/modules/core/skills/project-stage-detect/SKILL.md +++ b/.opencode/modules/core/skills/project-stage-detect/SKILL.md @@ -4,7 +4,6 @@ description: "Automatically analyze project state, detect stage, identify gaps, argument-hint: "[optional: role filter like 'programmer' or 'designer']" user-invocable: true allowed-tools: Read, Glob, Grep, Bash, Write -model: opencode-go/deepseek-v4-flash # Read-only diagnostic skill — no specialist agent delegation needed --- diff --git a/.opencode/modules/design/agents/economy-designer.md b/.opencode/modules/design/agents/economy-designer.md index d42e427..36aee6c 100644 --- a/.opencode/modules/design/agents/economy-designer.md +++ b/.opencode/modules/design/agents/economy-designer.md @@ -1,7 +1,6 @@ --- description: "The Economy Designer specializes in resource economies, loot systems, progression curves, and in-game market design. Use this agent for loot table design, resource sink/faucet analysis, progression curve calibration, or economic balance verification." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/design/agents/game-designer.md b/.opencode/modules/design/agents/game-designer.md index ff59d9a..f328f94 100644 --- a/.opencode/modules/design/agents/game-designer.md +++ b/.opencode/modules/design/agents/game-designer.md @@ -1,7 +1,6 @@ --- description: "The Game Designer owns the mechanical and systems design of the game. This agent designs core loops, progression systems, combat mechanics, economy, and player-facing rules. Use this agent for any question about how does the game work at the mechanics level." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/design/agents/systems-designer.md b/.opencode/modules/design/agents/systems-designer.md index 0c810f3..5a5b049 100644 --- a/.opencode/modules/design/agents/systems-designer.md +++ b/.opencode/modules/design/agents/systems-designer.md @@ -1,7 +1,6 @@ --- description: "The Systems Designer creates detailed mechanical designs for specific game subsystems -- combat formulas, progression curves, crafting recipes, status effect interactions. Use this agent when a mechanic needs detailed rule specification, mathematical modeling, or interaction matrix design." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/design/skills/review-all-gdds/SKILL.md b/.opencode/modules/design/skills/review-all-gdds/SKILL.md index 8a3a04a..bf51941 100644 --- a/.opencode/modules/design/skills/review-all-gdds/SKILL.md +++ b/.opencode/modules/design/skills/review-all-gdds/SKILL.md @@ -4,7 +4,6 @@ description: "Holistic cross-GDD consistency and game design review. Reads all s argument-hint: "[focus: full | consistency | design-theory | since-last-review]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash, question, Task -model: opencode-go/kimi-k2.6 --- # Review All GDDs diff --git a/.opencode/modules/design/skills/scope-check/SKILL.md b/.opencode/modules/design/skills/scope-check/SKILL.md index 27e0b5e..c3c92ee 100644 --- a/.opencode/modules/design/skills/scope-check/SKILL.md +++ b/.opencode/modules/design/skills/scope-check/SKILL.md @@ -4,7 +4,6 @@ description: "Analyze a feature or sprint for scope creep by comparing current s argument-hint: "[feature-name or sprint-N]" user-invocable: true allowed-tools: Read, Glob, Grep, Bash -model: opencode-go/deepseek-v4-flash --- # Scope Check diff --git a/.opencode/modules/engine-bevy/agents/bevy-specialist.md b/.opencode/modules/engine-bevy/agents/bevy-specialist.md index 6985a30..68376d7 100644 --- a/.opencode/modules/engine-bevy/agents/bevy-specialist.md +++ b/.opencode/modules/engine-bevy/agents/bevy-specialist.md @@ -1,7 +1,6 @@ --- description: "The Bevy Specialist is the authority on all Bevy-specific patterns, APIs, and build integration. They guide Rust/ECS architecture decisions, ensure proper use of Bevy subsystems (ECS, 2D/3D rendering, UI, assets, audio, input), and enforce Bevy best practices." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-godot/agents/godot-csharp-specialist.md b/.opencode/modules/engine-godot/agents/godot-csharp-specialist.md index 7d1444c..da0abfd 100644 --- a/.opencode/modules/engine-godot/agents/godot-csharp-specialist.md +++ b/.opencode/modules/engine-godot/agents/godot-csharp-specialist.md @@ -1,7 +1,6 @@ --- description: "The Godot C# specialist owns all C# code quality in Godot 4 projects: .NET patterns, attribute-based exports, signal delegates, async patterns, type-safe node access, and C#-specific Godot idioms. They ensure clean, performant, type-safe C# that follows .NET and Godot 4 idioms correctly." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-godot/agents/godot-gdextension-specialist.md b/.opencode/modules/engine-godot/agents/godot-gdextension-specialist.md index 656a68f..6be4965 100644 --- a/.opencode/modules/engine-godot/agents/godot-gdextension-specialist.md +++ b/.opencode/modules/engine-godot/agents/godot-gdextension-specialist.md @@ -1,7 +1,6 @@ --- description: "The GDExtension specialist owns all native code integration with Godot: GDExtension API, C/C++/Rust bindings (godot-cpp, godot-rust), native performance optimization, custom node types, and the GDScript/native boundary. They ensure native code integrates cleanly with Godot's node system." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-godot/agents/godot-gdscript-specialist.md b/.opencode/modules/engine-godot/agents/godot-gdscript-specialist.md index aa90459..3ca2111 100644 --- a/.opencode/modules/engine-godot/agents/godot-gdscript-specialist.md +++ b/.opencode/modules/engine-godot/agents/godot-gdscript-specialist.md @@ -1,7 +1,6 @@ --- description: "The GDScript specialist owns all GDScript code quality: static typing enforcement, design patterns, signal architecture, coroutine patterns, performance optimization, and GDScript-specific idioms. They ensure clean, typed, and performant GDScript across the project." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-godot/agents/godot-shader-specialist.md b/.opencode/modules/engine-godot/agents/godot-shader-specialist.md index ef34050..5ab7075 100644 --- a/.opencode/modules/engine-godot/agents/godot-shader-specialist.md +++ b/.opencode/modules/engine-godot/agents/godot-shader-specialist.md @@ -1,7 +1,6 @@ --- description: "The Godot Shader specialist owns all Godot rendering customization: Godot shading language, visual shaders, material setup, particle shaders, post-processing, and rendering performance. They ensure visual quality within Godot's rendering pipeline." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-godot/agents/godot-specialist.md b/.opencode/modules/engine-godot/agents/godot-specialist.md index 54fba1e..e420adb 100644 --- a/.opencode/modules/engine-godot/agents/godot-specialist.md +++ b/.opencode/modules/engine-godot/agents/godot-specialist.md @@ -1,7 +1,6 @@ --- description: "The Godot Engine Specialist is the authority on all Godot-specific patterns, APIs, and optimization techniques. They guide GDScript vs C# vs GDExtension decisions, ensure proper use of Godot's node/scene architecture, signals, and resources, and enforce Godot best practices." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-raylib/agents/raylib-specialist.md b/.opencode/modules/engine-raylib/agents/raylib-specialist.md index 5caa2a6..06df264 100644 --- a/.opencode/modules/engine-raylib/agents/raylib-specialist.md +++ b/.opencode/modules/engine-raylib/agents/raylib-specialist.md @@ -1,7 +1,6 @@ --- description: "The Raylib Specialist is the authority on all raylib-specific patterns, APIs, and build integration. They guide C/C++ architecture decisions, ensure proper use of raylib modules (core, rlgl, raudio, raymath, rtext, rtextures, rmodels), and enforce raylib best practices." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-sfml3/agents/sfml-specialist.md b/.opencode/modules/engine-sfml3/agents/sfml-specialist.md index 7be8d65..e9a02d3 100644 --- a/.opencode/modules/engine-sfml3/agents/sfml-specialist.md +++ b/.opencode/modules/engine-sfml3/agents/sfml-specialist.md @@ -1,7 +1,6 @@ --- description: "The SFML 3 Specialist is the authority on all SFML-specific patterns, APIs, and build integration. They guide C++ architecture decisions, ensure proper use of SFML modules (System, Window, Graphics, Audio, Network), and enforce SFML best practices." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unity/agents/unity-addressables-specialist.md b/.opencode/modules/engine-unity/agents/unity-addressables-specialist.md index 2c6cd1a..5fcc78b 100644 --- a/.opencode/modules/engine-unity/agents/unity-addressables-specialist.md +++ b/.opencode/modules/engine-unity/agents/unity-addressables-specialist.md @@ -1,7 +1,6 @@ --- description: "The Addressables specialist owns all Unity asset management: Addressable groups, asset loading/unloading, memory management, content catalogs, remote content delivery, and asset bundle optimization. They ensure fast load times and controlled memory usage." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unity/agents/unity-dots-specialist.md b/.opencode/modules/engine-unity/agents/unity-dots-specialist.md index 658fbb5..478b5af 100644 --- a/.opencode/modules/engine-unity/agents/unity-dots-specialist.md +++ b/.opencode/modules/engine-unity/agents/unity-dots-specialist.md @@ -1,7 +1,6 @@ --- description: "The DOTS/ECS specialist owns all Unity Data-Oriented Technology Stack implementation: Entity Component System architecture, Jobs system, Burst compiler optimization, hybrid renderer, and DOTS-based gameplay systems. They ensure correct ECS patterns and maximum performance." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unity/agents/unity-shader-specialist.md b/.opencode/modules/engine-unity/agents/unity-shader-specialist.md index 781b4b0..40afe79 100644 --- a/.opencode/modules/engine-unity/agents/unity-shader-specialist.md +++ b/.opencode/modules/engine-unity/agents/unity-shader-specialist.md @@ -1,7 +1,6 @@ --- description: "The Unity Shader/VFX specialist owns all Unity rendering customization: Shader Graph, custom HLSL shaders, VFX Graph, render pipeline customization (URP/HDRP), post-processing, and visual effects optimization. They ensure visual quality within performance budgets." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unity/agents/unity-specialist.md b/.opencode/modules/engine-unity/agents/unity-specialist.md index 76b7155..b07a287 100644 --- a/.opencode/modules/engine-unity/agents/unity-specialist.md +++ b/.opencode/modules/engine-unity/agents/unity-specialist.md @@ -1,7 +1,6 @@ --- description: "The Unity Engine Specialist is the authority on all Unity-specific patterns, APIs, and optimization techniques. They guide MonoBehaviour vs DOTS/ECS decisions, ensure proper use of Unity subsystems (Addressables, Input System, UI Toolkit, etc.), and enforce Unity best practices." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unity/agents/unity-ui-specialist.md b/.opencode/modules/engine-unity/agents/unity-ui-specialist.md index 691206f..41f095b 100644 --- a/.opencode/modules/engine-unity/agents/unity-ui-specialist.md +++ b/.opencode/modules/engine-unity/agents/unity-ui-specialist.md @@ -1,7 +1,6 @@ --- description: "The Unity UI specialist owns all Unity UI implementation: UI Toolkit (UXML/USS), UGUI (Canvas), data binding, runtime UI performance, input handling, and cross-platform UI adaptation. They ensure responsive, performant, and accessible UI." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unreal/agents/ue-blueprint-specialist.md b/.opencode/modules/engine-unreal/agents/ue-blueprint-specialist.md index 7aa45c9..b8ed881 100644 --- a/.opencode/modules/engine-unreal/agents/ue-blueprint-specialist.md +++ b/.opencode/modules/engine-unreal/agents/ue-blueprint-specialist.md @@ -1,7 +1,6 @@ --- description: "The Blueprint specialist owns Blueprint architecture decisions, Blueprint/C++ boundary guidelines, Blueprint optimization, and ensures Blueprint graphs stay maintainable and performant. They prevent Blueprint spaghetti and enforce clean BP patterns." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/engine-unreal/agents/ue-gas-specialist.md b/.opencode/modules/engine-unreal/agents/ue-gas-specialist.md index 1a97e9b..1a92d83 100644 --- a/.opencode/modules/engine-unreal/agents/ue-gas-specialist.md +++ b/.opencode/modules/engine-unreal/agents/ue-gas-specialist.md @@ -1,7 +1,6 @@ --- description: "The Gameplay Ability System specialist owns all GAS implementation: abilities, gameplay effects, attribute sets, gameplay tags, ability tasks, and GAS prediction. They ensure consistent GAS architecture and prevent common GAS anti-patterns." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unreal/agents/ue-replication-specialist.md b/.opencode/modules/engine-unreal/agents/ue-replication-specialist.md index 3270a65..d7bfcb4 100644 --- a/.opencode/modules/engine-unreal/agents/ue-replication-specialist.md +++ b/.opencode/modules/engine-unreal/agents/ue-replication-specialist.md @@ -1,7 +1,6 @@ --- description: "The UE Replication specialist owns all Unreal networking: property replication, RPCs, client prediction, relevancy, net serialization, and bandwidth optimization. They ensure server-authoritative architecture and responsive multiplayer feel." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unreal/agents/ue-umg-specialist.md b/.opencode/modules/engine-unreal/agents/ue-umg-specialist.md index 05de451..a849be0 100644 --- a/.opencode/modules/engine-unreal/agents/ue-umg-specialist.md +++ b/.opencode/modules/engine-unreal/agents/ue-umg-specialist.md @@ -1,7 +1,6 @@ --- description: "The UMG/CommonUI specialist owns all Unreal UI implementation: widget hierarchy, data binding, CommonUI input routing, widget styling, and UI optimization. They ensure UI follows Unreal best practices and performs well." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/engine-unreal/agents/unreal-specialist.md b/.opencode/modules/engine-unreal/agents/unreal-specialist.md index 4e4bda7..5fc16f8 100644 --- a/.opencode/modules/engine-unreal/agents/unreal-specialist.md +++ b/.opencode/modules/engine-unreal/agents/unreal-specialist.md @@ -1,7 +1,6 @@ --- description: "The Unreal Engine Specialist is the authority on all Unreal-specific patterns, APIs, and optimization techniques. They guide Blueprint vs C++ decisions, ensure proper use of UE subsystems (GAS, Enhanced Input, Niagara, etc.), and enforce Unreal best practices across the codebase." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/level-design/agents/level-designer.md b/.opencode/modules/level-design/agents/level-designer.md index 56caf26..baa19f3 100644 --- a/.opencode/modules/level-design/agents/level-designer.md +++ b/.opencode/modules/level-design/agents/level-designer.md @@ -1,7 +1,6 @@ --- description: "The Level Designer creates spatial designs, encounter layouts, pacing plans, and environmental storytelling guides for game levels and areas. Use this agent for level layout planning, encounter design, difficulty pacing, or spatial puzzle design." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/live-ops/agents/community-manager.md b/.opencode/modules/live-ops/agents/community-manager.md index d7f044c..8944b14 100644 --- a/.opencode/modules/live-ops/agents/community-manager.md +++ b/.opencode/modules/live-ops/agents/community-manager.md @@ -1,7 +1,6 @@ --- description: "The community manager owns player-facing communication: patch notes, social media posts, community updates, player feedback collection, bug report triage from players, and crisis communication. They translate between development team and player community." mode: subagent -model: opencode-go/deepseek-v4-flash maxTurns: 10 permission: bash: deny diff --git a/.opencode/modules/live-ops/agents/live-ops-designer.md b/.opencode/modules/live-ops/agents/live-ops-designer.md index 8ad9650..572a5e0 100644 --- a/.opencode/modules/live-ops/agents/live-ops-designer.md +++ b/.opencode/modules/live-ops/agents/live-ops-designer.md @@ -1,7 +1,6 @@ --- description: "The live-ops designer owns post-launch content strategy: seasonal events, battle passes, content cadence, player retention mechanics, live service economy, and engagement analytics. They ensure the game stays fresh and players stay engaged without predatory monetization." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/localization/agents/localization-lead.md b/.opencode/modules/localization/agents/localization-lead.md index 5f821c1..5bf3a4f 100644 --- a/.opencode/modules/localization/agents/localization-lead.md +++ b/.opencode/modules/localization/agents/localization-lead.md @@ -1,7 +1,6 @@ --- description: "Owns internationalization architecture, string management, locale testing, and translation pipeline. Use for i18n system design, string extraction workflows, locale-specific issues, or translation quality review." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/narrative/agents/narrative-director.md b/.opencode/modules/narrative/agents/narrative-director.md index 8e2915b..e5979db 100644 --- a/.opencode/modules/narrative/agents/narrative-director.md +++ b/.opencode/modules/narrative/agents/narrative-director.md @@ -1,7 +1,6 @@ --- description: "The Narrative Director owns story architecture, world-building, character design, and dialogue strategy. Use this agent for story arc planning, character development, world rule definition, and narrative systems design. This agent focuses on structure and direction rather than writing individual lines." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/narrative/agents/world-builder.md b/.opencode/modules/narrative/agents/world-builder.md index c8ae924..47422a2 100644 --- a/.opencode/modules/narrative/agents/world-builder.md +++ b/.opencode/modules/narrative/agents/world-builder.md @@ -1,7 +1,6 @@ --- description: "The World Builder designs detailed world lore: factions, cultures, history, geography, ecology, and the rules that govern the game world. Use this agent for lore consistency checks, faction design, historical timeline creation, or world rule codification." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/narrative/agents/writer.md b/.opencode/modules/narrative/agents/writer.md index c2d30df..e4b3925 100644 --- a/.opencode/modules/narrative/agents/writer.md +++ b/.opencode/modules/narrative/agents/writer.md @@ -1,7 +1,6 @@ --- description: "The Writer creates dialogue, lore entries, item descriptions, environmental text, and all player-facing written content. Use this agent for dialogue writing, lore creation, item/ability descriptions, or in-game text of any kind." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/.opencode/modules/programming/agents/ai-programmer.md b/.opencode/modules/programming/agents/ai-programmer.md index c8256cc..84f4309 100644 --- a/.opencode/modules/programming/agents/ai-programmer.md +++ b/.opencode/modules/programming/agents/ai-programmer.md @@ -1,7 +1,6 @@ --- description: "The AI Programmer implements game AI systems: behavior trees, state machines, pathfinding, perception systems, decision-making, and NPC behavior. Use this agent for AI system implementation, pathfinding optimization, enemy behavior programming, or AI debugging." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/programming/agents/engine-programmer.md b/.opencode/modules/programming/agents/engine-programmer.md index 69618cb..616b3b3 100644 --- a/.opencode/modules/programming/agents/engine-programmer.md +++ b/.opencode/modules/programming/agents/engine-programmer.md @@ -1,7 +1,6 @@ --- description: "The Engine Programmer works on core engine systems: rendering pipeline, physics, memory management, resource loading, scene management, and core framework code. Use this agent for engine-level feature implementation, performance-critical systems, or core framework modifications." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/programming/agents/gameplay-programmer.md b/.opencode/modules/programming/agents/gameplay-programmer.md index 95e7ac7..9821f31 100644 --- a/.opencode/modules/programming/agents/gameplay-programmer.md +++ b/.opencode/modules/programming/agents/gameplay-programmer.md @@ -1,7 +1,6 @@ --- description: "The Gameplay Programmer implements game mechanics, player systems, combat, and interactive features as code. Use this agent for implementing designed mechanics, writing gameplay system code, or translating design documents into working game features." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/programming/agents/network-programmer.md b/.opencode/modules/programming/agents/network-programmer.md index d999c97..f42a7b3 100644 --- a/.opencode/modules/programming/agents/network-programmer.md +++ b/.opencode/modules/programming/agents/network-programmer.md @@ -1,7 +1,6 @@ --- description: "The Network Programmer implements multiplayer networking: state replication, lag compensation, matchmaking, and network protocol design. Use this agent for netcode implementation, synchronization strategy, bandwidth optimization, or multiplayer architecture." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/programming/agents/tools-programmer.md b/.opencode/modules/programming/agents/tools-programmer.md index 78ad324..5bb8394 100644 --- a/.opencode/modules/programming/agents/tools-programmer.md +++ b/.opencode/modules/programming/agents/tools-programmer.md @@ -1,7 +1,6 @@ --- description: "The Tools Programmer builds internal development tools: editor extensions, content authoring tools, debug utilities, and pipeline automation. Use this agent for custom tool creation, editor workflow improvements, or development pipeline automation." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/prototyping/agents/prototyper.md b/.opencode/modules/prototyping/agents/prototyper.md index cdffc0f..032c596 100644 --- a/.opencode/modules/prototyping/agents/prototyper.md +++ b/.opencode/modules/prototyping/agents/prototyper.md @@ -1,7 +1,6 @@ --- description: "Rapid prototyping specialist for pre-production. Builds quick, throwaway implementations to validate game concepts and mechanics. Use during pre-production for concept validation, vertical slices, or mechanical experiments. Standards are intentionally relaxed for speed." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 25 --- diff --git a/.opencode/modules/qa/agents/performance-analyst.md b/.opencode/modules/qa/agents/performance-analyst.md index c4d7743..3a2fba2 100644 --- a/.opencode/modules/qa/agents/performance-analyst.md +++ b/.opencode/modules/qa/agents/performance-analyst.md @@ -1,7 +1,6 @@ --- description: "The Performance Analyst profiles game performance, identifies bottlenecks, recommends optimizations, and tracks performance metrics over time. Use this agent for performance profiling, memory analysis, frame time investigation, or optimization strategy." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/qa/agents/qa-lead.md b/.opencode/modules/qa/agents/qa-lead.md index 5209a0b..e330087 100644 --- a/.opencode/modules/qa/agents/qa-lead.md +++ b/.opencode/modules/qa/agents/qa-lead.md @@ -1,7 +1,6 @@ --- description: "The QA Lead owns test strategy, bug triage, release quality gates, and testing process design. Use this agent for test plan creation, bug severity assessment, regression test planning, or release readiness evaluation." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/qa/agents/qa-tester.md b/.opencode/modules/qa/agents/qa-tester.md index 9b17c8e..7a4e388 100644 --- a/.opencode/modules/qa/agents/qa-tester.md +++ b/.opencode/modules/qa/agents/qa-tester.md @@ -1,7 +1,6 @@ --- description: "The QA Tester writes detailed test cases, bug reports, and test checklists. Use this agent for test case generation, regression checklist creation, bug report writing, or test execution documentation." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 10 --- diff --git a/.opencode/modules/qa/agents/security-engineer.md b/.opencode/modules/qa/agents/security-engineer.md index 3190dfc..d121c5b 100644 --- a/.opencode/modules/qa/agents/security-engineer.md +++ b/.opencode/modules/qa/agents/security-engineer.md @@ -1,7 +1,6 @@ --- description: "The Security Engineer protects the game from cheating, exploits, and data breaches. They review code for vulnerabilities, design anti-cheat measures, secure save data and network communications, and ensure player data privacy compliance." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/release/agents/analytics-engineer.md b/.opencode/modules/release/agents/analytics-engineer.md index 381a7a0..52cb55c 100644 --- a/.opencode/modules/release/agents/analytics-engineer.md +++ b/.opencode/modules/release/agents/analytics-engineer.md @@ -1,7 +1,6 @@ --- description: "The Analytics Engineer designs telemetry systems, player behavior tracking, A/B test frameworks, and data analysis pipelines. Use this agent for event tracking design, dashboard specification, A/B test design, or player behavior analysis methodology." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/release/agents/devops-engineer.md b/.opencode/modules/release/agents/devops-engineer.md index ba371de..a6b18ea 100644 --- a/.opencode/modules/release/agents/devops-engineer.md +++ b/.opencode/modules/release/agents/devops-engineer.md @@ -1,7 +1,6 @@ --- description: "The DevOps Engineer maintains build pipelines, CI/CD configuration, version control workflow, and deployment infrastructure. Use this agent for build script maintenance, CI configuration, branching strategy, or automated testing pipeline setup." mode: subagent -model: opencode-go/deepseek-v4-flash maxTurns: 10 --- diff --git a/.opencode/modules/release/agents/release-manager.md b/.opencode/modules/release/agents/release-manager.md index 0d2e5f8..bd3326a 100644 --- a/.opencode/modules/release/agents/release-manager.md +++ b/.opencode/modules/release/agents/release-manager.md @@ -1,7 +1,6 @@ --- description: "Owns the release pipeline: certification checklists, store submissions, platform requirements, version numbering, and release-day coordination. Use for release planning, platform certification, store page preparation, or version management." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/release/skills/changelog/SKILL.md b/.opencode/modules/release/skills/changelog/SKILL.md index 2fe6540..7da1186 100644 --- a/.opencode/modules/release/skills/changelog/SKILL.md +++ b/.opencode/modules/release/skills/changelog/SKILL.md @@ -7,7 +7,6 @@ allowed-tools: Read, Glob, Grep, Bash, Write context: | !git log --oneline -30 2>/dev/null !git tag --list --sort=-v:refname 2>/dev/null | head -5 -model: opencode-go/deepseek-v4-flash --- ## Phase 1: Parse Arguments diff --git a/.opencode/modules/release/skills/patch-notes/SKILL.md b/.opencode/modules/release/skills/patch-notes/SKILL.md index 68be695..6a77327 100644 --- a/.opencode/modules/release/skills/patch-notes/SKILL.md +++ b/.opencode/modules/release/skills/patch-notes/SKILL.md @@ -4,7 +4,6 @@ description: "Generate player-facing patch notes from git history, sprint data, argument-hint: "[version] [--style brief|detailed|full]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash -model: opencode-go/deepseek-v4-flash agent: community-manager --- diff --git a/.opencode/modules/release/skills/sprint-status/SKILL.md b/.opencode/modules/release/skills/sprint-status/SKILL.md index ec90548..9fa36cf 100644 --- a/.opencode/modules/release/skills/sprint-status/SKILL.md +++ b/.opencode/modules/release/skills/sprint-status/SKILL.md @@ -4,7 +4,6 @@ description: "Fast sprint status check. Reads the current sprint plan, scans sto argument-hint: "[sprint-number or blank for current]" user-invocable: true allowed-tools: Read, Glob, Grep -model: opencode-go/deepseek-v4-flash --- # Sprint Status diff --git a/.opencode/modules/stories/skills/onboard/SKILL.md b/.opencode/modules/stories/skills/onboard/SKILL.md index 5038e16..0ef6bb8 100644 --- a/.opencode/modules/stories/skills/onboard/SKILL.md +++ b/.opencode/modules/stories/skills/onboard/SKILL.md @@ -4,7 +4,6 @@ description: "Generates a contextual onboarding document for a new contributor o argument-hint: "[role|area]" user-invocable: true allowed-tools: Read, Glob, Grep, Write -model: opencode-go/deepseek-v4-flash --- ## Phase 1: Load Project Context diff --git a/.opencode/modules/stories/skills/story-readiness/SKILL.md b/.opencode/modules/stories/skills/story-readiness/SKILL.md index a25b0ca..980a6ba 100644 --- a/.opencode/modules/stories/skills/story-readiness/SKILL.md +++ b/.opencode/modules/stories/skills/story-readiness/SKILL.md @@ -4,7 +4,6 @@ description: "Validate that a story file is implementation-ready. Checks for emb argument-hint: "[story-file-path or 'all' or 'sprint']" user-invocable: true allowed-tools: Read, Glob, Grep, question, Task -model: opencode-go/deepseek-v4-flash --- # Story Readiness diff --git a/.opencode/modules/ui/agents/accessibility-specialist.md b/.opencode/modules/ui/agents/accessibility-specialist.md index 25ed46a..ba73365 100644 --- a/.opencode/modules/ui/agents/accessibility-specialist.md +++ b/.opencode/modules/ui/agents/accessibility-specialist.md @@ -1,7 +1,6 @@ --- description: "The Accessibility Specialist ensures the game is playable by the widest possible audience. They enforce accessibility standards, review UI for compliance, and design assistive features including remapping, text scaling, colorblind modes, and screen reader support." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 10 --- diff --git a/.opencode/modules/ui/agents/ui-programmer.md b/.opencode/modules/ui/agents/ui-programmer.md index 1f470b2..560f1b7 100644 --- a/.opencode/modules/ui/agents/ui-programmer.md +++ b/.opencode/modules/ui/agents/ui-programmer.md @@ -1,7 +1,6 @@ --- description: "The UI Programmer implements user interface systems: menus, HUDs, inventory screens, dialogue boxes, and UI framework code. Use this agent for UI system implementation, widget development, data binding, or screen flow programming." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 --- diff --git a/.opencode/modules/ui/agents/ux-designer.md b/.opencode/modules/ui/agents/ux-designer.md index df40f9e..b9d9ce8 100644 --- a/.opencode/modules/ui/agents/ux-designer.md +++ b/.opencode/modules/ui/agents/ux-designer.md @@ -1,7 +1,6 @@ --- description: "The UX Designer owns user experience flows, interaction design, accessibility, information architecture, and input handling design. Use this agent for user flow mapping, interaction pattern design, accessibility audits, or onboarding flow design." mode: subagent -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: bash: deny diff --git a/README.md b/README.md index 1a759b7..9907f43 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,6 @@ - [🚀 Quick Start](#-quick-start) - [🔌 Recommended Plugins](#-recommended-plugins) - [🗺️ Key Mappings](#️-key-mappings) -- [🧠 Model Mapping](#-model-mapping) -- [🎯 Model Assignment Strategy](#-model-assignment-strategy) -- [🔄 Customizing Models](#-customizing-models) - [📁 Directory Tree](#-directory-tree) - [🔗 Hooks Plugin](#-hooks-plugin) - [🏗️ Studio Hierarchy](#️-studio-hierarchy) @@ -191,79 +188,6 @@ on startup. See [docs/pi-extensions.md](docs/pi-extensions.md) for details. --- -## 🧠 Model Mapping - -| CCGS | OpenCode | -|------|----------| -| `opus` 🐙 | `kimi-k2.6` | -| `sonnet` 🖋️ | `qwen3.6-plus` | -| `haiku` 🍃 | `deepseek-v4-flash` | - ---- - -## 🎯 Model Assignment Strategy - -| 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 `task` tool inherit the caller's model regardless of their frontmatter `model:` field. See [Known Issues](#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 sessions -- `opencode -m opencode-go/qwen3.6-plus` — general development sessions -- `opencode -m opencode-go/deepseek-v4-flash` — quick QA or maintenance sessions - ---- - -## 🔄 Customizing Models - -OpenCode supports **any model provider** — switch the studio to your preferred -models, including local ones, with a single command. - -### Quick switch - -```bash -# 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: - -```bash -node utils/assign-models.js --config my-models.json -``` - -### Provider examples - -| Provider | Model ID Format | Example | -|----------|----------------|---------| -| **OpenCode** (default) | `opencode-go/` | `opencode-go/qwen3.6-plus` | -| **Anthropic Claude** | `anthropic/` | `anthropic/claude-opus-4`, `anthropic/claude-sonnet-4` | -| **OpenAI** | `openai/` | `openai/gpt-4o`, `openai/o3` | -| **Google Gemini** | `google/` | `google/gemini-2.5-pro` | -| **Ollama** (local) | `ollama/` | `ollama/llama3.2`, `ollama/mistral` | -| **OpenAI-compatible** | `/` | `http://localhost:11434/v1/llama3.2` | - -> **Tip:** Run `opencode models` to list all models available through your -> configured providers. See the [OpenCode provider docs](https://opencode.ai) -> for setup instructions. - ---- - ## 📁 Directory Tree ``` @@ -311,8 +235,6 @@ node utils/assign-models.js --config my-models.json │ ├── [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 ``` diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 8ef447e..f1310de 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -51,7 +51,6 @@ Every agent must have: --- description: "One-sentence description of the agent's domain and purpose" mode: subagent # primary (director) or subagent (specialist) -model: opencode-go/qwen3.6-plus maxTurns: 20 permission: # optional — add `bash: deny` for non-code agents bash: deny diff --git a/docs/framework/coordination-rules.md b/docs/framework/coordination-rules.md index 9525da1..8d83f04 100644 --- a/docs/framework/coordination-rules.md +++ b/docs/framework/coordination-rules.md @@ -12,25 +12,6 @@ 5. **No Unilateral Cross-Domain Changes**: An agent must never modify files outside its designated directories without explicit delegation. -## Model Tier Assignment - -Skills and agents are assigned to model tiers based on task complexity: - -| Tier | Model | When to use | -|------|-------|-------------| -| **Haiku** | `opencode-go/deepseek-v4-flash` | Read-only status checks, formatting, simple lookups — no creative judgment needed | -| **Sonnet** | `opencode-go/qwen3.6-plus` | Implementation, design authoring, analysis of individual systems — default for most work | -| **Opus** | `opencode-go/kimi-k2.6` | Multi-document synthesis, high-stakes phase gate verdicts, cross-system holistic review | - -Skills with `model: haiku`: `/help`, `/sprint-status`, `/story-readiness`, `/scope-check`, -`/project-stage-detect`, `/changelog`, `/patch-notes`, `/onboard` - -Skills with `model: opus`: `/review-all-gdds`, `/architecture-review`, `/gate-check` - -All other skills default to Sonnet. When creating new skills, assign Haiku if the -skill only reads and formats; assign Opus if it must synthesize 5+ documents with -high-stakes output; otherwise leave unset (Sonnet). - ## Subagents vs Agent Teams This project uses two distinct multi-agent patterns: diff --git a/docs/framework/director-gates.md b/docs/framework/director-gates.md index 33a9f4f..946fb17 100644 --- a/docs/framework/director-gates.md +++ b/docs/framework/director-gates.md @@ -124,7 +124,7 @@ For phase gates, record in `docs/architecture/architecture.md` or ## Tier 1 — Creative Director Gates -Agent: `creative-director` | Model tier: Opus | Domain: Vision, pillars, player experience +Agent: `creative-director` | Domain: Vision, pillars, player experience --- @@ -266,7 +266,7 @@ any session that produces player feedback ## Tier 1 — Technical Director Gates -Agent: `technical-director` | Model tier: Opus | Domain: Architecture, engine risk, performance +Agent: `technical-director` | Domain: Architecture, engine risk, performance --- @@ -412,7 +412,7 @@ or before finalizing any engine-specific implementation approach ## Tier 1 — Producer Gates -Agent: `producer` | Model tier: Opus | Domain: Scope, timeline, dependencies, production risk +Agent: `producer` | Domain: Scope, timeline, dependencies, production risk --- @@ -538,7 +538,7 @@ is invoked ## Tier 1 — Art Director Gates -Agent: `art-director` | Model tier: Sonnet | Domain: Visual identity, art bible, visual production readiness +Agent: `art-director` | Domain: Visual identity, art bible, visual production readiness --- diff --git a/skill-testing-framework/agents/directors/art-director.md b/skill-testing-framework/agents/directors/art-director.md index 6ea0807..16e140d 100644 --- a/skill-testing-framework/agents/directors/art-director.md +++ b/skill-testing-framework/agents/directors/art-director.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Visual identity, art bible authorship and enforcement, asset quality standards, UI/UX visual design, visual phase gate, concept art evaluation. **Does NOT own:** UX interaction flows and information architecture (ux-designer's domain), audio direction (audio-director), code implementation. -**Model tier:** Sonnet (note: despite the "director" title, art-director is assigned Sonnet per coordination-rules.md — it handles individual system analysis, not multi-document phase gate synthesis at the Opus level). **Gate IDs handled:** AD-CONCEPT-VISUAL, AD-ART-BIBLE, AD-PHASE-GATE. --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/art-director.md` frontmatter: - [ ] `description:` field is present and domain-specific (references visual identity, art bible, asset standards — not generic) - [ ] `allowed-tools:` list is read-focused; image review capability if supported; no Bash unless asset pipeline checks are justified -- [ ] Model tier is `claude-sonnet-4-6` (NOT Opus — coordination-rules.md assigns Sonnet to art-director) - [ ] Agent definition does not claim authority over UX interaction flows or audio direction --- diff --git a/skill-testing-framework/agents/directors/creative-director.md b/skill-testing-framework/agents/directors/creative-director.md index 2e876c2..c686463 100644 --- a/skill-testing-framework/agents/directors/creative-director.md +++ b/skill-testing-framework/agents/directors/creative-director.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Creative vision, game pillars, GDD alignment, systems decomposition feedback, narrative direction, playtest feedback interpretation, phase gate (creative aspect). **Does NOT own:** Technical architecture or implementation details (delegates to technical-director), production scheduling (producer), visual art style execution (delegates to art-director). -**Model tier:** Opus (multi-document synthesis, high-stakes phase gate verdicts). **Gate IDs handled:** CD-PILLARS, CD-GDD-ALIGN, CD-SYSTEMS, CD-NARRATIVE, CD-PLAYTEST, CD-PHASE-GATE. --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/creative-director.md` frontmatte - [ ] `description:` field is present and domain-specific (references creative vision, pillars, GDD alignment — not generic) - [ ] `allowed-tools:` list is read-heavy; should not include Bash unless justified by a creative workflow need -- [ ] Model tier is `claude-opus-4-6` per coordination-rules.md (directors with gate synthesis = Opus) - [ ] Agent definition does not claim authority over technical architecture or production scheduling --- diff --git a/skill-testing-framework/agents/directors/producer.md b/skill-testing-framework/agents/directors/producer.md index 26fe9f6..bcf25d6 100644 --- a/skill-testing-framework/agents/directors/producer.md +++ b/skill-testing-framework/agents/directors/producer.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Scope management, sprint planning validation, milestone tracking, epic prioritization, production phase gate. **Does NOT own:** Game design decisions (creative-director / game-designer), technical architecture (technical-director), creative direction. -**Model tier:** Opus (multi-document synthesis, high-stakes phase gate verdicts). **Gate IDs handled:** PR-SCOPE, PR-SPRINT, PR-MILESTONE, PR-EPIC, PR-PHASE-GATE. --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/producer.md` frontmatter: - [ ] `description:` field is present and domain-specific (references scope, sprint, milestone, production — not generic) - [ ] `allowed-tools:` list is primarily read-focused; Bash only if sprint/milestone files require parsing -- [ ] Model tier is `claude-opus-4-6` per coordination-rules.md (directors with gate synthesis = Opus) - [ ] Agent definition does not claim authority over design decisions or technical architecture --- diff --git a/skill-testing-framework/agents/directors/technical-director.md b/skill-testing-framework/agents/directors/technical-director.md index c896d28..edae471 100644 --- a/skill-testing-framework/agents/directors/technical-director.md +++ b/skill-testing-framework/agents/directors/technical-director.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** System architecture decisions, technical feasibility assessment, ADR oversight and approval, engine risk evaluation, technical phase gate. **Does NOT own:** Game design decisions (creative-director / game-designer), creative direction, visual art style, production scheduling (producer). -**Model tier:** Opus (multi-document synthesis, high-stakes architecture and phase gate verdicts). **Gate IDs handled:** TD-SYSTEM-BOUNDARY, TD-FEASIBILITY, TD-ARCHITECTURE, TD-ADR, TD-ENGINE-RISK, TD-PHASE-GATE. --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/technical-director.md` frontmatt - [ ] `description:` field is present and domain-specific (references architecture, feasibility, ADR — not generic) - [ ] `allowed-tools:` list may include Read for architecture documents; Bash only if required for technical checks -- [ ] Model tier is `claude-opus-4-6` per coordination-rules.md (directors with gate synthesis = Opus) - [ ] Agent definition does not claim authority over game design decisions or creative direction --- diff --git a/skill-testing-framework/agents/engine/godot/godot-csharp-specialist.md b/skill-testing-framework/agents/engine/godot/godot-csharp-specialist.md index ecec4c2..057c559 100644 --- a/skill-testing-framework/agents/engine/godot/godot-csharp-specialist.md +++ b/skill-testing-framework/agents/engine/godot/godot-csharp-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: C# patterns in Godot 4, .NET idioms applied to Godot, [Export] attribute usage, signal delegates, and async/await patterns. Does NOT own: GDScript code (gdscript-specialist), GDExtension C/C++ bindings (gdextension-specialist). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references C# in Godot 4 / .NET patterns / signal delegates) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over GDScript or GDExtension code --- diff --git a/skill-testing-framework/agents/engine/godot/godot-gdextension-specialist.md b/skill-testing-framework/agents/engine/godot/godot-gdextension-specialist.md index b2292a9..153e202 100644 --- a/skill-testing-framework/agents/engine/godot/godot-gdextension-specialist.md +++ b/skill-testing-framework/agents/engine/godot/godot-gdextension-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: GDExtension API, godot-cpp C++ bindings, godot-rust bindings, native library integration, and native performance optimization. Does NOT own: GDScript code (gdscript-specialist), shader code (godot-shader-specialist). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references GDExtension / godot-cpp / native bindings) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over GDScript or shader authoring --- diff --git a/skill-testing-framework/agents/engine/godot/godot-gdscript-specialist.md b/skill-testing-framework/agents/engine/godot/godot-gdscript-specialist.md index 8ac935f..3767c97 100644 --- a/skill-testing-framework/agents/engine/godot/godot-gdscript-specialist.md +++ b/skill-testing-framework/agents/engine/godot/godot-gdscript-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: GDScript static typing, design patterns in GDScript, signal architecture, coroutine/await patterns, and GDScript performance. Does NOT own: shader code (godot-shader-specialist), GDExtension bindings (godot-gdextension-specialist). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references GDScript / static typing / signals / coroutines) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over shader code or GDExtension --- diff --git a/skill-testing-framework/agents/engine/godot/godot-shader-specialist.md b/skill-testing-framework/agents/engine/godot/godot-shader-specialist.md index 7ac2df8..70d7167 100644 --- a/skill-testing-framework/agents/engine/godot/godot-shader-specialist.md +++ b/skill-testing-framework/agents/engine/godot/godot-shader-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Godot shading language (GLSL-derivative), visual shaders (VisualShader graph), material setup, particle shaders, and post-processing effects. Does NOT own: gameplay code, art style direction. -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references Godot shading language / materials / post-processing) - [ ] `allowed-tools:` list includes Read, Write, Edit, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition references `docs/engine-reference/godot/VERSION.md` as the authoritative source for Godot shader API changes --- diff --git a/skill-testing-framework/agents/engine/godot/godot-specialist.md b/skill-testing-framework/agents/engine/godot/godot-specialist.md index bd3b868..5153416 100644 --- a/skill-testing-framework/agents/engine/godot/godot-specialist.md +++ b/skill-testing-framework/agents/engine/godot/godot-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Godot-specific patterns, node/scene architecture, signals, resources, and GDScript vs C# vs GDExtension decisions. Does NOT own: actual code authoring in a specific language (delegates to language sub-specialists). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references Godot architecture / node patterns / engine decisions) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition references `docs/engine-reference/godot/VERSION.md` as the authoritative API source --- diff --git a/skill-testing-framework/agents/engine/unity/unity-addressables-specialist.md b/skill-testing-framework/agents/engine/unity/unity-addressables-specialist.md index 44ba34e..660ce19 100644 --- a/skill-testing-framework/agents/engine/unity/unity-addressables-specialist.md +++ b/skill-testing-framework/agents/engine/unity/unity-addressables-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Addressable Asset System — groups, async loading/unloading, handle lifecycle management, memory budgeting, content catalogs, and remote content delivery. Does NOT own: rendering systems (engine-programmer), game logic that uses the loaded assets (gameplay-programmer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references Addressables / asset loading / content catalogs / remote delivery) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over rendering systems or gameplay using the loaded assets --- diff --git a/skill-testing-framework/agents/engine/unity/unity-dots-specialist.md b/skill-testing-framework/agents/engine/unity/unity-dots-specialist.md index 006328f..d854c14 100644 --- a/skill-testing-framework/agents/engine/unity/unity-dots-specialist.md +++ b/skill-testing-framework/agents/engine/unity/unity-dots-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: ECS architecture (IComponentData, ISystem, SystemAPI), Jobs system (IJob, IJobEntity, Burst), Burst compiler constraints, DOTS gameplay systems, and hybrid renderer. Does NOT own: MonoBehaviour gameplay code (gameplay-programmer), UI implementation (unity-ui-specialist). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references ECS / Jobs / Burst / IComponentData) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over MonoBehaviour gameplay or UI systems --- diff --git a/skill-testing-framework/agents/engine/unity/unity-shader-specialist.md b/skill-testing-framework/agents/engine/unity/unity-shader-specialist.md index 2032c8b..418f5f2 100644 --- a/skill-testing-framework/agents/engine/unity/unity-shader-specialist.md +++ b/skill-testing-framework/agents/engine/unity/unity-shader-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Unity Shader Graph, custom HLSL, VFX Graph, URP/HDRP pipeline customization, and post-processing effects. Does NOT own: gameplay code, art style direction. -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references Shader Graph / HLSL / VFX Graph / URP / HDRP) - [ ] `allowed-tools:` list includes Read, Write, Edit, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over gameplay code or art direction --- diff --git a/skill-testing-framework/agents/engine/unity/unity-specialist.md b/skill-testing-framework/agents/engine/unity/unity-specialist.md index 6ad83ea..b61b850 100644 --- a/skill-testing-framework/agents/engine/unity/unity-specialist.md +++ b/skill-testing-framework/agents/engine/unity/unity-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Unity-specific architecture patterns, MonoBehaviour vs DOTS decisions, and subsystem selection (Addressables, New Input System, UI Toolkit, Cinemachine, etc.). Does NOT own: language-specific deep dives (delegates to unity-dots-specialist, unity-ui-specialist, etc.). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references Unity patterns / MonoBehaviour / subsystem decisions) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition acknowledges the sub-specialist routing table (DOTS, UI, Shader, Addressables) --- diff --git a/skill-testing-framework/agents/engine/unity/unity-ui-specialist.md b/skill-testing-framework/agents/engine/unity/unity-ui-specialist.md index a532441..3fef68d 100644 --- a/skill-testing-framework/agents/engine/unity/unity-ui-specialist.md +++ b/skill-testing-framework/agents/engine/unity/unity-ui-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Unity UI Toolkit (UXML/USS), UGUI (Canvas), data binding, runtime UI performance, and UI input event handling. Does NOT own: UX flow design (ux-designer), visual art style (art-director). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references UI Toolkit / UGUI / Canvas / data binding) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over UX flow design or visual art direction --- diff --git a/skill-testing-framework/agents/engine/unreal/ue-blueprint-specialist.md b/skill-testing-framework/agents/engine/unreal/ue-blueprint-specialist.md index 9b34d23..fbbdc47 100644 --- a/skill-testing-framework/agents/engine/unreal/ue-blueprint-specialist.md +++ b/skill-testing-framework/agents/engine/unreal/ue-blueprint-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Blueprint architecture, the Blueprint/C++ boundary, Blueprint graph quality, Blueprint performance optimization, Blueprint Function Library design - **Does NOT own**: C++ implementation (engine-programmer or gameplay-programmer), art assets or shaders, UI/UX flow design (ux-designer) -- **Model tier**: Sonnet - **Gate IDs**: None; defers to unreal-specialist or lead-programmer for cross-domain rulings --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references Blueprint architecture and optimization) - [ ] `allowed-tools:` list matches the agent's role (Read for Blueprint project files; no server or deployment tools) -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over C++ implementation decisions --- diff --git a/skill-testing-framework/agents/engine/unreal/ue-gas-specialist.md b/skill-testing-framework/agents/engine/unreal/ue-gas-specialist.md index 5969645..818055f 100644 --- a/skill-testing-framework/agents/engine/unreal/ue-gas-specialist.md +++ b/skill-testing-framework/agents/engine/unreal/ue-gas-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Gameplay Ability System (GAS) — abilities (UGameplayAbility), gameplay effects (UGameplayEffect), attribute sets (UAttributeSet), gameplay tags, ability tasks (UAbilityTask), ability specs (FGameplayAbilitySpec), GAS prediction and latency compensation - **Does NOT own**: UI display of ability state (ue-umg-specialist), net replication of GAS data beyond built-in GAS prediction (ue-replication-specialist), art or VFX for ability feedback (vfx-artist) -- **Model tier**: Sonnet - **Gate IDs**: None; defers cross-domain calls to the appropriate specialist --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references GAS, abilities, GameplayEffects, AttributeSets) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for GAS source files; no deployment or server tools) -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over UI implementation or low-level net serialization --- diff --git a/skill-testing-framework/agents/engine/unreal/ue-replication-specialist.md b/skill-testing-framework/agents/engine/unreal/ue-replication-specialist.md index 85cc8ed..194fbcc 100644 --- a/skill-testing-framework/agents/engine/unreal/ue-replication-specialist.md +++ b/skill-testing-framework/agents/engine/unreal/ue-replication-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Property replication (UPROPERTY Replicated/ReplicatedUsing), RPCs (Server/Client/NetMulticast), client prediction and reconciliation, net relevancy and always-relevant settings, net serialization (FArchive/NetSerialize), bandwidth optimization and replication frequency tuning - **Does NOT own**: Gameplay logic being replicated (gameplay-programmer), server infrastructure and hosting (devops-engineer), GAS-specific prediction (ue-gas-specialist handles GAS net prediction) -- **Model tier**: Sonnet - **Gate IDs**: None; escalates security-relevant replication concerns to lead-programmer --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references replication, RPCs, client prediction, bandwidth) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for C++ and Blueprint source files; no infrastructure or deployment tools) -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over server infrastructure, game server architecture, or gameplay logic correctness --- diff --git a/skill-testing-framework/agents/engine/unreal/ue-umg-specialist.md b/skill-testing-framework/agents/engine/unreal/ue-umg-specialist.md index e0d2306..23275fe 100644 --- a/skill-testing-framework/agents/engine/unreal/ue-umg-specialist.md +++ b/skill-testing-framework/agents/engine/unreal/ue-umg-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: UMG widget hierarchy design, data binding patterns, CommonUI input routing and action tags, widget styling (WidgetStyle assets), UI optimization (widget pooling, ListView, invalidation) - **Does NOT own**: UX flow and screen navigation design (ux-designer), gameplay logic (gameplay-programmer), backend data sources (game code), server communication -- **Model tier**: Sonnet - **Gate IDs**: None; defers UX flow decisions to ux-designer --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references UMG, widget hierarchy, CommonUI) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for UI assets and Blueprint files; no server or gameplay source tools) -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over UX flow, navigation architecture, or gameplay data logic --- diff --git a/skill-testing-framework/agents/engine/unreal/unreal-specialist.md b/skill-testing-framework/agents/engine/unreal/unreal-specialist.md index 905787c..cf446a4 100644 --- a/skill-testing-framework/agents/engine/unreal/unreal-specialist.md +++ b/skill-testing-framework/agents/engine/unreal/unreal-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Unreal Engine patterns and architecture — Blueprint vs C++ decisions, UE subsystems (GAS, Enhanced Input, Niagara), UE project structure, plugin integration, and engine-level configuration - **Does NOT own**: Art style and visual direction (art-director), server infrastructure and deployment (devops-engineer), UI/UX flow design (ux-designer) -- **Model tier**: Sonnet - **Gate IDs**: None; defers gate verdicts to technical-director --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references Unreal Engine) - [ ] `allowed-tools:` list matches the agent's role (Read, Write for UE project files; no deployment tools) -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority outside its declared domain (no art, no server infra) --- diff --git a/skill-testing-framework/agents/leads/audio-director.md b/skill-testing-framework/agents/leads/audio-director.md index aea36dd..3664361 100644 --- a/skill-testing-framework/agents/leads/audio-director.md +++ b/skill-testing-framework/agents/leads/audio-director.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Music direction and palette, sound design philosophy, audio implementation strategy, mix balance, audio aspects of phase gates. **Does NOT own:** Visual design (art-director), code implementation (lead-programmer), narrative story content (narrative-director), UX interaction flows (ux-designer). -**Model tier:** Sonnet (individual system analysis — audio direction and spec review). **Gate IDs handled:** AD-VISUAL (audio aspect of the phase gate; may be referenced as part of AD-PHASE-GATE in the audio dimension). --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/audio-director.md` frontmatter: - [ ] `description:` field is present and domain-specific (references music direction, sound design, mix, audio implementation — not generic) - [ ] `allowed-tools:` list is read-focused; no Bash unless audio asset pipeline checks are justified -- [ ] Model tier is `claude-sonnet-4-6` per coordination-rules.md - [ ] Agent definition does not claim authority over visual design, code implementation, or narrative content --- diff --git a/skill-testing-framework/agents/leads/game-designer.md b/skill-testing-framework/agents/leads/game-designer.md index 24ffd94..a020f2b 100644 --- a/skill-testing-framework/agents/leads/game-designer.md +++ b/skill-testing-framework/agents/leads/game-designer.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Core loop design, progression systems, combat mechanics rules, economy design, player-facing rules and interactions. **Does NOT own:** Code implementation (lead-programmer / gameplay-programmer), visual art (art-director), narrative lore and story (narrative-director — coordinates with), balance formula math (systems-designer — collaborates with). -**Model tier:** Sonnet (individual system design authoring and review). **Gate IDs handled:** Design review verdicts on mechanic specs (no named gate ID prefix — uses APPROVED / NEEDS REVISION vocabulary). --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/game-designer.md` frontmatter: - [ ] `description:` field is present and domain-specific (references core loop, progression, combat rules, economy, player-facing design — not generic) - [ ] `allowed-tools:` list is read-focused; includes Read for GDDs and design docs; no Bash unless design tooling requires it -- [ ] Model tier is `claude-sonnet-4-6` per coordination-rules.md - [ ] Agent definition does not claim authority over code implementation, visual art style, or standalone narrative lore decisions --- diff --git a/skill-testing-framework/agents/leads/lead-programmer.md b/skill-testing-framework/agents/leads/lead-programmer.md index 3dcba8d..c46c725 100644 --- a/skill-testing-framework/agents/leads/lead-programmer.md +++ b/skill-testing-framework/agents/leads/lead-programmer.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Code architecture decisions, LP-FEASIBILITY gate, LP-CODE-REVIEW gate, coding standards enforcement, tech stack decisions within the approved engine. **Does NOT own:** Game design decisions (game-designer), creative direction (creative-director), production scheduling (producer), visual art direction (art-director). -**Model tier:** Sonnet (implementation-level analysis of individual systems). **Gate IDs handled:** LP-FEASIBILITY, LP-CODE-REVIEW. --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/lead-programmer.md` frontmatter: - [ ] `description:` field is present and domain-specific (references code architecture, feasibility, code review, coding standards — not generic) - [ ] `allowed-tools:` list includes Read for source files; Bash may be included for static analysis or test runs; no write access outside `src/` without explicit delegation -- [ ] Model tier is `claude-sonnet-4-6` per coordination-rules.md - [ ] Agent definition does not claim authority over game design, creative direction, or production scheduling --- diff --git a/skill-testing-framework/agents/leads/level-designer.md b/skill-testing-framework/agents/leads/level-designer.md index e2577af..000ff16 100644 --- a/skill-testing-framework/agents/leads/level-designer.md +++ b/skill-testing-framework/agents/leads/level-designer.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Level layouts, encounter design, pacing and tension arc, environmental storytelling, spatial puzzles. **Does NOT own:** Narrative dialogue (writer / narrative-director), visual art style (art-director), code implementation (lead-programmer / ai-programmer), enemy AI behavior logic (ai-programmer / gameplay-programmer). -**Model tier:** Sonnet (individual system analysis — level design review and encounter assessment). **Gate IDs handled:** Level design review verdicts (uses APPROVED / REVISION NEEDED vocabulary). --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/level-designer.md` frontmatter: - [ ] `description:` field is present and domain-specific (references level layout, encounter design, pacing, environmental storytelling — not generic) - [ ] `allowed-tools:` list is read-focused; includes Read for level design documents and GDDs; no Bash unless level tooling requires it -- [ ] Model tier is `claude-sonnet-4-6` per coordination-rules.md - [ ] Agent definition does not claim authority over narrative dialogue, AI behavior code, or visual art style --- diff --git a/skill-testing-framework/agents/leads/narrative-director.md b/skill-testing-framework/agents/leads/narrative-director.md index a493bbb..443c861 100644 --- a/skill-testing-framework/agents/leads/narrative-director.md +++ b/skill-testing-framework/agents/leads/narrative-director.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Story architecture, character design direction, world-building oversight, ND-CONSISTENCY gate, dialogue quality review. **Does NOT own:** Visual art style (art-director), technical systems or code (lead-programmer), production scheduling (producer), game mechanics rules (game-designer). -**Model tier:** Sonnet (individual system analysis — narrative consistency and lore review). **Gate IDs handled:** ND-CONSISTENCY. --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/narrative-director.md` frontmatt - [ ] `description:` field is present and domain-specific (references story, character, world-building, consistency — not generic) - [ ] `allowed-tools:` list is read-focused; includes Read for lore documents, GDDs, and narrative docs; no Bash unless justified -- [ ] Model tier is `claude-sonnet-4-6` per coordination-rules.md - [ ] Agent definition does not claim authority over visual style, technical systems, or production scheduling --- diff --git a/skill-testing-framework/agents/leads/qa-lead.md b/skill-testing-framework/agents/leads/qa-lead.md index 1604457..56bb4cf 100644 --- a/skill-testing-framework/agents/leads/qa-lead.md +++ b/skill-testing-framework/agents/leads/qa-lead.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Test strategy, QL-STORY-READY gate, QL-TEST-COVERAGE gate, bug severity triage, release quality gates. **Does NOT own:** Feature implementation (programmers), game design decisions, creative direction, production scheduling. -**Model tier:** Sonnet (individual system analysis — story readiness and coverage assessment). **Gate IDs handled:** QL-STORY-READY, QL-TEST-COVERAGE. --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/qa-lead.md` frontmatter: - [ ] `description:` field is present and domain-specific (references test strategy, story readiness, coverage, bug triage — not generic) - [ ] `allowed-tools:` list is read-focused; may include Read for story files, test files, and coding-standards; Bash only if running test commands is required -- [ ] Model tier is `claude-sonnet-4-6` per coordination-rules.md - [ ] Agent definition does not claim authority over implementation decisions or game design --- diff --git a/skill-testing-framework/agents/leads/systems-designer.md b/skill-testing-framework/agents/leads/systems-designer.md index dc3d577..d9eb28a 100644 --- a/skill-testing-framework/agents/leads/systems-designer.md +++ b/skill-testing-framework/agents/leads/systems-designer.md @@ -3,7 +3,6 @@ ## Agent Summary **Domain owned:** Combat formulas, progression curves, crafting recipes, status effect interactions, economy math, numerical balance. **Does NOT own:** Narrative and lore (narrative-director), visual design (art-director), code implementation (lead-programmer), conceptual mechanic rules (game-designer — collaborates with). -**Model tier:** Sonnet (individual system analysis — formula review and balance math). **Gate IDs handled:** Systems review verdicts on formulas and balance specs (uses APPROVED / NEEDS REVISION vocabulary). --- @@ -14,7 +13,6 @@ Verified by reading the agent's `.agents/agents/systems-designer.md` frontmatter - [ ] `description:` field is present and domain-specific (references formulas, progression curves, balance math, economy — not generic) - [ ] `allowed-tools:` list is read-focused; may include Bash for formula evaluation scripts if the project uses them; no write access outside `design/balance/` without delegation -- [ ] Model tier is `claude-sonnet-4-6` per coordination-rules.md - [ ] Agent definition does not claim authority over narrative, visual design, or conceptual mechanic rule ownership --- diff --git a/skill-testing-framework/agents/operations/analytics-engineer.md b/skill-testing-framework/agents/operations/analytics-engineer.md index b65c507..9a205c2 100644 --- a/skill-testing-framework/agents/operations/analytics-engineer.md +++ b/skill-testing-framework/agents/operations/analytics-engineer.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Telemetry architecture and event schema design, A/B test framework design, player behavior analysis methodology, analytics dashboard specification, event naming conventions, data pipeline design (schema → ingestion → dashboard) - **Does NOT own**: Game implementation of event tracking (appropriate programmer), economy design decisions informed by analytics (economy-designer), live ops event design (live-ops-designer) -- **Model tier**: Sonnet - **Gate IDs**: None; produces schemas and test designs; defers implementation to programmers --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references telemetry, A/B testing, event tracking, analytics) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for design/analytics/ and documentation; no game source or CI tools) -- [ ] Model tier is Sonnet (default for operations specialists) - [ ] Agent definition does not claim authority over game implementation, economy design, or live ops scheduling --- diff --git a/skill-testing-framework/agents/operations/community-manager.md b/skill-testing-framework/agents/operations/community-manager.md index 9e79731..6c860b4 100644 --- a/skill-testing-framework/agents/operations/community-manager.md +++ b/skill-testing-framework/agents/operations/community-manager.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Player-facing communications — patch notes text (player-friendly), social media post drafts, community update announcements, crisis communication response plans, bug triage and routing from player reports (not fixing) - **Does NOT own**: Technical patch content (devops-engineer), QA verification and test execution (qa-lead), bug fixes (programmers), brand strategy direction (creative-director) -- **Model tier**: Sonnet - **Gate IDs**: None; escalates brand voice conflicts to creative-director --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references player communication, patch notes, community management) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for production/releases/patch-notes/ and communication drafts; no code or build tools) -- [ ] Model tier is Sonnet (default for operations specialists) - [ ] Agent definition does not claim authority over technical content, QA strategy, or bug fixing --- diff --git a/skill-testing-framework/agents/operations/devops-engineer.md b/skill-testing-framework/agents/operations/devops-engineer.md index f008f09..d17ab75 100644 --- a/skill-testing-framework/agents/operations/devops-engineer.md +++ b/skill-testing-framework/agents/operations/devops-engineer.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: CI/CD pipeline configuration, build scripts, version control workflow enforcement, deployment infrastructure, branching strategy, environment management, automated test integration in CI - **Does NOT own**: Game logic or gameplay systems, security audits (security-engineer), QA test strategy (qa-lead), game networking logic (network-programmer) -- **Model tier**: Sonnet - **Gate IDs**: None; escalates deployment blockers to producer --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references CI/CD, build, deployment, version control) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for pipeline config files, shell scripts, YAML; no game source editing tools) -- [ ] Model tier is Sonnet (default for operations specialists) - [ ] Agent definition does not claim authority over game logic, security audits, or QA test design --- @@ -46,10 +44,10 @@ ### Case 4: Branching strategy conflict **Input**: "Half the team wants to use GitFlow with long-lived feature branches. The other half wants trunk-based development. How should we set this up?" **Expected behavior**: -- Recommends trunk-based development per project conventions (AGENTS.md / coordination-rules.md specify Git with trunk-based development) -- Provides concrete rationale for the recommendation in this project's context: smaller team, fewer integration conflicts, faster CI feedback +- Recommends the documented development-branch workflow per `docs/CONTRIBUTING.md` (PR Process): feature branches from `development`, one issue per branch, merged back to `development`, and `development` merged to `master` at milestone completion +- Provides concrete rationale grounded in this project's workflow: one issue per branch keeps reviews small, and CI gates both `development` (agent-validation workflow) and `master` (test workflow) - Does NOT present this as a 50/50 choice if the project has an established convention -- Explains how to implement trunk-based development with short-lived feature branches and feature flags if needed +- Explains how to follow the documented flow: branch as `feature/{issue-number}-{short-name}`, use Conventional Commits, and reference the issue with `Closes #N` - Does NOT override the project convention without flagging that doing so requires updating AGENTS.md ### Case 5: Context pass — platform-specific build matrix @@ -67,7 +65,7 @@ - [ ] Stays within declared domain (CI/CD, build scripts, version control, deployment) - [ ] Redirects game logic and networking requests to appropriate programmers -- [ ] Recommends trunk-based development when branching strategy is contested, per project conventions +- [ ] Recommends the documented development-branch workflow (`docs/CONTRIBUTING.md`) when branching strategy is contested - [ ] Returns structured pipeline configurations (YAML, scripts) not freeform advice - [ ] Flags platform SDK licensing constraints for console builds rather than silently producing incorrect configs diff --git a/skill-testing-framework/agents/operations/economy-designer.md b/skill-testing-framework/agents/operations/economy-designer.md index 6dc7ec6..78aeb8b 100644 --- a/skill-testing-framework/agents/operations/economy-designer.md +++ b/skill-testing-framework/agents/operations/economy-designer.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Resource economy design, loot table design, progression curves (XP, level, unlock), in-game market and shop design, economic balance analysis, sink and faucet mechanics, inflation/deflation risk assessment - **Does NOT own**: Live ops event scheduling and structure (live-ops-designer), code implementation, analytics tracking design (analytics-engineer), narrative justification for economy systems (writer) -- **Model tier**: Sonnet - **Gate IDs**: None; escalates economy-breaking design conflicts to creative-director or producer --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references economy, loot tables, progression curves, balance) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for design/balance/ documents; no code or analytics tools) -- [ ] Model tier is Sonnet (default for design specialists) - [ ] Agent definition does not claim authority over live ops scheduling, code, or narrative --- diff --git a/skill-testing-framework/agents/operations/live-ops-designer.md b/skill-testing-framework/agents/operations/live-ops-designer.md index a43cac2..85b2121 100644 --- a/skill-testing-framework/agents/operations/live-ops-designer.md +++ b/skill-testing-framework/agents/operations/live-ops-designer.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Post-launch content strategy, seasonal events (design and structure), battle pass design, content cadence planning, player retention mechanic design, live service feature roadmaps - **Does NOT own**: Economy math and reward value calculations (economy-designer), analytics tracking implementation (analytics-engineer), narrative content within events (writer), code implementation -- **Model tier**: Sonnet - **Gate IDs**: None; escalates monetization concerns to creative-director for brand/ethics review --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references live ops, seasonal events, battle pass, retention) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for design/live-ops/ documents; no code or analytics tools) -- [ ] Model tier is Sonnet (default for design specialists) - [ ] Agent definition does not claim authority over economy math, analytics pipelines, or narrative direction --- diff --git a/skill-testing-framework/agents/operations/localization-lead.md b/skill-testing-framework/agents/operations/localization-lead.md index 6ff0ef3..5605392 100644 --- a/skill-testing-framework/agents/operations/localization-lead.md +++ b/skill-testing-framework/agents/operations/localization-lead.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Internationalization (i18n) architecture, string extraction workflows and tooling configuration, locale testing methodology, translation pipeline design (extraction → TMS → import), string quality standards, locale-specific formatting rules (plurals, RTL, date/number formats) - **Does NOT own**: Game narrative content and dialogue writing (writer), code implementation of i18n calls (gameplay-programmer), translation work itself (external translators) -- **Model tier**: Sonnet - **Gate IDs**: None; escalates pipeline architecture decisions to technical-director when they affect build systems --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references i18n, string extraction, locale pipeline, localization) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for localization config, pipeline docs, string tables; no game source editing or deployment tools) -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over narrative content, game code implementation, or translation quality --- diff --git a/skill-testing-framework/agents/operations/release-manager.md b/skill-testing-framework/agents/operations/release-manager.md index 716a1ab..165b4c6 100644 --- a/skill-testing-framework/agents/operations/release-manager.md +++ b/skill-testing-framework/agents/operations/release-manager.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Release pipeline management, platform certification checklists (Nintendo, Sony, Microsoft, Apple, Google), store submission workflows, platform technical requirements compliance, semantic version numbering, release branch management - **Does NOT own**: Game design decisions, QA test strategy or test case design (qa-lead), QA test execution (qa-tester), build infrastructure (devops-engineer) -- **Model tier**: Sonnet - **Gate IDs**: May be invoked by `/gate-check` during Release phase; LAUNCH BLOCKED verdict is release-manager's primary escalation output --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references release pipeline, certification, store submission) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for production/releases/ directory; no game source or test tools) -- [ ] Model tier is Sonnet (default for operations specialists) - [ ] Agent definition does not claim authority over QA strategy, game design, or build infrastructure --- diff --git a/skill-testing-framework/agents/qa/accessibility-specialist.md b/skill-testing-framework/agents/qa/accessibility-specialist.md index 9c4625d..95004cb 100644 --- a/skill-testing-framework/agents/qa/accessibility-specialist.md +++ b/skill-testing-framework/agents/qa/accessibility-specialist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Input remapping, text scaling, colorblind modes, screen reader support, and accessibility standards compliance (WCAG, platform certifications). Does NOT own: overall UX flow design (ux-designer), visual art style direction (art-director). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references accessibility / inclusive design / WCAG) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over UX flow or visual art style --- diff --git a/skill-testing-framework/agents/qa/qa-tester.md b/skill-testing-framework/agents/qa/qa-tester.md index 39fc02e..9133603 100644 --- a/skill-testing-framework/agents/qa/qa-tester.md +++ b/skill-testing-framework/agents/qa/qa-tester.md @@ -4,7 +4,6 @@ - **Domain**: Detailed test case authoring, bug reports (structured format), test execution documentation, regression checklists, smoke check execution docs, test evidence recording per the project's coding standards - **Does NOT own**: Test strategy and test plan design (qa-lead), implementation fixes for found bugs (appropriate programmer), QA process architecture (qa-lead) - **Category**: qa -- **Model tier**: Sonnet - **Gate IDs**: None; flags ambiguous acceptance criteria to qa-lead rather than resolving independently --- @@ -13,7 +12,6 @@ - [ ] `description:` field is present and domain-specific (references test cases, bug reports, test execution, regression testing) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for tests/ and production/qa/evidence/; no source code editing tools) -- [ ] Model tier is Sonnet (default for QA specialists) - [ ] Agent definition does not claim authority over test strategy, fix implementation, or acceptance criterion definition --- diff --git a/skill-testing-framework/agents/qa/security-engineer.md b/skill-testing-framework/agents/qa/security-engineer.md index a058eee..280500e 100644 --- a/skill-testing-framework/agents/qa/security-engineer.md +++ b/skill-testing-framework/agents/qa/security-engineer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Anti-cheat systems, save data security, network security, vulnerability assessment, and data privacy compliance. Does NOT own: game logic design (gameplay-programmer), server infrastructure (devops-engineer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references anti-cheat / security / vulnerability assessment) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over game logic design or server deployment --- diff --git a/skill-testing-framework/agents/specialists/ai-programmer.md b/skill-testing-framework/agents/specialists/ai-programmer.md index 05caa0c..0f6c2d0 100644 --- a/skill-testing-framework/agents/specialists/ai-programmer.md +++ b/skill-testing-framework/agents/specialists/ai-programmer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: NPC behavior, state machines, pathfinding, perception systems, and AI decision-making. Does NOT own: player mechanics (gameplay-programmer), rendering or engine internals (engine-programmer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references NPC behavior / AI systems) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over player mechanics or engine rendering --- diff --git a/skill-testing-framework/agents/specialists/engine-programmer.md b/skill-testing-framework/agents/specialists/engine-programmer.md index 4cf84b6..44c0ed0 100644 --- a/skill-testing-framework/agents/specialists/engine-programmer.md +++ b/skill-testing-framework/agents/specialists/engine-programmer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Rendering pipeline, physics integration, memory management, resource loading, and core engine framework. Does NOT own: gameplay mechanics (gameplay-programmer), editor/debug tool UI (tools-programmer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references rendering / memory / engine core) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over gameplay mechanics or tool UI --- diff --git a/skill-testing-framework/agents/specialists/gameplay-programmer.md b/skill-testing-framework/agents/specialists/gameplay-programmer.md index bb78655..a73dbfb 100644 --- a/skill-testing-framework/agents/specialists/gameplay-programmer.md +++ b/skill-testing-framework/agents/specialists/gameplay-programmer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Game mechanics code, player systems, combat implementation, and interactive features. Does NOT own: UI implementation (ui-programmer), AI behavior trees (ai-programmer), engine/rendering systems (engine-programmer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references game mechanics / player systems) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep — excludes tools only needed by orchestration agents -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over UI, AI behavior, or engine/rendering code --- diff --git a/skill-testing-framework/agents/specialists/network-programmer.md b/skill-testing-framework/agents/specialists/network-programmer.md index 082fdee..be2360f 100644 --- a/skill-testing-framework/agents/specialists/network-programmer.md +++ b/skill-testing-framework/agents/specialists/network-programmer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Multiplayer networking, state replication, lag compensation, matchmaking protocol design, and network message schemas. Does NOT own: gameplay logic (only the networking of it), server infrastructure and deployment (devops-engineer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references multiplayer / replication / networking) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over gameplay logic or server deployment infrastructure --- diff --git a/skill-testing-framework/agents/specialists/performance-analyst.md b/skill-testing-framework/agents/specialists/performance-analyst.md index c442a6a..5962394 100644 --- a/skill-testing-framework/agents/specialists/performance-analyst.md +++ b/skill-testing-framework/agents/specialists/performance-analyst.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Profiling, bottleneck identification, performance metrics tracking, and optimization recommendations. Does NOT own: implementing optimizations (belongs to the appropriate programmer for that domain). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references profiling / bottleneck analysis / performance metrics) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over implementing any optimization — explicitly identifies itself as analysis/recommendation only --- diff --git a/skill-testing-framework/agents/specialists/prototyper.md b/skill-testing-framework/agents/specialists/prototyper.md index 11bba80..f4a8b50 100644 --- a/skill-testing-framework/agents/specialists/prototyper.md +++ b/skill-testing-framework/agents/specialists/prototyper.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: Rapid throwaway prototypes in the `prototypes/` directory, concept validation experiments, mechanical feasibility tests. Standards intentionally relaxed for speed — prototypes are not production code. - **Does NOT own**: Production source code in `src/` (gameplay-programmer), design documents (game-designer), production-grade architecture decisions (lead-programmer / technical-director) -- **Model tier**: Sonnet - **Gate IDs**: None; produces recommendation docs after prototype conclusion; does not participate in phase gates --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references rapid prototyping, prototypes/ directory, throwaway code) - [ ] `allowed-tools:` list matches the agent's role (Read/Write scoped to prototypes/ directory; no production src/ write access) -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition explicitly states that prototype code is not production code and must not be copied to src/ --- diff --git a/skill-testing-framework/agents/specialists/sound-designer.md b/skill-testing-framework/agents/specialists/sound-designer.md index 4ae0b15..87edc50 100644 --- a/skill-testing-framework/agents/specialists/sound-designer.md +++ b/skill-testing-framework/agents/specialists/sound-designer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: SFX specs, audio events, mixing parameters, and sound category definitions. Does NOT own: music composition direction (audio-director), code implementation of audio systems. -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references SFX / audio events / mixing) - [ ] `allowed-tools:` list includes Read, Write, Edit, Glob, Grep — does NOT include engine code execution tools -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over music direction or audio code implementation --- diff --git a/skill-testing-framework/agents/specialists/technical-artist.md b/skill-testing-framework/agents/specialists/technical-artist.md index 4f075bb..68768fe 100644 --- a/skill-testing-framework/agents/specialists/technical-artist.md +++ b/skill-testing-framework/agents/specialists/technical-artist.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Shaders, VFX, rendering optimization, art pipeline tools, and visual performance. Does NOT own: art style decisions or color palette (art-director), gameplay code (gameplay-programmer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references shaders / VFX / rendering) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over art style direction or gameplay logic --- diff --git a/skill-testing-framework/agents/specialists/tools-programmer.md b/skill-testing-framework/agents/specialists/tools-programmer.md index d16d3ce..29f594a 100644 --- a/skill-testing-framework/agents/specialists/tools-programmer.md +++ b/skill-testing-framework/agents/specialists/tools-programmer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Editor extensions, content authoring tools, debug utilities, and pipeline automation scripts. Does NOT own: game code (gameplay-programmer, ui-programmer, etc.), engine core systems (engine-programmer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references editor tools / pipeline / debug utilities) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over game source code or engine internals --- diff --git a/skill-testing-framework/agents/specialists/ui-programmer.md b/skill-testing-framework/agents/specialists/ui-programmer.md index 78f6018..3cf16cb 100644 --- a/skill-testing-framework/agents/specialists/ui-programmer.md +++ b/skill-testing-framework/agents/specialists/ui-programmer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: Menu screens, HUDs, inventory screens, dialogue boxes, UI framework code, and data binding. Does NOT own: UX flow design (ux-designer), visual style direction (art-director / technical-artist). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references menus / HUDs / UI framework / data binding) - [ ] `allowed-tools:` list includes Read, Write, Edit, Bash, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over UX flow design or visual art direction --- diff --git a/skill-testing-framework/agents/specialists/ux-designer.md b/skill-testing-framework/agents/specialists/ux-designer.md index b876154..84a422e 100644 --- a/skill-testing-framework/agents/specialists/ux-designer.md +++ b/skill-testing-framework/agents/specialists/ux-designer.md @@ -3,7 +3,6 @@ ## Agent Summary Domain: User experience flows, interaction design, information architecture, input handling design, and onboarding UX. Does NOT own: visual art style (art-director), UI implementation code (ui-programmer). -Model tier: Sonnet (default). No gate IDs assigned. --- @@ -12,7 +11,6 @@ No gate IDs assigned. - [ ] `description:` field is present and domain-specific (references UX flows / interaction design / information architecture) - [ ] `allowed-tools:` list includes Read, Write, Edit, Glob, Grep -- [ ] Model tier is Sonnet (default for specialists) - [ ] Agent definition does not claim authority over visual art direction or UI implementation code --- diff --git a/skill-testing-framework/agents/specialists/world-builder.md b/skill-testing-framework/agents/specialists/world-builder.md index caaa2ee..2c5b925 100644 --- a/skill-testing-framework/agents/specialists/world-builder.md +++ b/skill-testing-framework/agents/specialists/world-builder.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: World lore architecture — factions and their cultures/governments/motivations, world history, geography and ecology, cosmology and metaphysics, world rules (how magic works, what is and is not possible), internal consistency enforcement across the world document - **Does NOT own**: Specific NPC or quest dialogue (writer), game mechanics rules derived from world rules (game-designer/systems-designer), narrative story structure and arc design (narrative-director) -- **Model tier**: Sonnet - **Gate IDs**: None; escalates world rule/mechanic conflicts to narrative-director and game-designer jointly --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references world lore, factions, history, world rules, ecology) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for design/narrative/world/ documents; no game source, mechanic design, or dialogue files) -- [ ] Model tier is Sonnet (default for creative specialists) - [ ] Agent definition does not claim authority over dialogue writing, mechanic design, or narrative arc structure --- diff --git a/skill-testing-framework/agents/specialists/writer.md b/skill-testing-framework/agents/specialists/writer.md index 365dc9f..d1cb869 100644 --- a/skill-testing-framework/agents/specialists/writer.md +++ b/skill-testing-framework/agents/specialists/writer.md @@ -3,7 +3,6 @@ ## Agent Summary - **Domain**: In-game written content — NPC dialogue (including branching trees), lore codex entries, item and ability descriptions, environmental text (signs, books, notes), quest text, tutorial text, in-world written documents - **Does NOT own**: Story architecture and narrative structure (narrative-director), world lore and world rules (world-builder), UX copy and UI labels (ux-designer), patch notes (community-manager) -- **Model tier**: Sonnet - **Gate IDs**: None; flags lore inconsistencies to narrative-director rather than resolving them autonomously --- @@ -12,7 +11,6 @@ - [ ] `description:` field is present and domain-specific (references dialogue, lore entries, item descriptions, in-game text) - [ ] `allowed-tools:` list matches the agent's role (Read/Write for design/narrative/ and assets/data/dialogue/; no code or world-building architecture files) -- [ ] Model tier is Sonnet (default for creative specialists) - [ ] Agent definition does not claim authority over narrative structure, world rules, or UX copy direction --- diff --git a/skill-testing-framework/catalog.yaml b/skill-testing-framework/catalog.yaml index 56220f5..691a92b 100644 --- a/skill-testing-framework/catalog.yaml +++ b/skill-testing-framework/catalog.yaml @@ -853,7 +853,7 @@ skills: category: utility agents: - # Tier 1 Directors (Opus) + # Tier 1 Directors - name: creative-director spec: CCGS Skill Testing Framework/agents/directors/creative-director.md last_spec: "" @@ -878,7 +878,7 @@ agents: last_spec_result: "" category: director - # Tier 2 Leads (Sonnet) + # Tier 2 Leads - name: lead-programmer spec: CCGS Skill Testing Framework/agents/leads/lead-programmer.md last_spec: "" @@ -921,7 +921,7 @@ agents: last_spec_result: "" category: lead - # Core Specialists (Sonnet) + # Core Specialists - name: gameplay-programmer spec: CCGS Skill Testing Framework/agents/specialists/gameplay-programmer.md last_spec: "" diff --git a/skill-testing-framework/quality-rubric.md b/skill-testing-framework/quality-rubric.md index 7c7b358..0f5a363 100644 --- a/skill-testing-framework/quality-rubric.md +++ b/skill-testing-framework/quality-rubric.md @@ -187,7 +187,6 @@ Used to validate agent spec files in `tests/agents/`. | **D1 — Correct verdict vocabulary** | Returns APPROVE / CONCERNS / REJECT (or domain equivalent: REALISTIC/CONCERNS/UNREALISTIC for producer) | | **D2 — Domain boundary respected** | Does not make binding decisions outside its declared domain | | **D3 — Conflict escalation** | When two departments conflict, escalates to correct parent (creative-director or technical-director) rather than unilaterally deciding | -| **D4 — Opus model tier** | Agent is assigned Opus model per coordination-rules.md | ### `lead` @@ -198,7 +197,6 @@ systems-designer, level-designer |---|---| | **L1 — Domain verdict** | Returns a domain-specific verdict (e.g., FEASIBLE/INFEASIBLE for lead-programmer, PASS/FAIL for qa-lead) | | **L2 — Escalates to shared parent** | Out-of-domain conflicts escalate to creative-director (design) or technical-director (tech) | -| **L3 — Sonnet model tier** | Agent is assigned Sonnet model (default) per coordination-rules.md | ### `specialist` diff --git a/skill-testing-framework/skills/analysis/scope-check.md b/skill-testing-framework/skills/analysis/scope-check.md index 79cf229..0397277 100644 --- a/skill-testing-framework/skills/analysis/scope-check.md +++ b/skill-testing-framework/skills/analysis/scope-check.md @@ -2,7 +2,7 @@ ## Skill Summary -`/scope-check` is a Haiku-tier read-only skill that analyzes a feature, sprint, +`/scope-check` is a read-only skill that analyzes a feature, sprint, or story for scope creep risk. It reads sprint and story files and compares them against the active milestone goals. It is designed for fast, low-cost checks before or during planning. No director gates are invoked. No files are written. @@ -154,7 +154,6 @@ None. Scope check is a read-only advisory skill; no gates are invoked. - [ ] Maps each story to a milestone goal (or flags as unmapped) - [ ] Does not write any files - [ ] No director gates are invoked -- [ ] Runs on Haiku model tier (fast, low-cost) - [ ] Verdict is one of: ON SCOPE, CONCERNS, SCOPE CREEP DETECTED --- diff --git a/skill-testing-framework/skills/review/architecture-review.md b/skill-testing-framework/skills/review/architecture-review.md index bb9ded2..48464ba 100644 --- a/skill-testing-framework/skills/review/architecture-review.md +++ b/skill-testing-framework/skills/review/architecture-review.md @@ -2,7 +2,7 @@ ## Skill Summary -`/architecture-review` is an Opus-tier skill that validates a technical architecture +`/architecture-review` is a skill that validates a technical architecture document against the project's 8 required architecture sections and checks that it is internally consistent, non-contradictory with existing ADRs, and correctly targeting the pinned engine version. It produces a verdict of APPROVED / diff --git a/skill-testing-framework/skills/review/review-all-gdds.md b/skill-testing-framework/skills/review/review-all-gdds.md index e41d2eb..1ad2056 100644 --- a/skill-testing-framework/skills/review/review-all-gdds.md +++ b/skill-testing-framework/skills/review/review-all-gdds.md @@ -2,7 +2,7 @@ ## Skill Summary -`/review-all-gdds` is an Opus-tier skill that performs a holistic cross-GDD review +`/review-all-gdds` is a skill that performs a holistic cross-GDD review across all files in `design/gdd/`. It runs two complementary review phases in parallel: Phase 1 checks for consistency (contradictions, formula mismatches, stale references, competing ownership), and Phase 2 checks design theory (dominant diff --git a/skill-testing-framework/skills/sprint/changelog.md b/skill-testing-framework/skills/sprint/changelog.md index b00c48f..dc5add4 100644 --- a/skill-testing-framework/skills/sprint/changelog.md +++ b/skill-testing-framework/skills/sprint/changelog.md @@ -2,7 +2,7 @@ ## Skill Summary -`/changelog` is a Haiku-tier skill that auto-generates a developer-facing +`/changelog` is a skill that auto-generates a developer-facing changelog by reading git commit history and closed sprint stories since the last release tag. It organizes entries into features, fixes, and known issues. No director gates are used. The skill asks "May I write to `docs/CHANGELOG.md`?" @@ -138,8 +138,7 @@ None. Changelog generation is a fast compilation task; no gates are invoked. **Expected behavior:** 1. Skill compiles changelog in full mode 2. No director gate is invoked (changelog generation is compilation, not a delivery gate) -3. Skill runs on Haiku model — fast compilation -4. Skill asks user for approval and writes file on confirmation +3. Skill asks user for approval and writes file on confirmation **Assertions:** - [ ] No director gate is invoked regardless of review mode @@ -155,7 +154,6 @@ None. Changelog generation is a fast compilation task; no gates are invoked. - [ ] Always asks "May I write" before writing changelog - [ ] No director gates are invoked - [ ] Verdict is always COMPLETE -- [ ] Runs on Haiku model tier (fast, low-cost) --- diff --git a/skill-testing-framework/skills/sprint/patch-notes.md b/skill-testing-framework/skills/sprint/patch-notes.md index 3e7a3eb..395ee95 100644 --- a/skill-testing-framework/skills/sprint/patch-notes.md +++ b/skill-testing-framework/skills/sprint/patch-notes.md @@ -2,7 +2,7 @@ ## Skill Summary -`/patch-notes` is a Haiku-tier skill that generates player-facing patch notes +`/patch-notes` is a skill that generates player-facing patch notes from existing changelog content, stripping internal task IDs and technical jargon in favor of plain language. It filters entries to only those relevant to players (visible features and bug fixes; internal refactors are excluded). @@ -137,9 +137,8 @@ None. Patch notes generation is a fast compilation task; no gates are invoked. **Expected behavior:** 1. Skill compiles patch notes in full mode 2. No director gate is invoked (community review is a separate, manual step) -3. Skill runs on Haiku model — fast compilation -4. Skill notes in output: "Consider sharing draft with community manager before publishing" -5. Skill asks user for approval and writes on confirmation +3. Skill notes in output: "Consider sharing draft with community manager before publishing" +4. Skill asks user for approval and writes on confirmation **Assertions:** - [ ] No director gate is invoked regardless of review mode @@ -156,7 +155,6 @@ None. Patch notes generation is a fast compilation task; no gates are invoked. - [ ] Rewrites entries in plain language without internal IDs - [ ] Always asks "May I write" before writing patch notes file - [ ] No director gates are invoked -- [ ] Runs on Haiku model tier (fast, low-cost) --- diff --git a/skill-testing-framework/skills/sprint/sprint-status.md b/skill-testing-framework/skills/sprint/sprint-status.md index d7ffe52..387a612 100644 --- a/skill-testing-framework/skills/sprint/sprint-status.md +++ b/skill-testing-framework/skills/sprint/sprint-status.md @@ -2,7 +2,7 @@ ## Skill Summary -`/sprint-status` is a Haiku-tier read-only skill that reads the current active +`/sprint-status` is a read-only skill that reads the current active sprint file and the session state to produce a concise sprint health summary. It reports story counts by status (Complete / In Progress / Blocked / Not Started) and emits one of three sprint-health verdicts: ON TRACK, AT RISK, or BLOCKED. @@ -153,7 +153,6 @@ None. `/sprint-status` is a read-only reporting skill; no gates are invoked. - [ ] Presents story count breakdown before emitting verdict - [ ] Does not ask for approval - [ ] Ends with a recommended next step based on verdict -- [ ] Runs on Haiku model tier (fast, low-cost) --- diff --git a/skill-testing-framework/skills/utility/bug-triage.md b/skill-testing-framework/skills/utility/bug-triage.md index 980d178..7660fec 100644 --- a/skill-testing-framework/skills/utility/bug-triage.md +++ b/skill-testing-framework/skills/utility/bug-triage.md @@ -4,7 +4,7 @@ `/bug-triage` reads all open bug reports in `production/bugs/` and produces a prioritized triage table sorted by severity (CRITICAL → HIGH → MEDIUM → LOW). -It runs on the Haiku model (read-only, formatting/sorting task) and produces no +It is a read-only formatting/sorting task and produces no file writes — the triage output is conversational. The skill flags bugs missing reproduction steps and identifies possible duplicates by comparing titles and affected systems. diff --git a/skill-testing-framework/skills/utility/help.md b/skill-testing-framework/skills/utility/help.md index 9473893..20f7d35 100644 --- a/skill-testing-framework/skills/utility/help.md +++ b/skill-testing-framework/skills/utility/help.md @@ -3,7 +3,7 @@ ## Skill Summary `/help` analyzes what has been done and what comes next in the project workflow. -It runs on the Haiku model (read-only, formatting task) and reads `production/stage.txt`, +It is a read-only formatting task and reads `production/stage.txt`, the active sprint file, and recent session state to produce a concise situational guidance summary. The skill optionally accepts a context query (e.g., `/help testing`) to surface relevant skills for a specific topic. diff --git a/skill-testing-framework/skills/utility/onboard.md b/skill-testing-framework/skills/utility/onboard.md index fb6cd47..7aaac11 100644 --- a/skill-testing-framework/skills/utility/onboard.md +++ b/skill-testing-framework/skills/utility/onboard.md @@ -5,8 +5,8 @@ `/onboard` generates a contextual project onboarding summary tailored for a new team member. It reads AGENTS.md, `technical-preferences.md`, the active sprint file, recent git commits, and `production/stage.txt` to produce a structured -orientation document. The skill runs on the Haiku model (read-only, formatting -task) and produces no file writes — all output is conversational. +orientation document. The skill is a read-only formatting +task and produces no file writes — all output is conversational. The skill optionally accepts a role argument (e.g., `/onboard artist`) to tailor the summary to a specific discipline. When the project is in an early stage or diff --git a/skill-testing-framework/skills/utility/project-stage-detect.md b/skill-testing-framework/skills/utility/project-stage-detect.md index b5c4575..7049097 100644 --- a/skill-testing-framework/skills/utility/project-stage-detect.md +++ b/skill-testing-framework/skills/utility/project-stage-detect.md @@ -3,7 +3,7 @@ ## Skill Summary `/project-stage-detect` automatically analyzes project artifacts to determine -the current development stage. It runs on the Haiku model (read-only) and +the current development stage. It is read-only and examines `production/stage.txt` (if present), design documents in `design/`, source code in `src/`, sprint and milestone files in `production/`, and the presence of engine configuration to classify the project into one of seven diff --git a/utils/assign-models.js b/utils/assign-models.js deleted file mode 100644 index 3cdf51a..0000000 --- a/utils/assign-models.js +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/env node -const fs = require("fs"); -const path = require("path"); - -const AGENTS_DIR = path.resolve(__dirname, "..", ".agents", "agents"); -const MODEL_RE = /^(model:\s*).+/m; - -function usage() { - console.log(` -Usage: node utils/assign-models.js --map [--dry-run] - node utils/assign-models.js --config [--dry-run] - -Map 49 agent models to your preferred providers in one shot. - -Options: - --map Inline mapping: {"old-model":"new-model",...} - --config JSON config file with same structure - --dry-run Preview changes without writing files - -Examples: - 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" - }' - - node utils/assign-models.js --config my-models.json -`); - process.exit(0); -} - -function parseArgs() { - const args = process.argv.slice(2); - if (args.includes("--help") || args.includes("-h")) usage(); - const dryRun = args.includes("--dry-run"); - - let raw; - const mapIdx = args.indexOf("--map"); - const cfgIdx = args.indexOf("--config"); - - if (mapIdx !== -1 && cfgIdx !== -1) { - console.error("error: use --map OR --config, not both"); - process.exit(1); - } - - if (mapIdx !== -1) { - raw = args[mapIdx + 1]; - if (!raw) { console.error("error: --map requires a JSON argument"); process.exit(1); } - } else if (cfgIdx !== -1) { - const cfgPath = args[cfgIdx + 1]; - if (!cfgPath) { console.error("error: --config requires a file path"); process.exit(1); } - raw = fs.readFileSync(path.resolve(cfgPath), "utf8"); - } else { - console.error("error: provide --map or --config"); - process.exit(1); - } - - let mapping; - try { mapping = JSON.parse(raw); } catch { - console.error("error: invalid JSON"); - process.exit(1); - } - - return { mapping, dryRun }; -} - -function readAgentFiles() { - const files = fs.readdirSync(AGENTS_DIR).filter(f => f.endsWith(".md")); - const agents = []; - - for (const file of files) { - const fullPath = path.join(AGENTS_DIR, file); - const content = fs.readFileSync(fullPath, "utf8"); - const match = content.match(MODEL_RE); - if (match) { - const model = match[0].replace(/^model:\s*/, "").trim(); - agents.push({ file, fullPath, content, model, line: match[0] }); - } - } - - return agents; -} - -function groupByModel(agents) { - const groups = {}; - for (const a of agents) { - if (!groups[a.model]) groups[a.model] = []; - groups[a.model].push(a.file); - } - return groups; -} - -function applyMapping(agents, mapping, dryRun) { - const changes = []; - - for (const agent of agents) { - const newModel = mapping[agent.model]; - if (!newModel) continue; - const newLine = agent.line.replace(MODEL_RE, `model: ${newModel}`); - if (newLine === agent.line) continue; - - changes.push({ - file: agent.file, - old: agent.model, - new: newModel - }); - - if (!dryRun) { - const updated = agent.content.replace(MODEL_RE, `model: ${newModel}`); - fs.writeFileSync(agent.fullPath, updated, "utf8"); - } - } - - return changes; -} - -function main() { - const { mapping, dryRun } = parseArgs(); - - if (!fs.existsSync(AGENTS_DIR)) { - console.error(`error: agents directory not found at ${AGENTS_DIR}`); - process.exit(1); - } - - const agents = readAgentFiles(); - const before = groupByModel(agents); - const changes = applyMapping(agents, mapping, dryRun); - - console.log(`\nAgent files scanned: ${agents.length}`); - console.log("\nBefore:"); - for (const [model, names] of Object.entries(before)) { - console.log(` ${model} (${names.length})`); - } - - if (changes.length === 0) { - console.log("\nNo changes — mapping keys don't match any current models."); - console.log("Current models:", [...new Set(agents.map(a => a.model))].join(", ")); - return; - } - - console.log(`\n${dryRun ? "[DRY RUN] " : ""}Changes (${changes.length} files):`); - for (const c of changes) { - console.log(` ${c.file.padEnd(32)} ${c.old.padEnd(35)} → ${c.new}`); - } - - const after = groupByModel( - agents.map(a => ({ - ...a, - model: mapping[a.model] || a.model - })) - ); - console.log("\nAfter:"); - for (const [model, names] of Object.entries(after)) { - console.log(` ${model} (${names.length})`); - } - - if (!dryRun) { - console.log(`\nDone. Wrote ${changes.length} files.`); - console.log("Run with --dry-run to preview before committing."); - } -} - -main();