From 841f906dc0703426b19e710aff581ba3a4d11a4b Mon Sep 17 00:00:00 2001 From: MerlinH Date: Mon, 29 Jun 2026 22:54:42 +0000 Subject: [PATCH] feat: add prompt discovery metadata --- .agents/skills/cgs-adopt/SKILL.md | 2 +- .../skills/cgs-architecture-decision/SKILL.md | 2 +- .../skills/cgs-architecture-review/SKILL.md | 2 +- .agents/skills/cgs-art-bible/SKILL.md | 2 +- .agents/skills/cgs-asset-audit/SKILL.md | 2 +- .agents/skills/cgs-asset-spec/SKILL.md | 2 +- .agents/skills/cgs-balance-check/SKILL.md | 2 +- .agents/skills/cgs-brainstorm/SKILL.md | 2 +- .agents/skills/cgs-bug-report/SKILL.md | 2 +- .agents/skills/cgs-bug-triage/SKILL.md | 2 +- .agents/skills/cgs-bugfix/SKILL.md | 2 +- .agents/skills/cgs-changelog/SKILL.md | 2 +- .agents/skills/cgs-code-review/SKILL.md | 2 +- .agents/skills/cgs-consistency-check/SKILL.md | 2 +- .agents/skills/cgs-content-audit/SKILL.md | 2 +- .../skills/cgs-create-architecture/SKILL.md | 2 +- .../cgs-create-control-manifest/SKILL.md | 2 +- .agents/skills/cgs-create-epics/SKILL.md | 2 +- .agents/skills/cgs-create-stories/SKILL.md | 2 +- .agents/skills/cgs-day-one-patch/SKILL.md | 2 +- .agents/skills/cgs-design-review/SKILL.md | 2 +- .agents/skills/cgs-design-system/SKILL.md | 2 +- .agents/skills/cgs-dev-story/SKILL.md | 2 +- .agents/skills/cgs-estimate/SKILL.md | 2 +- .agents/skills/cgs-gate-check/SKILL.md | 2 +- .agents/skills/cgs-help/SKILL.md | 2 +- .agents/skills/cgs-hotfix/SKILL.md | 2 +- .agents/skills/cgs-launch-checklist/SKILL.md | 2 +- .agents/skills/cgs-localize/SKILL.md | 2 +- .agents/skills/cgs-map-systems/SKILL.md | 2 +- .agents/skills/cgs-milestone-review/SKILL.md | 2 +- .agents/skills/cgs-onboard/SKILL.md | 2 +- .agents/skills/cgs-patch-notes/SKILL.md | 2 +- .agents/skills/cgs-perf-profile/SKILL.md | 2 +- .agents/skills/cgs-playtest-report/SKILL.md | 2 +- .../skills/cgs-project-stage-detect/SKILL.md | 2 +- .../cgs-propagate-design-change/SKILL.md | 2 +- .agents/skills/cgs-prototype/SKILL.md | 2 +- .agents/skills/cgs-qa-plan/SKILL.md | 2 +- .agents/skills/cgs-quick-design/SKILL.md | 2 +- .agents/skills/cgs-regression-suite/SKILL.md | 2 +- .agents/skills/cgs-release-checklist/SKILL.md | 2 +- .agents/skills/cgs-retrospective/SKILL.md | 2 +- .agents/skills/cgs-reverse-document/SKILL.md | 2 +- .agents/skills/cgs-review-all-gdds/SKILL.md | 2 +- .agents/skills/cgs-scope-check/SKILL.md | 2 +- .agents/skills/cgs-security-audit/SKILL.md | 2 +- .agents/skills/cgs-setup-engine/SKILL.md | 2 +- .agents/skills/cgs-skill-improve/SKILL.md | 2 +- .agents/skills/cgs-skill-test/SKILL.md | 2 +- .agents/skills/cgs-smoke-check/SKILL.md | 2 +- .agents/skills/cgs-soak-test/SKILL.md | 2 +- .agents/skills/cgs-sprint-plan/SKILL.md | 2 +- .agents/skills/cgs-sprint-status/SKILL.md | 2 +- .../skills/cgs-standards-gameplay/SKILL.md | 2 +- .../skills/cgs-standards-prototype/SKILL.md | 2 +- .agents/skills/cgs-standards-tests/SKILL.md | 2 +- .agents/skills/cgs-standards-ui/SKILL.md | 2 +- .agents/skills/cgs-start/SKILL.md | 2 +- .agents/skills/cgs-story-done/SKILL.md | 2 +- .agents/skills/cgs-story-readiness/SKILL.md | 2 +- .agents/skills/cgs-team-audio/SKILL.md | 2 +- .agents/skills/cgs-team-combat/SKILL.md | 2 +- .agents/skills/cgs-team-level/SKILL.md | 2 +- .agents/skills/cgs-team-live-ops/SKILL.md | 2 +- .agents/skills/cgs-team-narrative/SKILL.md | 2 +- .agents/skills/cgs-team-polish/SKILL.md | 2 +- .agents/skills/cgs-team-qa/SKILL.md | 2 +- .agents/skills/cgs-team-release/SKILL.md | 2 +- .agents/skills/cgs-team-ui/SKILL.md | 2 +- .agents/skills/cgs-tech-debt/SKILL.md | 2 +- .../skills/cgs-test-evidence-review/SKILL.md | 2 +- .agents/skills/cgs-test-flakiness/SKILL.md | 2 +- .agents/skills/cgs-test-helpers/SKILL.md | 2 +- .agents/skills/cgs-test-setup/SKILL.md | 2 +- .agents/skills/cgs-ui-ux-review/SKILL.md | 2 +- .agents/skills/cgs-ux-design/SKILL.md | 2 +- .agents/skills/cgs-ux-review/SKILL.md | 2 +- .agents/skills/cgs-vertical-slice/SKILL.md | 2 +- .codex/agents/accessibility-specialist.toml | 2 +- .codex/agents/ai-programmer.toml | 2 +- .codex/agents/audio-director.toml | 2 +- .codex/agents/community-manager.toml | 2 +- .codex/agents/creative-director.toml | 2 +- .codex/agents/data-scientist.toml | 2 +- .codex/agents/devops-engineer.toml | 2 +- .codex/agents/economy-designer.toml | 2 +- .codex/agents/engine-programmer.toml | 2 +- .codex/agents/game-designer.toml | 2 +- .codex/agents/game-feel-designer.toml | 2 +- .codex/agents/gameplay-programmer.toml | 2 +- .codex/agents/godot-specialist.toml | 2 +- .codex/agents/level-designer.toml | 2 +- .codex/agents/live-ops-designer.toml | 2 +- .codex/agents/localization-lead.toml | 2 +- .codex/agents/market-analyst.toml | 2 +- .codex/agents/narrative-designer.toml | 2 +- .codex/agents/network-programmer.toml | 2 +- .codex/agents/performance-analyst.toml | 2 +- .codex/agents/producer.toml | 2 +- .codex/agents/qa-playtester.toml | 2 +- .codex/agents/release-manager.toml | 2 +- .codex/agents/security-engineer.toml | 2 +- .codex/agents/senior-game-artist.toml | 2 +- .codex/agents/senior-game-designer.toml | 2 +- .codex/agents/sound-designer.toml | 2 +- .codex/agents/studio-orchestrator.toml | 2 +- .codex/agents/systems-designer.toml | 2 +- .codex/agents/technical-artist.toml | 2 +- .codex/agents/technical-director.toml | 2 +- .codex/agents/tools-programmer.toml | 2 +- .codex/agents/ui-programmer.toml | 2 +- .codex/agents/ui-ux-designer.toml | 2 +- .codex/agents/unity-specialist.toml | 2 +- .codex/agents/unreal-specialist.toml | 2 +- .codex/agents/world-builder.toml | 2 +- .codex/agents/writer.toml | 2 +- .codex/workflows/analytics-setup.md | 2 +- .codex/workflows/architecture-decision.md | 2 +- .codex/workflows/architecture-review.md | 2 +- .codex/workflows/art-direction.md | 2 +- .codex/workflows/brainstorm.md | 2 +- .codex/workflows/bugfix.md | 2 +- .codex/workflows/create-epics.md | 2 +- .codex/workflows/create-stories.md | 2 +- .codex/workflows/design-spec.md | 2 +- .codex/workflows/game-feel-tuning.md | 2 +- .codex/workflows/handoff.md | 2 +- .codex/workflows/hotfix.md | 2 +- .codex/workflows/localization-plan.md | 2 +- .codex/workflows/market-analysis.md | 2 +- .codex/workflows/onboard.md | 2 +- .codex/workflows/perf-profile.md | 2 +- .codex/workflows/playtest.md | 2 +- .codex/workflows/production-milestone.md | 2 +- .codex/workflows/prototype.md | 2 +- .codex/workflows/qa-plan.md | 2 +- .codex/workflows/regression-suite.md | 2 +- .codex/workflows/release-checklist.md | 2 +- .codex/workflows/review.md | 2 +- .codex/workflows/security-audit.md | 2 +- .codex/workflows/ship-check.md | 2 +- .codex/workflows/sprint-plan.md | 2 +- .codex/workflows/sprint-status.md | 2 +- .codex/workflows/story-done.md | 2 +- .codex/workflows/story-readiness.md | 2 +- .codex/workflows/ui-ux-review.md | 2 +- .codex/workflows/vertical-slice.md | 2 +- docs/README.md | 1 + .../2026-06-29-codex-prompt-surface-uplift.md | 28 - docs/prompt-quality.md | 352 +++++++++ .../engineering/codex/roles-and-workflows.md | 5 + docs/workflow-validation.md | 2 +- openspec/changes/.gitkeep | 0 .../.openspec.yaml | 2 - .../codex-prompt-surface-uplift/README.md | 11 - .../codex-prompt-surface-uplift/design.md | 108 --- .../codex-prompt-surface-uplift/proposal.md | 32 - .../prompt-surface-model-routing/spec.md | 59 -- .../specs/prompt-surface-quality/spec.md | 73 -- .../codex-prompt-surface-uplift/tasks.md | 115 --- .../prompt-discovery-metadata-baseline.json | 1 + .../prompt-discovery-metadata-report.json | 1 + references/prompt-surface-uplift-matrix.json | 740 ++++++++++++++++++ references/prompt-surface-uplift-matrix.md | 300 +++---- scripts/audit-prompt-surfaces.ts | 35 +- src/prompt-surface-metadata.ts | 79 ++ src/validation.ts | 19 +- tests/prompt-surface-audit.test.ts | 8 +- tests/prompt-surface-metadata.test.ts | 47 +- 170 files changed, 1579 insertions(+), 735 deletions(-) delete mode 100644 docs/plans/2026-06-29-codex-prompt-surface-uplift.md create mode 100644 docs/prompt-quality.md create mode 100644 openspec/changes/.gitkeep delete mode 100644 openspec/changes/codex-prompt-surface-uplift/.openspec.yaml delete mode 100644 openspec/changes/codex-prompt-surface-uplift/README.md delete mode 100644 openspec/changes/codex-prompt-surface-uplift/design.md delete mode 100644 openspec/changes/codex-prompt-surface-uplift/proposal.md delete mode 100644 openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-model-routing/spec.md delete mode 100644 openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-quality/spec.md delete mode 100644 openspec/changes/codex-prompt-surface-uplift/tasks.md create mode 100644 references/prompt-discovery-metadata-baseline.json create mode 100644 references/prompt-discovery-metadata-report.json diff --git a/.agents/skills/cgs-adopt/SKILL.md b/.agents/skills/cgs-adopt/SKILL.md index d069f6d..eb584df 100644 --- a/.agents/skills/cgs-adopt/SKILL.md +++ b/.agents/skills/cgs-adopt/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-adopt -description: Use for Codex Game Studio adopt existing project work: Inventory existing source, assets, docs, and tests before mapping work into CGS structure. +description: Use for adopt tasks that inventory existing source, assets, docs, and tests before mapping work into CGS structure; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the adopt objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-architecture-decision/SKILL.md b/.agents/skills/cgs-architecture-decision/SKILL.md index 1d19821..ecf281f 100644 --- a/.agents/skills/cgs-architecture-decision/SKILL.md +++ b/.agents/skills/cgs-architecture-decision/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-architecture-decision -description: Use for Codex Game Studio architecture decision work: Write an ADR with context, options, decision, consequences, validation, and rollback. +description: Use for architecture decision tasks that write an ADR with context, options, decision, consequences, validation, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the architecture-decision objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-architecture-review/SKILL.md b/.agents/skills/cgs-architecture-review/SKILL.md index add0015..293dfab 100644 --- a/.agents/skills/cgs-architecture-review/SKILL.md +++ b/.agents/skills/cgs-architecture-review/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-architecture-review -description: Use for Codex Game Studio architecture review work: Review architecture for layer violations, scalability risks, engine misuse, testing seams, and production readiness. +description: Use for architecture review tasks that review architecture for layer violations, scalability risks, engine misuse, testing seams, and production readiness; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the architecture-review objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-art-bible/SKILL.md b/.agents/skills/cgs-art-bible/SKILL.md index 8cb0c02..089cef9 100644 --- a/.agents/skills/cgs-art-bible/SKILL.md +++ b/.agents/skills/cgs-art-bible/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-art-bible -description: Use for Codex Game Studio art bible work: Define visual identity, shape language, palette, camera, animation, UI style, and asset constraints. +description: Use for art bible tasks that define visual identity, shape language, palette, camera, animation, UI style, and asset constraints; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the art-bible objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-asset-audit/SKILL.md b/.agents/skills/cgs-asset-audit/SKILL.md index 1c0b201..3e1f0e0 100644 --- a/.agents/skills/cgs-asset-audit/SKILL.md +++ b/.agents/skills/cgs-asset-audit/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-asset-audit -description: Use for Codex Game Studio asset audit work: Audit game assets for completeness, naming, import settings, ownership, licensing, and production risk. +description: Use for asset audit tasks that audit game assets for completeness, naming, import settings, ownership, licensing, and production risk; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the asset-audit objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-asset-spec/SKILL.md b/.agents/skills/cgs-asset-spec/SKILL.md index 31ca2ad..d07e899 100644 --- a/.agents/skills/cgs-asset-spec/SKILL.md +++ b/.agents/skills/cgs-asset-spec/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-asset-spec -description: Use for Codex Game Studio asset spec work: Specify an individual asset with purpose, constraints, references, dimensions, states, and acceptance criteria. +description: Use for asset spec tasks that specify an individual asset with purpose, constraints, references, dimensions, states, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the asset-spec objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-balance-check/SKILL.md b/.agents/skills/cgs-balance-check/SKILL.md index 5e9e026..eddd24a 100644 --- a/.agents/skills/cgs-balance-check/SKILL.md +++ b/.agents/skills/cgs-balance-check/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-balance-check -description: Use for Codex Game Studio balance check work: Evaluate tuning values, progression pacing, economy levers, exploits, and player-skill assumptions. +description: Use for balance check tasks that evaluate tuning values, progression pacing, economy levers, exploits, and player-skill assumptions; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the balance-check objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-brainstorm/SKILL.md b/.agents/skills/cgs-brainstorm/SKILL.md index 6959f9a..5333235 100644 --- a/.agents/skills/cgs-brainstorm/SKILL.md +++ b/.agents/skills/cgs-brainstorm/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-brainstorm -description: Use for Codex Game Studio brainstorm work: Explore the game idea with player fantasy, verbs, pillars, audience, constraints, and scope tiers. +description: Use for brainstorm tasks that explore the game idea with player fantasy, verbs, pillars, audience, constraints, and scope tiers; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the brainstorm objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-bug-report/SKILL.md b/.agents/skills/cgs-bug-report/SKILL.md index ee66468..bb44cbb 100644 --- a/.agents/skills/cgs-bug-report/SKILL.md +++ b/.agents/skills/cgs-bug-report/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-bug-report -description: Use for Codex Game Studio bug report work: Capture a reproducible bug with environment, steps, expected/actual behavior, severity, evidence, and owner. +description: Use for bug report tasks that capture a reproducible bug with environment, steps, expected/actual behavior, severity, evidence, and owner; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the bug-report objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-bug-triage/SKILL.md b/.agents/skills/cgs-bug-triage/SKILL.md index 4ca3a6a..de5bacf 100644 --- a/.agents/skills/cgs-bug-triage/SKILL.md +++ b/.agents/skills/cgs-bug-triage/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-bug-triage -description: Use for Codex Game Studio bug triage work: Classify bugs by severity, priority, reproduction confidence, owner role, risk, and release impact. +description: Use for bug triage tasks that classify bugs by severity, priority, reproduction confidence, owner role, risk, and release impact; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the bug-triage objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-bugfix/SKILL.md b/.agents/skills/cgs-bugfix/SKILL.md index a3ece59..6d2909d 100644 --- a/.agents/skills/cgs-bugfix/SKILL.md +++ b/.agents/skills/cgs-bugfix/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-bugfix -description: Use for Codex Game Studio bugfix work: Fix a bounded bug with reproduction evidence, minimal change, regression coverage, and handoff notes. +description: Use for bugfix tasks that fix a bounded bug with reproduction evidence, minimal change, regression coverage, and handoff notes; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the bugfix objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-changelog/SKILL.md b/.agents/skills/cgs-changelog/SKILL.md index d68c80a..7c8edeb 100644 --- a/.agents/skills/cgs-changelog/SKILL.md +++ b/.agents/skills/cgs-changelog/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-changelog -description: Use for Codex Game Studio changelog work: Maintain a developer-facing changelog grouped by feature, fix, content, performance, and breaking change. +description: Use for changelog tasks that maintain a developer-facing changelog grouped by feature, fix, content, performance, and breaking change; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the changelog objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-code-review/SKILL.md b/.agents/skills/cgs-code-review/SKILL.md index ae79f60..253d756 100644 --- a/.agents/skills/cgs-code-review/SKILL.md +++ b/.agents/skills/cgs-code-review/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-code-review -description: Use for Codex Game Studio code review work: Review changes for correctness, maintainability, security, tests, engine idioms, and scope control. +description: Use for code review tasks that review changes for correctness, maintainability, security, tests, engine idioms, and scope control; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the code-review objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-consistency-check/SKILL.md b/.agents/skills/cgs-consistency-check/SKILL.md index ee51817..39e73ec 100644 --- a/.agents/skills/cgs-consistency-check/SKILL.md +++ b/.agents/skills/cgs-consistency-check/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-consistency-check -description: Use for Codex Game Studio consistency check work: Find contradictions across design, narrative, systems, UI, content, and implementation artifacts. +description: Use for consistency check tasks that find contradictions across design, narrative, systems, UI, content, and implementation artifacts; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the consistency-check objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-content-audit/SKILL.md b/.agents/skills/cgs-content-audit/SKILL.md index d16a425..3f06f49 100644 --- a/.agents/skills/cgs-content-audit/SKILL.md +++ b/.agents/skills/cgs-content-audit/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-content-audit -description: Use for Codex Game Studio content audit work: Audit content coverage, duplication, tone consistency, localization needs, and production completeness. +description: Use for content audit tasks that audit content coverage, duplication, tone consistency, localization needs, and production completeness; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the content-audit objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-create-architecture/SKILL.md b/.agents/skills/cgs-create-architecture/SKILL.md index 888449c..d9d7cee 100644 --- a/.agents/skills/cgs-create-architecture/SKILL.md +++ b/.agents/skills/cgs-create-architecture/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-create-architecture -description: Use for Codex Game Studio create architecture work: Design the technical architecture, layers, data ownership, engine boundaries, and control manifest. +description: Use for create architecture tasks that design the technical architecture, layers, data ownership, engine boundaries, and control manifest; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the create-architecture objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-create-control-manifest/SKILL.md b/.agents/skills/cgs-create-control-manifest/SKILL.md index 5772e58..c84bc46 100644 --- a/.agents/skills/cgs-create-control-manifest/SKILL.md +++ b/.agents/skills/cgs-create-control-manifest/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-create-control-manifest -description: Use for Codex Game Studio create control manifest work: Define implementation rules, boundaries, allowed dependencies, validation commands, and review gates. +description: Use for create control manifest tasks that define implementation rules, boundaries, allowed dependencies, validation commands, and review gates; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the create-control-manifest objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-create-epics/SKILL.md b/.agents/skills/cgs-create-epics/SKILL.md index f8384bb..60ac0ed 100644 --- a/.agents/skills/cgs-create-epics/SKILL.md +++ b/.agents/skills/cgs-create-epics/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-create-epics -description: Use for Codex Game Studio create epics work: Break project goals into epics with outcomes, dependencies, risks, and validation gates. +description: Use for create epics tasks that break project goals into epics with outcomes, dependencies, risks, and validation gates; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the create-epics objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-create-stories/SKILL.md b/.agents/skills/cgs-create-stories/SKILL.md index d0fea25..e6f9215 100644 --- a/.agents/skills/cgs-create-stories/SKILL.md +++ b/.agents/skills/cgs-create-stories/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-create-stories -description: Use for Codex Game Studio create stories work: Break an epic into small stories with acceptance criteria, owner role, files, and verification. +description: Use for create stories tasks that break an epic into small stories with acceptance criteria, owner role, files, and verification; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the create-stories objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-day-one-patch/SKILL.md b/.agents/skills/cgs-day-one-patch/SKILL.md index 0f5cf17..fa28084 100644 --- a/.agents/skills/cgs-day-one-patch/SKILL.md +++ b/.agents/skills/cgs-day-one-patch/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-day-one-patch -description: Use for Codex Game Studio day one patch work: Plan launch-window fixes, risk acceptance, validation, platform submission, and player communication. +description: Use for day one patch tasks that plan launch-window fixes, risk acceptance, validation, platform submission, and player communication; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the day-one-patch objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-design-review/SKILL.md b/.agents/skills/cgs-design-review/SKILL.md index ee23597..db46b38 100644 --- a/.agents/skills/cgs-design-review/SKILL.md +++ b/.agents/skills/cgs-design-review/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-design-review -description: Use for Codex Game Studio design review work: Review design artifacts against pillars, player experience, production scope, and downstream implementation risk. +description: Use for design review tasks that review design artifacts against pillars, player experience, production scope, and downstream implementation risk; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the design-review objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-design-system/SKILL.md b/.agents/skills/cgs-design-system/SKILL.md index 4875f14..0764054 100644 --- a/.agents/skills/cgs-design-system/SKILL.md +++ b/.agents/skills/cgs-design-system/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-design-system -description: Use for Codex Game Studio design system work: Author a system GDD with rules, data, edge cases, progression, feedback, and implementation acceptance tests. +description: Use for design system tasks that author a system GDD with rules, data, edge cases, progression, feedback, and implementation acceptance tests; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the design-system objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-dev-story/SKILL.md b/.agents/skills/cgs-dev-story/SKILL.md index 809a75d..12a3b49 100644 --- a/.agents/skills/cgs-dev-story/SKILL.md +++ b/.agents/skills/cgs-dev-story/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-dev-story -description: Use for Codex Game Studio development story work: Turn a design or bug into an implementation-ready story with owner, files, acceptance tests, and dependencies. +description: Use for dev story tasks that turn a design or bug into an implementation-ready story with owner, files, acceptance tests, and dependencies; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the dev-story objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-estimate/SKILL.md b/.agents/skills/cgs-estimate/SKILL.md index 2bd9bfa..8f911a5 100644 --- a/.agents/skills/cgs-estimate/SKILL.md +++ b/.agents/skills/cgs-estimate/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-estimate -description: Use for Codex Game Studio estimate work: Estimate scope using uncertainty, dependencies, discipline handoffs, risk buffers, and confidence ranges. +description: Use for estimate tasks that estimate scope using uncertainty, dependencies, discipline handoffs, risk buffers, and confidence ranges; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the estimate objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-gate-check/SKILL.md b/.agents/skills/cgs-gate-check/SKILL.md index b7623ce..7479c35 100644 --- a/.agents/skills/cgs-gate-check/SKILL.md +++ b/.agents/skills/cgs-gate-check/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-gate-check -description: Use for Codex Game Studio gate check work: Run an advisory phase or artifact gate with criteria, evidence, concerns, and user-controlled next decision. +description: Use for gate check tasks that run an advisory phase or artifact gate with criteria, evidence, concerns, and user-controlled next decision; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the gate-check objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-help/SKILL.md b/.agents/skills/cgs-help/SKILL.md index d41c8da..7dd4892 100644 --- a/.agents/skills/cgs-help/SKILL.md +++ b/.agents/skills/cgs-help/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-help -description: Use for Codex Game Studio help work: Summarize available CGS workflows, next phase options, required artifacts, and safe commands. +description: Use for help tasks that summarize available CGS workflows, next phase options, required artifacts, and safe commands; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the help objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-hotfix/SKILL.md b/.agents/skills/cgs-hotfix/SKILL.md index 08fcd1e..dbd36c2 100644 --- a/.agents/skills/cgs-hotfix/SKILL.md +++ b/.agents/skills/cgs-hotfix/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-hotfix -description: Use for Codex Game Studio hotfix work: Scope and execute an urgent fix with reproduction, minimal change, verification, release notes, and rollback. +description: Use for hotfix tasks that scope and execute an urgent fix with reproduction, minimal change, verification, release notes, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the hotfix objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-launch-checklist/SKILL.md b/.agents/skills/cgs-launch-checklist/SKILL.md index 3fcb158..503f3f6 100644 --- a/.agents/skills/cgs-launch-checklist/SKILL.md +++ b/.agents/skills/cgs-launch-checklist/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-launch-checklist -description: Use for Codex Game Studio launch checklist work: Coordinate day-of-launch readiness, monitoring, community, support, rollback, and hotfix paths. +description: Use for launch checklist tasks that coordinate day-of-launch readiness, monitoring, community, support, rollback, and hotfix paths; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the launch-checklist objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-localize/SKILL.md b/.agents/skills/cgs-localize/SKILL.md index 7a09d53..b0c3af1 100644 --- a/.agents/skills/cgs-localize/SKILL.md +++ b/.agents/skills/cgs-localize/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-localize -description: Use for Codex Game Studio localize work: Plan localization keys, context, screenshots, pluralization, text expansion, and review workflow. +description: Use for localize tasks that plan localization keys, context, screenshots, pluralization, text expansion, and review workflow; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the localize objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-map-systems/SKILL.md b/.agents/skills/cgs-map-systems/SKILL.md index fc66f25..d48214b 100644 --- a/.agents/skills/cgs-map-systems/SKILL.md +++ b/.agents/skills/cgs-map-systems/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-map-systems -description: Use for Codex Game Studio map systems work: Decompose the concept into game systems with dependency order, priority tiers, and validation needs. +description: Use for map systems tasks that decompose the concept into game systems with dependency order, priority tiers, and validation needs; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the map-systems objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-milestone-review/SKILL.md b/.agents/skills/cgs-milestone-review/SKILL.md index e430caa..f89b102 100644 --- a/.agents/skills/cgs-milestone-review/SKILL.md +++ b/.agents/skills/cgs-milestone-review/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-milestone-review -description: Use for Codex Game Studio milestone review work: Review milestone readiness, completed evidence, blockers, carryover, and phase transition risk. +description: Use for milestone review tasks that review milestone readiness, completed evidence, blockers, carryover, and phase transition risk; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the milestone-review objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-onboard/SKILL.md b/.agents/skills/cgs-onboard/SKILL.md index 5ac4ac1..0fb75b7 100644 --- a/.agents/skills/cgs-onboard/SKILL.md +++ b/.agents/skills/cgs-onboard/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-onboard -description: Use for Codex Game Studio onboard work: Orient a new contributor or agent to project state, file layout, stage, risks, and next work. +description: Use for onboard tasks that orient a new contributor or agent to project state, file layout, stage, risks, and next work; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the onboard objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-patch-notes/SKILL.md b/.agents/skills/cgs-patch-notes/SKILL.md index 08ca44c..47a7dbf 100644 --- a/.agents/skills/cgs-patch-notes/SKILL.md +++ b/.agents/skills/cgs-patch-notes/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-patch-notes -description: Use for Codex Game Studio patch notes work: Write player-facing patch notes with fixes, known issues, balance changes, and verification caveats. +description: Use for patch notes tasks that write player-facing patch notes with fixes, known issues, balance changes, and verification caveats; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the patch-notes objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-perf-profile/SKILL.md b/.agents/skills/cgs-perf-profile/SKILL.md index 5928e11..b0b2d33 100644 --- a/.agents/skills/cgs-perf-profile/SKILL.md +++ b/.agents/skills/cgs-perf-profile/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-perf-profile -description: Use for Codex Game Studio performance profile work: Profile frame time, memory, loading, assets, rendering, scripting, and platform constraints. +description: Use for perf profile tasks that profile frame time, memory, loading, assets, rendering, scripting, and platform constraints; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the perf-profile objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-playtest-report/SKILL.md b/.agents/skills/cgs-playtest-report/SKILL.md index 3e3f592..9d0b75e 100644 --- a/.agents/skills/cgs-playtest-report/SKILL.md +++ b/.agents/skills/cgs-playtest-report/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-playtest-report -description: Use for Codex Game Studio playtest report work: Capture player observations, comprehension, friction, loop completion, bugs, quotes, and design implications. +description: Use for playtest report tasks that capture player observations, comprehension, friction, loop completion, bugs, quotes, and design implications; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the playtest-report objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-project-stage-detect/SKILL.md b/.agents/skills/cgs-project-stage-detect/SKILL.md index dca99b0..e963b15 100644 --- a/.agents/skills/cgs-project-stage-detect/SKILL.md +++ b/.agents/skills/cgs-project-stage-detect/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-project-stage-detect -description: Use for Codex Game Studio project stage detect work: Detect whether the project is in concept, design, technical setup, pre-production, production, polish, or release. +description: Use for project stage detect tasks that detect whether the project is in concept, design, technical setup, pre-production, production, polish, or release; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the project-stage-detect objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-propagate-design-change/SKILL.md b/.agents/skills/cgs-propagate-design-change/SKILL.md index b1a57cb..e2265a3 100644 --- a/.agents/skills/cgs-propagate-design-change/SKILL.md +++ b/.agents/skills/cgs-propagate-design-change/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-propagate-design-change -description: Use for Codex Game Studio propagate design change work: Trace a design change through systems, docs, tasks, tests, content, and release risk. +description: Use for propagate design change tasks that trace a design change through systems, docs, tasks, tests, content, and release risk; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the propagate-design-change objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-prototype/SKILL.md b/.agents/skills/cgs-prototype/SKILL.md index 21619ca..84a4c25 100644 --- a/.agents/skills/cgs-prototype/SKILL.md +++ b/.agents/skills/cgs-prototype/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-prototype -description: Use for Codex Game Studio prototype work: Build or plan a throwaway concept prototype around a falsifiable design hypothesis and cleanup boundary. +description: Use for prototype tasks that build or plan a throwaway concept prototype around a falsifiable design hypothesis and cleanup boundary; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the prototype objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-qa-plan/SKILL.md b/.agents/skills/cgs-qa-plan/SKILL.md index 62178eb..136d377 100644 --- a/.agents/skills/cgs-qa-plan/SKILL.md +++ b/.agents/skills/cgs-qa-plan/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-qa-plan -description: Use for Codex Game Studio qa plan work: Plan focused QA coverage across features, risks, platforms, devices, regressions, and acceptance criteria. +description: Use for qa plan tasks that plan focused QA coverage across features, risks, platforms, devices, regressions, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the qa-plan objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-quick-design/SKILL.md b/.agents/skills/cgs-quick-design/SKILL.md index 980e8e5..8aa1fc5 100644 --- a/.agents/skills/cgs-quick-design/SKILL.md +++ b/.agents/skills/cgs-quick-design/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-quick-design -description: Use for Codex Game Studio quick design work: Draft a constrained design slice fast while preserving pillars, assumptions, and open questions. +description: Use for quick design tasks that draft a constrained design slice fast while preserving pillars, assumptions, and open questions; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the quick-design objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-regression-suite/SKILL.md b/.agents/skills/cgs-regression-suite/SKILL.md index 93dcb9c..5e722d4 100644 --- a/.agents/skills/cgs-regression-suite/SKILL.md +++ b/.agents/skills/cgs-regression-suite/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-regression-suite -description: Use for Codex Game Studio regression suite work: Define or run regression coverage for changed systems, prior bugs, critical paths, and release blockers. +description: Use for regression suite tasks that define or run regression coverage for changed systems, prior bugs, critical paths, and release blockers; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the regression-suite objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-release-checklist/SKILL.md b/.agents/skills/cgs-release-checklist/SKILL.md index 885f57c..f5d45c4 100644 --- a/.agents/skills/cgs-release-checklist/SKILL.md +++ b/.agents/skills/cgs-release-checklist/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-release-checklist -description: Use for Codex Game Studio release checklist work: Check build, packaging, store, QA, localization, accessibility, rollback, and ship/no-ship readiness. +description: Use for release checklist tasks that check build, packaging, store, QA, localization, accessibility, rollback, and ship/no-ship readiness; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the release-checklist objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-retrospective/SKILL.md b/.agents/skills/cgs-retrospective/SKILL.md index 40fbe04..c893e82 100644 --- a/.agents/skills/cgs-retrospective/SKILL.md +++ b/.agents/skills/cgs-retrospective/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-retrospective -description: Use for Codex Game Studio retrospective work: Facilitate a retrospective with what worked, what failed, root causes, actions, and owner follow-up. +description: Use for retrospective tasks that facilitate a retrospective with what worked, what failed, root causes, actions, and owner follow-up; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the retrospective objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-reverse-document/SKILL.md b/.agents/skills/cgs-reverse-document/SKILL.md index 2b5fc39..9e99866 100644 --- a/.agents/skills/cgs-reverse-document/SKILL.md +++ b/.agents/skills/cgs-reverse-document/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-reverse-document -description: Use for Codex Game Studio reverse document work: Create design or technical documentation from existing implementation without inventing unverified behavior. +description: Use for reverse document tasks that create design or technical documentation from existing implementation without inventing unverified behavior; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the reverse-document objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-review-all-gdds/SKILL.md b/.agents/skills/cgs-review-all-gdds/SKILL.md index 8207a38..cb73551 100644 --- a/.agents/skills/cgs-review-all-gdds/SKILL.md +++ b/.agents/skills/cgs-review-all-gdds/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-review-all-gdds -description: Use for Codex Game Studio review all gdds work: Cross-check all GDDs for consistency, missing systems, dependency conflicts, and production readiness. +description: Use for review all gdds tasks that cross-check all GDDs for consistency, missing systems, dependency conflicts, and production readiness; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the review-all-gdds objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-scope-check/SKILL.md b/.agents/skills/cgs-scope-check/SKILL.md index 35165ff..1f84783 100644 --- a/.agents/skills/cgs-scope-check/SKILL.md +++ b/.agents/skills/cgs-scope-check/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-scope-check -description: Use for Codex Game Studio scope check work: Assess whether requested work fits the milestone and propose cuts, deferrals, or safer slices. +description: Use for scope check tasks that assess whether requested work fits the milestone and propose cuts, deferrals, or safer slices; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the scope-check objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-security-audit/SKILL.md b/.agents/skills/cgs-security-audit/SKILL.md index 350cac0..6f8fa80 100644 --- a/.agents/skills/cgs-security-audit/SKILL.md +++ b/.agents/skills/cgs-security-audit/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-security-audit -description: Use for Codex Game Studio security audit work: Audit secrets, network surfaces, auth, saves, platform APIs, dependencies, and exploit risks. +description: Use for security audit tasks that audit secrets, network surfaces, auth, saves, platform APIs, dependencies, and exploit risks; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the security-audit objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-setup-engine/SKILL.md b/.agents/skills/cgs-setup-engine/SKILL.md index 8fdf0dc..554fbe1 100644 --- a/.agents/skills/cgs-setup-engine/SKILL.md +++ b/.agents/skills/cgs-setup-engine/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-setup-engine -description: Use for Codex Game Studio setup engine work: Pin engine version, verify project markers, document conventions, and run engine smoke checks. +description: Use for setup engine tasks that pin engine version, verify project markers, document conventions, and run engine smoke checks; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the setup-engine objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-skill-improve/SKILL.md b/.agents/skills/cgs-skill-improve/SKILL.md index 290bc07..c08c616 100644 --- a/.agents/skills/cgs-skill-improve/SKILL.md +++ b/.agents/skills/cgs-skill-improve/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-skill-improve -description: Use for Codex Game Studio skill improve work: Improve a skill after observed failures while preserving trigger, procedure, validation, and handoff clarity. +description: Use for skill improve tasks that improve a skill after observed failures while preserving trigger, procedure, validation, and handoff clarity; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the skill-improve objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-skill-test/SKILL.md b/.agents/skills/cgs-skill-test/SKILL.md index 1b76478..c1cd769 100644 --- a/.agents/skills/cgs-skill-test/SKILL.md +++ b/.agents/skills/cgs-skill-test/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-skill-test -description: Use for Codex Game Studio skill test work: Test a repository skill against fixtures, required sections, dry-runs, and behavioral expectations. +description: Use for skill test tasks that test a repository skill against fixtures, required sections, dry-runs, and behavioral expectations; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the skill-test objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-smoke-check/SKILL.md b/.agents/skills/cgs-smoke-check/SKILL.md index b907eda..ce146ee 100644 --- a/.agents/skills/cgs-smoke-check/SKILL.md +++ b/.agents/skills/cgs-smoke-check/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-smoke-check -description: Use for Codex Game Studio smoke check work: Run the fastest useful checks proving the project opens, builds, starts, and reaches a basic playable state. +description: Use for smoke check tasks that run the fastest useful checks proving the project opens, builds, starts, and reaches a basic playable state; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the smoke-check objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-soak-test/SKILL.md b/.agents/skills/cgs-soak-test/SKILL.md index f2d02a7..8cd6be2 100644 --- a/.agents/skills/cgs-soak-test/SKILL.md +++ b/.agents/skills/cgs-soak-test/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-soak-test -description: Use for Codex Game Studio soak test work: Plan longer stability checks for memory, performance drift, save/load, networking, and live-ops loops. +description: Use for soak test tasks that plan longer stability checks for memory, performance drift, save/load, networking, and live-ops loops; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the soak-test objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-sprint-plan/SKILL.md b/.agents/skills/cgs-sprint-plan/SKILL.md index d93f425..6fe823c 100644 --- a/.agents/skills/cgs-sprint-plan/SKILL.md +++ b/.agents/skills/cgs-sprint-plan/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-sprint-plan -description: Use for Codex Game Studio sprint plan work: Create a 1-2 week sprint plan with goals, tasks, owners, dependencies, risks, and acceptance criteria. +description: Use for sprint plan tasks that create a 1-2 week sprint plan with goals, tasks, owners, dependencies, risks, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the sprint-plan objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-sprint-status/SKILL.md b/.agents/skills/cgs-sprint-status/SKILL.md index 7541d5e..9c6677f 100644 --- a/.agents/skills/cgs-sprint-status/SKILL.md +++ b/.agents/skills/cgs-sprint-status/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-sprint-status -description: Use for Codex Game Studio sprint status work: Report sprint progress, blockers, risk changes, completed work, and next decisions. +description: Use for sprint status tasks that report sprint progress, blockers, risk changes, completed work, and next decisions; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the sprint-status objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-standards-gameplay/SKILL.md b/.agents/skills/cgs-standards-gameplay/SKILL.md index 8475313..746fc1a 100644 --- a/.agents/skills/cgs-standards-gameplay/SKILL.md +++ b/.agents/skills/cgs-standards-gameplay/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-standards-gameplay -description: Use for Codex Game Studio gameplay standards: mechanics, tuning, data-driven values, engine idioms, and player-facing acceptance checks. +description: Use for standards gameplay tasks that mechanics, tuning, data-driven values, engine idioms, and player-facing acceptance checks; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the standards-gameplay objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-standards-prototype/SKILL.md b/.agents/skills/cgs-standards-prototype/SKILL.md index 95b9cb2..790141c 100644 --- a/.agents/skills/cgs-standards-prototype/SKILL.md +++ b/.agents/skills/cgs-standards-prototype/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-standards-prototype -description: Use for Codex Game Studio prototype standards: fast experiments with explicit hypotheses, throwaway boundaries, and graduation criteria. +description: Use for standards prototype tasks that fast experiments with explicit hypotheses, throwaway boundaries, and graduation criteria; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the standards-prototype objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-standards-tests/SKILL.md b/.agents/skills/cgs-standards-tests/SKILL.md index 5c7ab1c..08313f7 100644 --- a/.agents/skills/cgs-standards-tests/SKILL.md +++ b/.agents/skills/cgs-standards-tests/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-standards-tests -description: Use for Codex Game Studio test standards: unit, integration, engine smoke, playtest, and regression coverage. +description: Use for standards tests tasks that unit, integration, engine smoke, playtest, and regression coverage; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the standards-tests objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-standards-ui/SKILL.md b/.agents/skills/cgs-standards-ui/SKILL.md index da4a959..fed4745 100644 --- a/.agents/skills/cgs-standards-ui/SKILL.md +++ b/.agents/skills/cgs-standards-ui/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-standards-ui -description: Use for Codex Game Studio ui standards: HUD, menus, accessibility, localization, controller navigation, and input states. +description: Use for standards ui tasks that hUD, menus, accessibility, localization, controller navigation, and input states; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the standards-ui objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-start/SKILL.md b/.agents/skills/cgs-start/SKILL.md index 7832294..1243da2 100644 --- a/.agents/skills/cgs-start/SKILL.md +++ b/.agents/skills/cgs-start/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-start -description: Use for Codex Game Studio start work: Clarify the game concept, engine, production mode, first milestone, and next required artifact. +description: Use for start tasks that clarify the game concept, engine, production mode, first milestone, and next required artifact; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the start objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-story-done/SKILL.md b/.agents/skills/cgs-story-done/SKILL.md index a6b0536..478c9c1 100644 --- a/.agents/skills/cgs-story-done/SKILL.md +++ b/.agents/skills/cgs-story-done/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-story-done -description: Use for Codex Game Studio story done work: Check if a story is complete with changed files, tests, acceptance evidence, and handoff notes. +description: Use for story done tasks that check if a story is complete with changed files, tests, acceptance evidence, and handoff notes; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the story-done objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-story-readiness/SKILL.md b/.agents/skills/cgs-story-readiness/SKILL.md index 11ddb66..16a1581 100644 --- a/.agents/skills/cgs-story-readiness/SKILL.md +++ b/.agents/skills/cgs-story-readiness/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-story-readiness -description: Use for Codex Game Studio story readiness work: Check if a story is implementable with clear inputs, acceptance criteria, dependencies, and validation. +description: Use for story readiness tasks that check if a story is implementable with clear inputs, acceptance criteria, dependencies, and validation; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the story-readiness objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-audio/SKILL.md b/.agents/skills/cgs-team-audio/SKILL.md index f634f66..645ddb2 100644 --- a/.agents/skills/cgs-team-audio/SKILL.md +++ b/.agents/skills/cgs-team-audio/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-audio -description: Use for Codex Game Studio team audio work: Coordinate audio design, implementation, asset readiness, mix targets, and QA for audio work. +description: Use for team audio tasks that coordinate audio design, implementation, asset readiness, mix targets, and QA for audio work; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-audio objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-combat/SKILL.md b/.agents/skills/cgs-team-combat/SKILL.md index a5a5c8a..2bad9b7 100644 --- a/.agents/skills/cgs-team-combat/SKILL.md +++ b/.agents/skills/cgs-team-combat/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-combat -description: Use for Codex Game Studio team combat work: Coordinate combat design, implementation, tuning, animation, VFX, audio, and QA handoffs. +description: Use for team combat tasks that coordinate combat design, implementation, tuning, animation, VFX, audio, and QA handoffs; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-combat objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-level/SKILL.md b/.agents/skills/cgs-team-level/SKILL.md index 926c2eb..6938ce1 100644 --- a/.agents/skills/cgs-team-level/SKILL.md +++ b/.agents/skills/cgs-team-level/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-level -description: Use for Codex Game Studio team level work: Coordinate level design, blockout, art, scripting, lighting, optimization, and playtest handoffs. +description: Use for team level tasks that coordinate level design, blockout, art, scripting, lighting, optimization, and playtest handoffs; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-level objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-live-ops/SKILL.md b/.agents/skills/cgs-team-live-ops/SKILL.md index 5459900..a785162 100644 --- a/.agents/skills/cgs-team-live-ops/SKILL.md +++ b/.agents/skills/cgs-team-live-ops/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-live-ops -description: Use for Codex Game Studio team live ops work: Coordinate events, telemetry, economy, content cadence, support, and incident readiness. +description: Use for team live ops tasks that coordinate events, telemetry, economy, content cadence, support, and incident readiness; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-live-ops objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-narrative/SKILL.md b/.agents/skills/cgs-team-narrative/SKILL.md index 4a76e29..b1ac0c4 100644 --- a/.agents/skills/cgs-team-narrative/SKILL.md +++ b/.agents/skills/cgs-team-narrative/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-narrative -description: Use for Codex Game Studio team narrative work: Coordinate narrative content, dialogue, localization, implementation hooks, and consistency review. +description: Use for team narrative tasks that coordinate narrative content, dialogue, localization, implementation hooks, and consistency review; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-narrative objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-polish/SKILL.md b/.agents/skills/cgs-team-polish/SKILL.md index 2f5563d..c5e6bc4 100644 --- a/.agents/skills/cgs-team-polish/SKILL.md +++ b/.agents/skills/cgs-team-polish/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-polish -description: Use for Codex Game Studio team polish work: Coordinate final polish across game feel, UI, audio, art, bugs, performance, and accessibility. +description: Use for team polish tasks that coordinate final polish across game feel, UI, audio, art, bugs, performance, and accessibility; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-polish objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-qa/SKILL.md b/.agents/skills/cgs-team-qa/SKILL.md index a4746ee..a11b3b6 100644 --- a/.agents/skills/cgs-team-qa/SKILL.md +++ b/.agents/skills/cgs-team-qa/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-qa -description: Use for Codex Game Studio team qa work: Coordinate QA coverage, bug triage, regression, platform checks, and release evidence. +description: Use for team qa tasks that coordinate QA coverage, bug triage, regression, platform checks, and release evidence; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the team-qa objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-release/SKILL.md b/.agents/skills/cgs-team-release/SKILL.md index 0d011b6..06cbfa6 100644 --- a/.agents/skills/cgs-team-release/SKILL.md +++ b/.agents/skills/cgs-team-release/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-release -description: Use for Codex Game Studio team release work: Coordinate release management, build pipeline, store assets, QA signoff, comms, and rollback. +description: Use for team release tasks that coordinate release management, build pipeline, store assets, QA signoff, comms, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-release objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-team-ui/SKILL.md b/.agents/skills/cgs-team-ui/SKILL.md index 320a980..be41b82 100644 --- a/.agents/skills/cgs-team-ui/SKILL.md +++ b/.agents/skills/cgs-team-ui/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-team-ui -description: Use for Codex Game Studio team ui work: Coordinate UI design, implementation, accessibility, localization, controller support, and UX QA. +description: Use for team ui tasks that coordinate UI design, implementation, accessibility, localization, controller support, and UX QA; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the team-ui objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-tech-debt/SKILL.md b/.agents/skills/cgs-tech-debt/SKILL.md index b163c20..8790315 100644 --- a/.agents/skills/cgs-tech-debt/SKILL.md +++ b/.agents/skills/cgs-tech-debt/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-tech-debt -description: Use for Codex Game Studio tech debt work: Identify technical debt, production risk, payoff, safe refactor slices, and validation needed. +description: Use for tech debt tasks that identify technical debt, production risk, payoff, safe refactor slices, and validation needed; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the tech-debt objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-test-evidence-review/SKILL.md b/.agents/skills/cgs-test-evidence-review/SKILL.md index b2ff8d5..0367aa8 100644 --- a/.agents/skills/cgs-test-evidence-review/SKILL.md +++ b/.agents/skills/cgs-test-evidence-review/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-test-evidence-review -description: Use for Codex Game Studio test evidence review work: Review validation output, logs, screenshots, recordings, and manual checks for sufficiency and gaps. +description: Use for test evidence review tasks that review validation output, logs, screenshots, recordings, and manual checks for sufficiency and gaps; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the test-evidence-review objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-test-flakiness/SKILL.md b/.agents/skills/cgs-test-flakiness/SKILL.md index 5892bc0..d376e51 100644 --- a/.agents/skills/cgs-test-flakiness/SKILL.md +++ b/.agents/skills/cgs-test-flakiness/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-test-flakiness -description: Use for Codex Game Studio test flakiness work: Diagnose flaky tests by isolating timing, randomness, ordering, environment, and cleanup causes. +description: Use for test flakiness tasks that diagnose flaky tests by isolating timing, randomness, ordering, environment, and cleanup causes; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the test-flakiness objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-test-helpers/SKILL.md b/.agents/skills/cgs-test-helpers/SKILL.md index 7142157..fa5ede3 100644 --- a/.agents/skills/cgs-test-helpers/SKILL.md +++ b/.agents/skills/cgs-test-helpers/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-test-helpers -description: Use for Codex Game Studio test helpers work: Design reusable test helpers without hiding assertions, over-mocking, or coupling tests to implementation details. +description: Use for test helpers tasks that design reusable test helpers without hiding assertions, over-mocking, or coupling tests to implementation details; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4-mini model_reasoning_effort: low argument-hint: Describe the test-helpers objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-test-setup/SKILL.md b/.agents/skills/cgs-test-setup/SKILL.md index 2d681da..fb475d8 100644 --- a/.agents/skills/cgs-test-setup/SKILL.md +++ b/.agents/skills/cgs-test-setup/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-test-setup -description: Use for Codex Game Studio test setup work: Configure test harnesses, fixtures, commands, and documentation so validation is repeatable. +description: Use for test setup tasks that configure test harnesses, fixtures, commands, and documentation so validation is repeatable; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.4 model_reasoning_effort: medium argument-hint: Describe the test-setup objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-ui-ux-review/SKILL.md b/.agents/skills/cgs-ui-ux-review/SKILL.md index 1e3803b..a64026b 100644 --- a/.agents/skills/cgs-ui-ux-review/SKILL.md +++ b/.agents/skills/cgs-ui-ux-review/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-ui-ux-review -description: Use for Codex Game Studio ui ux review work: Review UI and UX implementation for clarity, accessibility, localization, controller support, and player comprehension. +description: Use for ui ux review tasks that review UI and UX implementation for clarity, accessibility, localization, controller support, and player comprehension; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the ui-ux-review objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-ux-design/SKILL.md b/.agents/skills/cgs-ux-design/SKILL.md index 44bca2f..e556597 100644 --- a/.agents/skills/cgs-ux-design/SKILL.md +++ b/.agents/skills/cgs-ux-design/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-ux-design -description: Use for Codex Game Studio ux design work: Design user journeys, menus, HUD, onboarding, input states, accessibility, and localization-ready UX copy. +description: Use for ux design tasks that design user journeys, menus, HUD, onboarding, input states, accessibility, and localization-ready UX copy; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the ux-design objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-ux-review/SKILL.md b/.agents/skills/cgs-ux-review/SKILL.md index b31a16e..a02ae1c 100644 --- a/.agents/skills/cgs-ux-review/SKILL.md +++ b/.agents/skills/cgs-ux-review/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-ux-review -description: Use for Codex Game Studio ux review work: Review UX flows for clarity, friction, accessibility, localization, controller support, and player comprehension. +description: Use for ux review tasks that review UX flows for clarity, friction, accessibility, localization, controller support, and player comprehension; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the ux-review objective, target files/assets, constraints, and verification evidence. diff --git a/.agents/skills/cgs-vertical-slice/SKILL.md b/.agents/skills/cgs-vertical-slice/SKILL.md index aadf168..d1ba0e4 100644 --- a/.agents/skills/cgs-vertical-slice/SKILL.md +++ b/.agents/skills/cgs-vertical-slice/SKILL.md @@ -1,6 +1,6 @@ --- name: cgs-vertical-slice -description: Use for Codex Game Studio vertical slice work: Validate whether a full game loop can be built at representative quality before production commitment. +description: Use for vertical slice tasks that validate whether a full game loop can be built at representative quality before production commitment; produce verification evidence, changed or proposed files, and handoff boundaries. model: gpt-5.5 model_reasoning_effort: high argument-hint: Describe the vertical-slice objective, target files/assets, constraints, and verification evidence. diff --git a/.codex/agents/accessibility-specialist.toml b/.codex/agents/accessibility-specialist.toml index 55f117d..7957ebc 100644 --- a/.codex/agents/accessibility-specialist.toml +++ b/.codex/agents/accessibility-specialist.toml @@ -1,5 +1,5 @@ name = "accessibility_specialist" -description = "Game development Accessibility Specialist agent for accessibility-specialist tasks in this template repository." +description = "Owns accessibility specialist work: Review accessibility for controls, visual/audio feedback, readability, cognitive load, difficulty options, platform conventions, and testable accommodations. Produces Accessibility review, Accommodation checklist, Inclusive design risks; hand off requests outside accessibility specialist ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/ai-programmer.toml b/.codex/agents/ai-programmer.toml index e0d9235..6f60572 100644 --- a/.codex/agents/ai-programmer.toml +++ b/.codex/agents/ai-programmer.toml @@ -1,5 +1,5 @@ name = "ai_programmer" -description = "Game development AI Programmer agent for ai-programmer tasks in this template repository." +description = "Owns ai programmer work: Implement game AI behavior, decision logic, navigation, perception, tuning hooks, debug visibility, and deterministic verification for NPC or systemic agents. Produces AI implementation, Behavior tuning notes, Debug and test evidence; hand off requests outside ai programmer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/audio-director.toml b/.codex/agents/audio-director.toml index 8c16065..1879b58 100644 --- a/.codex/agents/audio-director.toml +++ b/.codex/agents/audio-director.toml @@ -1,5 +1,5 @@ name = "audio_director" -description = "Game development Audio Director agent for audio-director tasks in this template repository." +description = "Owns audio director work: Define audio pillars, music direction, soundscape priorities, implementation constraints, mix goals, and cross-discipline audio production handoffs. Produces Audio direction, Soundscape priorities, Implementation constraints; hand off requests outside audio director ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/community-manager.toml b/.codex/agents/community-manager.toml index 34437e9..42315fc 100644 --- a/.codex/agents/community-manager.toml +++ b/.codex/agents/community-manager.toml @@ -1,5 +1,5 @@ name = "community_manager" -description = "Game development Community Manager agent for community-manager tasks in this template repository." +description = "Owns community manager work: Plan player communication, feedback triage, community launch beats, moderation risks, sentiment signals, and actionable handoffs to production roles. Produces Community plan, Feedback triage notes, Messaging risks; hand off requests outside community manager ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/creative-director.toml b/.codex/agents/creative-director.toml index 3bfbb00..352647f 100644 --- a/.codex/agents/creative-director.toml +++ b/.codex/agents/creative-director.toml @@ -1,5 +1,5 @@ name = "creative_director" -description = "Game development Creative Director agent for creative-director tasks in this template repository." +description = "Owns creative director work: Set creative pillars, protect player fantasy, align experience goals across disciplines, and keep scope coherent for Codex-executed game work. Produces Creative direction, Scope decisions, Experience pillars; hand off requests outside creative director ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/data-scientist.toml b/.codex/agents/data-scientist.toml index aa7322e..826a701 100644 --- a/.codex/agents/data-scientist.toml +++ b/.codex/agents/data-scientist.toml @@ -1,5 +1,5 @@ name = "data_scientist" -description = "Game development Data Scientist agent for data-scientist tasks in this template repository." +description = "Owns data scientist work: Define analytics events, success metrics, experiment plans, dashboards, and evidence loops that support design and production decisions. Produces Analytics plan, Event taxonomy, Experiment outline; hand off requests outside data scientist ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/devops-engineer.toml b/.codex/agents/devops-engineer.toml index b350101..a156b55 100644 --- a/.codex/agents/devops-engineer.toml +++ b/.codex/agents/devops-engineer.toml @@ -1,5 +1,5 @@ name = "devops_engineer" -description = "Game development DevOps Engineer agent for devops-engineer tasks in this template repository." +description = "Owns devops engineer work: Design build, packaging, CI, release automation, environment setup, cache strategy, and reproducible validation flows for game projects. Produces Build automation, CI or packaging notes, Reproducibility checks; hand off requests outside devops engineer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/economy-designer.toml b/.codex/agents/economy-designer.toml index e66e883..b69d0bf 100644 --- a/.codex/agents/economy-designer.toml +++ b/.codex/agents/economy-designer.toml @@ -1,5 +1,5 @@ name = "economy_designer" -description = "Game development Economy Designer agent for economy-designer tasks in this template repository." +description = "Owns economy designer work: Model currencies, rewards, sinks, pacing, pricing, progression pressure, and fairness risks for game economies without adding hidden monetization assumptions. Produces Economy model, Reward and sink table, Balance risks; hand off requests outside economy designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/engine-programmer.toml b/.codex/agents/engine-programmer.toml index e002b64..ea392ab 100644 --- a/.codex/agents/engine-programmer.toml +++ b/.codex/agents/engine-programmer.toml @@ -1,5 +1,5 @@ name = "engine_programmer" -description = "Game development Engine Programmer agent for engine-programmer tasks in this template repository." +description = "Owns engine programmer work: Work on engine integration, performance-sensitive systems, build setup, runtime foundations, and platform constraints. Produces Technical implementation, Performance notes, Build impact; hand off requests outside engine programmer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/game-designer.toml b/.codex/agents/game-designer.toml index 4da19e4..bf6957e 100644 --- a/.codex/agents/game-designer.toml +++ b/.codex/agents/game-designer.toml @@ -1,5 +1,5 @@ name = "game_designer" -description = "Game development Game Designer agent for game-designer tasks in this template repository." +description = "Owns game designer work: Design implementation-level mechanics, feature rules, tuning values, edge cases, and player-facing acceptance criteria with practical scope. Produces Feature spec, Tuning notes, Acceptance criteria; hand off requests outside game designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/game-feel-designer.toml b/.codex/agents/game-feel-designer.toml index ab3f609..7e86aae 100644 --- a/.codex/agents/game-feel-designer.toml +++ b/.codex/agents/game-feel-designer.toml @@ -1,5 +1,5 @@ name = "game_feel_designer" -description = "Game development Game Feel Designer agent for game-feel-designer tasks in this template repository." +description = "Owns game feel designer work: Tune controls, feedback, pacing, animation timing, juice, camera response, and moment-to-moment player feel with actionable changes. Produces Feel review, Tuning recommendations, Feedback checklist; hand off requests outside game feel designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/gameplay-programmer.toml b/.codex/agents/gameplay-programmer.toml index 7a7f358..548b4eb 100644 --- a/.codex/agents/gameplay-programmer.toml +++ b/.codex/agents/gameplay-programmer.toml @@ -1,5 +1,5 @@ name = "gameplay_programmer" -description = "Game development Gameplay Programmer agent for gameplay-programmer tasks in this template repository." +description = "Owns gameplay programmer work: Implement gameplay systems with focused file edits, engine-native idioms, deterministic behavior, and verification evidence. Produces Code changes, Verification results, Implementation notes; hand off requests outside gameplay programmer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/godot-specialist.toml b/.codex/agents/godot-specialist.toml index eb7cccc..b5efcfb 100644 --- a/.codex/agents/godot-specialist.toml +++ b/.codex/agents/godot-specialist.toml @@ -1,5 +1,5 @@ name = "godot_specialist" -description = "Game development Godot Specialist agent for godot-specialist tasks in this template repository." +description = "Owns godot specialist work: Apply Godot-specific implementation and review guidance using only the active project's Godot reference pack and project files. Produces Godot guidance, Engine-specific risks, Verification notes; hand off requests outside godot specialist ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/level-designer.toml b/.codex/agents/level-designer.toml index 7894482..2640f76 100644 --- a/.codex/agents/level-designer.toml +++ b/.codex/agents/level-designer.toml @@ -1,5 +1,5 @@ name = "level_designer" -description = "Game development Level Designer agent for level-designer tasks in this template repository." +description = "Owns level designer work: Design levels, encounter spaces, navigation beats, pacing, objective flow, metrics, blockout notes, and testable acceptance criteria for playable content. Produces Level brief, Blockout notes, Playtest criteria; hand off requests outside level designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/live-ops-designer.toml b/.codex/agents/live-ops-designer.toml index 48cf141..fee9d76 100644 --- a/.codex/agents/live-ops-designer.toml +++ b/.codex/agents/live-ops-designer.toml @@ -1,5 +1,5 @@ name = "live_ops_designer" -description = "Game development Live Ops Designer agent for live-ops-designer tasks in this template repository." +description = "Owns live ops designer work: Design live events, retention loops, update cadence, economy impacts, player messaging, operational risks, and post-launch measurement plans. Produces Live ops plan, Event loop notes, Measurement and risk summary; hand off requests outside live ops designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/localization-lead.toml b/.codex/agents/localization-lead.toml index 5000fe2..b9c6e87 100644 --- a/.codex/agents/localization-lead.toml +++ b/.codex/agents/localization-lead.toml @@ -1,5 +1,5 @@ name = "localization_lead" -description = "Game development Localization Lead agent for localization-lead tasks in this template repository." +description = "Owns localization lead work: Plan localization scope, string readiness, culturalization risks, text expansion, asset dependencies, voice/subtitle needs, and handoff checks. Produces Localization plan, String and asset risks, Culturalization notes; hand off requests outside localization lead ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/market-analyst.toml b/.codex/agents/market-analyst.toml index 07b64e7..1345a7c 100644 --- a/.codex/agents/market-analyst.toml +++ b/.codex/agents/market-analyst.toml @@ -1,5 +1,5 @@ name = "market_analyst" -description = "Game development Market Analyst agent for market-analyst tasks in this template repository." +description = "Owns market analyst work: Analyze audience, competitors, positioning, pricing, discoverability, and market risks using project constraints and clearly labeled assumptions. Produces Market analysis, Competitor positioning, Audience risks; hand off requests outside market analyst ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/narrative-designer.toml b/.codex/agents/narrative-designer.toml index 1ca9dd9..56f6823 100644 --- a/.codex/agents/narrative-designer.toml +++ b/.codex/agents/narrative-designer.toml @@ -1,5 +1,5 @@ name = "narrative_designer" -description = "Game development Narrative Designer agent for narrative-designer tasks in this template repository." +description = "Owns narrative designer work: Shape story, tone, world rules, character and content needs, and narrative consistency while respecting production constraints. Produces Narrative brief, Content list, Tone guidance; hand off requests outside narrative designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/network-programmer.toml b/.codex/agents/network-programmer.toml index cdf29b1..4268661 100644 --- a/.codex/agents/network-programmer.toml +++ b/.codex/agents/network-programmer.toml @@ -1,5 +1,5 @@ name = "network_programmer" -description = "Game development Network Programmer agent for network-programmer tasks in this template repository." +description = "Owns network programmer work: Implement networked gameplay, replication, synchronization, authority boundaries, latency handling, rollback risks, and multiplayer verification notes. Produces Networking implementation, Synchronization notes, Multiplayer verification; hand off requests outside network programmer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/performance-analyst.toml b/.codex/agents/performance-analyst.toml index 7553040..69050b9 100644 --- a/.codex/agents/performance-analyst.toml +++ b/.codex/agents/performance-analyst.toml @@ -1,5 +1,5 @@ name = "performance_analyst" -description = "Game development Performance Analyst agent for performance-analyst tasks in this template repository." +description = "Owns performance analyst work: Profile frame time, memory, loading, asset cost, CPU/GPU bottlenecks, instrumentation needs, and optimization priorities for game builds. Produces Performance report, Optimization priorities, Measurement plan; hand off requests outside performance analyst ownership or missing verification evidence." model = "gpt-5.4" model_reasoning_effort = "medium" model_verbosity = "medium" diff --git a/.codex/agents/producer.toml b/.codex/agents/producer.toml index 0557c61..17bdeb1 100644 --- a/.codex/agents/producer.toml +++ b/.codex/agents/producer.toml @@ -1,5 +1,5 @@ name = "producer" -description = "Game development Producer agent for producer tasks in this template repository." +description = "Owns producer work: Convert goals into bounded production plans, milestone slices, risk lists, owner recommendations, and verification gates for Codex-executed game work. Produces Production plan, Milestone tasks, Risk register; hand off requests outside producer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/qa-playtester.toml b/.codex/agents/qa-playtester.toml index a89cd58..4136e7a 100644 --- a/.codex/agents/qa-playtester.toml +++ b/.codex/agents/qa-playtester.toml @@ -1,5 +1,5 @@ name = "qa_playtester" -description = "Game development QA Playtester agent for qa-playtester tasks in this template repository." +description = "Owns qa playtester work: Find reproducible gameplay, usability, accessibility, and regression issues with clear severity, evidence, and verification steps. Produces Issue list, Repro steps, Severity notes; hand off requests outside qa playtester ownership or missing verification evidence." model = "gpt-5.4" model_reasoning_effort = "medium" model_verbosity = "medium" diff --git a/.codex/agents/release-manager.toml b/.codex/agents/release-manager.toml index 71f4a68..70c9dea 100644 --- a/.codex/agents/release-manager.toml +++ b/.codex/agents/release-manager.toml @@ -1,5 +1,5 @@ name = "release_manager" -description = "Game development Release Manager agent for release-manager tasks in this template repository." +description = "Owns release manager work: Assess ship readiness, release risk, packaging, validation status, milestone blockers, and remaining warnings before release decisions. Produces Ship checklist, Release risks, Validation summary; hand off requests outside release manager ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/security-engineer.toml b/.codex/agents/security-engineer.toml index 74a9713..627bff7 100644 --- a/.codex/agents/security-engineer.toml +++ b/.codex/agents/security-engineer.toml @@ -1,5 +1,5 @@ name = "security_engineer" -description = "Game development Security Engineer agent for security-engineer tasks in this template repository." +description = "Owns security engineer work: Review game client, tools, build scripts, online surfaces, secrets handling, abuse cases, and dependency risks with practical mitigation steps. Produces Security review, Threat notes, Mitigation checklist; hand off requests outside security engineer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/senior-game-artist.toml b/.codex/agents/senior-game-artist.toml index 3cb79dd..fee4f8b 100644 --- a/.codex/agents/senior-game-artist.toml +++ b/.codex/agents/senior-game-artist.toml @@ -1,5 +1,5 @@ name = "senior_game_artist" -description = "Game development Senior Game Artist agent for senior-game-artist tasks in this template repository." +description = "Owns senior game artist work: Define art direction, asset style, visual constraints, production quality bars, reference needs, and asset review notes. Produces Art direction, Asset list, Visual quality bar; hand off requests outside senior game artist ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/senior-game-designer.toml b/.codex/agents/senior-game-designer.toml index 898059d..01a14ec 100644 --- a/.codex/agents/senior-game-designer.toml +++ b/.codex/agents/senior-game-designer.toml @@ -1,5 +1,5 @@ name = "senior_game_designer" -description = "Game development Senior Game Designer agent for senior-game-designer tasks in this template repository." +description = "Owns senior game designer work: Own high-level systems, progression, economy, core loops, balancing direction, and design cohesion across feature slices. Produces Systems design, Progression model, Acceptance criteria; hand off requests outside senior game designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/sound-designer.toml b/.codex/agents/sound-designer.toml index 46a27f7..bd4ffdb 100644 --- a/.codex/agents/sound-designer.toml +++ b/.codex/agents/sound-designer.toml @@ -1,5 +1,5 @@ name = "sound_designer" -description = "Game development Sound Designer agent for sound-designer tasks in this template repository." +description = "Owns sound designer work: Specify sound effects, feedback cues, ambience, music triggers, implementation events, and audio verification notes for gameplay moments. Produces Sound cue list, Audio event notes, Verification checklist; hand off requests outside sound designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/studio-orchestrator.toml b/.codex/agents/studio-orchestrator.toml index 748456a..fc5cd0e 100644 --- a/.codex/agents/studio-orchestrator.toml +++ b/.codex/agents/studio-orchestrator.toml @@ -1,5 +1,5 @@ name = "studio_orchestrator" -description = "Game development Studio Orchestrator agent for studio-orchestrator tasks in this template repository." +description = "Owns studio orchestrator work: Route work between roles, maintain concise handoffs, protect project scope, identify blockers, and select the next bounded studio action without running hidden parallel work. Produces Studio handoff, Next-role routing, Blocker summary; hand off requests outside studio orchestrator ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/systems-designer.toml b/.codex/agents/systems-designer.toml index fd2d89d..3434b3d 100644 --- a/.codex/agents/systems-designer.toml +++ b/.codex/agents/systems-designer.toml @@ -1,5 +1,5 @@ name = "systems_designer" -description = "Game development Systems Designer agent for systems-designer tasks in this template repository." +description = "Owns systems designer work: Design interconnected rules, progression loops, resource flows, balancing levers, edge cases, and acceptance tests for durable game systems. Produces Systems spec, Balance levers, Edge-case notes; hand off requests outside systems designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/technical-artist.toml b/.codex/agents/technical-artist.toml index adc40aa..a53e58f 100644 --- a/.codex/agents/technical-artist.toml +++ b/.codex/agents/technical-artist.toml @@ -1,5 +1,5 @@ name = "technical_artist" -description = "Game development Technical Artist agent for technical-artist tasks in this template repository." +description = "Owns technical artist work: Bridge art direction and runtime constraints for shaders, materials, import settings, optimization, and visual pipelines. Produces Art pipeline guidance, Asset constraints, Optimization notes; hand off requests outside technical artist ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/technical-director.toml b/.codex/agents/technical-director.toml index 9237ff7..147da8e 100644 --- a/.codex/agents/technical-director.toml +++ b/.codex/agents/technical-director.toml @@ -1,5 +1,5 @@ name = "technical_director" -description = "Game development Technical Director agent for technical-director tasks in this template repository." +description = "Owns technical director work: Coordinate technical architecture, engineering tradeoffs, engine constraints, risk triage, validation gates, and discipline handoffs for game production. Produces Technical direction, Architecture tradeoffs, Risk and gate summary; hand off requests outside technical director ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/tools-programmer.toml b/.codex/agents/tools-programmer.toml index 9033d06..fa9c0c1 100644 --- a/.codex/agents/tools-programmer.toml +++ b/.codex/agents/tools-programmer.toml @@ -1,5 +1,5 @@ name = "tools_programmer" -description = "Game development Tools Programmer agent for tools-programmer tasks in this template repository." +description = "Owns tools programmer work: Build editor, pipeline, automation, and developer workflow tools that reduce repeated production effort and failure-prone manual steps. Produces Tooling changes, Usage notes, Failure modes; hand off requests outside tools programmer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/ui-programmer.toml b/.codex/agents/ui-programmer.toml index 8d2634b..300ecf2 100644 --- a/.codex/agents/ui-programmer.toml +++ b/.codex/agents/ui-programmer.toml @@ -1,5 +1,5 @@ name = "ui_programmer" -description = "Game development UI Programmer agent for ui-programmer tasks in this template repository." +description = "Owns ui programmer work: Implement HUD, menu, input, state binding, responsive layout, accessibility hooks, and UI runtime behavior from designer-facing interaction specs. Produces UI implementation, State binding notes, Interaction verification; hand off requests outside ui programmer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/ui-ux-designer.toml b/.codex/agents/ui-ux-designer.toml index 7780d4c..aca01e6 100644 --- a/.codex/agents/ui-ux-designer.toml +++ b/.codex/agents/ui-ux-designer.toml @@ -1,5 +1,5 @@ name = "ui_ux_designer" -description = "Game development UI UX Designer agent for ui-ux-designer tasks in this template repository." +description = "Owns ui ux designer work: Design interface flows, usability heuristics, HUD layout, onboarding, accessibility, menu interactions, and interaction risks. Produces UI flow review, HUD/menu recommendations, Accessibility notes; hand off requests outside ui ux designer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/unity-specialist.toml b/.codex/agents/unity-specialist.toml index 39c158f..c1aeeea 100644 --- a/.codex/agents/unity-specialist.toml +++ b/.codex/agents/unity-specialist.toml @@ -1,5 +1,5 @@ name = "unity_specialist" -description = "Game development Unity Specialist agent for unity-specialist tasks in this template repository." +description = "Owns unity specialist work: Apply Unity-specific implementation and review guidance using only the active project's Unity reference pack and project files. Produces Unity guidance, Engine-specific risks, Verification notes; hand off requests outside unity specialist ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/unreal-specialist.toml b/.codex/agents/unreal-specialist.toml index d55381f..3950c3a 100644 --- a/.codex/agents/unreal-specialist.toml +++ b/.codex/agents/unreal-specialist.toml @@ -1,5 +1,5 @@ name = "unreal_specialist" -description = "Game development Unreal Specialist agent for unreal-specialist tasks in this template repository." +description = "Owns unreal specialist work: Apply Unreal-specific implementation and review guidance using only the active project's Unreal reference pack and project files. Produces Unreal guidance, Engine-specific risks, Verification notes; hand off requests outside unreal specialist ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/world-builder.toml b/.codex/agents/world-builder.toml index b401084..e8d697f 100644 --- a/.codex/agents/world-builder.toml +++ b/.codex/agents/world-builder.toml @@ -1,5 +1,5 @@ name = "world_builder" -description = "Game development World Builder agent for world-builder tasks in this template repository." +description = "Owns world builder work: Define factions, places, rules, environmental storytelling hooks, collectible lore, and setting constraints that support level, narrative, and content production. Produces World bible slice, Environment hooks, Consistency constraints; hand off requests outside world builder ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/agents/writer.toml b/.codex/agents/writer.toml index ed9ffd7..a6a5229 100644 --- a/.codex/agents/writer.toml +++ b/.codex/agents/writer.toml @@ -1,5 +1,5 @@ name = "writer" -description = "Game development Writer agent for writer tasks in this template repository." +description = "Owns writer work: Draft shippable dialogue, item text, barks, tutorial copy, lore snippets, and narrative-facing implementation notes that fit the project's tone and production constraints. Produces Draft copy, Tone notes, Implementation handoff; hand off requests outside writer ownership or missing verification evidence." model = "gpt-5.5" model_reasoning_effort = "high" model_verbosity = "medium" diff --git a/.codex/workflows/analytics-setup.md b/.codex/workflows/analytics-setup.md index 7738f23..8146858 100644 --- a/.codex/workflows/analytics-setup.md +++ b/.codex/workflows/analytics-setup.md @@ -5,7 +5,7 @@ primary-agent: data-scientist linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the analytics-setup goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a analytics setup request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/analytics-setup.md source-hash: 19e2ccd6cba68c2a546ab3ab762de06f4d071923c07df1134f9860459a8ea5f9 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/architecture-decision.md b/.codex/workflows/architecture-decision.md index 137632e..bdf33e6 100644 --- a/.codex/workflows/architecture-decision.md +++ b/.codex/workflows/architecture-decision.md @@ -5,7 +5,7 @@ primary-agent: technical-director linked-skills: [cgs-architecture-decision, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the architecture-decision goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a architecture decision request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/architecture-decision.md source-hash: f0d51d1e058c54bd34c0bedcb7ee79098aebc3605b581447aedaffcf0a4193f2 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/architecture-review.md b/.codex/workflows/architecture-review.md index bcad094..d7cbaf5 100644 --- a/.codex/workflows/architecture-review.md +++ b/.codex/workflows/architecture-review.md @@ -5,7 +5,7 @@ primary-agent: technical-director linked-skills: [cgs-architecture-review, cgs-vertical-slice] phase: review risk: high -argument-hint: Describe the architecture-review goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a architecture review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/architecture-review.md source-hash: 42efb7eafaf3ed586f06ba5319e257913bf929929ebe5e930df283b63f761a9c output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/art-direction.md b/.codex/workflows/art-direction.md index 7901da2..e4848f7 100644 --- a/.codex/workflows/art-direction.md +++ b/.codex/workflows/art-direction.md @@ -5,7 +5,7 @@ primary-agent: senior-game-artist linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the art-direction goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a art direction request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/art-direction.md source-hash: bb63d35ee4c93bc78cdb69865b93a8451772f1947457e7a4cb0de10a50261857 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/brainstorm.md b/.codex/workflows/brainstorm.md index 5a09a83..ca1b7aa 100644 --- a/.codex/workflows/brainstorm.md +++ b/.codex/workflows/brainstorm.md @@ -5,7 +5,7 @@ primary-agent: creative-director linked-skills: [cgs-brainstorm, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the brainstorm goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a brainstorm request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/brainstorm.md source-hash: 089f684096f5d974b08282b12052d231462da5324c914fcfa832bb2a2737f975 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/bugfix.md b/.codex/workflows/bugfix.md index dbf4c2e..0e6fe70 100644 --- a/.codex/workflows/bugfix.md +++ b/.codex/workflows/bugfix.md @@ -5,7 +5,7 @@ primary-agent: gameplay-programmer linked-skills: [cgs-bugfix] phase: implement risk: medium -argument-hint: Describe the bugfix goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a bugfix request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/bugfix.md source-hash: e4f3ff1a7569114e173de2be80c20cbc1d914d920c4970092667161683380aaa output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/create-epics.md b/.codex/workflows/create-epics.md index d800509..d9d27a1 100644 --- a/.codex/workflows/create-epics.md +++ b/.codex/workflows/create-epics.md @@ -5,7 +5,7 @@ primary-agent: producer linked-skills: [cgs-create-epics, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the create-epics goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a create epics request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/create-epics.md source-hash: 42d3919a918f03755ba3b2dd9ecdc4015339dc165006c7665e108eb62f871686 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/create-stories.md b/.codex/workflows/create-stories.md index 115e04e..2202947 100644 --- a/.codex/workflows/create-stories.md +++ b/.codex/workflows/create-stories.md @@ -5,7 +5,7 @@ primary-agent: producer linked-skills: [cgs-create-stories, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the create-stories goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a create stories request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/create-stories.md source-hash: 0d440e64d98ad037ca0a1eb0ae7524d0194761d21b5a50eb751aac37b90200d0 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/design-spec.md b/.codex/workflows/design-spec.md index c04e0d4..4469cdd 100644 --- a/.codex/workflows/design-spec.md +++ b/.codex/workflows/design-spec.md @@ -5,7 +5,7 @@ primary-agent: senior-game-designer linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the design-spec goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a design spec request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/design-spec.md source-hash: 9261742b271ffafea2af4cdb3e05ca879a2b73d58309ef75ad6ddc13aea06497 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/game-feel-tuning.md b/.codex/workflows/game-feel-tuning.md index 711c5b9..f6952ca 100644 --- a/.codex/workflows/game-feel-tuning.md +++ b/.codex/workflows/game-feel-tuning.md @@ -5,7 +5,7 @@ primary-agent: game-feel-designer linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: review risk: high -argument-hint: Describe the game-feel-tuning goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a game feel tuning request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/game-feel-tuning.md source-hash: 8d1c4b6a894d8b08fa5890a7a0db85c47c0b906667b0dbc8677c4b0159e1bec0 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/handoff.md b/.codex/workflows/handoff.md index 46517fd..3785499 100644 --- a/.codex/workflows/handoff.md +++ b/.codex/workflows/handoff.md @@ -5,7 +5,7 @@ primary-agent: studio-orchestrator linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the handoff goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a handoff request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/handoff.md source-hash: e307052ed5c98b2c7db097b17c27cb580f9d1253884e3d9154650cece91cca91 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/hotfix.md b/.codex/workflows/hotfix.md index b3881ea..10c6c29 100644 --- a/.codex/workflows/hotfix.md +++ b/.codex/workflows/hotfix.md @@ -5,7 +5,7 @@ primary-agent: gameplay-programmer linked-skills: [cgs-hotfix, cgs-bugfix] phase: review risk: medium -argument-hint: Describe the hotfix goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a hotfix request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/hotfix.md source-hash: 1612d613b8c4dad2302feb01e4d1cdbada5b6b71047df0f28cd903e5cd06d6dc output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/localization-plan.md b/.codex/workflows/localization-plan.md index 25250e0..0c0993b 100644 --- a/.codex/workflows/localization-plan.md +++ b/.codex/workflows/localization-plan.md @@ -5,7 +5,7 @@ primary-agent: localization-lead linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the localization-plan goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a localization plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/localization-plan.md source-hash: 3c051923076c7bd045bdb8c2b96b17564e42da45664371dfd23339ea01f87603 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/market-analysis.md b/.codex/workflows/market-analysis.md index debf6e6..6c9847b 100644 --- a/.codex/workflows/market-analysis.md +++ b/.codex/workflows/market-analysis.md @@ -5,7 +5,7 @@ primary-agent: market-analyst linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the market-analysis goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a market analysis request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/market-analysis.md source-hash: 79df4ced2d1e89e860f5d1e4560fb17e57a31b713b64a76f8c0f4e9b2f2e7853 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/onboard.md b/.codex/workflows/onboard.md index 2803d7b..715093e 100644 --- a/.codex/workflows/onboard.md +++ b/.codex/workflows/onboard.md @@ -5,7 +5,7 @@ primary-agent: studio-orchestrator linked-skills: [cgs-onboard, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the onboard goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a onboard request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/onboard.md source-hash: 117428e18b2f889ef195acbeba3619f1c5daaa8b54045f14a0271870e531980c output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/perf-profile.md b/.codex/workflows/perf-profile.md index 9797b8d..48b6ad2 100644 --- a/.codex/workflows/perf-profile.md +++ b/.codex/workflows/perf-profile.md @@ -5,7 +5,7 @@ primary-agent: performance-analyst linked-skills: [cgs-perf-profile, cgs-bugfix] phase: review risk: medium -argument-hint: Describe the perf-profile goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a perf profile request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/perf-profile.md source-hash: e8b50d85075eea5dc75d5bd2f4a299591a615accbc074ab7307ab3d8a48e056b output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/playtest.md b/.codex/workflows/playtest.md index 98ead4e..c0b5590 100644 --- a/.codex/workflows/playtest.md +++ b/.codex/workflows/playtest.md @@ -5,7 +5,7 @@ primary-agent: qa-playtester linked-skills: [cgs-standards-gameplay, cgs-bugfix] phase: review risk: medium -argument-hint: Describe the playtest goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a playtest request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/playtest.md source-hash: c7f6e1c9ca0d6e6406d5b43aef9c0d5dfe9522087b2ac43c6212e3b8d49b4b23 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/production-milestone.md b/.codex/workflows/production-milestone.md index 9e69717..794fad0 100644 --- a/.codex/workflows/production-milestone.md +++ b/.codex/workflows/production-milestone.md @@ -5,7 +5,7 @@ primary-agent: producer linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the production-milestone goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a production milestone request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/production-milestone.md source-hash: 24e88c28bdbf98c567fdb005aa895812e926398817f47e58e8bb6f343fb7dbc2 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/prototype.md b/.codex/workflows/prototype.md index 952fadb..6cb2b2a 100644 --- a/.codex/workflows/prototype.md +++ b/.codex/workflows/prototype.md @@ -5,7 +5,7 @@ primary-agent: producer linked-skills: [cgs-prototype, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the prototype goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a prototype request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/prototype.md source-hash: 591dcfb7bad19ec67c61c0ca84d12408de54c4051e95dbbb6ef7ba434daef061 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/qa-plan.md b/.codex/workflows/qa-plan.md index 210865b..3b8a338 100644 --- a/.codex/workflows/qa-plan.md +++ b/.codex/workflows/qa-plan.md @@ -5,7 +5,7 @@ primary-agent: qa-playtester linked-skills: [cgs-qa-plan, cgs-bugfix] phase: plan risk: medium -argument-hint: Describe the qa-plan goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a qa plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/qa-plan.md source-hash: 3adbf7f46c8318d14386d739b4411e65dd87bab644cc7cd5cd5da3c298f567df output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/regression-suite.md b/.codex/workflows/regression-suite.md index 779b385..118585f 100644 --- a/.codex/workflows/regression-suite.md +++ b/.codex/workflows/regression-suite.md @@ -5,7 +5,7 @@ primary-agent: qa-playtester linked-skills: [cgs-regression-suite, cgs-bugfix] phase: review risk: medium -argument-hint: Describe the regression-suite goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a regression suite request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/regression-suite.md source-hash: 8d0248078a4d567474766257fccf6a31a790b14152643806c608f2dbe726478e output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/release-checklist.md b/.codex/workflows/release-checklist.md index 3ded79f..ebd548c 100644 --- a/.codex/workflows/release-checklist.md +++ b/.codex/workflows/release-checklist.md @@ -5,7 +5,7 @@ primary-agent: release-manager linked-skills: [cgs-release-checklist, cgs-vertical-slice] phase: ship risk: high -argument-hint: Describe the release-checklist goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a release checklist request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/release-checklist.md source-hash: 323ba87fd53d96504b2795e4a68eb382c9b047672df9138bf5c6047169acf878 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/review.md b/.codex/workflows/review.md index f53c363..35a76d8 100644 --- a/.codex/workflows/review.md +++ b/.codex/workflows/review.md @@ -5,7 +5,7 @@ primary-agent: qa-playtester linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: review risk: high -argument-hint: Describe the review goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/review.md source-hash: 34723440e64f04b85aaac3355e08ac64bc58b31c7f5b68dc83351d651619b628 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/security-audit.md b/.codex/workflows/security-audit.md index f2b348f..1931138 100644 --- a/.codex/workflows/security-audit.md +++ b/.codex/workflows/security-audit.md @@ -5,7 +5,7 @@ primary-agent: security-engineer linked-skills: [cgs-security-audit, cgs-vertical-slice] phase: review risk: high -argument-hint: Describe the security-audit goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a security audit request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/security-audit.md source-hash: 9c3da9ef0ffb2084e33e3f720e10457c7cbaf2609174e48540db7abaff197737 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/ship-check.md b/.codex/workflows/ship-check.md index 9e6b213..dd12cd2 100644 --- a/.codex/workflows/ship-check.md +++ b/.codex/workflows/ship-check.md @@ -5,7 +5,7 @@ primary-agent: release-manager linked-skills: [cgs-standards-gameplay, cgs-vertical-slice] phase: ship risk: high -argument-hint: Describe the ship-check goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a ship check request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/ship-check.md source-hash: c0314e1b40f51a412fb34e841c4828b18841d12d524e73578609f2f8b946877d output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/sprint-plan.md b/.codex/workflows/sprint-plan.md index e77fac4..303dd37 100644 --- a/.codex/workflows/sprint-plan.md +++ b/.codex/workflows/sprint-plan.md @@ -5,7 +5,7 @@ primary-agent: producer linked-skills: [cgs-sprint-plan, cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the sprint-plan goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a sprint plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/sprint-plan.md source-hash: 535477f90b8da3519ffaff4ffe1ffb24d3665c88cfe3aff3f1036b8e5b0ae361 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/sprint-status.md b/.codex/workflows/sprint-status.md index f1d59a0..43c25b9 100644 --- a/.codex/workflows/sprint-status.md +++ b/.codex/workflows/sprint-status.md @@ -5,7 +5,7 @@ primary-agent: studio-orchestrator linked-skills: [cgs-sprint-status, cgs-vertical-slice] phase: review risk: low -argument-hint: Describe the sprint-status goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a sprint status request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/sprint-status.md source-hash: 93da26e1a257325a8fb7d88e420d069c695cfcf80085beb0c849197140205946 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/story-done.md b/.codex/workflows/story-done.md index 5f95adf..a0d7cad 100644 --- a/.codex/workflows/story-done.md +++ b/.codex/workflows/story-done.md @@ -5,7 +5,7 @@ primary-agent: qa-playtester linked-skills: [cgs-story-done, cgs-bugfix] phase: review risk: medium -argument-hint: Describe the story-done goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a story done request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/story-done.md source-hash: 97ca471f7ddb731db208cd9f4b9ddab320ceab5bc6fbfeccf4c933892e99a8ab output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/story-readiness.md b/.codex/workflows/story-readiness.md index b770fc1..77b8177 100644 --- a/.codex/workflows/story-readiness.md +++ b/.codex/workflows/story-readiness.md @@ -5,7 +5,7 @@ primary-agent: producer linked-skills: [cgs-story-readiness, cgs-bugfix] phase: review risk: medium -argument-hint: Describe the story-readiness goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a story readiness request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/story-readiness.md source-hash: e815391ac44b0b2265edabadc1287d1e558c7ab63ab01dfecd8f48fbe316b764 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/ui-ux-review.md b/.codex/workflows/ui-ux-review.md index e6fd1ed..6b286f3 100644 --- a/.codex/workflows/ui-ux-review.md +++ b/.codex/workflows/ui-ux-review.md @@ -5,7 +5,7 @@ primary-agent: ui-ux-designer linked-skills: [cgs-ui-ux-review, cgs-vertical-slice] phase: review risk: high -argument-hint: Describe the ui-ux-review goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a ui ux review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/ui-ux-review.md source-hash: 9f7f488ceea66c123f694460a42be633fe27e5e66291721a00e7acccef98c0e5 output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/.codex/workflows/vertical-slice.md b/.codex/workflows/vertical-slice.md index 1e477fe..59c39a9 100644 --- a/.codex/workflows/vertical-slice.md +++ b/.codex/workflows/vertical-slice.md @@ -5,7 +5,7 @@ primary-agent: producer linked-skills: [cgs-vertical-slice] phase: plan risk: high -argument-hint: Describe the vertical-slice goal, target milestone/files, constraints, and required evidence. +argument-hint: Provide a vertical slice request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence. source-reference: .codex/workflows/vertical-slice.md source-hash: 07715b9011de759afcb6b4586a11efcb7b6389dd7c60703a25063473b618af7f output-artifacts: [plan, changed-files, verification-evidence, handoff] diff --git a/docs/README.md b/docs/README.md index ece70d1..b225c43 100644 --- a/docs/README.md +++ b/docs/README.md @@ -24,6 +24,7 @@ The root [README](../README.md) is the concise human storefront. Use this index | --- | --- | | [Development](development.md) | Build, test, validation, package, and documentation-maintenance workflow. | | [Workflow Validation](workflow-validation.md) | What repository and project validation check. | +| [Prompt Quality Standard](prompt-quality.md) | Source of truth for improving tracked agents, skills, and workflows. | | [Known Upstream Differences](known-upstream-differences.md) | Intentional differences from the CCGS inspiration project. | | [Migration from Claude](migration-from-claude.md) | Migration notes from Claude-oriented game-studio workflows. | | [Product Boundary](architecture/product-boundary.md) | Implemented behavior, non-goals, and architecture boundaries. | diff --git a/docs/plans/2026-06-29-codex-prompt-surface-uplift.md b/docs/plans/2026-06-29-codex-prompt-surface-uplift.md deleted file mode 100644 index f16b63d..0000000 --- a/docs/plans/2026-06-29-codex-prompt-surface-uplift.md +++ /dev/null @@ -1,28 +0,0 @@ -# Codex Prompt Surface Uplift Plan - -Canonical implementation record: `openspec/changes/codex-prompt-surface-uplift/`. - -## Implemented direction - -- Prompt surfaces remain tracked template files under `.codex/agents`, `.codex/workflows`, and `.agents/skills`. -- `init` does not generate or overwrite agent, workflow, or skill bodies. -- Exact Codex model policy is declared on prompt surfaces. -- Runtime commands pass the selected exact model to Codex execution. -- Validation checks model policy, source traceability, links, depth, output contracts, and optional OpenAI skill metadata. - -## Model routing - -- Complex design, architecture, production, and release-gate tasks: `gpt-5.5`. -- Moderate implementation, QA, docs, bugfix, and bounded workflow tasks: `gpt-5.4`. -- Simple help, status, classification, checklist, and small lookup tasks: `gpt-5.4-mini`. - -## Evidence files - -- `scripts/audit-prompt-surfaces.ts` -- `references/prompt-surface-uplift-matrix.json` -- `references/prompt-surface-uplift-matrix.md` -- `references/prompt-uplift-eval-protocol.md` -- `src/prompt-surface-metadata.ts` -- `tests/prompt-surface-audit.test.ts` -- `tests/prompt-surface-metadata.test.ts` -- `tests/prompt-surface-validation.test.ts` diff --git a/docs/prompt-quality.md b/docs/prompt-quality.md new file mode 100644 index 0000000..7382900 --- /dev/null +++ b/docs/prompt-quality.md @@ -0,0 +1,352 @@ +# Prompt Quality Standard + +## Purpose + +This document is the source of truth for gradually improving Codex Game Studio agents, skills, and workflows. + +Prompt quality means the tracked template surfaces help Codex choose the right owner, load the right context, take bounded action, verify the result, and hand off cleanly. + +Prompt quality does not mean making every prompt longer. Improvements should remove generic boilerplate, add task-specific judgment, and prove better behavior with evaluations. + +## Scope + +This standard applies to tracked prompt surfaces: + +- `.codex/agents/*.toml` +- `.codex/workflows/*.md` +- `.agents/skills/*/SKILL.md` +- supporting references, templates, examples, and evaluation fixtures linked from those surfaces + +Project initialization must not synthesize or overwrite these prompt bodies. Improvements land as reviewable repository changes. + +## Reference basis + +This standard is derived from current major-provider guidance: + +- Anthropic, [Skill authoring best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices): concise skills, discovery descriptions, progressive disclosure, degrees of freedom, workflows, and evaluation-first iteration. +- Anthropic, [Building effective agents](https://www.anthropic.com/research/building-effective-agents): distinction between predictable workflows and flexible agents, and the recommendation to use the simplest effective agentic system. +- OpenAI, [GPT-4.1 Prompting Guide](https://cookbook.openai.com/examples/gpt4-1_prompting_guide): persistence, tool-use reminders, planning, prompt organization, examples, and conflict reduction. +- OpenAI, [Agents SDK documentation](https://openai.github.io/openai-agents-python/): production agent primitives such as tools, handoffs, guardrails, sessions, tracing, and structured tool behavior. +- Google, [Gemini prompting strategies](https://ai.google.dev/gemini-api/docs/prompting-strategies): clear instructions, few-shot examples, agentic workflow dimensions, persistence, recovery, and risk assessment. +- Microsoft, [Azure OpenAI prompt engineering concepts](https://learn.microsoft.com/en-us/azure/ai-foundry/openai/concepts/prompt-engineering): instruction clarity, examples, output priming, and structured prompt components. + +## Quality principles + +### 1. Evaluation before expansion + +Write or update evaluations before adding broad prompt text. + +A prompt improvement should begin with an observed failure or risk: + +- wrong agent or skill selected; +- context loaded too broadly or too narrowly; +- task crosses role ownership without handoff; +- output omits required evidence; +- blocker, warning, and assumption are mixed together; +- model guesses instead of using files or tools; +- workflow advances without entry criteria, exit criteria, or verification. + +Then add the smallest prompt change that fixes the failure. + +### 2. Progressive disclosure + +Main prompt files should be concise entry points. + +Use supporting files when details are useful but not always needed: + +```text +.agents/skills/cgs-prototype/ + SKILL.md + references/examples.md + references/checklist.md + templates/handoff.md +``` + +`SKILL.md` should select and steer the task. Examples, long checklists, style guides, and domain details should live in linked files. + +### 3. Strong discovery metadata + +Descriptions are selection metadata, not labels. + +Weak: + +```toml +description = "Game development Game Designer agent for game-designer tasks in this template repository." +``` + +Better: + +```toml +description = "Owns implementable gameplay mechanics, tuning variables, edge cases, player-facing acceptance criteria, and feature-scope decisions for bounded game-design tasks." +``` + +Every description should answer: + +- What task does this surface own? +- When should Codex select it? +- What does it not own? +- Which keywords should retrieval and selection see? + +### 4. Match freedom to risk + +Use the least restrictive prompt that still protects quality. + +| Freedom | Use for | Prompt shape | +| --- | --- | --- | +| High | Brainstorming, market exploration, early creative ideation | Goals, heuristics, examples, broad output options | +| Medium | Prototype plans, design specs, sprint planning, bounded implementation | Ordered phases, decision gates, output contract | +| Low | Release gates, migrations, security, localization handoff, irreversible edits | Exact checklist, entry criteria, stop conditions, required evidence | + +High-risk workflows need explicit steps and stop conditions. Open-ended roles need judgment boundaries and good examples. + +### 5. Separate agents, skills, and workflows + +Each surface type has a different job. + +| Surface | Owns | Should emphasize | +| --- | --- | --- | +| Agent | Role ownership and judgment | Domain responsibility, allowed tools, handoff rules, stop conditions | +| Skill | How to perform a task well | Trigger, procedure, examples, verification, failure modes | +| Workflow | Repeatable process sequence | Entry criteria, ordered steps, gates, required artifacts, exit criteria | + +Do not make workflows read like role prompts. Do not make skills repeat generic agent policy. + +### 6. Examples over repeated rules + +Use short examples where behavior is ambiguous. + +Good examples include: + +- release blocker vs warning; +- bug reproduction and regression evidence; +- prototype hypothesis and success signal; +- design acceptance criteria; +- localization context notes; +- QA test matrix; +- handoff with changed files and verification. + +Examples should demonstrate the output shape and edge-case judgment. They should not be long tutorials. + +### 7. Tool use and grounding are explicit + +Prompt surfaces should tell Codex when to inspect files, run commands, or stop. + +A good surface distinguishes: + +- required context; +- optional context; +- prohibited broad scans; +- allowed write targets; +- verification commands or manual inspection alternatives; +- conditions that require asking, stopping, or handing off. + +Avoid instructions that encourage guessing. If file contents, project state, or verification evidence matter, the surface should require tool-backed grounding. + +### 8. Guardrails and handoffs are first-class + +Every nontrivial workflow should define: + +- input guardrails: required project state, target files, approvals, write scope; +- tool guardrails: allowed file areas, commands, asset classes, and forbidden operations; +- output guardrails: required sections and evidence; +- handoff rules: target role, handoff payload, and when no handoff is needed; +- traceability: files inspected, commands run, decisions made, blockers left. + +This mirrors production-agent guidance around tools, guardrails, handoffs, and tracing. + +### 9. Prefer consistency without copy-paste sameness + +A common skeleton is useful. Repeated generic content is not. + +If many surfaces share the same paragraph, move the shared rule to `AGENTS.md`, a common reference, or validation logic. Use the surface body for domain-specific judgment. + +Bad repeated text: + +```md +Inspect relevant files. Make the smallest change. Verify. Report evidence. +``` + +Better skill-specific text: + +```md +Before editing a bugfix, reproduce or identify the failing behavior. If reproduction is impossible, state the missing input and stop before speculative edits. After editing, run the narrowest regression test or explain the manual inspection substitute. +``` + +## Required structure by surface + +### Agent TOML + +Agent files should include: + +- strong `description` as discovery metadata; +- exact `model` and `model_reasoning_effort`; +- primary skills; +- allowed tool categories; +- invocation guidance; +- stop conditions; +- role-specific responsibilities; +- inputs to inspect; +- expected outputs; +- quality gates; +- handoff contract. + +Agent prompts should not include long workflow procedures. Link or rely on workflows and skills for process details. + +### Skill `SKILL.md` + +Skills should include: + +- concise frontmatter description with trigger and ownership; +- argument hint; +- model policy; +- primary agent; +- tool policy; +- source reference when adapted from upstream; +- purpose; +- when to use and when not to use; +- compact procedure; +- decision gates; +- output contract; +- verification contract; +- failure modes; +- links to examples or templates when needed. + +Keep the main file short enough that loading it is cheap. Move large examples and checklists into references. + +### Workflow Markdown + +Workflows should include: + +- model policy; +- primary agent; +- linked skills; +- phase and risk; +- argument hint; +- entry criteria; +- required inputs; +- ordered steps; +- decision gates; +- required artifacts; +- verification; +- stop conditions; +- exit criteria; +- handoff contract. + +Workflows are process contracts. They should be more procedural and less persona-like than agents. + +## Evaluation requirements + +Prompt-quality work should include at least one of these evidence types: + +- unit test for metadata, validation, or routing; +- deterministic behavioral evaluation scenario; +- prompt audit output showing improved specificity or reduced duplication; +- manual eval transcript recorded under a reference file; +- before/after failure example with expected behavior. + +Representative eval scenarios should cover: + +- correct surface selection; +- missing required context; +- role handoff boundary; +- output contract adherence; +- verification evidence; +- blocker vs risk separation; +- no generated prompt-body side effects; +- model routing by task complexity. + +## Improvement checklist + +Use this checklist for gradual upgrades. + +```text +Prompt quality pass: +- [ ] Identify the observed failure, weak behavior, or duplicated boilerplate. +- [ ] Add or update an evaluation that would catch it. +- [ ] Strengthen discovery metadata before expanding body text. +- [ ] Remove repeated generic prose or move it to shared guidance. +- [ ] Add task-specific examples where behavior is ambiguous. +- [ ] Add entry criteria, exit criteria, stop conditions, and handoff payloads where needed. +- [ ] Verify exact model routing and reasoning effort. +- [ ] Run validation and prompt-surface tests. +- [ ] Update docs or Truthmark routing if behavior-bearing surfaces changed. +``` + +## Anti-patterns validation should catch + +Validation should flag or warn on: + +- descriptions that only restate the file or role name; +- descriptions without selection triggers; +- missing `model` or non-exact model names; +- missing argument hints for user-invocable skills or workflows; +- high-risk workflows without entry criteria, stop conditions, and verification; +- skill bodies over a size threshold without references; +- near-duplicate sections across many skills; +- examples absent from ambiguous high-impact surfaces; +- workflow files that read like agent personas; +- agent files that contain long process checklists better owned by workflows; +- output contracts without evidence requirements; +- handoff language without a next-owner rule. + +## Prioritized roadmap + +### P0: Discovery metadata rewrite (implemented) + +Discovery metadata now has deterministic validation and audit coverage. Maintain descriptions and argument hints before expanding prompt bodies. + +Targets: + +- `.codex/agents/*.toml` +- `.agents/skills/*/SKILL.md` +- `.codex/workflows/*.md` + +### P1: Behavioral eval suite + +Add evals for: + +- prototype with ambiguous scope; +- bugfix with missing reproduction; +- release checklist with blocker classification; +- vertical slice with task decomposition; +- design-system update with acceptance criteria; +- localization with context and string-freeze constraints. + +### P1: Progressive disclosure split + +For the most important skills, move examples, templates, and long checklists into supporting files. + +Start with: + +- `cgs-prototype` +- `cgs-bugfix` +- `cgs-release-checklist` +- `cgs-vertical-slice` +- `cgs-design-system` +- `cgs-localize` + +### P2: Workflow contract normalization + +Normalize workflow bodies around entry criteria, ordered steps, decision gates, required artifacts, verification, exit criteria, and handoff. + +### P2: Deduplication audit + +Compute prompt similarity and flag repeated generic sections. Keep shared policy in one place; reserve prompt bodies for task-specific judgment. + +### P3: Model-specific quality checks + +Test that simple surfaces work with `gpt-5.4-mini`, moderate surfaces with `gpt-5.4`, and complex surfaces with `gpt-5.5`. + +Lower-capability or cheaper routes need more explicit compact instruction. Higher-capability routes should avoid over-explaining. + +## Definition of done + +A prompt-quality change is done when: + +- the changed surface has a clear owner and selection trigger; +- the main prompt body is concise and not mostly boilerplate; +- task-specific examples or references exist where ambiguity is common; +- entry, exit, stop, verification, and handoff rules are explicit where risk warrants them; +- at least one test, audit, or evaluation proves the improvement; +- repository validation passes; +- this document remains consistent with the implemented standard. diff --git a/docs/truthmark/engineering/codex/roles-and-workflows.md b/docs/truthmark/engineering/codex/roles-and-workflows.md index 3df219b..e0b32e8 100644 --- a/docs/truthmark/engineering/codex/roles-and-workflows.md +++ b/docs/truthmark/engineering/codex/roles-and-workflows.md @@ -30,8 +30,11 @@ It does not own init-time generation of agent, workflow, or skill instruction bo - It also covers live ops, community, localization, accessibility, security, devops, performance, networking, AI, and UI programming clusters. - Engine specialist role IDs are `godot-specialist`, `unity-specialist`, and `unreal-specialist`. - The template repository tracks custom-agent files under `.codex/agents/*.toml`. +- Agent descriptions are selection metadata that state role ownership, trigger terms, output class, and handoff boundary. - The template repository tracks workflow files under `.codex/workflows/*.md`. +- Workflow argument hints request workflow-specific objectives, targets, constraints, and verification or handoff evidence. - The template repository tracks repository skills under `.agents/skills/*/SKILL.md`. +- Skill descriptions state use triggers, outcomes, verification evidence, changed/proposed files, and handoff boundaries. - Each role package has a display name, system prompt, context strategy, responsibilities, expected inputs, and expected outputs. - Role packages may also include an output schema, quality gates, collaboration notes, stop conditions, handoff wording, and review checklist. - Shared role-contract guidance lives in reusable fragments. @@ -124,6 +127,7 @@ It does not own init-time generation of agent, workflow, or skill instruction bo - Engine reference assets carry seed-review metadata. - Workflow IDs map to `.codex/workflows/.md` files, expected context files, taxonomy categories, gap-coverage notes, and optional CLI aliases. - Repository skill IDs map to `.agents/skills//SKILL.md` template files. +- Prompt-surface discovery metadata validation rejects generic agent descriptions, generic workflow argument hints, and non-actionable skill descriptions. - The CCGS parity audit inventories reference agents, skills, workflow-catalog steps, templates, and rules into JSON and Markdown matrix reports. - The parity matrix records source hashes, CGS target paths, target hashes when a tracked target exists, decisions, score fields, rationales, owner paths, test paths, and implementation status. - The workflow catalog models phase progression, required steps, optional steps, repeatable steps, artifact checks, and next-phase links without importing Claude slash-command runtime behavior. @@ -167,6 +171,7 @@ It does not own init-time generation of agent, workflow, or skill instruction bo - Decision (2026-06-17): Reuse the built-in QA review surface for custom role review passes. - Decision (2026-06-17): Use the configured custom role prompt for custom fix passes. - Decision (2026-06-29): Treat `.codex/agents`, `.codex/workflows`, and `.agents/skills` as tracked template repository surfaces. +- Decision (2026-06-29): Validate prompt-surface discovery metadata as selection contracts before further prompt body expansion. - Decision (2026-06-29): Assemble runtime role prompt packets in memory instead of generating `.codex/prompts/**` mirrors. ## Rationale diff --git a/docs/workflow-validation.md b/docs/workflow-validation.md index 77edb77..c8d4f5c 100644 --- a/docs/workflow-validation.md +++ b/docs/workflow-validation.md @@ -2,7 +2,7 @@ Validation exits nonzero when any check fails. -Repo validation checks package scripts, build output, package assets, engine configs, expanded role rendering, canonical workflow rendering, deterministic behavioral-evaluation scenarios, templates, package packing, installed-bin asset loading, future-only CLI surfaces, and Codex CLI readiness. Tests also cover explicit task orchestration, workflow task recipes, and curated CCGS adaptation registry consistency. +Repo validation checks package scripts, build output, package assets, engine configs, expanded role rendering, canonical workflow rendering, prompt-surface discovery metadata, deterministic behavioral-evaluation scenarios, templates, package packing, installed-bin asset loading, future-only CLI surfaces, and Codex CLI readiness. Tests also cover explicit task orchestration, workflow task recipes, and curated CCGS adaptation registry consistency. Project validation checks `.codex/studio.json` full `roles`, mode-specific `activeRoles`, registry-derived `workflows`, `.codex/studio/config.json` customization packs, tracked `AGENTS.md`, `.codex/agents/*.toml`, `.codex/workflows/*.md`, `.agents/skills/*/SKILL.md`, engine source files, starter docs, timeline sections, forbidden legacy artifacts, and read-only `status`/`resume` behavior. diff --git a/openspec/changes/.gitkeep b/openspec/changes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/openspec/changes/codex-prompt-surface-uplift/.openspec.yaml b/openspec/changes/codex-prompt-surface-uplift/.openspec.yaml deleted file mode 100644 index ce68967..0000000 --- a/openspec/changes/codex-prompt-surface-uplift/.openspec.yaml +++ /dev/null @@ -1,2 +0,0 @@ -change: codex-prompt-surface-uplift -status: proposed diff --git a/openspec/changes/codex-prompt-surface-uplift/README.md b/openspec/changes/codex-prompt-surface-uplift/README.md deleted file mode 100644 index 5bafb99..0000000 --- a/openspec/changes/codex-prompt-surface-uplift/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Codex Prompt Surface Uplift - -This OpenSpec change is the canonical implementation plan for uplifting Codex Game Studio prompt surfaces. - -Artifacts: - -- `proposal.md` — problem, goals, non-goals, and impact. -- `design.md` — architecture, model routing, source adaptation, and rollout decisions. -- `specs/prompt-surface-model-routing/spec.md` — exact Codex model routing requirements. -- `specs/prompt-surface-quality/spec.md` — depth, metadata, traceability, validation, and runtime prompt requirements. -- `tasks.md` — implementation checklist. diff --git a/openspec/changes/codex-prompt-surface-uplift/design.md b/openspec/changes/codex-prompt-surface-uplift/design.md deleted file mode 100644 index 17e1718..0000000 --- a/openspec/changes/codex-prompt-surface-uplift/design.md +++ /dev/null @@ -1,108 +0,0 @@ -# Design: Codex Prompt Surface Uplift - -## Evidence Baseline - -Current local surfaces in `/opt/data/repos/open-gamestudio`: - -- `.codex/agents/*.toml`: 38 files. -- `.codex/workflows/*.md`: 31 files. -- `.agents/skills/*/SKILL.md`: 79 files. - -Reference CCGS surfaces in `/opt/data/repos/Claude-Code-Game-Studios`: - -- `.claude/agents/*.md`: 49 files. -- `.claude/skills/*/SKILL.md`: 73 files. -- Large reference examples include `ux-design` at 989 lines, `design-system` at 871 lines, `setup-engine` at 716 lines, `prototype` at 579 lines, and `game-designer` at 241 lines. - -Local gaps include `cgs-prototype` at 60 lines, `game-designer.toml` at 58 lines, and `vertical-slice.md` at 38 lines. - -## OpenAI Codex Runtime Constraints - -The implementation must follow current OpenAI Codex documentation: - -- `AGENTS.md` is discovered from repository root to current working directory. Nested instructions override earlier root guidance, and `project_doc_max_bytes` defaults to 32 KiB, so detailed procedures belong in skills/workflows rather than an oversized root file. -- Skills use progressive disclosure: Codex initially sees name, description, and path, then loads `SKILL.md` only after selecting the skill. -- Skills may include optional `agents/openai.yaml` metadata for UI/invocation policy and dependencies. -- Codex configuration supports exact `model`, `model_reasoning_effort`, and `model_verbosity` values. -- Codex CLI supports launching or switching with exact model names such as `codex --model gpt-5.5`. -- Project-local `.codex/config.toml` cannot override provider/profile/telemetry settings, so this change must not rely on project-local provider config. - -## Model Routing - -Use exact model names, not abstract tiers: - -| Task class | Model | Reasoning effort | -| --- | --- | --- | -| Complex design, architecture, production gates, ship/no-ship review | `gpt-5.5` | `high` or `xhigh` when explicitly justified | -| Moderate implementation, QA planning, technical docs, bounded workflow execution | `gpt-5.4` | `medium` | -| Simple status, help, classification, changelog formatting, checklist extraction | `gpt-5.4-mini` | `low` or `minimal` | - -Any lower-tier surface may escalate to `gpt-5.5` when it detects cross-discipline tradeoffs, conflicting source-of-truth files, release impact, irreversible writes, or high uncertainty. - -## Metadata Architecture - -Add `src/prompt-surface-metadata.ts` as the typed home for: - -- `CodexModelName = "gpt-5.5" | "gpt-5.4" | "gpt-5.4-mini"`. -- `ReasoningEffort = "minimal" | "low" | "medium" | "high" | "xhigh"`. -- `ModelPolicy` with exact model, reasoning effort, verbosity, escalation rules, and no-silent-fallback behavior. -- `ToolPolicy` using Codex-native categories rather than Claude tool names. -- `SourceTraceability` with source path, source hash, adaptation decision, and rationale. -- `SurfaceLinks` with primary agent, related skills, workflows, templates, and output artifacts. - -Validation should consume this schema for tracked TOML, Markdown frontmatter, and runtime-rendered prompts. - -## Surface Contracts - -### Agents - -Every `.codex/agents/*.toml` must declare model policy, invocation guidance, linked skills, tool policy, memory/scope policy, source traceability, and a deep `developer_instructions` body. The body should include role responsibilities, use cases, do-not-use cases, input contract, procedure, quality gates, output schema, stop conditions, and handoff format. - -### Skills - -Every `.agents/skills/*/SKILL.md` must carry frontmatter for exact model policy, invocation metadata, agent routing, tool policy, isolation, source traceability, and user-invocable status. The body should include purpose, prerequisites, argument parsing, phase-by-phase procedure, decision gates, write targets, examples, output contract, quality gates, failure modes, verification, and handoff. - -Large CCGS-derived skills must not remain short wrappers unless the adaptation rationale explains why the upstream procedure is out of scope. - -### Workflows - -Every `.codex/workflows/*.md` must include frontmatter with workflow ID, exact model policy, primary agent, linked skills, phase, risk, argument hint, and source references. The body should define prerequisites, selected context, phase gates, artifacts, acceptance criteria, and final report format. - -### Runtime Prompts - -Runtime prompts must include resolved model, reasoning effort, selected agent/skill/workflow IDs, context budget, selected files, tool/sandbox policy, stop conditions, output schema, verification contract, and handoff owner. The runner must pass the resolved model to Codex execution. - -## CCGS Adaptation Strategy - -Use CCGS as source material, not as a format to preserve. Adapt: - -- Long-form procedure. -- Domain theory and examples. -- Phase gates and stop conditions. -- Output schemas and handoff requirements. -- Tool and isolation intent. -- Agent-to-skill relationships. - -Reject or translate: - -- Claude model names. -- Claude tool names. -- Hidden hooks or lifecycle automation. -- Collaboration mechanics that conflict with the Codex runtime or this repo’s autonomy defaults. - -## Rollout Strategy - -1. Add inventory and quality scoring first. -2. Add metadata schema and model-routing validation. -3. Uplift five pilot surfaces: `cgs-prototype`, `cgs-design-system`, `cgs-vertical-slice`, `game-designer`, and `vertical-slice` workflow. -4. Wire runtime model enforcement. -5. Bulk uplift skills. -6. Bulk uplift agents and workflows. -7. Add behavior evals, docs, and Truthmark updates. - -## Risks - -- Some model names may not be available in every local Codex environment. The runner must fail clearly and support explicit user override, but must not silently substitute another model. -- Long skills can crowd context if loaded indiscriminately. The design relies on Codex skill progressive disclosure and concise descriptions. -- Bulk rewrites can regress behavior. Pilot surfaces and validation must land before bulk adaptation. -- Source traceability can become stale. Hash validation must define exactly what is hashed and when adaptation notes are required. diff --git a/openspec/changes/codex-prompt-surface-uplift/proposal.md b/openspec/changes/codex-prompt-surface-uplift/proposal.md deleted file mode 100644 index 4a0b226..0000000 --- a/openspec/changes/codex-prompt-surface-uplift/proposal.md +++ /dev/null @@ -1,32 +0,0 @@ -# Proposal: Codex Prompt Surface Uplift - -## Summary - -Upgrade all Codex Game Studio prompt surfaces so agents, skills, workflows, and runtime prompts have CCGS-level depth while remaining Codex-native. The result should be clone-visible template surfaces with explicit model routing, tool/sandbox policy, source traceability, output contracts, and validation that fails thin wrappers. - -## Problem - -The current template surfaces are structurally present but too shallow. For example, local `cgs-prototype` is about 60 lines while the CCGS reference `prototype` skill is 579 lines; local `game-designer.toml` is 58 lines while the CCGS reference agent is 241 lines. The local files often summarize intent instead of carrying the full procedure, phase gates, examples, stop conditions, and handoff details that make CCGS useful. - -The current surfaces also lack a consistent Codex-native metadata contract for exact model names, reasoning effort, linked skills, tool policy, invocation policy, source traceability, and runtime model enforcement. - -## Goals - -- Add exact Codex model routing to every agent, skill, workflow, and runtime prompt path. -- Adapt useful CCGS depth into Codex-native surfaces without preserving Claude-only model names, tool names, or hidden lifecycle assumptions. -- Make high-value skills and agents substantially deeper than today, especially where upstream CCGS has hundreds of lines of domain procedure. -- Validate prompt-surface quality, source traceability, model policy, tool policy, and link integrity. -- Ensure the runner uses the selected model in Codex execution instead of only documenting it. -- Preserve the template-repository model: prompt surfaces are tracked files after `git clone`, not generated by `init`. - -## Non-Goals - -- Do not reintroduce init-time copying or generation of `.codex/agents`, `.codex/workflows`, or `.agents/skills` bodies. -- Do not add `.claude/**` compatibility surfaces. -- Do not copy Claude-specific `sonnet`, `haiku`, `opus`, `Read`, `Write`, `Edit`, `Task`, or `AskUserQuestion` metadata as active Codex runtime metadata. -- Do not silently fall back to a different model when Codex rejects a configured model. -- Do not treat line count alone as quality; depth requirements must include procedure, gates, outputs, and stop conditions. - -## Impact - -This change touches the template prompt surface (`AGENTS.md`, `.codex/agents`, `.codex/workflows`, `.agents/skills`), TypeScript metadata/validation/runtime code, tests, docs, and Truthmark routes. It should be implemented in audit/schema/pilot/bulk phases to avoid a broad unverified content dump. diff --git a/openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-model-routing/spec.md b/openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-model-routing/spec.md deleted file mode 100644 index 31913f0..0000000 --- a/openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-model-routing/spec.md +++ /dev/null @@ -1,59 +0,0 @@ -# prompt-surface-model-routing Specification - -## ADDED Requirements - -### Requirement: Exact Codex model policy - -Every game-facing prompt surface SHALL declare an exact Codex model policy using `gpt-5.5`, `gpt-5.4`, or `gpt-5.4-mini`. - -#### Scenario: Complex design surface uses GPT 5.5 - -- **WHEN** validation inspects a complex design, architecture, production-gate, or release-gate surface -- **THEN** the surface declares `model: gpt-5.5` or `model = "gpt-5.5"` -- **AND** the surface declares `model_reasoning_effort` as `high` or an explicitly justified `xhigh`. - -#### Scenario: Moderate implementation surface uses GPT 5.4 - -- **WHEN** validation inspects a moderate implementation, QA planning, technical documentation, or bounded workflow surface -- **THEN** the surface declares `model: gpt-5.4` or `model = "gpt-5.4"` -- **AND** the surface declares `model_reasoning_effort: medium` or equivalent TOML metadata. - -#### Scenario: Simple operation surface uses GPT 5.4 Mini - -- **WHEN** validation inspects simple status, help, classification, changelog, or checklist surfaces -- **THEN** the surface declares `model: gpt-5.4-mini` or `model = "gpt-5.4-mini"` -- **AND** the surface declares `model_reasoning_effort` as `low` or `minimal`. - -### Requirement: Claude model names are invalid - -Game-facing prompt surfaces SHALL NOT use Claude model names or abstract tier names as active runtime model policy. - -#### Scenario: Claude model names fail validation - -- **WHEN** a game-facing agent, skill, workflow, or runtime policy declares `sonnet`, `haiku`, `opus`, `claude-*`, `complex`, `moderate`, or `simple` as the active model -- **THEN** validation fails with a stable diagnostic naming the file and invalid value. - -### Requirement: Runtime execution uses resolved model - -The runner SHALL pass the resolved exact model to Codex execution. - -#### Scenario: Workflow run resolves model from workflow policy - -- **WHEN** a user runs a workflow-backed task such as `vertical-slice` -- **THEN** the runtime resolves model policy from explicit override, workflow, skill, agent, then repository default in that order -- **AND** the Codex command includes the resolved exact model. - -#### Scenario: Invalid model fails without silent fallback - -- **WHEN** Codex rejects a configured model name -- **THEN** the runner reports the rejected model and source surface -- **AND** the runner does not silently retry with another model. - -### Requirement: Model policy is visible in dry runs and metadata - -Model policy SHALL be inspectable before execution. - -#### Scenario: Dry run reports selected model - -- **WHEN** a role, task, or workflow is run in dry-run or prompt-printing mode -- **THEN** output includes selected model, reasoning effort, source surface, and escalation reason when applicable. diff --git a/openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-quality/spec.md b/openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-quality/spec.md deleted file mode 100644 index 0123dcb..0000000 --- a/openspec/changes/codex-prompt-surface-uplift/specs/prompt-surface-quality/spec.md +++ /dev/null @@ -1,73 +0,0 @@ -# prompt-surface-quality Specification - -## ADDED Requirements - -### Requirement: Prompt surfaces have Codex-native metadata - -Each tracked prompt surface SHALL include metadata for invocation, source traceability, links, tool policy, model policy, and output expectations. - -#### Scenario: Agent metadata is complete - -- **WHEN** validation inspects `.codex/agents/*.toml` -- **THEN** each agent includes exact model policy, reasoning effort, display name, description, linked skills, tool policy, source reference, source hash, invocation guidance, and stop conditions. - -#### Scenario: Skill metadata is complete - -- **WHEN** validation inspects `.agents/skills/*/SKILL.md` -- **THEN** each skill frontmatter includes exact model policy, reasoning effort, argument hint when user-invocable, primary agent or routing agent, tool policy, isolation, source reference, and source hash. - -#### Scenario: Workflow metadata is complete - -- **WHEN** validation inspects `.codex/workflows/*.md` -- **THEN** each workflow includes exact model policy, primary agent, linked skills, phase, risk, argument hint, source reference, and output artifact contract. - -### Requirement: Prompt bodies contain procedure depth - -Prompt bodies SHALL include enough task procedure to be directly useful after `git clone`. - -#### Scenario: CCGS-derived large skill is not a thin wrapper - -- **GIVEN** a local skill has an upstream CCGS source over 200 lines -- **WHEN** validation scores the local skill -- **THEN** the local skill includes purpose, prerequisites, arguments, phased procedure, decision gates, output contract, quality gates, failure modes, verification, and handoff -- **AND** validation fails if the local skill is only a short summary without an explicit adaptation rationale. - -#### Scenario: Pilot prompt surfaces meet depth threshold - -- **WHEN** validation checks `cgs-prototype`, `cgs-design-system`, `cgs-vertical-slice`, `.codex/agents/game-designer.toml`, and `.codex/workflows/vertical-slice.md` -- **THEN** each pilot surface includes the required metadata and at least the required body sections for its surface type -- **AND** each pilot surface has source traceability to the CCGS reference material. - -### Requirement: CCGS content is adapted into Codex-native contracts - -The system SHALL adapt useful CCGS properties into Codex-native metadata and prose. - -#### Scenario: Claude tool names are translated - -- **WHEN** a CCGS source declares Claude tools such as `Read`, `Write`, `Edit`, `Bash`, `Task`, or `AskUserQuestion` -- **THEN** the local Codex surface uses Codex-native tool categories and sandbox/write policy language -- **AND** active runtime metadata does not contain the Claude tool names. - -#### Scenario: Agent and skill links resolve - -- **WHEN** validation inspects a skill, agent, or workflow link -- **THEN** referenced local agents, skills, workflows, templates, and artifacts exist or are marked as intentionally external with rationale. - -### Requirement: Runtime prompts carry selected surface context - -Runtime prompts SHALL expose the selected agent, skill, workflow, model policy, context contract, output contract, verification requirements, and stop conditions. - -#### Scenario: Runtime prompt includes model and output contract - -- **WHEN** a role or workflow prompt is rendered -- **THEN** the prompt includes the resolved model, reasoning effort, selected surface IDs, output schema, verification evidence requirements, and handoff owner rule. - -### Requirement: Template repository behavior is preserved - -Prompt-surface uplift SHALL NOT reintroduce init-generated prompt bodies. - -#### Scenario: Init preserves tracked surfaces - -- **WHEN** `codex-game-studio init` runs in a cloned template repository -- **THEN** it does not synthesize, overwrite, or copy `.codex/agents/*.toml`, `.codex/workflows/*.md`, or `.agents/skills/*/SKILL.md` -- **AND** validation treats those files as tracked template inputs. diff --git a/openspec/changes/codex-prompt-surface-uplift/tasks.md b/openspec/changes/codex-prompt-surface-uplift/tasks.md deleted file mode 100644 index 5da5001..0000000 --- a/openspec/changes/codex-prompt-surface-uplift/tasks.md +++ /dev/null @@ -1,115 +0,0 @@ -# Tasks: Codex Prompt Surface Uplift - -## 1. Inventory and audit - -- [x] 1.1 Create `scripts/audit-prompt-surfaces.ts` to inventory `.codex/agents`, `.codex/workflows`, `.agents/skills`, and runtime prompt owners. -- [x] 1.2 Add `tests/prompt-surface-audit.test.ts` with a failing audit fixture for line counts, hashes, metadata coverage, and upstream candidate mapping. -- [x] 1.3 Emit `references/prompt-surface-uplift-matrix.json` and `references/prompt-surface-uplift-matrix.md` with source path, source hash, local target, decision, score, status, and required tests. -- [x] 1.4 Run `npm test -- tests/prompt-surface-audit.test.ts` and inspect the generated matrix. - -## 2. CCGS source parser - -- [x] 2.1 Extend the audit script to parse CCGS `.claude/agents/*.md` frontmatter and bodies. -- [x] 2.2 Extend the audit script to parse CCGS `.claude/skills/*/SKILL.md` frontmatter and bodies. -- [x] 2.3 Capture upstream `model`, `tools`, `allowed-tools`, `disallowedTools`, `skills`, `agent`, `memory`, `isolation`, `argument-hint`, `user-invocable`, and `maxTurns`. -- [x] 2.4 Add tests for explicit decisions: `adopt`, `adapt`, `merge`, `split`, `defer`, and `out-of-scope`. - -## 3. Metadata schema - -- [x] 3.1 Create `src/prompt-surface-metadata.ts` with exact Codex model, reasoning effort, tool policy, source traceability, and link schemas. -- [x] 3.2 Add `tests/prompt-surface-metadata.test.ts` for valid `gpt-5.5`, `gpt-5.4`, and `gpt-5.4-mini` policies. -- [x] 3.3 Add tests that reject `sonnet`, `haiku`, `opus`, `claude-*`, and abstract model labels as active runtime model values. -- [x] 3.4 Add serialization helpers used by validation and runtime rendering. - -## 4. Agent model and metadata policy - -- [x] 4.1 Add complete model/source/tool/link metadata to pilot agents `game-designer`, `producer`, and `qa-playtester`. -- [x] 4.2 Extend validation to require exact model policy and source traceability for `.codex/agents/*.toml`. -- [x] 4.3 Add validation tests for missing agent model, invalid model, broken linked skill, and missing source hash. -- [x] 4.4 Roll the agent schema across all `.codex/agents/*.toml` files. - -## 5. Skill model and metadata policy - -- [x] 5.1 Add complete frontmatter to pilot skills `cgs-prototype`, `cgs-design-system`, `cgs-vertical-slice`, `cgs-help`, and `cgs-sprint-status`. -- [x] 5.2 Extend validation to require exact model policy, source traceability, agent routing, and argument hints for user-invocable skills. -- [x] 5.3 Add validation tests for skill model tier selection and Claude metadata rejection. -- [x] 5.4 Roll the policy across all `.agents/skills/*/SKILL.md` files. - -## 6. Workflow model and metadata policy - -- [x] 6.1 Add frontmatter to pilot workflows `vertical-slice`, `bugfix`, `prototype`, `ship-check`, and `architecture-review`. -- [x] 6.2 Extend validation to require model policy, primary agent, linked skills, phase, risk, argument hint, and source references for `.codex/workflows/*.md`. -- [x] 6.3 Add tests that workflow links resolve to tracked agents and skills. -- [x] 6.4 Roll the policy across all `.codex/workflows/*.md` files. - -## 7. Runtime model enforcement - -- [x] 7.1 Modify `src/runner.ts` to resolve model policy in order: explicit CLI override, workflow policy, skill policy, agent policy, repository default. -- [x] 7.2 Modify `src/codex-runtime.ts` so Codex execution receives the selected exact model. -- [x] 7.3 Modify `src/tasks.ts` so task runs record selected model, reasoning effort, and source surface. -- [x] 7.4 Add tests that `vertical-slice` uses `gpt-5.5`, `bugfix` uses `gpt-5.4`, and `help` uses `gpt-5.4-mini`. -- [x] 7.5 Add a no-silent-fallback test for rejected model names. - -## 8. Pilot content uplift - -- [x] 8.1 Deeply adapt CCGS `prototype` into `.agents/skills/cgs-prototype/SKILL.md` using Codex-native metadata and wording. -- [x] 8.2 Deeply adapt CCGS `design-system` into `.agents/skills/cgs-design-system/SKILL.md`. -- [x] 8.3 Deeply adapt CCGS `vertical-slice` into `.agents/skills/cgs-vertical-slice/SKILL.md`. -- [x] 8.4 Deeply adapt CCGS `game-designer` into `.codex/agents/game-designer.toml`. -- [x] 8.5 Deeply uplift `.codex/workflows/vertical-slice.md` with phase gates, artifacts, model policy, linked skills, and final report contract. -- [x] 8.6 Add depth tests for pilot surfaces and run `npm test -- tests/template-repository-surfaces.test.ts tests/runner.test.ts tests/validation.test.ts`. - -## 9. Bulk skill uplift - -- [x] 9.1 Group all skills by upstream source, local complexity tier, and model policy. -- [x] 9.2 Adapt every upstream-backed skill section-by-section, preserving long-form procedure where upstream content is substantial. -- [x] 9.3 Add explicit adaptation rationale for any upstream-backed skill that remains short. -- [x] 9.4 Add validation that flags suspiciously thin wrappers for upstream sources over 200 lines. - -## 10. Bulk agent uplift - -- [x] 10.1 Map every CCGS agent to a local Codex agent or an explicit defer/out-of-scope decision. -- [x] 10.2 Expand every local agent with use cases, do-not-use cases, responsibilities, procedure, output contract, stop conditions, linked skills, and handoff requirements. -- [x] 10.3 Update `src/roles.ts` so rendered runtime prompts align with tracked agent metadata. -- [x] 10.4 Run `npm test -- tests/roles.test.ts tests/template-repository-surfaces.test.ts`. - -## 11. Bulk workflow uplift - -- [x] 11.1 Add model policy, selected context, required artifacts, phase gates, and output contract to every workflow Markdown file. -- [x] 11.2 Update `src/workflows.ts` and `src/workflow-catalog.ts` so registry metadata matches tracked workflow frontmatter. -- [x] 11.3 Run `npm test -- tests/workflow-catalog.test.ts tests/workflow-recipes.test.ts`. - -## 12. Optional OpenAI skill UI metadata - -- [x] 12.1 Add `agents/openai.yaml` for selected high-value user-invocable skills: `cgs-prototype`, `cgs-vertical-slice`, `cgs-bugfix`, `cgs-release-checklist`, and `cgs-help`. -- [x] 12.2 Validate display name, short description, default prompt, invocation policy, and dependency shape. -- [x] 12.3 Add tests that optional skill metadata paths resolve and do not introduce hidden lifecycle behavior. - -## 13. Quality scoring and validation - -- [x] 13.1 Extend `src/validation.ts` with prompt-surface quality scoring for metadata, depth, procedure, context contract, output contract, gates, stop conditions, traceability, and model policy. -- [x] 13.2 Add stable diagnostic IDs for thin wrappers, missing model policy, missing traceability, Claude metadata, and broken links. -- [x] 13.3 Keep deterministic validation separate from behavioral evaluation. -- [x] 13.4 Run `npm run validate` and ensure it fails intentionally on fixture regressions and passes on the completed template. - -## 14. Behavioral evals - -- [x] 14.1 Add deterministic behavioral scenarios for design-system, prototype, vertical-slice, bugfix, and release-checklist prompts. -- [x] 14.2 Add `references/prompt-uplift-eval-protocol.md` for optional manual Codex evaluation runs. -- [x] 14.3 Ensure evals check output structures and stop conditions rather than just file length. - -## 15. Docs and Truthmark - -- [x] 15.1 Replace `docs/plans/2026-06-29-codex-prompt-surface-uplift.md` with the compact OpenSpec index. -- [x] 15.2 Update `README.md`, `docs/project-anatomy.md`, `docs/user-guide.md`, and `docs/workflow-validation.md` with exact model routing behavior. -- [x] 15.3 Update `docs/truthmark/**/*.md` source references for new metadata files, tests, and validation behavior. - -## 16. Final verification - -- [x] 16.1 Run `npm run typecheck`. -- [x] 16.2 Run `npm test`. -- [x] 16.3 Run `npm run validate`. -- [x] 16.4 Run `git diff --check`. -- [x] 16.5 Run `npx --yes truthmark check --json`. -- [x] 16.6 Run `npx --yes truthmark index --json`. -- [x] 16.7 Run `openspec validate codex-prompt-surface-uplift --strict --json` and `openspec validate --all --strict --json`. diff --git a/references/prompt-discovery-metadata-baseline.json b/references/prompt-discovery-metadata-baseline.json new file mode 100644 index 0000000..80db30e --- /dev/null +++ b/references/prompt-discovery-metadata-baseline.json @@ -0,0 +1 @@ +{"local":{"agents":38,"workflows":31,"skills":79},"upstream":{"agents":49,"skills":73},"decisionLegend":["adopt","adapt","merge","split","defer","out-of-scope"],"rows":[{"sourceType":"agent","localPath":".codex/agents/accessibility-specialist.toml","sourcePath":".claude/agents/accessibility-specialist.md","sourceHash":"82c8550000b2882a1083338fdb97f46759ca8d493845d697b7594d219f362529","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":150,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/ai-programmer.toml","sourcePath":".claude/agents/ai-programmer.md","sourceHash":"f9decba41651b4c225f1c4d4bf3f3bcf0eca088caf9cb3a0b3cb28f43e392b56","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":95,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/audio-director.toml","sourcePath":".claude/agents/audio-director.md","sourceHash":"6f40a1c899e6f2d1f348eb91af54fa3d40a29c7236469fdc59d15f0f08c0c85a","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, WebSearch","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":118,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/community-manager.toml","sourcePath":".claude/agents/community-manager.md","sourceHash":"ba552c736a42cb83f8d04d79199f29c3b8dc81914c7530e86c266ab11c034496","sourceMetadata":{"model":"haiku","tools":"Read, Glob, Grep, Write, Edit, Task","disallowedTools":"Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":80,"upstreamLineCount":157,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/creative-director.toml","sourcePath":".claude/agents/creative-director.md","sourceHash":"00b9dc2b494b5feeefa5203fdefbd9bd9a4789a23ed2d192898b5ef84036b966","sourceMetadata":{"model":"opus","tools":"Read, Glob, Grep, Write, Edit, WebSearch","disallowedTools":"Bash","skills":["brainstorm","design-review"],"memory":"user","maxTurns":"30"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":364,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/data-scientist.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/devops-engineer.toml","sourcePath":".claude/agents/devops-engineer.md","sourceHash":"36bf5a49a121bbb9a7a611408d1d208436e1c9b1395b3f2e9c2cb7d461e50171","sourceMetadata":{"model":"haiku","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":95,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/economy-designer.toml","sourcePath":".claude/agents/economy-designer.md","sourceHash":"523d9faf11dfe6581df5fa3248c4a3d43b8d284715502c868cb8e796fd55eae0","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":143,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/engine-programmer.toml","sourcePath":".claude/agents/engine-programmer.md","sourceHash":"322b59a3167298297657c846272567ef0d6994144649da626a6a7cc651d95c46","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":103,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/game-designer.toml","sourcePath":".claude/agents/game-designer.md","sourceHash":"a1b4fb4f1466b69140a23f8e12d3a5eba624d2a6318da32e2b755e471d41584f","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, WebSearch","disallowedTools":"Bash","skills":["design-review","balance-check","brainstorm"],"memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":241,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/game-feel-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/gameplay-programmer.toml","sourcePath":".claude/agents/gameplay-programmer.md","sourceHash":"287ac70fb839e40b0e392e47e6e23ddd90851103d41c0a82df7f56e0e168834e","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":94,"upstreamLineCount":133,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/godot-specialist.toml","sourcePath":".claude/agents/godot-specialist.md","sourceHash":"3156133f9bff9463a12cb48e6337f49a3ab39359550c18eabac4ac70b84b6e37","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":193,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/level-designer.toml","sourcePath":".claude/agents/level-designer.md","sourceHash":"6121007acde96a808235c4290669bb5de11f1874cd1da6c9d4f0c8c7fad7ef61","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":115,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/live-ops-designer.toml","sourcePath":".claude/agents/live-ops-designer.md","sourceHash":"19fead72a61b75adceaf03763416ab3f4f0c88d8545bc2a844ae2e03d0e62f04","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Task","disallowedTools":"Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":184,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/localization-lead.toml","sourcePath":".claude/agents/localization-lead.md","sourceHash":"96991fd33e46cc60179d1abca967ac56f6e809908a8a5fdd71aafa1be3571704","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":190,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/market-analyst.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/narrative-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":89,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/network-programmer.toml","sourcePath":".claude/agents/network-programmer.md","sourceHash":"b3f107bb01b24475f93aebb6af1735fd90dd73afe070bae667cd9475b2e616e1","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":98,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/performance-analyst.toml","sourcePath":".claude/agents/performance-analyst.md","sourceHash":"c155149e303e200a00074721cd3d9bf5b92d080871ab6298670954aec5705468","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":112,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/producer.toml","sourcePath":".claude/agents/producer.md","sourceHash":"05f8bf426001cbd07ca9ca40dde0348139e208f97af7d87abcfecf8ca84c3257","sourceMetadata":{"model":"opus","tools":"Read, Glob, Grep, Write, Edit, Bash, WebSearch","skills":["sprint-plan","scope-check","estimate","milestone-review"],"memory":"user","maxTurns":"30"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":93,"upstreamLineCount":168,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/qa-playtester.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":95,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/release-manager.toml","sourcePath":".claude/agents/release-manager.md","sourceHash":"75df18172fcb905c544972edcfe43589093f02f6abf41d388f952c1eadbe11bd","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","skills":["release-checklist","changelog","patch-notes"],"maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":93,"upstreamLineCount":180,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/security-engineer.toml","sourcePath":".claude/agents/security-engineer.md","sourceHash":"73bf76067ec312fa592d9c81b26c4a7b64f8831a50404244a1ec398a77091c7e","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":126,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/senior-game-artist.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/senior-game-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/sound-designer.toml","sourcePath":".claude/agents/sound-designer.md","sourceHash":"4ebaef7c7069a5dd5a68ed12ca251035f0f9b2852fd29b9eca3ea2c5a4fdf088","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":80,"upstreamLineCount":85,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/studio-orchestrator.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/systems-designer.toml","sourcePath":".claude/agents/systems-designer.md","sourceHash":"b12973f4dce65c5add8e31fc570c4ece2b6f9855d2c89ce1645c0901a14adc17","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":157,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/technical-artist.toml","sourcePath":".claude/agents/technical-artist.md","sourceHash":"30feb7cd99da83ef1b1350b109535085239eb5b2d210eeb22faa8e54633ba77d","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":108,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/technical-director.toml","sourcePath":".claude/agents/technical-director.md","sourceHash":"fe98888f29067eb81ef4dd29d93c3498048628f4bcf6404a1c594f8a6343f9b2","sourceMetadata":{"model":"opus","tools":"Read, Glob, Grep, Write, Edit, Bash, WebSearch","memory":"user","maxTurns":"30"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":159,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/tools-programmer.toml","sourcePath":".claude/agents/tools-programmer.md","sourceHash":"1304ed30dc06506f043cbe6df33617a483988a1f73aedec1f9867bbc5de7d20b","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":101,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/ui-programmer.toml","sourcePath":".claude/agents/ui-programmer.md","sourceHash":"6cd29c2088724918b2680d3cc35c379276b7af11d6aa10ac990172280b1d5f48","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":102,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/ui-ux-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/unity-specialist.toml","sourcePath":".claude/agents/unity-specialist.md","sourceHash":"81777b58e3a30f4a131025e01af6ac8fb42065214df6271e59df1aa11e5374e4","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":184,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/unreal-specialist.toml","sourcePath":".claude/agents/unreal-specialist.md","sourceHash":"03794a0b048f1df4cd882ae73a964cd5368c629e00320e36051bc3d025a65c15","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":172,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/world-builder.toml","sourcePath":".claude/agents/world-builder.md","sourceHash":"9e3399c5478ea2491bfc8e42745948b7aec4c2045ecd008a318d4f72a8fad2ea","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":111,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"agent","localPath":".codex/agents/writer.toml","sourcePath":".claude/agents/writer.md","sourceHash":"8eafe2f3cd7f2c12acc0d8f93ed93bf638a915490ed5ca5a11721f1bf60f49d7","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":80,"upstreamLineCount":104,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true}},{"sourceType":"workflow","localPath":".codex/workflows/analytics-setup.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/architecture-decision.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/architecture-review.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/art-direction.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/brainstorm.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/bugfix.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/create-epics.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":85,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/create-stories.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/design-spec.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/game-feel-tuning.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/handoff.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/hotfix.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/localization-plan.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/market-analysis.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/onboard.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":86,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/perf-profile.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/playtest.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/production-milestone.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/prototype.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/qa-plan.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/regression-suite.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/release-checklist.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/review.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/security-audit.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/ship-check.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/sprint-plan.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/sprint-status.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/story-done.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/story-readiness.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/ui-ux-review.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"workflow","localPath":".codex/workflows/vertical-slice.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true}},{"sourceType":"skill","localPath":".agents/skills/cgs-adopt/SKILL.md","sourcePath":".claude/skills/adopt/SKILL.md","sourceHash":"58959c4f76c05fbe3fd60b7a7d2c4ba5bf861fce28c0da49a498a81656b6a05e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","agent":"technical-director","argument-hint":"[focus: full | gdds | adrs | stories | infra]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":443,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-architecture-decision/SKILL.md","sourcePath":".claude/skills/architecture-decision/SKILL.md","sourceHash":"94a2299ae4ff370062e15d37680abdb13c1fc2dc05b916dcb65f46088d12b854","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[title] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":456,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-architecture-review/SKILL.md","sourcePath":".claude/skills/architecture-review/SKILL.md","sourceHash":"11fd3ee30b6c66a2745d1fdaaca3c61c440d4a1181f3667785414351a6e06311","sourceMetadata":{"model":"opus","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"technical-director","argument-hint":"[focus: full | coverage | consistency | engine | single-gdd path/to/gdd.md]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":665,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-art-bible/SKILL.md","sourcePath":".claude/skills/art-bible/SKILL.md","sourceHash":"19daa484f6f6621221818e224c899ebc02c978a919a247c367f676d515e64cad","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":249,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-asset-audit/SKILL.md","sourcePath":".claude/skills/asset-audit/SKILL.md","sourceHash":"d499694d99c8b9341c1ca7a5f6bcc50fefebd8b6cbec7f132ec2f4fd678c1725","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep","argument-hint":"[category|all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":95,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-asset-spec/SKILL.md","sourcePath":".claude/skills/asset-spec/SKILL.md","sourceHash":"3a53c309c5e8abff8d8ab73c1217aa8fab47274abfa66836e401de83847f04e4","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[system: | level: | character:] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":352,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-balance-check/SKILL.md","sourcePath":".claude/skills/balance-check/SKILL.md","sourceHash":"c668fe38534a60c5ec3b86130461bf370c49593c82e93fecc4987571a7ef1bba","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","agent":"economy-designer","argument-hint":"[system-name|path-to-data-file]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":123,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-brainstorm/SKILL.md","sourcePath":".claude/skills/brainstorm/SKILL.md","sourceHash":"3afbcc808948bd507486d2d84787236cbac516b67d207b6b4737ab0d7f2cd9ad","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, WebSearch, Task, AskUserQuestion","argument-hint":"[genre or theme hint, or 'open'] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":359,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-bug-report/SKILL.md","sourcePath":".claude/skills/bug-report/SKILL.md","sourceHash":"2960da7266e446de232a7f46229a9908825b188db4a28d834f030690d646575e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[description] | analyze [path-to-file]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":164,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-bug-triage/SKILL.md","sourcePath":".claude/skills/bug-triage/SKILL.md","sourceHash":"cdafaffc22abe4f6ee9dc7d93b34222547dd3281c25e60de80d1876517a395d2","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit","argument-hint":"[sprint | full | trend]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":244,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-bugfix/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-changelog/SKILL.md","sourcePath":".claude/skills/changelog/SKILL.md","sourceHash":"305d9f720a28c8ff3bfc5badd0732a731f10bb81d81c63c61655018dd2c7dc5b","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Bash, Write","argument-hint":"[version|sprint-number]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":177,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-code-review/SKILL.md","sourcePath":".claude/skills/code-review/SKILL.md","sourceHash":"e0abfa89a0a22bb3cfb9042941efc8f7ffb2a73b4f92884ef8eaba670366ca53","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Task, AskUserQuestion","agent":"lead-programmer","argument-hint":"[path-to-file-or-directory]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":185,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-consistency-check/SKILL.md","sourcePath":".claude/skills/consistency-check/SKILL.md","sourceHash":"a6a87d4512c9bc3c0dd03b5551f438770259345c8802ec6247f7455e85a20e77","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, AskUserQuestion","argument-hint":"[full | since-last-review | entity: | item:]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":308,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-content-audit/SKILL.md","sourcePath":".claude/skills/content-audit/SKILL.md","sourceHash":"6e17272fe8854e93936f55076d88435f3af2226d4e05d0b8b5f987296f00d8ab","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","agent":"producer","argument-hint":"[system-name | --summary | (no arg = full audit)]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":205,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-architecture/SKILL.md","sourcePath":".claude/skills/create-architecture/SKILL.md","sourceHash":"8a6320b33b3132e7f98e634156c5017a8406303b0eccbaa973cdb4d9ee10e1af","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, AskUserQuestion, Task","agent":"technical-director","argument-hint":"[focus-area: full | layers | data-flow | api-boundaries | adr-audit] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":468,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-control-manifest/SKILL.md","sourcePath":".claude/skills/create-control-manifest/SKILL.md","sourceHash":"2dd8d29c013944aed8cd05fcfbe21dc77ef8ff9c98f5155f46cee29ab3284348","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task","agent":"technical-director","argument-hint":"[update — regenerate from current ADRs]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":288,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-epics/SKILL.md","sourcePath":".claude/skills/create-epics/SKILL.md","sourceHash":"5a761ad272143ddf694cd29068bf11efba18cd24ef4e23c48c79326d0d67a259","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"technical-director","argument-hint":"[system-name | layer: foundation|core|feature|presentation | all] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":245,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-stories/SKILL.md","sourcePath":".claude/skills/create-stories/SKILL.md","sourceHash":"f1517b9f5a90317f93149c9915ade684dbf75ab8b00c1ea9bdeaa6f921756b56","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"lead-programmer","argument-hint":"[epic-slug | epic-path] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":333,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-day-one-patch/SKILL.md","sourcePath":".claude/skills/day-one-patch/SKILL.md","sourceHash":"eb48e1eb8a578056ff31f6ee2b6a2d61fb02d65a0af3441a9922002b7583aab0","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","argument-hint":"[scope: known-bugs | cert-feedback | all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":226,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-design-review/SKILL.md","sourcePath":".claude/skills/design-review/SKILL.md","sourceHash":"3f9119c2ecc3f1b8a07484f0df9e3547bb006df349d9a73c97e8a95799aadfa9","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[path-to-design-doc] [--depth full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":268,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-design-system/SKILL.md","sourcePath":".claude/skills/design-system/SKILL.md","sourceHash":"eae2be7d9ae520112020420293d83fdeeebf52d3476ce5c8ffecf87aaec4e696","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion, TodoWrite","argument-hint":" [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":871,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-dev-story/SKILL.md","sourcePath":".claude/skills/dev-story/SKILL.md","sourceHash":"ddada36350af8d121b63159e79eb72e3d5a1482b74e88f547f556ca92efd2b04","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, Task, AskUserQuestion","argument-hint":"[story-path]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":325,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-estimate/SKILL.md","sourcePath":".claude/skills/estimate/SKILL.md","sourceHash":"7774e2d256a054a215cf62cc81d4d79f4d18e2154203671a39f643c0881be5fd","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep","argument-hint":"[task-description]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":132,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-gate-check/SKILL.md","sourcePath":".claude/skills/gate-check/SKILL.md","sourceHash":"3ae463120765909eedb2d04f592191bf90afda4795ae88522d314e1833773da7","sourceMetadata":{"model":"opus","allowed-tools":"Read, Glob, Grep, Bash, Write, Task, AskUserQuestion","argument-hint":"[target-phase: systems-design | technical-setup | pre-production | production | polish | release] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":542,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-help/SKILL.md","sourcePath":".claude/skills/help/SKILL.md","sourceHash":"9519e9b275a58b3d45391f1fc47e6f8ac1a469e468959cccf6f37bd13e71ee04","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep","argument-hint":"[optional: what you just finished, e.g. 'finished design-review' or 'stuck on ADRs']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":228,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-hotfix/SKILL.md","sourcePath":".claude/skills/hotfix/SKILL.md","sourceHash":"6d99a79bce373cd9f8fe02b1db2933c9121ac0a79c778d588dd03b5f337c4bf9","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","argument-hint":"[bug-id or description]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":180,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-launch-checklist/SKILL.md","sourcePath":".claude/skills/launch-checklist/SKILL.md","sourceHash":"867e94f20e9b5da3855a37b032bd01801cdceed899eb95ecea7588abed5b188c","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[launch-date or 'dry-run']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":240,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-localize/SKILL.md","sourcePath":".claude/skills/localize/SKILL.md","sourceHash":"781f60f1c4259cfb3ceac0316a792a6d55659aaf20981f1c6e6a3d1dfacae83c","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, Task, AskUserQuestion","agent":"localization-lead","argument-hint":"[scan|extract|validate|status|brief|cultural-review|vo-pipeline|rtl-check|freeze|qa]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":441,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-map-systems/SKILL.md","sourcePath":".claude/skills/map-systems/SKILL.md","sourceHash":"a46393797f5227603d87722d8c546d61c8944182db28e00207dc5ad318aa577e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion, TodoWrite, Task","argument-hint":"[next | system-name] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":364,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-milestone-review/SKILL.md","sourcePath":".claude/skills/milestone-review/SKILL.md","sourceHash":"736a1cffb028b96b890fd0b6b469dcdd5f948a907d5a7f0e157ccca92ac8adc7","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","argument-hint":"[milestone-name|current] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":156,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-onboard/SKILL.md","sourcePath":".claude/skills/onboard/SKILL.md","sourceHash":"fbf7f691226e4c5fccbfa40423d61d123f3e0088d36b719663cca40e96a5d6d7","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[role|area]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":96,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-patch-notes/SKILL.md","sourcePath":".claude/skills/patch-notes/SKILL.md","sourceHash":"ffb34d12e0d3fe21d31e6406a77b6db77b16a8185358ee8183b08de584498d30","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Write, Bash","agent":"community-manager","argument-hint":"[version] [--style brief|detailed|full]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":186,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-perf-profile/SKILL.md","sourcePath":".claude/skills/perf-profile/SKILL.md","sourceHash":"376f4f24dff70ec9e4a4883ec3352e0008c6c10c3f3660e0a4946b4b48ef7aa7","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash","agent":"performance-analyst","argument-hint":"[system-name or 'full']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":126,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-playtest-report/SKILL.md","sourcePath":".claude/skills/playtest-report/SKILL.md","sourceHash":"708a99ffe0990079bfe7b34c49a641e6131c32173c966f7c51e588def5e75548","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","argument-hint":"[new|analyze path-to-notes] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":147,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-project-stage-detect/SKILL.md","sourcePath":".claude/skills/project-stage-detect/SKILL.md","sourceHash":"dffa5112b8d3c4ef53bc3ee6bede90d0f3f4b938ad3a00238f1209f0fa0e7e19","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Bash, Write","argument-hint":"[optional: role filter like 'programmer' or 'designer']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":195,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-propagate-design-change/SKILL.md","sourcePath":".claude/skills/propagate-design-change/SKILL.md","sourceHash":"eba7901d3875f81946ab8803f458d142427102c438296fae83e3f4c4101115ed","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, Task","agent":"technical-director","argument-hint":"[path/to/changed-gdd.md]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":239,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-prototype/SKILL.md","sourcePath":".claude/skills/prototype/SKILL.md","sourceHash":"d9475f988c6ec1bb676ab5d8149ef7b7321e63a6b4eb7f7194cfd598be1255de","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","agent":"prototyper","isolation":"worktree","argument-hint":"[concept-description] [--path html|engine|paper] [--review full|lean|solo] [--spike]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":579,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-qa-plan/SKILL.md","sourcePath":".claude/skills/qa-plan/SKILL.md","sourceHash":"f4e9823754aaad75ff87fe700a826c0953ce9ddf853130e2d6cdf3ba2d3622ba","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","agent":"qa-lead","argument-hint":"[sprint | feature: system-name | story: path]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":278,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-quick-design/SKILL.md","sourcePath":".claude/skills/quick-design/SKILL.md","sourceHash":"e1274daaef2d2f925bc98944013e9ec31c25e4ad0906345fda744a7a59271d7a","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion","argument-hint":"[brief description of the change]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":295,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-regression-suite/SKILL.md","sourcePath":".claude/skills/regression-suite/SKILL.md","sourceHash":"8f073b6b576c88fba6129efd57f4c71f04c97563f3c5a532c0ae28d2a5c0f0fc","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion","argument-hint":"[update | audit | report]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":256,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-release-checklist/SKILL.md","sourcePath":".claude/skills/release-checklist/SKILL.md","sourceHash":"a4c4294234e7ba6ba51718ba6a0996c68dd1e4f9cefc30286936878a827bc86a","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[platform: pc|console|mobile|all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":182,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-retrospective/SKILL.md","sourcePath":".claude/skills/retrospective/SKILL.md","sourceHash":"60f9525887c94e4cf8239de3a2078389e6d6b19dd9f10705772490650c11ffda","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, AskUserQuestion","argument-hint":"[sprint-N|milestone-name]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":221,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-reverse-document/SKILL.md","sourcePath":".claude/skills/reverse-document/SKILL.md","sourceHash":"71d5beda61de4815f52bb63b38780f55f890db6dd8c5d22842b1b179fb393876","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash","argument-hint":" (e.g., 'design src/gameplay/combat' or 'architecture src/core')","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":263,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-review-all-gdds/SKILL.md","sourcePath":".claude/skills/review-all-gdds/SKILL.md","sourceHash":"016dce629603f89c923cf6ca5b7f4cae4d4e5920c04ced00b7d3bb206a531a2d","sourceMetadata":{"model":"opus","allowed-tools":"Read, Glob, Grep, Write, Bash, AskUserQuestion, Task","argument-hint":"[focus: full | consistency | design-theory | since-last-review]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":639,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-scope-check/SKILL.md","sourcePath":".claude/skills/scope-check/SKILL.md","sourceHash":"f91150df11aadf32cfa64a1476c608396e12eeeba9aca03836c52299f3a0efa0","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Bash","argument-hint":"[feature-name or sprint-N]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":128,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-security-audit/SKILL.md","sourcePath":".claude/skills/security-audit/SKILL.md","sourceHash":"b3d04c89f1841ef93bedce57a8bb43d858ca96a92aac8b8182e9d54fe1d319f4","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write, Task","agent":"security-engineer","argument-hint":"[full | network | save | input | quick]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":245,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-setup-engine/SKILL.md","sourcePath":".claude/skills/setup-engine/SKILL.md","sourceHash":"7f4bc9868ca4d78ca969174c56b8c719215d68c6f32f0df5be5194e8eb2e2eea","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, WebSearch, WebFetch, Task, AskUserQuestion","argument-hint":"[engine] | [engine version] | refresh | upgrade [old-version] [new-version] | no args for guided selection","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":716,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-skill-improve/SKILL.md","sourcePath":".claude/skills/skill-improve/SKILL.md","sourceHash":"24efa8aa68ab240c1d9b1366275490ec9cce4034e1bbe34f214b830bda15617b","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash","argument-hint":"[skill-name]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":145,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-skill-test/SKILL.md","sourcePath":".claude/skills/skill-test/SKILL.md","sourceHash":"24d09805593a811cc10b46d40a45eb1e36b040cfdc4e7a2ae3e36ffa51bd4cf9","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"static [skill-name | all] | spec [skill-name] | category [skill-name | all] | audit","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":357,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-smoke-check/SKILL.md","sourcePath":".claude/skills/smoke-check/SKILL.md","sourceHash":"98521191c6dd949bce2df9d4f8d4abeebbc0adf36b665e7a99d7645dc9ed42e3","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write, AskUserQuestion","argument-hint":"[sprint | quick | --platform pc|console|mobile|all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":422,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-soak-test/SKILL.md","sourcePath":".claude/skills/soak-test/SKILL.md","sourceHash":"9f090f0e39575265a9e8e5e042dd81af81191e346ed3a92983a8d1d1a5ba6bc1","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[duration: 30m | 1h | 2h | 4h] [focus: memory | stability | balance | all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":284,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-sprint-plan/SKILL.md","sourcePath":".claude/skills/sprint-plan/SKILL.md","sourceHash":"d402a9f276f81663c8b07f6c4fd2b19a3fa9d4ee9411e3d57e6868daa095ee42","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[new|update|status] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":281,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-sprint-status/SKILL.md","sourcePath":".claude/skills/sprint-status/SKILL.md","sourceHash":"58b80b7ee9a31eb4798f0700b4054fd705b1d6642eb63cead4166d3ffbe6f138","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep","argument-hint":"[sprint-number or blank for current]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":208,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-gameplay/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-prototype/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-tests/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-ui/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-start/SKILL.md","sourcePath":".claude/skills/start/SKILL.md","sourceHash":"31e7a2cee0568de6e443fd3428fea36f6583478f6db25cac3fa18604c510af9f","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","argument-hint":"[no arguments]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":245,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-story-done/SKILL.md","sourcePath":".claude/skills/story-done/SKILL.md","sourceHash":"a9215959142b6417223ff818f99f2f33b10d401bb9ff446f622ec8573433b261","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write, Edit, AskUserQuestion, Task","argument-hint":"[story-file-path] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":459,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-story-readiness/SKILL.md","sourcePath":".claude/skills/story-readiness/SKILL.md","sourceHash":"f1fc25f80f811fd38c53144c305706488c031974a5f0925cdf18986467de90eb","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, AskUserQuestion, Task","argument-hint":"[story-file-path or 'all' or 'sprint']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":355,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-audio/SKILL.md","sourcePath":".claude/skills/team-audio/SKILL.md","sourceHash":"6dd03358962dbef74b6c67e7d34383e0721571a534b75f1ba562f39e92287416","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[feature or area to design audio for] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":145,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-combat/SKILL.md","sourcePath":".claude/skills/team-combat/SKILL.md","sourceHash":"8a3de29e9ac63a38d025ac5451c0c93626f651741e1002f159b9983f4a31af05","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[combat feature description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":143,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-level/SKILL.md","sourcePath":".claude/skills/team-level/SKILL.md","sourceHash":"2035d20d9393f6e703e04074ded2145688a8e2e4a2191f5a75866a4fb97100bd","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[level name or area to design] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":194,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-live-ops/SKILL.md","sourcePath":".claude/skills/team-live-ops/SKILL.md","sourceHash":"214cc07ec8e83074d9ca16236ab867cd552e2de481aca7d225c06013b057dd90","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[season name or event description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":159,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-narrative/SKILL.md","sourcePath":".claude/skills/team-narrative/SKILL.md","sourceHash":"9959626482ed8607f8a93a7fcf2c3d03546621592784d56a22b70cfe387ca0d4","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion, TodoWrite","argument-hint":"[narrative content description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":126,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-polish/SKILL.md","sourcePath":".claude/skills/team-polish/SKILL.md","sourceHash":"fb4d48c5bd8f2563d6f999bea940929a20b8c52ed797b306a999e2b4d5596d26","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[feature or area to polish] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":140,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-qa/SKILL.md","sourcePath":".claude/skills/team-qa/SKILL.md","sourceHash":"1d67b5e45ae41e20c0c4ecaa3e89441c2493327b737fb369d3c6b66a369b1bd3","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"qa-lead","argument-hint":"[sprint | feature: system-name] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":244,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-release/SKILL.md","sourcePath":".claude/skills/team-release/SKILL.md","sourceHash":"9cb0f1c15b4af864f57717de9f3ef4ad516370d6abf1d0047e0b7ed10d496b69","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[version number or 'next'] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":168,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-ui/SKILL.md","sourcePath":".claude/skills/team-ui/SKILL.md","sourceHash":"d8aa30cbc82c40f3ec53ebceaf229243cac1bc14126ea56f5bfcf57b3c81d0bf","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[UI feature description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":186,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-tech-debt/SKILL.md","sourcePath":".claude/skills/tech-debt/SKILL.md","sourceHash":"bebf9faf308eb8ac4dbd70e907e2ae64daff51d86bf16353f5997543c318c6c8","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","argument-hint":"[scan|add|prioritize|report]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":140,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-evidence-review/SKILL.md","sourcePath":".claude/skills/test-evidence-review/SKILL.md","sourceHash":"04cdf0b7e94ab2dab58850bf1a70a2a6f33810ea7abb6102eaec8f2d00b9026e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[story-path | sprint | system-name]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":251,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-flakiness/SKILL.md","sourcePath":".claude/skills/test-flakiness/SKILL.md","sourceHash":"3849299d9c0b667a2974157a2ce692892bcef475b87e0c20ad029b22f335b805","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash","argument-hint":"[ci-log-path | scan | registry]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":211,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-helpers/SKILL.md","sourcePath":".claude/skills/test-helpers/SKILL.md","sourceHash":"98494481c7fe0b69611243f9174a1a860622e2b5488499c953a2e539001e3438","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[system-name | all | scaffold]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":395,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-setup/SKILL.md","sourcePath":".claude/skills/test-setup/SKILL.md","sourceHash":"bf3477f58af77fdeabed42e9c15f1b7bd41d6837c1ddff0450922cee694c628d","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write","argument-hint":"[force]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":426,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-ui-ux-review/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-ux-design/SKILL.md","sourcePath":".claude/skills/ux-design/SKILL.md","sourceHash":"2d37d14b653594c0c7aa346ff8d7cc129269cda8f42fe741f6d296d6345f9845","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion, Task","agent":"ux-designer","argument-hint":"[screen/flow name] or 'hud' or 'patterns'","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":989,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-ux-review/SKILL.md","sourcePath":".claude/skills/ux-review/SKILL.md","sourceHash":"1dd5a719efd1ad5c2d831c046f9e257e9c7cff067cc9d1a99e67181e1b0f4bc0","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep","agent":"ux-designer","argument-hint":"[file-path or 'all' or 'hud' or 'patterns']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":263,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}},{"sourceType":"skill","localPath":".agents/skills/cgs-vertical-slice/SKILL.md","sourcePath":".claude/skills/vertical-slice/SKILL.md","sourceHash":"a555d5a79fceee22229b5587778ccae3f2c17514c92ffa62b708db613c574f9a","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","agent":"prototyper","isolation":"worktree","argument-hint":"[--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":123,"upstreamLineCount":359,"depthScore":100,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false}}]} diff --git a/references/prompt-discovery-metadata-report.json b/references/prompt-discovery-metadata-report.json new file mode 100644 index 0000000..a345ec7 --- /dev/null +++ b/references/prompt-discovery-metadata-report.json @@ -0,0 +1 @@ +{"local":{"agents":38,"workflows":31,"skills":79},"upstream":{"agents":49,"skills":73},"decisionLegend":["adopt","adapt","merge","split","defer","out-of-scope"],"rows":[{"sourceType":"agent","localPath":".codex/agents/accessibility-specialist.toml","sourcePath":".claude/agents/accessibility-specialist.md","sourceHash":"82c8550000b2882a1083338fdb97f46759ca8d493845d697b7594d219f362529","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":150,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns accessibility specialist work: Review accessibility for controls, visual/audio feedback, readability, cognitive load, difficulty options, platform conventions, and testable accommodations. Produces Accessibility review, Accommodation checklist, Inclusive design risks; hand off requests outside accessibility specialist ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/ai-programmer.toml","sourcePath":".claude/agents/ai-programmer.md","sourceHash":"f9decba41651b4c225f1c4d4bf3f3bcf0eca088caf9cb3a0b3cb28f43e392b56","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":95,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns ai programmer work: Implement game AI behavior, decision logic, navigation, perception, tuning hooks, debug visibility, and deterministic verification for NPC or systemic agents. Produces AI implementation, Behavior tuning notes, Debug and test evidence; hand off requests outside ai programmer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/audio-director.toml","sourcePath":".claude/agents/audio-director.md","sourceHash":"6f40a1c899e6f2d1f348eb91af54fa3d40a29c7236469fdc59d15f0f08c0c85a","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, WebSearch","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":118,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns audio director work: Define audio pillars, music direction, soundscape priorities, implementation constraints, mix goals, and cross-discipline audio production handoffs. Produces Audio direction, Soundscape priorities, Implementation constraints; hand off requests outside audio director ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/community-manager.toml","sourcePath":".claude/agents/community-manager.md","sourceHash":"ba552c736a42cb83f8d04d79199f29c3b8dc81914c7530e86c266ab11c034496","sourceMetadata":{"model":"haiku","tools":"Read, Glob, Grep, Write, Edit, Task","disallowedTools":"Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":80,"upstreamLineCount":157,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns community manager work: Plan player communication, feedback triage, community launch beats, moderation risks, sentiment signals, and actionable handoffs to production roles. Produces Community plan, Feedback triage notes, Messaging risks; hand off requests outside community manager ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/creative-director.toml","sourcePath":".claude/agents/creative-director.md","sourceHash":"00b9dc2b494b5feeefa5203fdefbd9bd9a4789a23ed2d192898b5ef84036b966","sourceMetadata":{"model":"opus","tools":"Read, Glob, Grep, Write, Edit, WebSearch","disallowedTools":"Bash","skills":["brainstorm","design-review"],"memory":"user","maxTurns":"30"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":364,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns creative director work: Set creative pillars, protect player fantasy, align experience goals across disciplines, and keep scope coherent for Codex-executed game work. Produces Creative direction, Scope decisions, Experience pillars; hand off requests outside creative director ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/data-scientist.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns data scientist work: Define analytics events, success metrics, experiment plans, dashboards, and evidence loops that support design and production decisions. Produces Analytics plan, Event taxonomy, Experiment outline; hand off requests outside data scientist ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/devops-engineer.toml","sourcePath":".claude/agents/devops-engineer.md","sourceHash":"36bf5a49a121bbb9a7a611408d1d208436e1c9b1395b3f2e9c2cb7d461e50171","sourceMetadata":{"model":"haiku","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":95,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns devops engineer work: Design build, packaging, CI, release automation, environment setup, cache strategy, and reproducible validation flows for game projects. Produces Build automation, CI or packaging notes, Reproducibility checks; hand off requests outside devops engineer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/economy-designer.toml","sourcePath":".claude/agents/economy-designer.md","sourceHash":"523d9faf11dfe6581df5fa3248c4a3d43b8d284715502c868cb8e796fd55eae0","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":143,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns economy designer work: Model currencies, rewards, sinks, pacing, pricing, progression pressure, and fairness risks for game economies without adding hidden monetization assumptions. Produces Economy model, Reward and sink table, Balance risks; hand off requests outside economy designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/engine-programmer.toml","sourcePath":".claude/agents/engine-programmer.md","sourceHash":"322b59a3167298297657c846272567ef0d6994144649da626a6a7cc651d95c46","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":103,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns engine programmer work: Work on engine integration, performance-sensitive systems, build setup, runtime foundations, and platform constraints. Produces Technical implementation, Performance notes, Build impact; hand off requests outside engine programmer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/game-designer.toml","sourcePath":".claude/agents/game-designer.md","sourceHash":"a1b4fb4f1466b69140a23f8e12d3a5eba624d2a6318da32e2b755e471d41584f","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, WebSearch","disallowedTools":"Bash","skills":["design-review","balance-check","brainstorm"],"memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":241,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns game designer work: Design implementation-level mechanics, feature rules, tuning values, edge cases, and player-facing acceptance criteria with practical scope. Produces Feature spec, Tuning notes, Acceptance criteria; hand off requests outside game designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/game-feel-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns game feel designer work: Tune controls, feedback, pacing, animation timing, juice, camera response, and moment-to-moment player feel with actionable changes. Produces Feel review, Tuning recommendations, Feedback checklist; hand off requests outside game feel designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/gameplay-programmer.toml","sourcePath":".claude/agents/gameplay-programmer.md","sourceHash":"287ac70fb839e40b0e392e47e6e23ddd90851103d41c0a82df7f56e0e168834e","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":94,"upstreamLineCount":133,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns gameplay programmer work: Implement gameplay systems with focused file edits, engine-native idioms, deterministic behavior, and verification evidence. Produces Code changes, Verification results, Implementation notes; hand off requests outside gameplay programmer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/godot-specialist.toml","sourcePath":".claude/agents/godot-specialist.md","sourceHash":"3156133f9bff9463a12cb48e6337f49a3ab39359550c18eabac4ac70b84b6e37","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":193,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns godot specialist work: Apply Godot-specific implementation and review guidance using only the active project's Godot reference pack and project files. Produces Godot guidance, Engine-specific risks, Verification notes; hand off requests outside godot specialist ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/level-designer.toml","sourcePath":".claude/agents/level-designer.md","sourceHash":"6121007acde96a808235c4290669bb5de11f1874cd1da6c9d4f0c8c7fad7ef61","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":115,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns level designer work: Design levels, encounter spaces, navigation beats, pacing, objective flow, metrics, blockout notes, and testable acceptance criteria for playable content. Produces Level brief, Blockout notes, Playtest criteria; hand off requests outside level designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/live-ops-designer.toml","sourcePath":".claude/agents/live-ops-designer.md","sourceHash":"19fead72a61b75adceaf03763416ab3f4f0c88d8545bc2a844ae2e03d0e62f04","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Task","disallowedTools":"Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":184,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns live ops designer work: Design live events, retention loops, update cadence, economy impacts, player messaging, operational risks, and post-launch measurement plans. Produces Live ops plan, Event loop notes, Measurement and risk summary; hand off requests outside live ops designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/localization-lead.toml","sourcePath":".claude/agents/localization-lead.md","sourceHash":"96991fd33e46cc60179d1abca967ac56f6e809908a8a5fdd71aafa1be3571704","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":190,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns localization lead work: Plan localization scope, string readiness, culturalization risks, text expansion, asset dependencies, voice/subtitle needs, and handoff checks. Produces Localization plan, String and asset risks, Culturalization notes; hand off requests outside localization lead ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/market-analyst.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns market analyst work: Analyze audience, competitors, positioning, pricing, discoverability, and market risks using project constraints and clearly labeled assumptions. Produces Market analysis, Competitor positioning, Audience risks; hand off requests outside market analyst ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/narrative-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":89,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns narrative designer work: Shape story, tone, world rules, character and content needs, and narrative consistency while respecting production constraints. Produces Narrative brief, Content list, Tone guidance; hand off requests outside narrative designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/network-programmer.toml","sourcePath":".claude/agents/network-programmer.md","sourceHash":"b3f107bb01b24475f93aebb6af1735fd90dd73afe070bae667cd9475b2e616e1","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":98,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns network programmer work: Implement networked gameplay, replication, synchronization, authority boundaries, latency handling, rollback risks, and multiplayer verification notes. Produces Networking implementation, Synchronization notes, Multiplayer verification; hand off requests outside network programmer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/performance-analyst.toml","sourcePath":".claude/agents/performance-analyst.md","sourceHash":"c155149e303e200a00074721cd3d9bf5b92d080871ab6298670954aec5705468","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":112,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns performance analyst work: Profile frame time, memory, loading, asset cost, CPU/GPU bottlenecks, instrumentation needs, and optimization priorities for game builds. Produces Performance report, Optimization priorities, Measurement plan; hand off requests outside performance analyst ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/producer.toml","sourcePath":".claude/agents/producer.md","sourceHash":"05f8bf426001cbd07ca9ca40dde0348139e208f97af7d87abcfecf8ca84c3257","sourceMetadata":{"model":"opus","tools":"Read, Glob, Grep, Write, Edit, Bash, WebSearch","skills":["sprint-plan","scope-check","estimate","milestone-review"],"memory":"user","maxTurns":"30"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":93,"upstreamLineCount":168,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns producer work: Convert goals into bounded production plans, milestone slices, risk lists, owner recommendations, and verification gates for Codex-executed game work. Produces Production plan, Milestone tasks, Risk register; hand off requests outside producer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/qa-playtester.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":95,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns qa playtester work: Find reproducible gameplay, usability, accessibility, and regression issues with clear severity, evidence, and verification steps. Produces Issue list, Repro steps, Severity notes; hand off requests outside qa playtester ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/release-manager.toml","sourcePath":".claude/agents/release-manager.md","sourceHash":"75df18172fcb905c544972edcfe43589093f02f6abf41d388f952c1eadbe11bd","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","skills":["release-checklist","changelog","patch-notes"],"maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":93,"upstreamLineCount":180,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns release manager work: Assess ship readiness, release risk, packaging, validation status, milestone blockers, and remaining warnings before release decisions. Produces Ship checklist, Release risks, Validation summary; hand off requests outside release manager ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/security-engineer.toml","sourcePath":".claude/agents/security-engineer.md","sourceHash":"73bf76067ec312fa592d9c81b26c4a7b64f8831a50404244a1ec398a77091c7e","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":126,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns security engineer work: Review game client, tools, build scripts, online surfaces, secrets handling, abuse cases, and dependency risks with practical mitigation steps. Produces Security review, Threat notes, Mitigation checklist; hand off requests outside security engineer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/senior-game-artist.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns senior game artist work: Define art direction, asset style, visual constraints, production quality bars, reference needs, and asset review notes. Produces Art direction, Asset list, Visual quality bar; hand off requests outside senior game artist ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/senior-game-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns senior game designer work: Own high-level systems, progression, economy, core loops, balancing direction, and design cohesion across feature slices. Produces Systems design, Progression model, Acceptance criteria; hand off requests outside senior game designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/sound-designer.toml","sourcePath":".claude/agents/sound-designer.md","sourceHash":"4ebaef7c7069a5dd5a68ed12ca251035f0f9b2852fd29b9eca3ea2c5a4fdf088","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","maxTurns":"10"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":80,"upstreamLineCount":85,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns sound designer work: Specify sound effects, feedback cues, ambience, music triggers, implementation events, and audio verification notes for gameplay moments. Produces Sound cue list, Audio event notes, Verification checklist; hand off requests outside sound designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/studio-orchestrator.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns studio orchestrator work: Route work between roles, maintain concise handoffs, protect project scope, identify blockers, and select the next bounded studio action without running hidden parallel work. Produces Studio handoff, Next-role routing, Blocker summary; hand off requests outside studio orchestrator ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/systems-designer.toml","sourcePath":".claude/agents/systems-designer.md","sourceHash":"b12973f4dce65c5add8e31fc570c4ece2b6f9855d2c89ce1645c0901a14adc17","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":157,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns systems designer work: Design interconnected rules, progression loops, resource flows, balancing levers, edge cases, and acceptance tests for durable game systems. Produces Systems spec, Balance levers, Edge-case notes; hand off requests outside systems designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/technical-artist.toml","sourcePath":".claude/agents/technical-artist.md","sourceHash":"30feb7cd99da83ef1b1350b109535085239eb5b2d210eeb22faa8e54633ba77d","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":108,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns technical artist work: Bridge art direction and runtime constraints for shaders, materials, import settings, optimization, and visual pipelines. Produces Art pipeline guidance, Asset constraints, Optimization notes; hand off requests outside technical artist ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/technical-director.toml","sourcePath":".claude/agents/technical-director.md","sourceHash":"fe98888f29067eb81ef4dd29d93c3498048628f4bcf6404a1c594f8a6343f9b2","sourceMetadata":{"model":"opus","tools":"Read, Glob, Grep, Write, Edit, Bash, WebSearch","memory":"user","maxTurns":"30"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"upstreamLineCount":159,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns technical director work: Coordinate technical architecture, engineering tradeoffs, engine constraints, risk triage, validation gates, and discipline handoffs for game production. Produces Technical direction, Architecture tradeoffs, Risk and gate summary; hand off requests outside technical director ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/tools-programmer.toml","sourcePath":".claude/agents/tools-programmer.md","sourceHash":"1304ed30dc06506f043cbe6df33617a483988a1f73aedec1f9867bbc5de7d20b","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":101,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns tools programmer work: Build editor, pipeline, automation, and developer workflow tools that reduce repeated production effort and failure-prone manual steps. Produces Tooling changes, Usage notes, Failure modes; hand off requests outside tools programmer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/ui-programmer.toml","sourcePath":".claude/agents/ui-programmer.md","sourceHash":"6cd29c2088724918b2680d3cc35c379276b7af11d6aa10ac990172280b1d5f48","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":82,"upstreamLineCount":102,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns ui programmer work: Implement HUD, menu, input, state binding, responsive layout, accessibility hooks, and UI runtime behavior from designer-facing interaction specs. Produces UI implementation, State binding notes, Interaction verification; hand off requests outside ui programmer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/ui-ux-designer.toml","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":90,"depthScore":56,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns ui ux designer work: Design interface flows, usability heuristics, HUD layout, onboarding, accessibility, menu interactions, and interaction risks. Produces UI flow review, HUD/menu recommendations, Accessibility notes; hand off requests outside ui ux designer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/unity-specialist.toml","sourcePath":".claude/agents/unity-specialist.md","sourceHash":"81777b58e3a30f4a131025e01af6ac8fb42065214df6271e59df1aa11e5374e4","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":184,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns unity specialist work: Apply Unity-specific implementation and review guidance using only the active project's Unity reference pack and project files. Produces Unity guidance, Engine-specific risks, Verification notes; hand off requests outside unity specialist ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/unreal-specialist.toml","sourcePath":".claude/agents/unreal-specialist.md","sourceHash":"03794a0b048f1df4cd882ae73a964cd5368c629e00320e36051bc3d025a65c15","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit, Bash, Task","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":172,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns unreal specialist work: Apply Unreal-specific implementation and review guidance using only the active project's Unreal reference pack and project files. Produces Unreal guidance, Engine-specific risks, Verification notes; hand off requests outside unreal specialist ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/world-builder.toml","sourcePath":".claude/agents/world-builder.md","sourceHash":"9e3399c5478ea2491bfc8e42745948b7aec4c2045ecd008a318d4f72a8fad2ea","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":81,"upstreamLineCount":111,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns world builder work: Define factions, places, rules, environmental storytelling hooks, collectible lore, and setting constraints that support level, narrative, and content production. Produces World bible slice, Environment hooks, Consistency constraints; hand off requests outside world builder ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"agent","localPath":".codex/agents/writer.toml","sourcePath":".claude/agents/writer.md","sourceHash":"8eafe2f3cd7f2c12acc0d8f93ed93bf638a915490ed5ca5a11721f1bf60f49d7","sourceMetadata":{"model":"sonnet","tools":"Read, Glob, Grep, Write, Edit","disallowedTools":"Bash","memory":"project","maxTurns":"20"},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/roles.test.ts","tests/validation.test.ts"],"lineCount":80,"upstreamLineCount":104,"depthScore":50,"metadata":{"model":true,"reasoning":true,"sourceReference":true,"sourceHash":true,"primarySkills":true,"toolPolicy":true},"discoveryMetadata":{"text":"Owns writer work: Draft shippable dialogue, item text, barks, tutorial copy, lore snippets, and narrative-facing implementation notes that fit the project's tone and production constraints. Produces Draft copy, Tone notes, Implementation handoff; hand off requests outside writer ownership or missing verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/analytics-setup.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a analytics setup request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/architecture-decision.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a architecture decision request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/architecture-review.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a architecture review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/art-direction.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a art direction request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/brainstorm.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a brainstorm request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/bugfix.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a bugfix request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/create-epics.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":85,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a create epics request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/create-stories.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a create stories request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/design-spec.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a design spec request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/game-feel-tuning.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a game feel tuning request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/handoff.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a handoff request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/hotfix.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a hotfix request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/localization-plan.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a localization plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/market-analysis.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a market analysis request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/onboard.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":86,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a onboard request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/perf-profile.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a perf profile request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/playtest.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a playtest request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/production-milestone.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a production milestone request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/prototype.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a prototype request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/qa-plan.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a qa plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/regression-suite.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a regression suite request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/release-checklist.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a release checklist request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/review.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/security-audit.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a security audit request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/ship-check.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a ship check request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/sprint-plan.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a sprint plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/sprint-status.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a sprint status request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/story-done.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a story done request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/story-readiness.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a story readiness request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/ui-ux-review.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":83,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a ui ux review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"workflow","localPath":".codex/workflows/vertical-slice.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/workflow-catalog.test.ts","tests/workflow-recipes.test.ts","tests/validation.test.ts"],"lineCount":84,"depthScore":56,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":true},"discoveryMetadata":{"text":"Provide a vertical slice request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-adopt/SKILL.md","sourcePath":".claude/skills/adopt/SKILL.md","sourceHash":"58959c4f76c05fbe3fd60b7a7d2c4ba5bf861fce28c0da49a498a81656b6a05e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","agent":"technical-director","argument-hint":"[focus: full | gdds | adrs | stories | infra]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":443,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for adopt tasks that inventory existing source, assets, docs, and tests before mapping work into CGS structure; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-architecture-decision/SKILL.md","sourcePath":".claude/skills/architecture-decision/SKILL.md","sourceHash":"94a2299ae4ff370062e15d37680abdb13c1fc2dc05b916dcb65f46088d12b854","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[title] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":456,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for architecture decision tasks that write an ADR with context, options, decision, consequences, validation, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-architecture-review/SKILL.md","sourcePath":".claude/skills/architecture-review/SKILL.md","sourceHash":"11fd3ee30b6c66a2745d1fdaaca3c61c440d4a1181f3667785414351a6e06311","sourceMetadata":{"model":"opus","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"technical-director","argument-hint":"[focus: full | coverage | consistency | engine | single-gdd path/to/gdd.md]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":665,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for architecture review tasks that review architecture for layer violations, scalability risks, engine misuse, testing seams, and production readiness; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-art-bible/SKILL.md","sourcePath":".claude/skills/art-bible/SKILL.md","sourceHash":"19daa484f6f6621221818e224c899ebc02c978a919a247c367f676d515e64cad","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":249,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for art bible tasks that define visual identity, shape language, palette, camera, animation, UI style, and asset constraints; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-asset-audit/SKILL.md","sourcePath":".claude/skills/asset-audit/SKILL.md","sourceHash":"d499694d99c8b9341c1ca7a5f6bcc50fefebd8b6cbec7f132ec2f4fd678c1725","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep","argument-hint":"[category|all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":95,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for asset audit tasks that audit game assets for completeness, naming, import settings, ownership, licensing, and production risk; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-asset-spec/SKILL.md","sourcePath":".claude/skills/asset-spec/SKILL.md","sourceHash":"3a53c309c5e8abff8d8ab73c1217aa8fab47274abfa66836e401de83847f04e4","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[system: | level: | character:] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":352,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for asset spec tasks that specify an individual asset with purpose, constraints, references, dimensions, states, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-balance-check/SKILL.md","sourcePath":".claude/skills/balance-check/SKILL.md","sourceHash":"c668fe38534a60c5ec3b86130461bf370c49593c82e93fecc4987571a7ef1bba","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","agent":"economy-designer","argument-hint":"[system-name|path-to-data-file]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":123,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for balance check tasks that evaluate tuning values, progression pacing, economy levers, exploits, and player-skill assumptions; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-brainstorm/SKILL.md","sourcePath":".claude/skills/brainstorm/SKILL.md","sourceHash":"3afbcc808948bd507486d2d84787236cbac516b67d207b6b4737ab0d7f2cd9ad","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, WebSearch, Task, AskUserQuestion","argument-hint":"[genre or theme hint, or 'open'] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":359,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for brainstorm tasks that explore the game idea with player fantasy, verbs, pillars, audience, constraints, and scope tiers; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-bug-report/SKILL.md","sourcePath":".claude/skills/bug-report/SKILL.md","sourceHash":"2960da7266e446de232a7f46229a9908825b188db4a28d834f030690d646575e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[description] | analyze [path-to-file]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":164,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for bug report tasks that capture a reproducible bug with environment, steps, expected/actual behavior, severity, evidence, and owner; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-bug-triage/SKILL.md","sourcePath":".claude/skills/bug-triage/SKILL.md","sourceHash":"cdafaffc22abe4f6ee9dc7d93b34222547dd3281c25e60de80d1876517a395d2","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit","argument-hint":"[sprint | full | trend]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":244,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for bug triage tasks that classify bugs by severity, priority, reproduction confidence, owner role, risk, and release impact; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-bugfix/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for bugfix tasks that fix a bounded bug with reproduction evidence, minimal change, regression coverage, and handoff notes; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-changelog/SKILL.md","sourcePath":".claude/skills/changelog/SKILL.md","sourceHash":"305d9f720a28c8ff3bfc5badd0732a731f10bb81d81c63c61655018dd2c7dc5b","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Bash, Write","argument-hint":"[version|sprint-number]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":177,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for changelog tasks that maintain a developer-facing changelog grouped by feature, fix, content, performance, and breaking change; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-code-review/SKILL.md","sourcePath":".claude/skills/code-review/SKILL.md","sourceHash":"e0abfa89a0a22bb3cfb9042941efc8f7ffb2a73b4f92884ef8eaba670366ca53","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Task, AskUserQuestion","agent":"lead-programmer","argument-hint":"[path-to-file-or-directory]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":185,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for code review tasks that review changes for correctness, maintainability, security, tests, engine idioms, and scope control; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-consistency-check/SKILL.md","sourcePath":".claude/skills/consistency-check/SKILL.md","sourceHash":"a6a87d4512c9bc3c0dd03b5551f438770259345c8802ec6247f7455e85a20e77","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, AskUserQuestion","argument-hint":"[full | since-last-review | entity: | item:]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":308,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for consistency check tasks that find contradictions across design, narrative, systems, UI, content, and implementation artifacts; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-content-audit/SKILL.md","sourcePath":".claude/skills/content-audit/SKILL.md","sourceHash":"6e17272fe8854e93936f55076d88435f3af2226d4e05d0b8b5f987296f00d8ab","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","agent":"producer","argument-hint":"[system-name | --summary | (no arg = full audit)]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":205,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for content audit tasks that audit content coverage, duplication, tone consistency, localization needs, and production completeness; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-architecture/SKILL.md","sourcePath":".claude/skills/create-architecture/SKILL.md","sourceHash":"8a6320b33b3132e7f98e634156c5017a8406303b0eccbaa973cdb4d9ee10e1af","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, AskUserQuestion, Task","agent":"technical-director","argument-hint":"[focus-area: full | layers | data-flow | api-boundaries | adr-audit] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":468,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for create architecture tasks that design the technical architecture, layers, data ownership, engine boundaries, and control manifest; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-control-manifest/SKILL.md","sourcePath":".claude/skills/create-control-manifest/SKILL.md","sourceHash":"2dd8d29c013944aed8cd05fcfbe21dc77ef8ff9c98f5155f46cee29ab3284348","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task","agent":"technical-director","argument-hint":"[update — regenerate from current ADRs]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":288,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for create control manifest tasks that define implementation rules, boundaries, allowed dependencies, validation commands, and review gates; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-epics/SKILL.md","sourcePath":".claude/skills/create-epics/SKILL.md","sourceHash":"5a761ad272143ddf694cd29068bf11efba18cd24ef4e23c48c79326d0d67a259","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"technical-director","argument-hint":"[system-name | layer: foundation|core|feature|presentation | all] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":245,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for create epics tasks that break project goals into epics with outcomes, dependencies, risks, and validation gates; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-create-stories/SKILL.md","sourcePath":".claude/skills/create-stories/SKILL.md","sourceHash":"f1517b9f5a90317f93149c9915ade684dbf75ab8b00c1ea9bdeaa6f921756b56","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"lead-programmer","argument-hint":"[epic-slug | epic-path] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":333,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for create stories tasks that break an epic into small stories with acceptance criteria, owner role, files, and verification; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-day-one-patch/SKILL.md","sourcePath":".claude/skills/day-one-patch/SKILL.md","sourceHash":"eb48e1eb8a578056ff31f6ee2b6a2d61fb02d65a0af3441a9922002b7583aab0","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","argument-hint":"[scope: known-bugs | cert-feedback | all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":226,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for day one patch tasks that plan launch-window fixes, risk acceptance, validation, platform submission, and player communication; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-design-review/SKILL.md","sourcePath":".claude/skills/design-review/SKILL.md","sourceHash":"3f9119c2ecc3f1b8a07484f0df9e3547bb006df349d9a73c97e8a95799aadfa9","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[path-to-design-doc] [--depth full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":268,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for design review tasks that review design artifacts against pillars, player experience, production scope, and downstream implementation risk; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-design-system/SKILL.md","sourcePath":".claude/skills/design-system/SKILL.md","sourceHash":"eae2be7d9ae520112020420293d83fdeeebf52d3476ce5c8ffecf87aaec4e696","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion, TodoWrite","argument-hint":" [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":871,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for design system tasks that author a system GDD with rules, data, edge cases, progression, feedback, and implementation acceptance tests; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-dev-story/SKILL.md","sourcePath":".claude/skills/dev-story/SKILL.md","sourceHash":"ddada36350af8d121b63159e79eb72e3d5a1482b74e88f547f556ca92efd2b04","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, Task, AskUserQuestion","argument-hint":"[story-path]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":325,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for dev story tasks that turn a design or bug into an implementation-ready story with owner, files, acceptance tests, and dependencies; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-estimate/SKILL.md","sourcePath":".claude/skills/estimate/SKILL.md","sourceHash":"7774e2d256a054a215cf62cc81d4d79f4d18e2154203671a39f643c0881be5fd","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep","argument-hint":"[task-description]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":132,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for estimate tasks that estimate scope using uncertainty, dependencies, discipline handoffs, risk buffers, and confidence ranges; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-gate-check/SKILL.md","sourcePath":".claude/skills/gate-check/SKILL.md","sourceHash":"3ae463120765909eedb2d04f592191bf90afda4795ae88522d314e1833773da7","sourceMetadata":{"model":"opus","allowed-tools":"Read, Glob, Grep, Bash, Write, Task, AskUserQuestion","argument-hint":"[target-phase: systems-design | technical-setup | pre-production | production | polish | release] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":542,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for gate check tasks that run an advisory phase or artifact gate with criteria, evidence, concerns, and user-controlled next decision; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-help/SKILL.md","sourcePath":".claude/skills/help/SKILL.md","sourceHash":"9519e9b275a58b3d45391f1fc47e6f8ac1a469e468959cccf6f37bd13e71ee04","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep","argument-hint":"[optional: what you just finished, e.g. 'finished design-review' or 'stuck on ADRs']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":228,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for help tasks that summarize available CGS workflows, next phase options, required artifacts, and safe commands; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-hotfix/SKILL.md","sourcePath":".claude/skills/hotfix/SKILL.md","sourceHash":"6d99a79bce373cd9f8fe02b1db2933c9121ac0a79c778d588dd03b5f337c4bf9","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","argument-hint":"[bug-id or description]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":180,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for hotfix tasks that scope and execute an urgent fix with reproduction, minimal change, verification, release notes, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-launch-checklist/SKILL.md","sourcePath":".claude/skills/launch-checklist/SKILL.md","sourceHash":"867e94f20e9b5da3855a37b032bd01801cdceed899eb95ecea7588abed5b188c","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[launch-date or 'dry-run']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":240,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for launch checklist tasks that coordinate day-of-launch readiness, monitoring, community, support, rollback, and hotfix paths; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-localize/SKILL.md","sourcePath":".claude/skills/localize/SKILL.md","sourceHash":"781f60f1c4259cfb3ceac0316a792a6d55659aaf20981f1c6e6a3d1dfacae83c","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, Task, AskUserQuestion","agent":"localization-lead","argument-hint":"[scan|extract|validate|status|brief|cultural-review|vo-pipeline|rtl-check|freeze|qa]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":441,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for localize tasks that plan localization keys, context, screenshots, pluralization, text expansion, and review workflow; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-map-systems/SKILL.md","sourcePath":".claude/skills/map-systems/SKILL.md","sourceHash":"a46393797f5227603d87722d8c546d61c8944182db28e00207dc5ad318aa577e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion, TodoWrite, Task","argument-hint":"[next | system-name] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":364,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for map systems tasks that decompose the concept into game systems with dependency order, priority tiers, and validation needs; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-milestone-review/SKILL.md","sourcePath":".claude/skills/milestone-review/SKILL.md","sourceHash":"736a1cffb028b96b890fd0b6b469dcdd5f948a907d5a7f0e157ccca92ac8adc7","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","argument-hint":"[milestone-name|current] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":156,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for milestone review tasks that review milestone readiness, completed evidence, blockers, carryover, and phase transition risk; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-onboard/SKILL.md","sourcePath":".claude/skills/onboard/SKILL.md","sourceHash":"fbf7f691226e4c5fccbfa40423d61d123f3e0088d36b719663cca40e96a5d6d7","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[role|area]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":96,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for onboard tasks that orient a new contributor or agent to project state, file layout, stage, risks, and next work; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-patch-notes/SKILL.md","sourcePath":".claude/skills/patch-notes/SKILL.md","sourceHash":"ffb34d12e0d3fe21d31e6406a77b6db77b16a8185358ee8183b08de584498d30","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Write, Bash","agent":"community-manager","argument-hint":"[version] [--style brief|detailed|full]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":186,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for patch notes tasks that write player-facing patch notes with fixes, known issues, balance changes, and verification caveats; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-perf-profile/SKILL.md","sourcePath":".claude/skills/perf-profile/SKILL.md","sourceHash":"376f4f24dff70ec9e4a4883ec3352e0008c6c10c3f3660e0a4946b4b48ef7aa7","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash","agent":"performance-analyst","argument-hint":"[system-name or 'full']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":126,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for perf profile tasks that profile frame time, memory, loading, assets, rendering, scripting, and platform constraints; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-playtest-report/SKILL.md","sourcePath":".claude/skills/playtest-report/SKILL.md","sourceHash":"708a99ffe0990079bfe7b34c49a641e6131c32173c966f7c51e588def5e75548","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","argument-hint":"[new|analyze path-to-notes] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":147,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for playtest report tasks that capture player observations, comprehension, friction, loop completion, bugs, quotes, and design implications; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-project-stage-detect/SKILL.md","sourcePath":".claude/skills/project-stage-detect/SKILL.md","sourceHash":"dffa5112b8d3c4ef53bc3ee6bede90d0f3f4b938ad3a00238f1209f0fa0e7e19","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Bash, Write","argument-hint":"[optional: role filter like 'programmer' or 'designer']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":195,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for project stage detect tasks that detect whether the project is in concept, design, technical setup, pre-production, production, polish, or release; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-propagate-design-change/SKILL.md","sourcePath":".claude/skills/propagate-design-change/SKILL.md","sourceHash":"eba7901d3875f81946ab8803f458d142427102c438296fae83e3f4c4101115ed","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, Task","agent":"technical-director","argument-hint":"[path/to/changed-gdd.md]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":239,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for propagate design change tasks that trace a design change through systems, docs, tasks, tests, content, and release risk; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-prototype/SKILL.md","sourcePath":".claude/skills/prototype/SKILL.md","sourceHash":"d9475f988c6ec1bb676ab5d8149ef7b7321e63a6b4eb7f7194cfd598be1255de","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","agent":"prototyper","isolation":"worktree","argument-hint":"[concept-description] [--path html|engine|paper] [--review full|lean|solo] [--spike]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":579,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for prototype tasks that build or plan a throwaway concept prototype around a falsifiable design hypothesis and cleanup boundary; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-qa-plan/SKILL.md","sourcePath":".claude/skills/qa-plan/SKILL.md","sourceHash":"f4e9823754aaad75ff87fe700a826c0953ce9ddf853130e2d6cdf3ba2d3622ba","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","agent":"qa-lead","argument-hint":"[sprint | feature: system-name | story: path]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":278,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for qa plan tasks that plan focused QA coverage across features, risks, platforms, devices, regressions, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-quick-design/SKILL.md","sourcePath":".claude/skills/quick-design/SKILL.md","sourceHash":"e1274daaef2d2f925bc98944013e9ec31c25e4ad0906345fda744a7a59271d7a","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion","argument-hint":"[brief description of the change]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":295,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for quick design tasks that draft a constrained design slice fast while preserving pillars, assumptions, and open questions; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-regression-suite/SKILL.md","sourcePath":".claude/skills/regression-suite/SKILL.md","sourceHash":"8f073b6b576c88fba6129efd57f4c71f04c97563f3c5a532c0ae28d2a5c0f0fc","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion","argument-hint":"[update | audit | report]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":115,"upstreamLineCount":256,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for regression suite tasks that define or run regression coverage for changed systems, prior bugs, critical paths, and release blockers; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-release-checklist/SKILL.md","sourcePath":".claude/skills/release-checklist/SKILL.md","sourceHash":"a4c4294234e7ba6ba51718ba6a0996c68dd1e4f9cefc30286936878a827bc86a","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[platform: pc|console|mobile|all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":182,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for release checklist tasks that check build, packaging, store, QA, localization, accessibility, rollback, and ship/no-ship readiness; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-retrospective/SKILL.md","sourcePath":".claude/skills/retrospective/SKILL.md","sourceHash":"60f9525887c94e4cf8239de3a2078389e6d6b19dd9f10705772490650c11ffda","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash, AskUserQuestion","argument-hint":"[sprint-N|milestone-name]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":221,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for retrospective tasks that facilitate a retrospective with what worked, what failed, root causes, actions, and owner follow-up; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-reverse-document/SKILL.md","sourcePath":".claude/skills/reverse-document/SKILL.md","sourceHash":"71d5beda61de4815f52bb63b38780f55f890db6dd8c5d22842b1b179fb393876","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash","argument-hint":" (e.g., 'design src/gameplay/combat' or 'architecture src/core')","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":263,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for reverse document tasks that create design or technical documentation from existing implementation without inventing unverified behavior; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-review-all-gdds/SKILL.md","sourcePath":".claude/skills/review-all-gdds/SKILL.md","sourceHash":"016dce629603f89c923cf6ca5b7f4cae4d4e5920c04ced00b7d3bb206a531a2d","sourceMetadata":{"model":"opus","allowed-tools":"Read, Glob, Grep, Write, Bash, AskUserQuestion, Task","argument-hint":"[focus: full | consistency | design-theory | since-last-review]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":639,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for review all gdds tasks that cross-check all GDDs for consistency, missing systems, dependency conflicts, and production readiness; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-scope-check/SKILL.md","sourcePath":".claude/skills/scope-check/SKILL.md","sourceHash":"f91150df11aadf32cfa64a1476c608396e12eeeba9aca03836c52299f3a0efa0","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep, Bash","argument-hint":"[feature-name or sprint-N]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":128,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for scope check tasks that assess whether requested work fits the milestone and propose cuts, deferrals, or safer slices; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-security-audit/SKILL.md","sourcePath":".claude/skills/security-audit/SKILL.md","sourceHash":"b3d04c89f1841ef93bedce57a8bb43d858ca96a92aac8b8182e9d54fe1d319f4","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write, Task","agent":"security-engineer","argument-hint":"[full | network | save | input | quick]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":245,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for security audit tasks that audit secrets, network surfaces, auth, saves, platform APIs, dependencies, and exploit risks; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-setup-engine/SKILL.md","sourcePath":".claude/skills/setup-engine/SKILL.md","sourceHash":"7f4bc9868ca4d78ca969174c56b8c719215d68c6f32f0df5be5194e8eb2e2eea","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, WebSearch, WebFetch, Task, AskUserQuestion","argument-hint":"[engine] | [engine version] | refresh | upgrade [old-version] [new-version] | no args for guided selection","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":716,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for setup engine tasks that pin engine version, verify project markers, document conventions, and run engine smoke checks; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-skill-improve/SKILL.md","sourcePath":".claude/skills/skill-improve/SKILL.md","sourceHash":"24efa8aa68ab240c1d9b1366275490ec9cce4034e1bbe34f214b830bda15617b","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Bash","argument-hint":"[skill-name]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":145,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for skill improve tasks that improve a skill after observed failures while preserving trigger, procedure, validation, and handoff clarity; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-skill-test/SKILL.md","sourcePath":".claude/skills/skill-test/SKILL.md","sourceHash":"24d09805593a811cc10b46d40a45eb1e36b040cfdc4e7a2ae3e36ffa51bd4cf9","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"static [skill-name | all] | spec [skill-name] | category [skill-name | all] | audit","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":357,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for skill test tasks that test a repository skill against fixtures, required sections, dry-runs, and behavioral expectations; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-smoke-check/SKILL.md","sourcePath":".claude/skills/smoke-check/SKILL.md","sourceHash":"98521191c6dd949bce2df9d4f8d4abeebbc0adf36b665e7a99d7645dc9ed42e3","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write, AskUserQuestion","argument-hint":"[sprint | quick | --platform pc|console|mobile|all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":422,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for smoke check tasks that run the fastest useful checks proving the project opens, builds, starts, and reaches a basic playable state; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-soak-test/SKILL.md","sourcePath":".claude/skills/soak-test/SKILL.md","sourceHash":"9f090f0e39575265a9e8e5e042dd81af81191e346ed3a92983a8d1d1a5ba6bc1","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[duration: 30m | 1h | 2h | 4h] [focus: memory | stability | balance | all]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":284,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for soak test tasks that plan longer stability checks for memory, performance drift, save/load, networking, and live-ops loops; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-sprint-plan/SKILL.md","sourcePath":".claude/skills/sprint-plan/SKILL.md","sourceHash":"d402a9f276f81663c8b07f6c4fd2b19a3fa9d4ee9411e3d57e6868daa095ee42","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion","argument-hint":"[new|update|status] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":281,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for sprint plan tasks that create a 1-2 week sprint plan with goals, tasks, owners, dependencies, risks, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-sprint-status/SKILL.md","sourcePath":".claude/skills/sprint-status/SKILL.md","sourceHash":"58b80b7ee9a31eb4798f0700b4054fd705b1d6642eb63cead4166d3ffbe6f138","sourceMetadata":{"model":"haiku","allowed-tools":"Read, Glob, Grep","argument-hint":"[sprint-number or blank for current]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":208,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for sprint status tasks that report sprint progress, blockers, risk changes, completed work, and next decisions; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-gameplay/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for standards gameplay tasks that mechanics, tuning, data-driven values, engine idioms, and player-facing acceptance checks; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-prototype/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for standards prototype tasks that fast experiments with explicit hypotheses, throwaway boundaries, and graduation criteria; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-tests/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for standards tests tasks that unit, integration, engine smoke, playtest, and regression coverage; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-standards-ui/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":98,"depthScore":98,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for standards ui tasks that hUD, menus, accessibility, localization, controller navigation, and input states; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-start/SKILL.md","sourcePath":".claude/skills/start/SKILL.md","sourceHash":"31e7a2cee0568de6e443fd3428fea36f6583478f6db25cac3fa18604c510af9f","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","argument-hint":"[no arguments]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":245,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for start tasks that clarify the game concept, engine, production mode, first milestone, and next required artifact; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-story-done/SKILL.md","sourcePath":".claude/skills/story-done/SKILL.md","sourceHash":"a9215959142b6417223ff818f99f2f33b10d401bb9ff446f622ec8573433b261","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write, Edit, AskUserQuestion, Task","argument-hint":"[story-file-path] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":459,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for story done tasks that check if a story is complete with changed files, tests, acceptance evidence, and handoff notes; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-story-readiness/SKILL.md","sourcePath":".claude/skills/story-readiness/SKILL.md","sourceHash":"f1fc25f80f811fd38c53144c305706488c031974a5f0925cdf18986467de90eb","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, AskUserQuestion, Task","argument-hint":"[story-file-path or 'all' or 'sprint']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"upstreamLineCount":355,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for story readiness tasks that check if a story is implementable with clear inputs, acceptance criteria, dependencies, and validation; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-audio/SKILL.md","sourcePath":".claude/skills/team-audio/SKILL.md","sourceHash":"6dd03358962dbef74b6c67e7d34383e0721571a534b75f1ba562f39e92287416","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[feature or area to design audio for] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":145,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team audio tasks that coordinate audio design, implementation, asset readiness, mix targets, and QA for audio work; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-combat/SKILL.md","sourcePath":".claude/skills/team-combat/SKILL.md","sourceHash":"8a3de29e9ac63a38d025ac5451c0c93626f651741e1002f159b9983f4a31af05","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[combat feature description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":143,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team combat tasks that coordinate combat design, implementation, tuning, animation, VFX, audio, and QA handoffs; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-level/SKILL.md","sourcePath":".claude/skills/team-level/SKILL.md","sourceHash":"2035d20d9393f6e703e04074ded2145688a8e2e4a2191f5a75866a4fb97100bd","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[level name or area to design] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":194,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team level tasks that coordinate level design, blockout, art, scripting, lighting, optimization, and playtest handoffs; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-live-ops/SKILL.md","sourcePath":".claude/skills/team-live-ops/SKILL.md","sourceHash":"214cc07ec8e83074d9ca16236ab867cd552e2de481aca7d225c06013b057dd90","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[season name or event description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":159,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team live ops tasks that coordinate events, telemetry, economy, content cadence, support, and incident readiness; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-narrative/SKILL.md","sourcePath":".claude/skills/team-narrative/SKILL.md","sourceHash":"9959626482ed8607f8a93a7fcf2c3d03546621592784d56a22b70cfe387ca0d4","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Task, AskUserQuestion, TodoWrite","argument-hint":"[narrative content description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":126,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team narrative tasks that coordinate narrative content, dialogue, localization, implementation hooks, and consistency review; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-polish/SKILL.md","sourcePath":".claude/skills/team-polish/SKILL.md","sourceHash":"fb4d48c5bd8f2563d6f999bea940929a20b8c52ed797b306a999e2b4d5596d26","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[feature or area to polish] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":140,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team polish tasks that coordinate final polish across game feel, UI, audio, art, bugs, performance, and accessibility; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-qa/SKILL.md","sourcePath":".claude/skills/team-qa/SKILL.md","sourceHash":"1d67b5e45ae41e20c0c4ecaa3e89441c2493327b737fb369d3c6b66a369b1bd3","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Task, AskUserQuestion","agent":"qa-lead","argument-hint":"[sprint | feature: system-name] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":244,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team qa tasks that coordinate QA coverage, bug triage, regression, platform checks, and release evidence; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-release/SKILL.md","sourcePath":".claude/skills/team-release/SKILL.md","sourceHash":"9cb0f1c15b4af864f57717de9f3ef4ad516370d6abf1d0047e0b7ed10d496b69","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[version number or 'next'] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":168,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team release tasks that coordinate release management, build pipeline, store assets, QA signoff, comms, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-team-ui/SKILL.md","sourcePath":".claude/skills/team-ui/SKILL.md","sourceHash":"d8aa30cbc82c40f3ec53ebceaf229243cac1bc14126ea56f5bfcf57b3c81d0bf","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion, TodoWrite","argument-hint":"[UI feature description] [--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":186,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for team ui tasks that coordinate UI design, implementation, accessibility, localization, controller support, and UX QA; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-tech-debt/SKILL.md","sourcePath":".claude/skills/tech-debt/SKILL.md","sourceHash":"bebf9faf308eb8ac4dbd70e907e2ae64daff51d86bf16353f5997543c318c6c8","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, AskUserQuestion","argument-hint":"[scan|add|prioritize|report]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":113,"upstreamLineCount":140,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for tech debt tasks that identify technical debt, production risk, payoff, safe refactor slices, and validation needed; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-evidence-review/SKILL.md","sourcePath":".claude/skills/test-evidence-review/SKILL.md","sourceHash":"04cdf0b7e94ab2dab58850bf1a70a2a6f33810ea7abb6102eaec8f2d00b9026e","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[story-path | sprint | system-name]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":251,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for test evidence review tasks that review validation output, logs, screenshots, recordings, and manual checks for sufficiency and gaps; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-flakiness/SKILL.md","sourcePath":".claude/skills/test-flakiness/SKILL.md","sourceHash":"3849299d9c0b667a2974157a2ce692892bcef475b87e0c20ad029b22f335b805","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash","argument-hint":"[ci-log-path | scan | registry]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":211,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for test flakiness tasks that diagnose flaky tests by isolating timing, randomness, ordering, environment, and cleanup causes; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-helpers/SKILL.md","sourcePath":".claude/skills/test-helpers/SKILL.md","sourceHash":"98494481c7fe0b69611243f9174a1a860622e2b5488499c953a2e539001e3438","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write","argument-hint":"[system-name | all | scaffold]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":395,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for test helpers tasks that design reusable test helpers without hiding assertions, over-mocking, or coupling tests to implementation details; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-test-setup/SKILL.md","sourcePath":".claude/skills/test-setup/SKILL.md","sourceHash":"bf3477f58af77fdeabed42e9c15f1b7bd41d6837c1ddff0450922cee694c628d","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Bash, Write","argument-hint":"[force]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":114,"upstreamLineCount":426,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for test setup tasks that configure test harnesses, fixtures, commands, and documentation so validation is repeatable; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-ui-ux-review/SKILL.md","sourceMetadata":{},"decision":"defer","status":"deferred","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":112,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for ui ux review tasks that review UI and UX implementation for clarity, accessibility, localization, controller support, and player comprehension; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-ux-design/SKILL.md","sourcePath":".claude/skills/ux-design/SKILL.md","sourceHash":"2d37d14b653594c0c7aa346ff8d7cc129269cda8f42fe741f6d296d6345f9845","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, AskUserQuestion, Task","agent":"ux-designer","argument-hint":"[screen/flow name] or 'hud' or 'patterns'","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":989,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for ux design tasks that design user journeys, menus, HUD, onboarding, input states, accessibility, and localization-ready UX copy; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-ux-review/SKILL.md","sourcePath":".claude/skills/ux-review/SKILL.md","sourceHash":"1dd5a719efd1ad5c2d831c046f9e257e9c7cff067cc9d1a99e67181e1b0f4bc0","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep","agent":"ux-designer","argument-hint":"[file-path or 'all' or 'hud' or 'patterns']","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":111,"upstreamLineCount":263,"depthScore":99,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for ux review tasks that review UX flows for clarity, friction, accessibility, localization, controller support, and player comprehension; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}},{"sourceType":"skill","localPath":".agents/skills/cgs-vertical-slice/SKILL.md","sourcePath":".claude/skills/vertical-slice/SKILL.md","sourceHash":"a555d5a79fceee22229b5587778ccae3f2c17514c92ffa62b708db613c574f9a","sourceMetadata":{"model":"sonnet","allowed-tools":"Read, Glob, Grep, Write, Edit, Bash, Task, AskUserQuestion","agent":"prototyper","isolation":"worktree","argument-hint":"[--review full|lean|solo]","user-invocable":true},"decision":"adapt","status":"complete","requiredTests":["tests/template-repository-surfaces.test.ts","tests/validation.test.ts"],"lineCount":123,"upstreamLineCount":359,"depthScore":100,"metadata":{"model":true,"reasoning":true,"argumentHint":true,"sourceReference":true,"sourceHash":true,"agent":true,"links":false},"discoveryMetadata":{"text":"Use for vertical slice tasks that validate whether a full game loop can be built at representative quality before production commitment; produce verification evidence, changed or proposed files, and handoff boundaries.","valid":true,"diagnostics":[]}}]} diff --git a/references/prompt-surface-uplift-matrix.json b/references/prompt-surface-uplift-matrix.json index c3f75f6..761a8de 100644 --- a/references/prompt-surface-uplift-matrix.json +++ b/references/prompt-surface-uplift-matrix.json @@ -44,6 +44,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns accessibility specialist work: Review accessibility for controls, visual/audio feedback, readability, cognitive load, difficulty options, platform conventions, and testable accommodations. Produces Accessibility review, Accommodation checklist, Inclusive design risks; hand off requests outside accessibility specialist ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -73,6 +78,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns ai programmer work: Implement game AI behavior, decision logic, navigation, perception, tuning hooks, debug visibility, and deterministic verification for NPC or systemic agents. Produces AI implementation, Behavior tuning notes, Debug and test evidence; hand off requests outside ai programmer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -104,6 +114,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns audio director work: Define audio pillars, music direction, soundscape priorities, implementation constraints, mix goals, and cross-discipline audio production handoffs. Produces Audio direction, Soundscape priorities, Implementation constraints; hand off requests outside audio director ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -134,6 +149,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns community manager work: Plan player communication, feedback triage, community launch beats, moderation risks, sentiment signals, and actionable handoffs to production roles. Produces Community plan, Feedback triage notes, Messaging risks; hand off requests outside community manager ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -169,6 +189,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns creative director work: Set creative pillars, protect player fantasy, align experience goals across disciplines, and keep scope coherent for Codex-executed game work. Produces Creative direction, Scope decisions, Experience pillars; hand off requests outside creative director ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -191,6 +216,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns data scientist work: Define analytics events, success metrics, experiment plans, dashboards, and evidence loops that support design and production decisions. Produces Analytics plan, Event taxonomy, Experiment outline; hand off requests outside data scientist ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -220,6 +250,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns devops engineer work: Design build, packaging, CI, release automation, environment setup, cache strategy, and reproducible validation flows for game projects. Produces Build automation, CI or packaging notes, Reproducibility checks; hand off requests outside devops engineer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -251,6 +286,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns economy designer work: Model currencies, rewards, sinks, pacing, pricing, progression pressure, and fairness risks for game economies without adding hidden monetization assumptions. Produces Economy model, Reward and sink table, Balance risks; hand off requests outside economy designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -280,6 +320,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns engine programmer work: Work on engine integration, performance-sensitive systems, build setup, runtime foundations, and platform constraints. Produces Technical implementation, Performance notes, Build impact; hand off requests outside engine programmer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -316,6 +361,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns game designer work: Design implementation-level mechanics, feature rules, tuning values, edge cases, and player-facing acceptance criteria with practical scope. Produces Feature spec, Tuning notes, Acceptance criteria; hand off requests outside game designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -338,6 +388,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns game feel designer work: Tune controls, feedback, pacing, animation timing, juice, camera response, and moment-to-moment player feel with actionable changes. Produces Feel review, Tuning recommendations, Feedback checklist; hand off requests outside game feel designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -367,6 +422,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns gameplay programmer work: Implement gameplay systems with focused file edits, engine-native idioms, deterministic behavior, and verification evidence. Produces Code changes, Verification results, Implementation notes; hand off requests outside gameplay programmer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -396,6 +456,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns godot specialist work: Apply Godot-specific implementation and review guidance using only the active project's Godot reference pack and project files. Produces Godot guidance, Engine-specific risks, Verification notes; hand off requests outside godot specialist ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -427,6 +492,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns level designer work: Design levels, encounter spaces, navigation beats, pacing, objective flow, metrics, blockout notes, and testable acceptance criteria for playable content. Produces Level brief, Blockout notes, Playtest criteria; hand off requests outside level designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -457,6 +527,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns live ops designer work: Design live events, retention loops, update cadence, economy impacts, player messaging, operational risks, and post-launch measurement plans. Produces Live ops plan, Event loop notes, Measurement and risk summary; hand off requests outside live ops designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -487,6 +562,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns localization lead work: Plan localization scope, string readiness, culturalization risks, text expansion, asset dependencies, voice/subtitle needs, and handoff checks. Produces Localization plan, String and asset risks, Culturalization notes; hand off requests outside localization lead ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -509,6 +589,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns market analyst work: Analyze audience, competitors, positioning, pricing, discoverability, and market risks using project constraints and clearly labeled assumptions. Produces Market analysis, Competitor positioning, Audience risks; hand off requests outside market analyst ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -531,6 +616,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns narrative designer work: Shape story, tone, world rules, character and content needs, and narrative consistency while respecting production constraints. Produces Narrative brief, Content list, Tone guidance; hand off requests outside narrative designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -560,6 +650,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns network programmer work: Implement networked gameplay, replication, synchronization, authority boundaries, latency handling, rollback risks, and multiplayer verification notes. Produces Networking implementation, Synchronization notes, Multiplayer verification; hand off requests outside network programmer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -590,6 +685,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns performance analyst work: Profile frame time, memory, loading, asset cost, CPU/GPU bottlenecks, instrumentation needs, and optimization priorities for game builds. Produces Performance report, Optimization priorities, Measurement plan; hand off requests outside performance analyst ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -626,6 +726,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns producer work: Convert goals into bounded production plans, milestone slices, risk lists, owner recommendations, and verification gates for Codex-executed game work. Produces Production plan, Milestone tasks, Risk register; hand off requests outside producer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -648,6 +753,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns qa playtester work: Find reproducible gameplay, usability, accessibility, and regression issues with clear severity, evidence, and verification steps. Produces Issue list, Repro steps, Severity notes; hand off requests outside qa playtester ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -682,6 +792,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns release manager work: Assess ship readiness, release risk, packaging, validation status, milestone blockers, and remaining warnings before release decisions. Produces Ship checklist, Release risks, Validation summary; hand off requests outside release manager ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -711,6 +826,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns security engineer work: Review game client, tools, build scripts, online surfaces, secrets handling, abuse cases, and dependency risks with practical mitigation steps. Produces Security review, Threat notes, Mitigation checklist; hand off requests outside security engineer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -733,6 +853,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns senior game artist work: Define art direction, asset style, visual constraints, production quality bars, reference needs, and asset review notes. Produces Art direction, Asset list, Visual quality bar; hand off requests outside senior game artist ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -755,6 +880,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns senior game designer work: Own high-level systems, progression, economy, core loops, balancing direction, and design cohesion across feature slices. Produces Systems design, Progression model, Acceptance criteria; hand off requests outside senior game designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -785,6 +915,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns sound designer work: Specify sound effects, feedback cues, ambience, music triggers, implementation events, and audio verification notes for gameplay moments. Produces Sound cue list, Audio event notes, Verification checklist; hand off requests outside sound designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -807,6 +942,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns studio orchestrator work: Route work between roles, maintain concise handoffs, protect project scope, identify blockers, and select the next bounded studio action without running hidden parallel work. Produces Studio handoff, Next-role routing, Blocker summary; hand off requests outside studio orchestrator ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -838,6 +978,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns systems designer work: Design interconnected rules, progression loops, resource flows, balancing levers, edge cases, and acceptance tests for durable game systems. Produces Systems spec, Balance levers, Edge-case notes; hand off requests outside systems designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -867,6 +1012,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns technical artist work: Bridge art direction and runtime constraints for shaders, materials, import settings, optimization, and visual pipelines. Produces Art pipeline guidance, Asset constraints, Optimization notes; hand off requests outside technical artist ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -897,6 +1047,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns technical director work: Coordinate technical architecture, engineering tradeoffs, engine constraints, risk triage, validation gates, and discipline handoffs for game production. Produces Technical direction, Architecture tradeoffs, Risk and gate summary; hand off requests outside technical director ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -926,6 +1081,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns tools programmer work: Build editor, pipeline, automation, and developer workflow tools that reduce repeated production effort and failure-prone manual steps. Produces Tooling changes, Usage notes, Failure modes; hand off requests outside tools programmer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -955,6 +1115,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns ui programmer work: Implement HUD, menu, input, state binding, responsive layout, accessibility hooks, and UI runtime behavior from designer-facing interaction specs. Produces UI implementation, State binding notes, Interaction verification; hand off requests outside ui programmer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -977,6 +1142,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns ui ux designer work: Design interface flows, usability heuristics, HUD layout, onboarding, accessibility, menu interactions, and interaction risks. Produces UI flow review, HUD/menu recommendations, Accessibility notes; hand off requests outside ui ux designer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1006,6 +1176,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns unity specialist work: Apply Unity-specific implementation and review guidance using only the active project's Unity reference pack and project files. Produces Unity guidance, Engine-specific risks, Verification notes; hand off requests outside unity specialist ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1035,6 +1210,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns unreal specialist work: Apply Unreal-specific implementation and review guidance using only the active project's Unreal reference pack and project files. Produces Unreal guidance, Engine-specific risks, Verification notes; hand off requests outside unreal specialist ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1066,6 +1246,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns world builder work: Define factions, places, rules, environmental storytelling hooks, collectible lore, and setting constraints that support level, narrative, and content production. Produces World bible slice, Environment hooks, Consistency constraints; hand off requests outside world builder ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1097,6 +1282,11 @@ "sourceHash": true, "primarySkills": true, "toolPolicy": true + }, + "discoveryMetadata": { + "text": "Owns writer work: Draft shippable dialogue, item text, barks, tutorial copy, lore snippets, and narrative-facing implementation notes that fit the project's tone and production constraints. Produces Draft copy, Tone notes, Implementation handoff; hand off requests outside writer ownership or missing verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1120,6 +1310,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a analytics setup request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1143,6 +1338,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a architecture decision request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1166,6 +1366,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a architecture review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1189,6 +1394,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a art direction request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1212,6 +1422,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a brainstorm request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1235,6 +1450,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a bugfix request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1258,6 +1478,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a create epics request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1281,6 +1506,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a create stories request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1304,6 +1534,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a design spec request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1327,6 +1562,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a game feel tuning request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1350,6 +1590,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a handoff request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1373,6 +1618,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a hotfix request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1396,6 +1646,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a localization plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1419,6 +1674,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a market analysis request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1442,6 +1702,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a onboard request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1465,6 +1730,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a perf profile request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1488,6 +1758,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a playtest request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1511,6 +1786,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a production milestone request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1534,6 +1814,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a prototype request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1557,6 +1842,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a qa plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1580,6 +1870,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a regression suite request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1603,6 +1898,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a release checklist request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1626,6 +1926,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1649,6 +1954,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a security audit request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1672,6 +1982,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a ship check request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1695,6 +2010,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a sprint plan request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1718,6 +2038,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a sprint status request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1741,6 +2066,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a story done request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1764,6 +2094,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a story readiness request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1787,6 +2122,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a ui ux review request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1810,6 +2150,11 @@ "sourceHash": true, "agent": true, "links": true + }, + "discoveryMetadata": { + "text": "Provide a vertical slice request with the objective or decision, target files/assets/milestone, scope constraints, owner or handoff needs, and required verification evidence.", + "valid": true, + "diagnostics": [] } }, { @@ -1841,6 +2186,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for adopt tasks that inventory existing source, assets, docs, and tests before mapping work into CGS structure; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -1871,6 +2221,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for architecture decision tasks that write an ADR with context, options, decision, consequences, validation, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -1902,6 +2257,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for architecture review tasks that review architecture for layer violations, scalability risks, engine misuse, testing seams, and production readiness; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -1932,6 +2292,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for art bible tasks that define visual identity, shape language, palette, camera, animation, UI style, and asset constraints; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -1962,6 +2327,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for asset audit tasks that audit game assets for completeness, naming, import settings, ownership, licensing, and production risk; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -1992,6 +2362,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for asset spec tasks that specify an individual asset with purpose, constraints, references, dimensions, states, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2023,6 +2398,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for balance check tasks that evaluate tuning values, progression pacing, economy levers, exploits, and player-skill assumptions; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2053,6 +2433,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for brainstorm tasks that explore the game idea with player fantasy, verbs, pillars, audience, constraints, and scope tiers; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2083,6 +2468,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for bug report tasks that capture a reproducible bug with environment, steps, expected/actual behavior, severity, evidence, and owner; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2113,6 +2503,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for bug triage tasks that classify bugs by severity, priority, reproduction confidence, owner role, risk, and release impact; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2135,6 +2530,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for bugfix tasks that fix a bounded bug with reproduction evidence, minimal change, regression coverage, and handoff notes; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2165,6 +2565,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for changelog tasks that maintain a developer-facing changelog grouped by feature, fix, content, performance, and breaking change; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2196,6 +2601,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for code review tasks that review changes for correctness, maintainability, security, tests, engine idioms, and scope control; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2226,6 +2636,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for consistency check tasks that find contradictions across design, narrative, systems, UI, content, and implementation artifacts; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2257,6 +2672,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for content audit tasks that audit content coverage, duplication, tone consistency, localization needs, and production completeness; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2288,6 +2708,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for create architecture tasks that design the technical architecture, layers, data ownership, engine boundaries, and control manifest; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2319,6 +2744,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for create control manifest tasks that define implementation rules, boundaries, allowed dependencies, validation commands, and review gates; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2350,6 +2780,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for create epics tasks that break project goals into epics with outcomes, dependencies, risks, and validation gates; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2381,6 +2816,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for create stories tasks that break an epic into small stories with acceptance criteria, owner role, files, and verification; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2411,6 +2851,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for day one patch tasks that plan launch-window fixes, risk acceptance, validation, platform submission, and player communication; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2441,6 +2886,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for design review tasks that review design artifacts against pillars, player experience, production scope, and downstream implementation risk; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2471,6 +2921,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for design system tasks that author a system GDD with rules, data, edge cases, progression, feedback, and implementation acceptance tests; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2501,6 +2956,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for dev story tasks that turn a design or bug into an implementation-ready story with owner, files, acceptance tests, and dependencies; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2531,6 +2991,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for estimate tasks that estimate scope using uncertainty, dependencies, discipline handoffs, risk buffers, and confidence ranges; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2561,6 +3026,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for gate check tasks that run an advisory phase or artifact gate with criteria, evidence, concerns, and user-controlled next decision; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2591,6 +3061,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for help tasks that summarize available CGS workflows, next phase options, required artifacts, and safe commands; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2621,6 +3096,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for hotfix tasks that scope and execute an urgent fix with reproduction, minimal change, verification, release notes, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2651,6 +3131,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for launch checklist tasks that coordinate day-of-launch readiness, monitoring, community, support, rollback, and hotfix paths; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2682,6 +3167,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for localize tasks that plan localization keys, context, screenshots, pluralization, text expansion, and review workflow; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2712,6 +3202,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for map systems tasks that decompose the concept into game systems with dependency order, priority tiers, and validation needs; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2742,6 +3237,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for milestone review tasks that review milestone readiness, completed evidence, blockers, carryover, and phase transition risk; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2772,6 +3272,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for onboard tasks that orient a new contributor or agent to project state, file layout, stage, risks, and next work; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2803,6 +3308,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for patch notes tasks that write player-facing patch notes with fixes, known issues, balance changes, and verification caveats; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2834,6 +3344,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for perf profile tasks that profile frame time, memory, loading, assets, rendering, scripting, and platform constraints; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2864,6 +3379,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for playtest report tasks that capture player observations, comprehension, friction, loop completion, bugs, quotes, and design implications; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2894,6 +3414,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for project stage detect tasks that detect whether the project is in concept, design, technical setup, pre-production, production, polish, or release; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2925,6 +3450,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for propagate design change tasks that trace a design change through systems, docs, tasks, tests, content, and release risk; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2957,6 +3487,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for prototype tasks that build or plan a throwaway concept prototype around a falsifiable design hypothesis and cleanup boundary; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -2988,6 +3523,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for qa plan tasks that plan focused QA coverage across features, risks, platforms, devices, regressions, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3018,6 +3558,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for quick design tasks that draft a constrained design slice fast while preserving pillars, assumptions, and open questions; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3048,6 +3593,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for regression suite tasks that define or run regression coverage for changed systems, prior bugs, critical paths, and release blockers; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3078,6 +3628,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for release checklist tasks that check build, packaging, store, QA, localization, accessibility, rollback, and ship/no-ship readiness; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3108,6 +3663,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for retrospective tasks that facilitate a retrospective with what worked, what failed, root causes, actions, and owner follow-up; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3138,6 +3698,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for reverse document tasks that create design or technical documentation from existing implementation without inventing unverified behavior; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3168,6 +3733,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for review all gdds tasks that cross-check all GDDs for consistency, missing systems, dependency conflicts, and production readiness; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3198,6 +3768,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for scope check tasks that assess whether requested work fits the milestone and propose cuts, deferrals, or safer slices; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3229,6 +3804,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for security audit tasks that audit secrets, network surfaces, auth, saves, platform APIs, dependencies, and exploit risks; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3259,6 +3839,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for setup engine tasks that pin engine version, verify project markers, document conventions, and run engine smoke checks; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3289,6 +3874,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for skill improve tasks that improve a skill after observed failures while preserving trigger, procedure, validation, and handoff clarity; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3319,6 +3909,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for skill test tasks that test a repository skill against fixtures, required sections, dry-runs, and behavioral expectations; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3349,6 +3944,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for smoke check tasks that run the fastest useful checks proving the project opens, builds, starts, and reaches a basic playable state; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3379,6 +3979,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for soak test tasks that plan longer stability checks for memory, performance drift, save/load, networking, and live-ops loops; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3409,6 +4014,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for sprint plan tasks that create a 1-2 week sprint plan with goals, tasks, owners, dependencies, risks, and acceptance criteria; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3439,6 +4049,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for sprint status tasks that report sprint progress, blockers, risk changes, completed work, and next decisions; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3461,6 +4076,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for standards gameplay tasks that mechanics, tuning, data-driven values, engine idioms, and player-facing acceptance checks; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3483,6 +4103,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for standards prototype tasks that fast experiments with explicit hypotheses, throwaway boundaries, and graduation criteria; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3505,6 +4130,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for standards tests tasks that unit, integration, engine smoke, playtest, and regression coverage; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3527,6 +4157,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for standards ui tasks that hUD, menus, accessibility, localization, controller navigation, and input states; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3557,6 +4192,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for start tasks that clarify the game concept, engine, production mode, first milestone, and next required artifact; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3587,6 +4227,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for story done tasks that check if a story is complete with changed files, tests, acceptance evidence, and handoff notes; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3617,6 +4262,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for story readiness tasks that check if a story is implementable with clear inputs, acceptance criteria, dependencies, and validation; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3647,6 +4297,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team audio tasks that coordinate audio design, implementation, asset readiness, mix targets, and QA for audio work; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3677,6 +4332,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team combat tasks that coordinate combat design, implementation, tuning, animation, VFX, audio, and QA handoffs; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3707,6 +4367,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team level tasks that coordinate level design, blockout, art, scripting, lighting, optimization, and playtest handoffs; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3737,6 +4402,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team live ops tasks that coordinate events, telemetry, economy, content cadence, support, and incident readiness; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3767,6 +4437,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team narrative tasks that coordinate narrative content, dialogue, localization, implementation hooks, and consistency review; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3797,6 +4472,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team polish tasks that coordinate final polish across game feel, UI, audio, art, bugs, performance, and accessibility; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3828,6 +4508,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team qa tasks that coordinate QA coverage, bug triage, regression, platform checks, and release evidence; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3858,6 +4543,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team release tasks that coordinate release management, build pipeline, store assets, QA signoff, comms, and rollback; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3888,6 +4578,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for team ui tasks that coordinate UI design, implementation, accessibility, localization, controller support, and UX QA; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3918,6 +4613,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for tech debt tasks that identify technical debt, production risk, payoff, safe refactor slices, and validation needed; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3948,6 +4648,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for test evidence review tasks that review validation output, logs, screenshots, recordings, and manual checks for sufficiency and gaps; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -3978,6 +4683,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for test flakiness tasks that diagnose flaky tests by isolating timing, randomness, ordering, environment, and cleanup causes; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -4008,6 +4718,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for test helpers tasks that design reusable test helpers without hiding assertions, over-mocking, or coupling tests to implementation details; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -4038,6 +4753,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for test setup tasks that configure test harnesses, fixtures, commands, and documentation so validation is repeatable; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -4060,6 +4780,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for ui ux review tasks that review UI and UX implementation for clarity, accessibility, localization, controller support, and player comprehension; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -4091,6 +4816,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for ux design tasks that design user journeys, menus, HUD, onboarding, input states, accessibility, and localization-ready UX copy; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -4122,6 +4852,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for ux review tasks that review UX flows for clarity, friction, accessibility, localization, controller support, and player comprehension; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } }, { @@ -4154,6 +4889,11 @@ "sourceHash": true, "agent": true, "links": false + }, + "discoveryMetadata": { + "text": "Use for vertical slice tasks that validate whether a full game loop can be built at representative quality before production commitment; produce verification evidence, changed or proposed files, and handoff boundaries.", + "valid": true, + "diagnostics": [] } } ] diff --git a/references/prompt-surface-uplift-matrix.md b/references/prompt-surface-uplift-matrix.md index 7106b59..3965435 100644 --- a/references/prompt-surface-uplift-matrix.md +++ b/references/prompt-surface-uplift-matrix.md @@ -4,153 +4,153 @@ Local agents: 38; workflows: 31; skills: 79. Upstream agents: 49; skills: 73. Decisions: adopt, adapt, merge, split, defer, out-of-scope. -| Type | Local path | Upstream source | Decision | Status | Lines | Upstream lines | Score | Model metadata | Required tests | -| --- | --- | --- | --- | --- | ---: | ---: | ---: | --- | --- | -| agent | `.codex/agents/accessibility-specialist.toml` | `.claude/agents/accessibility-specialist.md` | adapt | complete | 81 | 150 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/ai-programmer.toml` | `.claude/agents/ai-programmer.md` | adapt | complete | 82 | 95 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/audio-director.toml` | `.claude/agents/audio-director.md` | adapt | complete | 81 | 118 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/community-manager.toml` | `.claude/agents/community-manager.md` | adapt | complete | 80 | 157 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/creative-director.toml` | `.claude/agents/creative-director.md` | adapt | complete | 90 | 364 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/data-scientist.toml` | | defer | deferred | 90 | | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/devops-engineer.toml` | `.claude/agents/devops-engineer.md` | adapt | complete | 82 | 95 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/economy-designer.toml` | `.claude/agents/economy-designer.md` | adapt | complete | 81 | 143 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/engine-programmer.toml` | `.claude/agents/engine-programmer.md` | adapt | complete | 82 | 103 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/game-designer.toml` | `.claude/agents/game-designer.md` | adapt | complete | 90 | 241 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/game-feel-designer.toml` | | defer | deferred | 81 | | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/gameplay-programmer.toml` | `.claude/agents/gameplay-programmer.md` | adapt | complete | 94 | 133 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/godot-specialist.toml` | `.claude/agents/godot-specialist.md` | adapt | complete | 81 | 193 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/level-designer.toml` | `.claude/agents/level-designer.md` | adapt | complete | 81 | 115 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/live-ops-designer.toml` | `.claude/agents/live-ops-designer.md` | adapt | complete | 81 | 184 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/localization-lead.toml` | `.claude/agents/localization-lead.md` | adapt | complete | 81 | 190 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/market-analyst.toml` | | defer | deferred | 81 | | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/narrative-designer.toml` | | defer | deferred | 89 | | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/network-programmer.toml` | `.claude/agents/network-programmer.md` | adapt | complete | 82 | 98 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/performance-analyst.toml` | `.claude/agents/performance-analyst.md` | adapt | complete | 90 | 112 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/producer.toml` | `.claude/agents/producer.md` | adapt | complete | 93 | 168 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/qa-playtester.toml` | | defer | deferred | 95 | | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/release-manager.toml` | `.claude/agents/release-manager.md` | adapt | complete | 93 | 180 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/security-engineer.toml` | `.claude/agents/security-engineer.md` | adapt | complete | 81 | 126 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/senior-game-artist.toml` | | defer | deferred | 90 | | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/senior-game-designer.toml` | | defer | deferred | 81 | | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/sound-designer.toml` | `.claude/agents/sound-designer.md` | adapt | complete | 80 | 85 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/studio-orchestrator.toml` | | defer | deferred | 81 | | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/systems-designer.toml` | `.claude/agents/systems-designer.md` | adapt | complete | 90 | 157 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/technical-artist.toml` | `.claude/agents/technical-artist.md` | adapt | complete | 82 | 108 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/technical-director.toml` | `.claude/agents/technical-director.md` | adapt | complete | 90 | 159 | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/tools-programmer.toml` | `.claude/agents/tools-programmer.md` | adapt | complete | 82 | 101 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/ui-programmer.toml` | `.claude/agents/ui-programmer.md` | adapt | complete | 82 | 102 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/ui-ux-designer.toml` | | defer | deferred | 90 | | 56 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/unity-specialist.toml` | `.claude/agents/unity-specialist.md` | adapt | complete | 81 | 184 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/unreal-specialist.toml` | `.claude/agents/unreal-specialist.md` | adapt | complete | 81 | 172 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/world-builder.toml` | `.claude/agents/world-builder.md` | adapt | complete | 81 | 111 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| agent | `.codex/agents/writer.toml` | `.claude/agents/writer.md` | adapt | complete | 80 | 104 | 50 | yes | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/analytics-setup.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/architecture-decision.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/architecture-review.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/art-direction.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/brainstorm.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/bugfix.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/create-epics.md` | | defer | deferred | 85 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/create-stories.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/design-spec.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/game-feel-tuning.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/handoff.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/hotfix.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/localization-plan.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/market-analysis.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/onboard.md` | | defer | deferred | 86 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/perf-profile.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/playtest.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/production-milestone.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/prototype.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/qa-plan.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/regression-suite.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/release-checklist.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/review.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/security-audit.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/ship-check.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/sprint-plan.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/sprint-status.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/story-done.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/story-readiness.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/ui-ux-review.md` | | defer | deferred | 83 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| workflow | `.codex/workflows/vertical-slice.md` | | defer | deferred | 84 | | 56 | yes | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-adopt/SKILL.md` | `.claude/skills/adopt/SKILL.md` | adapt | complete | 113 | 443 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-architecture-decision/SKILL.md` | `.claude/skills/architecture-decision/SKILL.md` | adapt | complete | 112 | 456 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-architecture-review/SKILL.md` | `.claude/skills/architecture-review/SKILL.md` | adapt | complete | 112 | 665 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-art-bible/SKILL.md` | `.claude/skills/art-bible/SKILL.md` | adapt | complete | 111 | 249 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-asset-audit/SKILL.md` | `.claude/skills/asset-audit/SKILL.md` | adapt | complete | 111 | 95 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-asset-spec/SKILL.md` | `.claude/skills/asset-spec/SKILL.md` | adapt | complete | 111 | 352 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-balance-check/SKILL.md` | `.claude/skills/balance-check/SKILL.md` | adapt | complete | 111 | 123 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-brainstorm/SKILL.md` | `.claude/skills/brainstorm/SKILL.md` | adapt | complete | 112 | 359 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-bug-report/SKILL.md` | `.claude/skills/bug-report/SKILL.md` | adapt | complete | 115 | 164 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-bug-triage/SKILL.md` | `.claude/skills/bug-triage/SKILL.md` | adapt | complete | 114 | 244 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-bugfix/SKILL.md` | | defer | deferred | 115 | | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-changelog/SKILL.md` | `.claude/skills/changelog/SKILL.md` | adapt | complete | 113 | 177 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-code-review/SKILL.md` | `.claude/skills/code-review/SKILL.md` | adapt | complete | 111 | 185 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-consistency-check/SKILL.md` | `.claude/skills/consistency-check/SKILL.md` | adapt | complete | 111 | 308 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-content-audit/SKILL.md` | `.claude/skills/content-audit/SKILL.md` | adapt | complete | 111 | 205 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-create-architecture/SKILL.md` | `.claude/skills/create-architecture/SKILL.md` | adapt | complete | 111 | 468 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-create-control-manifest/SKILL.md` | `.claude/skills/create-control-manifest/SKILL.md` | adapt | complete | 111 | 288 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-create-epics/SKILL.md` | `.claude/skills/create-epics/SKILL.md` | adapt | complete | 112 | 245 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-create-stories/SKILL.md` | `.claude/skills/create-stories/SKILL.md` | adapt | complete | 112 | 333 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-day-one-patch/SKILL.md` | `.claude/skills/day-one-patch/SKILL.md` | adapt | complete | 113 | 226 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-design-review/SKILL.md` | `.claude/skills/design-review/SKILL.md` | adapt | complete | 111 | 268 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-design-system/SKILL.md` | `.claude/skills/design-system/SKILL.md` | adapt | complete | 111 | 871 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-dev-story/SKILL.md` | `.claude/skills/dev-story/SKILL.md` | adapt | complete | 111 | 325 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-estimate/SKILL.md` | `.claude/skills/estimate/SKILL.md` | adapt | complete | 111 | 132 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-gate-check/SKILL.md` | `.claude/skills/gate-check/SKILL.md` | adapt | complete | 111 | 542 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-help/SKILL.md` | `.claude/skills/help/SKILL.md` | adapt | complete | 113 | 228 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-hotfix/SKILL.md` | `.claude/skills/hotfix/SKILL.md` | adapt | complete | 114 | 180 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-launch-checklist/SKILL.md` | `.claude/skills/launch-checklist/SKILL.md` | adapt | complete | 113 | 240 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-localize/SKILL.md` | `.claude/skills/localize/SKILL.md` | adapt | complete | 113 | 441 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-map-systems/SKILL.md` | `.claude/skills/map-systems/SKILL.md` | adapt | complete | 111 | 364 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-milestone-review/SKILL.md` | `.claude/skills/milestone-review/SKILL.md` | adapt | complete | 111 | 156 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-onboard/SKILL.md` | `.claude/skills/onboard/SKILL.md` | adapt | complete | 113 | 96 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-patch-notes/SKILL.md` | `.claude/skills/patch-notes/SKILL.md` | adapt | complete | 113 | 186 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-perf-profile/SKILL.md` | `.claude/skills/perf-profile/SKILL.md` | adapt | complete | 114 | 126 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-playtest-report/SKILL.md` | `.claude/skills/playtest-report/SKILL.md` | adapt | complete | 114 | 147 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-project-stage-detect/SKILL.md` | `.claude/skills/project-stage-detect/SKILL.md` | adapt | complete | 113 | 195 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-propagate-design-change/SKILL.md` | `.claude/skills/propagate-design-change/SKILL.md` | adapt | complete | 111 | 239 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-prototype/SKILL.md` | `.claude/skills/prototype/SKILL.md` | adapt | complete | 115 | 579 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-qa-plan/SKILL.md` | `.claude/skills/qa-plan/SKILL.md` | adapt | complete | 115 | 278 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-quick-design/SKILL.md` | `.claude/skills/quick-design/SKILL.md` | adapt | complete | 111 | 295 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-regression-suite/SKILL.md` | `.claude/skills/regression-suite/SKILL.md` | adapt | complete | 115 | 256 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-release-checklist/SKILL.md` | `.claude/skills/release-checklist/SKILL.md` | adapt | complete | 114 | 182 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-retrospective/SKILL.md` | `.claude/skills/retrospective/SKILL.md` | adapt | complete | 113 | 221 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-reverse-document/SKILL.md` | `.claude/skills/reverse-document/SKILL.md` | adapt | complete | 111 | 263 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-review-all-gdds/SKILL.md` | `.claude/skills/review-all-gdds/SKILL.md` | adapt | complete | 111 | 639 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-scope-check/SKILL.md` | `.claude/skills/scope-check/SKILL.md` | adapt | complete | 111 | 128 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-security-audit/SKILL.md` | `.claude/skills/security-audit/SKILL.md` | adapt | complete | 114 | 245 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-setup-engine/SKILL.md` | `.claude/skills/setup-engine/SKILL.md` | adapt | complete | 113 | 716 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-skill-improve/SKILL.md` | `.claude/skills/skill-improve/SKILL.md` | adapt | complete | 114 | 145 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-skill-test/SKILL.md` | `.claude/skills/skill-test/SKILL.md` | adapt | complete | 114 | 357 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-smoke-check/SKILL.md` | `.claude/skills/smoke-check/SKILL.md` | adapt | complete | 114 | 422 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-soak-test/SKILL.md` | `.claude/skills/soak-test/SKILL.md` | adapt | complete | 114 | 284 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-sprint-plan/SKILL.md` | `.claude/skills/sprint-plan/SKILL.md` | adapt | complete | 112 | 281 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-sprint-status/SKILL.md` | `.claude/skills/sprint-status/SKILL.md` | adapt | complete | 112 | 208 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-standards-gameplay/SKILL.md` | | defer | deferred | 98 | | 98 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-standards-prototype/SKILL.md` | | defer | deferred | 98 | | 98 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-standards-tests/SKILL.md` | | defer | deferred | 98 | | 98 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-standards-ui/SKILL.md` | | defer | deferred | 98 | | 98 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-start/SKILL.md` | `.claude/skills/start/SKILL.md` | adapt | complete | 113 | 245 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-story-done/SKILL.md` | `.claude/skills/story-done/SKILL.md` | adapt | complete | 112 | 459 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-story-readiness/SKILL.md` | `.claude/skills/story-readiness/SKILL.md` | adapt | complete | 112 | 355 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-audio/SKILL.md` | `.claude/skills/team-audio/SKILL.md` | adapt | complete | 113 | 145 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-combat/SKILL.md` | `.claude/skills/team-combat/SKILL.md` | adapt | complete | 113 | 143 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-level/SKILL.md` | `.claude/skills/team-level/SKILL.md` | adapt | complete | 113 | 194 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-live-ops/SKILL.md` | `.claude/skills/team-live-ops/SKILL.md` | adapt | complete | 113 | 159 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-narrative/SKILL.md` | `.claude/skills/team-narrative/SKILL.md` | adapt | complete | 113 | 126 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-polish/SKILL.md` | `.claude/skills/team-polish/SKILL.md` | adapt | complete | 113 | 140 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-qa/SKILL.md` | `.claude/skills/team-qa/SKILL.md` | adapt | complete | 113 | 244 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-release/SKILL.md` | `.claude/skills/team-release/SKILL.md` | adapt | complete | 113 | 168 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-team-ui/SKILL.md` | `.claude/skills/team-ui/SKILL.md` | adapt | complete | 113 | 186 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-tech-debt/SKILL.md` | `.claude/skills/tech-debt/SKILL.md` | adapt | complete | 113 | 140 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-test-evidence-review/SKILL.md` | `.claude/skills/test-evidence-review/SKILL.md` | adapt | complete | 114 | 251 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-test-flakiness/SKILL.md` | `.claude/skills/test-flakiness/SKILL.md` | adapt | complete | 114 | 211 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-test-helpers/SKILL.md` | `.claude/skills/test-helpers/SKILL.md` | adapt | complete | 114 | 395 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-test-setup/SKILL.md` | `.claude/skills/test-setup/SKILL.md` | adapt | complete | 114 | 426 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-ui-ux-review/SKILL.md` | | defer | deferred | 112 | | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-ux-design/SKILL.md` | `.claude/skills/ux-design/SKILL.md` | adapt | complete | 111 | 989 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-ux-review/SKILL.md` | `.claude/skills/ux-review/SKILL.md` | adapt | complete | 111 | 263 | 99 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | -| skill | `.agents/skills/cgs-vertical-slice/SKILL.md` | `.claude/skills/vertical-slice/SKILL.md` | adapt | complete | 123 | 359 | 100 | yes | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| Type | Local path | Upstream source | Decision | Status | Lines | Upstream lines | Score | Model metadata | Discovery metadata | Required tests | +| --- | --- | --- | --- | --- | ---: | ---: | ---: | --- | --- | --- | +| agent | `.codex/agents/accessibility-specialist.toml` | `.claude/agents/accessibility-specialist.md` | adapt | complete | 81 | 150 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/ai-programmer.toml` | `.claude/agents/ai-programmer.md` | adapt | complete | 82 | 95 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/audio-director.toml` | `.claude/agents/audio-director.md` | adapt | complete | 81 | 118 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/community-manager.toml` | `.claude/agents/community-manager.md` | adapt | complete | 80 | 157 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/creative-director.toml` | `.claude/agents/creative-director.md` | adapt | complete | 90 | 364 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/data-scientist.toml` | | defer | deferred | 90 | | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/devops-engineer.toml` | `.claude/agents/devops-engineer.md` | adapt | complete | 82 | 95 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/economy-designer.toml` | `.claude/agents/economy-designer.md` | adapt | complete | 81 | 143 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/engine-programmer.toml` | `.claude/agents/engine-programmer.md` | adapt | complete | 82 | 103 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/game-designer.toml` | `.claude/agents/game-designer.md` | adapt | complete | 90 | 241 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/game-feel-designer.toml` | | defer | deferred | 81 | | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/gameplay-programmer.toml` | `.claude/agents/gameplay-programmer.md` | adapt | complete | 94 | 133 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/godot-specialist.toml` | `.claude/agents/godot-specialist.md` | adapt | complete | 81 | 193 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/level-designer.toml` | `.claude/agents/level-designer.md` | adapt | complete | 81 | 115 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/live-ops-designer.toml` | `.claude/agents/live-ops-designer.md` | adapt | complete | 81 | 184 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/localization-lead.toml` | `.claude/agents/localization-lead.md` | adapt | complete | 81 | 190 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/market-analyst.toml` | | defer | deferred | 81 | | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/narrative-designer.toml` | | defer | deferred | 89 | | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/network-programmer.toml` | `.claude/agents/network-programmer.md` | adapt | complete | 82 | 98 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/performance-analyst.toml` | `.claude/agents/performance-analyst.md` | adapt | complete | 90 | 112 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/producer.toml` | `.claude/agents/producer.md` | adapt | complete | 93 | 168 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/qa-playtester.toml` | | defer | deferred | 95 | | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/release-manager.toml` | `.claude/agents/release-manager.md` | adapt | complete | 93 | 180 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/security-engineer.toml` | `.claude/agents/security-engineer.md` | adapt | complete | 81 | 126 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/senior-game-artist.toml` | | defer | deferred | 90 | | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/senior-game-designer.toml` | | defer | deferred | 81 | | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/sound-designer.toml` | `.claude/agents/sound-designer.md` | adapt | complete | 80 | 85 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/studio-orchestrator.toml` | | defer | deferred | 81 | | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/systems-designer.toml` | `.claude/agents/systems-designer.md` | adapt | complete | 90 | 157 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/technical-artist.toml` | `.claude/agents/technical-artist.md` | adapt | complete | 82 | 108 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/technical-director.toml` | `.claude/agents/technical-director.md` | adapt | complete | 90 | 159 | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/tools-programmer.toml` | `.claude/agents/tools-programmer.md` | adapt | complete | 82 | 101 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/ui-programmer.toml` | `.claude/agents/ui-programmer.md` | adapt | complete | 82 | 102 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/ui-ux-designer.toml` | | defer | deferred | 90 | | 56 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/unity-specialist.toml` | `.claude/agents/unity-specialist.md` | adapt | complete | 81 | 184 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/unreal-specialist.toml` | `.claude/agents/unreal-specialist.md` | adapt | complete | 81 | 172 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/world-builder.toml` | `.claude/agents/world-builder.md` | adapt | complete | 81 | 111 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| agent | `.codex/agents/writer.toml` | `.claude/agents/writer.md` | adapt | complete | 80 | 104 | 50 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/roles.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/analytics-setup.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/architecture-decision.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/architecture-review.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/art-direction.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/brainstorm.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/bugfix.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/create-epics.md` | | defer | deferred | 85 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/create-stories.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/design-spec.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/game-feel-tuning.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/handoff.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/hotfix.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/localization-plan.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/market-analysis.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/onboard.md` | | defer | deferred | 86 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/perf-profile.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/playtest.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/production-milestone.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/prototype.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/qa-plan.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/regression-suite.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/release-checklist.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/review.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/security-audit.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/ship-check.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/sprint-plan.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/sprint-status.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/story-done.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/story-readiness.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/ui-ux-review.md` | | defer | deferred | 83 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| workflow | `.codex/workflows/vertical-slice.md` | | defer | deferred | 84 | | 56 | yes | pass | `tests/workflow-catalog.test.ts`
`tests/workflow-recipes.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-adopt/SKILL.md` | `.claude/skills/adopt/SKILL.md` | adapt | complete | 113 | 443 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-architecture-decision/SKILL.md` | `.claude/skills/architecture-decision/SKILL.md` | adapt | complete | 112 | 456 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-architecture-review/SKILL.md` | `.claude/skills/architecture-review/SKILL.md` | adapt | complete | 112 | 665 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-art-bible/SKILL.md` | `.claude/skills/art-bible/SKILL.md` | adapt | complete | 111 | 249 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-asset-audit/SKILL.md` | `.claude/skills/asset-audit/SKILL.md` | adapt | complete | 111 | 95 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-asset-spec/SKILL.md` | `.claude/skills/asset-spec/SKILL.md` | adapt | complete | 111 | 352 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-balance-check/SKILL.md` | `.claude/skills/balance-check/SKILL.md` | adapt | complete | 111 | 123 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-brainstorm/SKILL.md` | `.claude/skills/brainstorm/SKILL.md` | adapt | complete | 112 | 359 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-bug-report/SKILL.md` | `.claude/skills/bug-report/SKILL.md` | adapt | complete | 115 | 164 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-bug-triage/SKILL.md` | `.claude/skills/bug-triage/SKILL.md` | adapt | complete | 114 | 244 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-bugfix/SKILL.md` | | defer | deferred | 115 | | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-changelog/SKILL.md` | `.claude/skills/changelog/SKILL.md` | adapt | complete | 113 | 177 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-code-review/SKILL.md` | `.claude/skills/code-review/SKILL.md` | adapt | complete | 111 | 185 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-consistency-check/SKILL.md` | `.claude/skills/consistency-check/SKILL.md` | adapt | complete | 111 | 308 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-content-audit/SKILL.md` | `.claude/skills/content-audit/SKILL.md` | adapt | complete | 111 | 205 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-create-architecture/SKILL.md` | `.claude/skills/create-architecture/SKILL.md` | adapt | complete | 111 | 468 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-create-control-manifest/SKILL.md` | `.claude/skills/create-control-manifest/SKILL.md` | adapt | complete | 111 | 288 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-create-epics/SKILL.md` | `.claude/skills/create-epics/SKILL.md` | adapt | complete | 112 | 245 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-create-stories/SKILL.md` | `.claude/skills/create-stories/SKILL.md` | adapt | complete | 112 | 333 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-day-one-patch/SKILL.md` | `.claude/skills/day-one-patch/SKILL.md` | adapt | complete | 113 | 226 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-design-review/SKILL.md` | `.claude/skills/design-review/SKILL.md` | adapt | complete | 111 | 268 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-design-system/SKILL.md` | `.claude/skills/design-system/SKILL.md` | adapt | complete | 111 | 871 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-dev-story/SKILL.md` | `.claude/skills/dev-story/SKILL.md` | adapt | complete | 111 | 325 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-estimate/SKILL.md` | `.claude/skills/estimate/SKILL.md` | adapt | complete | 111 | 132 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-gate-check/SKILL.md` | `.claude/skills/gate-check/SKILL.md` | adapt | complete | 111 | 542 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-help/SKILL.md` | `.claude/skills/help/SKILL.md` | adapt | complete | 113 | 228 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-hotfix/SKILL.md` | `.claude/skills/hotfix/SKILL.md` | adapt | complete | 114 | 180 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-launch-checklist/SKILL.md` | `.claude/skills/launch-checklist/SKILL.md` | adapt | complete | 113 | 240 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-localize/SKILL.md` | `.claude/skills/localize/SKILL.md` | adapt | complete | 113 | 441 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-map-systems/SKILL.md` | `.claude/skills/map-systems/SKILL.md` | adapt | complete | 111 | 364 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-milestone-review/SKILL.md` | `.claude/skills/milestone-review/SKILL.md` | adapt | complete | 111 | 156 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-onboard/SKILL.md` | `.claude/skills/onboard/SKILL.md` | adapt | complete | 113 | 96 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-patch-notes/SKILL.md` | `.claude/skills/patch-notes/SKILL.md` | adapt | complete | 113 | 186 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-perf-profile/SKILL.md` | `.claude/skills/perf-profile/SKILL.md` | adapt | complete | 114 | 126 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-playtest-report/SKILL.md` | `.claude/skills/playtest-report/SKILL.md` | adapt | complete | 114 | 147 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-project-stage-detect/SKILL.md` | `.claude/skills/project-stage-detect/SKILL.md` | adapt | complete | 113 | 195 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-propagate-design-change/SKILL.md` | `.claude/skills/propagate-design-change/SKILL.md` | adapt | complete | 111 | 239 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-prototype/SKILL.md` | `.claude/skills/prototype/SKILL.md` | adapt | complete | 115 | 579 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-qa-plan/SKILL.md` | `.claude/skills/qa-plan/SKILL.md` | adapt | complete | 115 | 278 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-quick-design/SKILL.md` | `.claude/skills/quick-design/SKILL.md` | adapt | complete | 111 | 295 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-regression-suite/SKILL.md` | `.claude/skills/regression-suite/SKILL.md` | adapt | complete | 115 | 256 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-release-checklist/SKILL.md` | `.claude/skills/release-checklist/SKILL.md` | adapt | complete | 114 | 182 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-retrospective/SKILL.md` | `.claude/skills/retrospective/SKILL.md` | adapt | complete | 113 | 221 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-reverse-document/SKILL.md` | `.claude/skills/reverse-document/SKILL.md` | adapt | complete | 111 | 263 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-review-all-gdds/SKILL.md` | `.claude/skills/review-all-gdds/SKILL.md` | adapt | complete | 111 | 639 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-scope-check/SKILL.md` | `.claude/skills/scope-check/SKILL.md` | adapt | complete | 111 | 128 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-security-audit/SKILL.md` | `.claude/skills/security-audit/SKILL.md` | adapt | complete | 114 | 245 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-setup-engine/SKILL.md` | `.claude/skills/setup-engine/SKILL.md` | adapt | complete | 113 | 716 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-skill-improve/SKILL.md` | `.claude/skills/skill-improve/SKILL.md` | adapt | complete | 114 | 145 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-skill-test/SKILL.md` | `.claude/skills/skill-test/SKILL.md` | adapt | complete | 114 | 357 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-smoke-check/SKILL.md` | `.claude/skills/smoke-check/SKILL.md` | adapt | complete | 114 | 422 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-soak-test/SKILL.md` | `.claude/skills/soak-test/SKILL.md` | adapt | complete | 114 | 284 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-sprint-plan/SKILL.md` | `.claude/skills/sprint-plan/SKILL.md` | adapt | complete | 112 | 281 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-sprint-status/SKILL.md` | `.claude/skills/sprint-status/SKILL.md` | adapt | complete | 112 | 208 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-standards-gameplay/SKILL.md` | | defer | deferred | 98 | | 98 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-standards-prototype/SKILL.md` | | defer | deferred | 98 | | 98 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-standards-tests/SKILL.md` | | defer | deferred | 98 | | 98 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-standards-ui/SKILL.md` | | defer | deferred | 98 | | 98 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-start/SKILL.md` | `.claude/skills/start/SKILL.md` | adapt | complete | 113 | 245 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-story-done/SKILL.md` | `.claude/skills/story-done/SKILL.md` | adapt | complete | 112 | 459 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-story-readiness/SKILL.md` | `.claude/skills/story-readiness/SKILL.md` | adapt | complete | 112 | 355 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-audio/SKILL.md` | `.claude/skills/team-audio/SKILL.md` | adapt | complete | 113 | 145 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-combat/SKILL.md` | `.claude/skills/team-combat/SKILL.md` | adapt | complete | 113 | 143 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-level/SKILL.md` | `.claude/skills/team-level/SKILL.md` | adapt | complete | 113 | 194 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-live-ops/SKILL.md` | `.claude/skills/team-live-ops/SKILL.md` | adapt | complete | 113 | 159 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-narrative/SKILL.md` | `.claude/skills/team-narrative/SKILL.md` | adapt | complete | 113 | 126 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-polish/SKILL.md` | `.claude/skills/team-polish/SKILL.md` | adapt | complete | 113 | 140 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-qa/SKILL.md` | `.claude/skills/team-qa/SKILL.md` | adapt | complete | 113 | 244 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-release/SKILL.md` | `.claude/skills/team-release/SKILL.md` | adapt | complete | 113 | 168 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-team-ui/SKILL.md` | `.claude/skills/team-ui/SKILL.md` | adapt | complete | 113 | 186 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-tech-debt/SKILL.md` | `.claude/skills/tech-debt/SKILL.md` | adapt | complete | 113 | 140 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-test-evidence-review/SKILL.md` | `.claude/skills/test-evidence-review/SKILL.md` | adapt | complete | 114 | 251 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-test-flakiness/SKILL.md` | `.claude/skills/test-flakiness/SKILL.md` | adapt | complete | 114 | 211 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-test-helpers/SKILL.md` | `.claude/skills/test-helpers/SKILL.md` | adapt | complete | 114 | 395 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-test-setup/SKILL.md` | `.claude/skills/test-setup/SKILL.md` | adapt | complete | 114 | 426 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-ui-ux-review/SKILL.md` | | defer | deferred | 112 | | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-ux-design/SKILL.md` | `.claude/skills/ux-design/SKILL.md` | adapt | complete | 111 | 989 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-ux-review/SKILL.md` | `.claude/skills/ux-review/SKILL.md` | adapt | complete | 111 | 263 | 99 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | +| skill | `.agents/skills/cgs-vertical-slice/SKILL.md` | `.claude/skills/vertical-slice/SKILL.md` | adapt | complete | 123 | 359 | 100 | yes | pass | `tests/template-repository-surfaces.test.ts`
`tests/validation.test.ts` | diff --git a/scripts/audit-prompt-surfaces.ts b/scripts/audit-prompt-surfaces.ts index 370d765..7976b9f 100644 --- a/scripts/audit-prompt-surfaces.ts +++ b/scripts/audit-prompt-surfaces.ts @@ -2,7 +2,16 @@ import { createHash } from "node:crypto"; import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; -import { defaultModelPolicyForId, parsePromptSurfaceFrontmatter, parseTomlArrayField, parseTomlStringField } from "../src/prompt-surface-metadata.js"; +import { + defaultModelPolicyForId, + parsePromptSurfaceFrontmatter, + parseTomlArrayField, + parseTomlStringField, + validateAgentDescriptionQuality, + validateSkillDescriptionQuality, + validateWorkflowArgumentHintQuality, + type PromptDiscoveryQuality +} from "../src/prompt-surface-metadata.js"; export const promptSurfaceDecisions = ["adopt", "adapt", "merge", "split", "defer", "out-of-scope"] as const; type PromptSurfaceDecision = (typeof promptSurfaceDecisions)[number]; @@ -20,6 +29,7 @@ type SurfaceRow = { upstreamLineCount?: number; depthScore: number; metadata: Record; + discoveryMetadata: PromptDiscoveryQuality & { text: string }; }; type AuditReport = { @@ -106,6 +116,20 @@ function tomlMetadata(body: string): Record { }; } +function discoveryMetadataFor(type: SurfaceRow["sourceType"], id: string, body: string): PromptDiscoveryQuality & { text: string } { + if (type === "agent") { + const text = parseTomlStringField(body, "description") ?? ""; + return { text, ...validateAgentDescriptionQuality(text, id) }; + } + const { frontmatter } = parsePromptSurfaceFrontmatter(body); + if (type === "workflow") { + const text = typeof frontmatter["argument-hint"] === "string" ? frontmatter["argument-hint"] : ""; + return { text, ...validateWorkflowArgumentHintQuality(text, id) }; + } + const text = typeof frontmatter.description === "string" ? frontmatter.description : ""; + return { text, ...validateSkillDescriptionQuality(text, id) }; +} + function requiredTestsFor(type: SurfaceRow["sourceType"]): string[] { if (type === "workflow") return ["tests/workflow-catalog.test.ts", "tests/workflow-recipes.test.ts", "tests/validation.test.ts"]; if (type === "agent") return ["tests/template-repository-surfaces.test.ts", "tests/roles.test.ts", "tests/validation.test.ts"]; @@ -139,7 +163,8 @@ function rowFor(type: SurfaceRow["sourceType"], file: string): SurfaceRow { lineCount: lineCount(body), upstreamLineCount: sourceBody ? lineCount(sourceBody) : undefined, depthScore, - metadata + metadata, + discoveryMetadata: discoveryMetadataFor(type, id, body) }; } @@ -164,9 +189,9 @@ function writeReports(report: AuditReport): void { `Upstream agents: ${report.upstream.agents}; skills: ${report.upstream.skills}.`, `Decisions: ${report.decisionLegend.join(", ")}.`, "", - "| Type | Local path | Upstream source | Decision | Status | Lines | Upstream lines | Score | Model metadata | Required tests |", - "| --- | --- | --- | --- | --- | ---: | ---: | ---: | --- | --- |", - ...report.rows.map((row) => `| ${row.sourceType} | \`${row.localPath}\` | ${row.sourcePath ? `\`${row.sourcePath}\`` : ""} | ${row.decision} | ${row.status} | ${row.lineCount} | ${row.upstreamLineCount ?? ""} | ${row.depthScore} | ${row.metadata.model ? "yes" : "no"} | ${row.requiredTests.map((test) => `\`${test}\``).join("
")} |`), + "| Type | Local path | Upstream source | Decision | Status | Lines | Upstream lines | Score | Model metadata | Discovery metadata | Required tests |", + "| --- | --- | --- | --- | --- | ---: | ---: | ---: | --- | --- | --- |", + ...report.rows.map((row) => `| ${row.sourceType} | \`${row.localPath}\` | ${row.sourcePath ? `\`${row.sourcePath}\`` : ""} | ${row.decision} | ${row.status} | ${row.lineCount} | ${row.upstreamLineCount ?? ""} | ${row.depthScore} | ${row.metadata.model ? "yes" : "no"} | ${row.discoveryMetadata.valid ? "pass" : row.discoveryMetadata.diagnostics.map((diagnostic) => diagnostic.id).join("
")} | ${row.requiredTests.map((test) => `\`${test}\``).join("
")} |`), "" ]; writeFileSync(path.join(refDir, "prompt-surface-uplift-matrix.md"), lines.join("\n")); diff --git a/src/prompt-surface-metadata.ts b/src/prompt-surface-metadata.ts index 3efceb8..8a30e09 100644 --- a/src/prompt-surface-metadata.ts +++ b/src/prompt-surface-metadata.ts @@ -26,6 +26,27 @@ export type PromptSurfaceMetadata = { tool_policy?: string[]; }; +export type PromptDiscoveryDiagnosticId = + | "prompt.discovery.agent.generic_description" + | "prompt.discovery.agent.missing_ownership" + | "prompt.discovery.agent.missing_boundary" + | "prompt.discovery.skill.vague_description" + | "prompt.discovery.skill.missing_trigger" + | "prompt.discovery.skill.missing_outcome" + | "prompt.discovery.workflow.generic_argument_hint" + | "prompt.discovery.workflow.missing_input_request" + | "prompt.discovery.workflow.missing_evidence"; + +export type PromptDiscoveryDiagnostic = { + id: PromptDiscoveryDiagnosticId; + message: string; +}; + +export type PromptDiscoveryQuality = { + valid: boolean; + diagnostics: PromptDiscoveryDiagnostic[]; +}; + const modelByComplexity: Record = { complex: "gpt-5.5", moderate: "gpt-5.4", @@ -101,3 +122,61 @@ export function defaultModelPolicyForId(id: string): { model: CodexModelName; ef if (complexity === "moderate") return { model: "gpt-5.4", effort: "medium" }; return { model: "gpt-5.4-mini", effort: "low" }; } + +function discoveryQuality(diagnostics: PromptDiscoveryDiagnostic[]): PromptDiscoveryQuality { + return { valid: diagnostics.length === 0, diagnostics }; +} + +function hasAny(value: string, words: string[]): boolean { + const lower = value.toLowerCase(); + return words.some((word) => lower.includes(word)); +} + +function normalizedIdTerms(id: string): string[] { + return id.replace(/^cgs-/, "").split(/[-_]+/).filter((term) => term.length > 2); +} + +export function validateAgentDescriptionQuality(description: string | undefined, id: string): PromptDiscoveryQuality { + const text = (description ?? "").trim(); + const diagnostics: PromptDiscoveryDiagnostic[] = []; + const idTerms = normalizedIdTerms(id); + if (!text || /^Game development .+ agent for .+ tasks in this template repository\.?$/i.test(text) || /\bagent for\b.+\btasks in this template repository/i.test(text)) { + diagnostics.push({ id: "prompt.discovery.agent.generic_description", message: `${id} description is a generic role label` }); + } + if (!hasAny(text, ["own", "owns", "guide", "guides", "review", "reviews", "coordinate", "coordinates", "implement", "implements", "produce", "produces", "define", "defines", "build", "builds", "plan", "plans", "validate", "validates", "audit", "audits", "manage", "manages", "shape", "shapes", "test", "tests", "verify", "verifies", "localize", "localizes", "optimize", "optimizes", "protect", "protects", "prepare", "prepares", "route", "routes", "analyze", "analyzes", "set", "sets"])) { + diagnostics.push({ id: "prompt.discovery.agent.missing_ownership", message: `${id} description does not name role ownership` }); + } + if (!hasAny(text, ["hand off", "handoff", "not for", "boundary", "escalate", "defer", "without owning", "use when"])) { + diagnostics.push({ id: "prompt.discovery.agent.missing_boundary", message: `${id} description does not name a boundary or handoff condition` }); + } + if (idTerms.length && !idTerms.some((term) => text.toLowerCase().includes(term))) { + diagnostics.push({ id: "prompt.discovery.agent.generic_description", message: `${id} description lacks role-specific retrieval terms` }); + } + return discoveryQuality(diagnostics); +} + +export function validateSkillDescriptionQuality(description: string | undefined, id: string): PromptDiscoveryQuality { + const text = (description ?? "").trim(); + const diagnostics: PromptDiscoveryDiagnostic[] = []; + if (!/^Use for\b/.test(text)) diagnostics.push({ id: "prompt.discovery.skill.missing_trigger", message: `${id} description must start with a clear Use for trigger` }); + if (!text || /^Use for Codex Game Studio [^:]+ work\.?$/i.test(text) || /^Use for [a-z0-9 -]+ tasks?\.?$/i.test(text)) { + diagnostics.push({ id: "prompt.discovery.skill.vague_description", message: `${id} description is too vague for skill selection` }); + } + if (!hasAny(text, ["define", "defines", "produce", "produces", "create", "creates", "review", "reviews", "audit", "audits", "plan", "plans", "fix", "fixes", "verify", "verifies", "ship", "ships", "coordinate", "coordinates", "document", "documents", "extract", "extracts", "classify", "classifies", "prepare", "prepares", "triage", "triages", "validate", "validates", "generate", "generates", "evidence", "artifact", "handoff", "checklist", "report", "criteria", "boundary"])) { + diagnostics.push({ id: "prompt.discovery.skill.missing_outcome", message: `${id} description does not name a concrete outcome, artifact, or evidence` }); + } + return discoveryQuality(diagnostics); +} + +export function validateWorkflowArgumentHintQuality(argumentHint: string | undefined, id: string): PromptDiscoveryQuality { + const text = (argumentHint ?? "").trim(); + const diagnostics: PromptDiscoveryDiagnostic[] = []; + if (!text || /^Describe the .+ goal, target milestone\/files, constraints, and required evidence\.?$/i.test(text)) { + diagnostics.push({ id: "prompt.discovery.workflow.generic_argument_hint", message: `${id} argument hint is generic scaffold text` }); + } + if (!/^Provide\b/.test(text)) diagnostics.push({ id: "prompt.discovery.workflow.missing_input_request", message: `${id} argument hint should ask the user to provide concrete input` }); + if (!hasAny(text, ["target", "file", "files", "asset", "assets", "milestone", "scene", "code", "docs", "constraints", "scope"]) || !hasAny(text, ["evidence", "verification", "acceptance", "handoff", "build", "test", "playtest", "gate", "decision"])) { + diagnostics.push({ id: "prompt.discovery.workflow.missing_evidence", message: `${id} argument hint must request targets/constraints and verification or handoff evidence` }); + } + return discoveryQuality(diagnostics); +} diff --git a/src/validation.ts b/src/validation.ts index f73e6e2..42e72ab 100644 --- a/src/validation.ts +++ b/src/validation.ts @@ -21,7 +21,17 @@ import { isEngineSpecialistRoleId, projectRoleIdsForEngine, rolePackages, studio import { templateRegistry, validateTemplateFiles } from "./templates.js"; import { renderWorkflowPrompt, workflowIds, workflowRegistry } from "./workflows.js"; import { templateSkillDefinitions } from "./skills.js"; -import { isCodexModelName, isReasoningEffort, parsePromptSurfaceFrontmatter, parseTomlArrayField, parseTomlStringField, validateModelPolicy } from "./prompt-surface-metadata.js"; +import { + isCodexModelName, + isReasoningEffort, + parsePromptSurfaceFrontmatter, + parseTomlArrayField, + parseTomlStringField, + validateAgentDescriptionQuality, + validateModelPolicy, + validateSkillDescriptionQuality, + validateWorkflowArgumentHintQuality +} from "./prompt-surface-metadata.js"; export type CheckStatus = "pass" | "fail" | "skip"; export type ValidationCheck = { id: string; status: CheckStatus; message: string; path?: string }; @@ -292,7 +302,10 @@ function agentPromptSurfaceChecks(root: string, file: string): ValidationCheck[] const body = readFileSync(full, "utf8"); const model = parseTomlStringField(body, "model"); const effort = parseTomlStringField(body, "model_reasoning_effort"); + const description = parseTomlStringField(body, "description"); + const discovery = validateAgentDescriptionQuality(description, id); const policy = validateModelPolicy({ model: model ?? "", model_reasoning_effort: effort }); + checks.push(discovery.valid ? pass(`prompt_surface.agent.${id}.discovery_metadata`, `${id} discovery metadata is selection-oriented`, full) : fail(`prompt_surface.agent.${id}.discovery_metadata`, `${id} weak discovery metadata: ${discovery.diagnostics.map((diagnostic) => diagnostic.id).join(", ")}`, full)); checks.push(policy.valid ? pass(`prompt_surface.agent.${id}.model`, `${id} uses exact Codex model policy`, full) : fail(`prompt_surface.agent.${id}.model`, `${id} invalid model policy: ${policy.issues.join(", ")}`, full)); checks.push(hashLooksValid(parseTomlStringField(body, "source_hash")) && !!parseTomlStringField(body, "source_reference") ? pass(`prompt_surface.agent.${id}.traceability`, `${id} source traceability present`, full) : fail(`prompt_surface.agent.${id}.traceability`, `${id} missing source_reference/source_hash`, full)); const skills = parseTomlArrayField(body, "primary_skills"); @@ -311,7 +324,9 @@ function skillPromptSurfaceChecks(root: string, file: string): ValidationCheck[] const { frontmatter } = parsePromptSurfaceFrontmatter(body); const model = scalarMetadata(frontmatter.model); const effort = scalarMetadata(frontmatter.model_reasoning_effort); + const discovery = validateSkillDescriptionQuality(scalarMetadata(frontmatter.description), id); const policy = validateModelPolicy({ model: model ?? "", model_reasoning_effort: effort }); + checks.push(discovery.valid ? pass(`prompt_surface.skill.${id}.discovery_metadata`, `${id} discovery metadata is selection-oriented`, full) : fail(`prompt_surface.skill.${id}.discovery_metadata`, `${id} weak discovery metadata: ${discovery.diagnostics.map((diagnostic) => diagnostic.id).join(", ")}`, full)); checks.push(policy.valid ? pass(`prompt_surface.skill.${id}.model`, `${id} uses exact Codex model policy`, full) : fail(`prompt_surface.skill.${id}.model`, `${id} invalid model policy: ${policy.issues.join(", ")}`, full)); checks.push(hashLooksValid(scalarMetadata(frontmatter["source-hash"]) ?? scalarMetadata(frontmatter.source_hash)) && !!(scalarMetadata(frontmatter["source-reference"]) ?? scalarMetadata(frontmatter.source_reference)) ? pass(`prompt_surface.skill.${id}.traceability`, `${id} source traceability present`, full) : fail(`prompt_surface.skill.${id}.traceability`, `${id} missing source-reference/source-hash`, full)); const primaryAgent = scalarMetadata(frontmatter["primary-agent"]) ?? scalarMetadata(frontmatter.primary_agent); @@ -329,7 +344,9 @@ function workflowPromptSurfaceChecks(root: string, file: string): ValidationChec const { frontmatter } = parsePromptSurfaceFrontmatter(body); const model = scalarMetadata(frontmatter.model); const effort = scalarMetadata(frontmatter.model_reasoning_effort); + const discovery = validateWorkflowArgumentHintQuality(scalarMetadata(frontmatter["argument-hint"]), id); const policy = validateModelPolicy({ model: model ?? "", model_reasoning_effort: effort }); + checks.push(discovery.valid ? pass(`prompt_surface.workflow.${id}.discovery_metadata`, `${id} discovery metadata is selection-oriented`, full) : fail(`prompt_surface.workflow.${id}.discovery_metadata`, `${id} weak discovery metadata: ${discovery.diagnostics.map((diagnostic) => diagnostic.id).join(", ")}`, full)); checks.push(policy.valid ? pass(`prompt_surface.workflow.${id}.model`, `${id} uses exact Codex model policy`, full) : fail(`prompt_surface.workflow.${id}.model`, `${id} invalid model policy: ${policy.issues.join(", ")}`, full)); const agent = scalarMetadata(frontmatter["primary-agent"]) ?? scalarMetadata(frontmatter.primary_agent); checks.push(agent && existsSync(path.join(root, ".codex", "agents", `${agent}.toml`)) ? pass(`prompt_surface.workflow.${id}.agent_link`, `${id} primary agent resolves`, full) : fail(`prompt_surface.workflow.${id}.agent_link`, `${id} primary agent link missing or broken`, full)); diff --git a/tests/prompt-surface-audit.test.ts b/tests/prompt-surface-audit.test.ts index 4e861a9..80d1816 100644 --- a/tests/prompt-surface-audit.test.ts +++ b/tests/prompt-surface-audit.test.ts @@ -9,7 +9,7 @@ const repoRoot = process.cwd(); describe("prompt surface audit", () => { test("audits local and CCGS prompt surfaces with metadata, decisions, and tests", () => { const output = execFileSync(process.execPath, ["--import", "tsx", "scripts/audit-prompt-surfaces.ts", "--json"], { cwd: repoRoot, encoding: "utf8" }); - const report = JSON.parse(output) as { local: { agents: number; workflows: number; skills: number }; upstream: { agents: number; skills: number }; decisionLegend: string[]; rows: Array<{ localPath: string; sourcePath?: string; sourceHash?: string; decision: string; status: string; metadata: Record; requiredTests: string[] }> }; + const report = JSON.parse(output) as { local: { agents: number; workflows: number; skills: number }; upstream: { agents: number; skills: number }; decisionLegend: string[]; rows: Array<{ localPath: string; sourcePath?: string; sourceHash?: string; decision: string; status: string; metadata: Record; discoveryMetadata: { text: string; valid: boolean; diagnostics: Array<{ id: string; message: string }> }; requiredTests: string[] }> }; expect(report.local.agents).toBeGreaterThanOrEqual(38); expect(report.local.workflows).toBeGreaterThanOrEqual(31); expect(report.local.skills).toBeGreaterThanOrEqual(79); @@ -22,10 +22,16 @@ describe("prompt surface audit", () => { expect(["adapt", "adopt", "merge", "split", "defer", "out-of-scope"]).toContain(prototype?.decision); expect(prototype?.status).toMatch(/complete|needs-uplift|deferred/); expect(prototype?.metadata.model).toBe(true); + expect(prototype?.discoveryMetadata.text).toContain("prototype"); + expect(prototype?.discoveryMetadata.valid).toBe(true); expect(prototype?.requiredTests).toContain("tests/validation.test.ts"); const gameDesigner = report.rows.find((row) => row.localPath === ".codex/agents/game-designer.toml"); expect(gameDesigner?.sourcePath).toBe(".claude/agents/game-designer.md"); expect(gameDesigner?.metadata.model).toBe(true); + expect(gameDesigner?.discoveryMetadata.valid).toBe(true); + const verticalSlice = report.rows.find((row) => row.localPath === ".codex/workflows/vertical-slice.md"); + expect(verticalSlice?.discoveryMetadata.text).toContain("slice"); + expect(verticalSlice?.discoveryMetadata.valid).toBe(true); expect(existsSync(path.join(repoRoot, "references", "prompt-surface-uplift-matrix.json"))).toBe(true); expect(readFileSync(path.join(repoRoot, "references", "prompt-surface-uplift-matrix.md"), "utf8")).toContain("cgs-prototype"); }); diff --git a/tests/prompt-surface-metadata.test.ts b/tests/prompt-surface-metadata.test.ts index 93405f3..bb59552 100644 --- a/tests/prompt-surface-metadata.test.ts +++ b/tests/prompt-surface-metadata.test.ts @@ -1,6 +1,15 @@ import { describe, test } from "node:test"; import { expect } from "expect"; -import { codexModelForComplexity, isCodexModelName, parsePromptSurfaceFrontmatter, validateModelPolicy, type PromptSurfaceComplexity } from "../src/prompt-surface-metadata.js"; +import { + codexModelForComplexity, + isCodexModelName, + parsePromptSurfaceFrontmatter, + validateAgentDescriptionQuality, + validateModelPolicy, + validateSkillDescriptionQuality, + validateWorkflowArgumentHintQuality, + type PromptSurfaceComplexity +} from "../src/prompt-surface-metadata.js"; describe("prompt surface metadata", () => { test("maps complexity to exact Codex model names", () => { @@ -22,4 +31,40 @@ describe("prompt surface metadata", () => { expect(parsed.frontmatter.model_reasoning_effort).toBe("high"); expect(parsed.body).toContain("# Body"); }); + + test("flags generic agent descriptions and accepts selection-oriented ownership metadata", () => { + const generic = validateAgentDescriptionQuality("Game development Game Designer agent for game-designer tasks in this template repository.", "game-designer"); + expect(generic.valid).toBe(false); + expect(generic.diagnostics.map((diagnostic) => diagnostic.id)).toContain("prompt.discovery.agent.generic_description"); + + const specific = validateAgentDescriptionQuality( + "Owns implementable gameplay mechanics, tuning values, edge cases, and player-facing acceptance criteria for bounded feature design; hand off production scope or QA evidence decisions.", + "game-designer" + ); + expect(specific.valid).toBe(true); + }); + + test("flags non-actionable skill descriptions and accepts trigger/outcome metadata", () => { + const generic = validateSkillDescriptionQuality("Use for Codex Game Studio prototype work.", "cgs-prototype"); + expect(generic.valid).toBe(false); + expect(generic.diagnostics.map((diagnostic) => diagnostic.id)).toContain("prompt.discovery.skill.vague_description"); + + const specific = validateSkillDescriptionQuality( + "Use for prototype experiments: define a falsifiable gameplay hypothesis, throwaway boundary, success signal, cleanup plan, and verification evidence.", + "cgs-prototype" + ); + expect(specific.valid).toBe(true); + }); + + test("flags generic workflow argument hints and accepts workflow-specific input guidance", () => { + const generic = validateWorkflowArgumentHintQuality("Describe the vertical-slice goal, target milestone/files, constraints, and required evidence.", "vertical-slice"); + expect(generic.valid).toBe(false); + expect(generic.diagnostics.map((diagnostic) => diagnostic.id)).toContain("prompt.discovery.workflow.generic_argument_hint"); + + const specific = validateWorkflowArgumentHintQuality( + "Provide the playable slice goal, milestone target, involved scenes/assets/code paths, scope constraints, acceptance gates, and required build or playtest evidence.", + "vertical-slice" + ); + expect(specific.valid).toBe(true); + }); });