adopt
Brownfield audit — do existing artifacts actually work? Numbered migration plan. Unlike /project-stage-detect, checks compliance…
Validate skill files for structural compliance and behavioral correctness. Four modes: static linter, spec, category rubric, audit.
Claude Code
$ npx -y skills add Donchitos/Claude-Code-Game-Studios --skill skill-test --agent claude-code
Codex
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-test -a codex -y
Cursor
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-test -a cursor -y
Gemini CLI
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-test -a gemini-cli -y
GitHub Copilot
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-test -a github-copilot -y
OpenCode
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-test -a opencode -y
Windsurf
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill skill-test -a windsurf -y
name: skill-test description: "Validate skill files for structural compliance and behavioral correctness. Four modes: static linter, spec, category rubric, audit." argument-hint: "static [skill-name | all] | spec [skill-or-agent-name] | category [skill-or-agent-name | all] | audit" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Edit, Bash(bash "*/.claude/skills/skill-test/../../hooks/yaml-helper.sh" resolve_config *), Bash(bash .claude/scripts/agent-check.sh*), Bash(bash .claude/scripts/compat-inventory.sh*) model: sonnet
!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys automation`
**Automation mode**: Resolve `modes.automation` (`project.local.yaml` → `project.yaml` → default `collaborative`). Every `AskUserQuestion` call and every file write follows `.claude/docs/automation-modes.md` (collaborative asks always · guided major-only · autonomous logs and proceeds; `automation_always_ask` categories always prompt).
Validates skills (`.claude/skills/*/SKILL.md`) and agents (`.claude/agents/*.md`) for structural compliance and behavioral correctness. No external dependencies — runs entirely within the existing skill/hook/template architecture.
**Four modes:**
| Mode | Command | Purpose | Token Cost | |------|---------|---------|------------| | `static` | `/skill-test static [name\|all]` | Structural linter — 7 compliance checks per skill, plus agent, delegation and compatibility observations | Low (~1k/skill) | | `spec` | `/skill-test spec [name]` | Behavioral verifier — evaluates assertions in a skill's or agent's test spec | Medium (~5k each) | | `category` | `/skill-test category [name\|all]` | Category rubric — checks a skill or agent against its category-specific metrics | Low (~2k each) | | `audit` | `/skill-test audit` | Coverage report — skills, agent specs, last test dates | Low (~3k total) |
**What a pass proves.** Every mode reads files; none runs the skill. `static`: the file has the structure a skill needs, not that it behaves. `spec`: read closely, the instructions cover each case, not that Claude follows them when it runs. `category`: the skill meets its category's rubric as written. `audit`: which skills and agents have specs, and when each was last checked. What a skill does shows only when it runs: a real request in a throwaway copy of the project, on each model you use, with and without the skill (Anthropic's Agent Skills best practices, "Build evaluations first").
---
Determine mode from the first argument:
If the argument is unrecognized, output usage and stop.
**The old spec folder.** Glob `CCGS Skill Testing Framework/catalog.yaml`. When it exists, say so first: "`CCGS Skill Testing Framework/` was renamed `studio-tests/` in 1.2.0, and this skill reads only `studio-tests/`. Move any specs you wrote there; UPGRADING.md (v1.1.3 → v1.2.0, `studio-tests/`) says how." Then go on with `studio-tests/`.
**Resolve the name before `spec` or `category`.** Look it up in `studio-tests/catalog.yaml`: an entry under `skills:` is a skill (`.claude/skills/[name]/SKILL.md`); an entry under `agents:` is an agent (`.claude/agents/[name].md`). With no catalog entry, use whichever of those two files exists. Only when neither exists, report "'[name]' is neither a skill in `.claude/skills/` nor an agent in `.claude/agents/`." and stop. A name that is also an ordinary word is still a name: `/skill-test spec help` tests the `/next-step` skill, never a request for this skill's usage.
The 7 checks lint SKILL.md structure, so they are skills-only. Given an agent name, `static` runs only the observations below: an agent file has no phases or verdict keywords to lint. Never report the agent as missing.
---
For each skill being tested, read its `SKILL.md` and every file in its `references/` folder fully, and run all 7 checks on them as one skill — the longest skills keep each phase in `references/`. The frontmatter checks (1, 6 and 7) read `SKILL.md`.
The file must contain all of these in the YAML frontmatter block:
**FAIL** if any are absent. A file whose frontmatter does not parse fails Check 1 too — malformed YAML is a structural defect this check exists to catch, not an unassessable file; see the per-skill result rule below.
The skill must have ≥2 numbered phase headings. Look for patterns like:
**FAIL** if fewer than 2 phase-like headings are found.
The skill must communicate a clear outcome. Accept any of:
`BLOCKED`, `COMPLETE`, `READY`, `COMPLIANT`, `NON-COMPLIANT`
findings by severity instead of issuing one verdict for the whole run.
**FAIL** if none are present **and** the skill produces an assessment — its description or body promises a review, audit, check, gate, or readiness judgement.
**WARN** (never FAIL) i
Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.
Brownfield audit — do existing artifacts actually work? Numbered migration plan. Unlike /project-stage-detect, checks compliance…
Create an ADR documenting a technical decision: context, alternatives considered, consequences.
Traceability matrix mapping GDD requirements to ADRs. Finds gaps, cross-ADR conflicts, engine compatibility. PASS/CONCERNS/NOT…
Author the Art Bible — visual identity gating asset production. Run before /map-systems.
Audit assets against naming conventions, file size budgets, format standards. Finds orphaned assets, missing references.
Per-asset visual specs plus AI generation prompts from GDDs and character profiles. After the art bible.
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration