Game Art Direction
zenstory-ai/novel-to-game
Turns a game design document into an art direction document covering visual identity, HUD and feedback, sound direction and the key in-game moments.
Writes per-asset visual specs and AI image-generation prompts for a game's characters, enemies and screens, driven by the GDD, art bible and an entity inventory.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios asset-spec --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/asset-spec .claude/skills/asset-spec && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "asset-spec" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/asset-spec into .claude/skills/asset-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asset-spec", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/asset-specType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios asset-spec --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/asset-spec .agents/skills/asset-spec && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "asset-spec" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/asset-spec into .agents/skills/asset-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asset-spec", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios asset-spec --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/asset-spec .cursor/skills/asset-spec && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "asset-spec" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/asset-spec into .cursor/skills/asset-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asset-spec", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Donchitos/Claude-Code-Game-Studios.git --path .claude/skills/asset-spec--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios asset-spec --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/asset-spec .gemini/skills/asset-spec && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "asset-spec" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/asset-spec into .gemini/skills/asset-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asset-spec", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Donchitos/Claude-Code-Game-Studios asset-specInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/asset-spec .github/skills/asset-spec && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "asset-spec" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/asset-spec into .github/skills/asset-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asset-spec", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Donchitos/Claude-Code-Game-Studios asset-spec --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/asset-spec .opencode/skills/asset-spec && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "asset-spec" agent skill from https://github.com/Donchitos/Claude-Code-Game-Studios/tree/main/.claude/skills/asset-spec into .opencode/skills/asset-spec/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "asset-spec", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
asset-specWrites per-asset visual specs and AI image-generation prompts for a game's characters, enemies and screens, driven by the GDD, art bible and an entity inventory.
When run with no argument, the agent looks for an existing entity inventory or asset manifest and asks whether to generate specs for the next item marked Needed but not yet specced, offering to pick a different item or stop instead. If neither file exists, it first runs an inventory phase that reads the GDD's systems index, greps each GDD's Visual and UI Requirements sections rather than reading every document in full, checks a named-entity registry when present, and pulls categories from the art bible, producing a master entity-inventory file before any spec writing begins.
Every AskUserQuestion call follows the project's automation-mode rules, so how often the agent pauses to confirm depends on whether the mode is collaborative, guided or autonomous, except that actually calling an external image generation API always requires confirmation regardless of mode, since it is an irreversible external action; today the skill only produces generation-prompt text rather than calling a generator itself.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit be8993b. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGlobGrepWriteEditAgentAskUserQuestionBash(bash "*/.claude/skills/asset-spec/../../hooks/yaml-helper.sh" resolve_config *)From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Game Asset Spec Writer loads about 5k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 2,295 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Donchitos/Claude-Code-Game-Studios at commit be8993b, republished under its MIT licence (© Donchitos). 2,295 words, ~5,021 tokens.
.claude/skills/asset-spec/SKILL.md (or your agent's skills folder).!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys review_mode,automation
If no argument is provided, check whether design/assets/entity-inventory.md exists:
AskUserQuestion:[A] Yes — spec [name] / [B] Pick a different item / [C] Stop heredesign/assets/asset-manifest.md. If manifest exists, same flow above but reading from manifest.Every AskUserQuestion call follows .claude/docs/automation-modes.md
(collaborative asks always · guided major-only · autonomous logs and proceeds;
automation_always_ask categories always prompt). Note: actually invoking an external image
generator (calling an image API) always prompts regardless of
modes.automation — it is an irreversible external action guarded
unconditionally, independent of whether external_calls is listed in
automation_always_ask. (Today this skill only emits generation-prompt
text; the guard applies if live generation is ever wired in.)
This flow produces design/assets/entity-inventory.md — the master list of everything
the game needs visually. Run once before asset spec work begins.
Read all available source material in parallel:
design/gdd/systems-index.md — extract every system listedGrep pattern="## (Visual/Audio Requirements|UI Requirements)" glob="design/gdd/*.md" output_mode="content" -A 25design/registry/entities.yaml (entities/items) if it exists and has
entries; otherwise grep the GDDs for named content. Full-read a GDD only when
its Visual/Audio section is missing or reads [To be designed] (Phase 1 already
handles that case). VFX events surface in the Visual/Audio grep context.design/art/art-bible.md — extract: any named visual categories, asset type expectationsdesign/narrative/ — scan for any character or world entity documents if they exist (optional — not required)Organize everything found into categories:
Characters / Protagonists
Enemies / Creatures
Buildings / Structures
Environment / Terrain
Items / Props
VFX / Particles
UI Screens (list each screen by name)
HUD Elements
Audio (SFX, music — descriptions only, no generation prompts)
OtherFor each item, note the source doc it was found in.
Present the full proposed inventory to the user in conversation. Then use AskUserQuestion:
[A] Looks good — save this inventory[B] Add items I'll describe[C] Remove items that don't apply[D] Both add and remove — let me editIf [B] or [D]: ask the user to describe additional items. Accept brief descriptions ("a medieval keep, used as a level background") or detailed ones — either works. Work through them collaboratively until the user is satisfied.
If [C] or [D]: ask which items to remove and why. Remove them from the list.
After user approval, ask: "May I write the entity inventory to design/assets/entity-inventory.md?"
Write the file:
# Visual Entity & Screen Inventory
> Generated: [date]
> Sources: [list of source docs read]
## Entities
| # | Name | Type | Description | Source | Status |
|---|------|------|-------------|--------|--------|
| 1 | [name] | Character / Enemy / Building / Environment / Item / Other | [brief description] | [source doc] | Needed |
## UI Screens
| # | Screen Name | Description | Source | Status |
|---|-------------|-------------|--------|--------|
| 1 | Main Menu | [description] | [source] | Needed |
## HUD Elements
| # | Element | Description | Source | Status |
|---|---------|-------------|--------|--------|
## Audio
| # | Name | Type (SFX / Music / Ambient) | Description | Source | Status |
|---|------|------------------------------|-------------|--------|--------|After writing, tell the user:
"Entity inventory saved. Next steps:
- Run
/ux-design [screen name]for each UI screen in the inventory- Run
/asset-spec system:[name],level:[name]orcharacter:[name]for each visual entity — whichever of the three the entity belongs to- Or run
/asset-specagain to work through the inventory one item at a time"
Extract:
system, level, or character--review [full|lean|solo] if presentThe effective mode is the one already resolved at the top of this skill via
resolve_config --keys review_mode, which applies the full chain; with nothing
set it follows modes.rigor — solo at minimal (the default), lean at
standard, full at full. A --review argument overrides it for this
run only.
Mode behavior:
full: spawn both art-director and technical-artist in parallellean: spawn art-director only — faster, skips technical constraint passsolo: no agent spawning — main session writes specs from art bible rules alone. Use for simple asset categories or when speed matters more than depth.Read all source material before asking the user anything.
Art bible: Read design/art/art-bible.md — fail if missing:
"No art bible found. Run
/art-biblefirst — asset specs are anchored to the art bible's visual rules and asset standards."
Exception — the minimal path. If there is no art bible but
design/game-brief.md exists (at rigor: minimal no art bible is required),
do not fail: anchor the specs in the brief's Art & audio direction line,
and say so at the top of the output — "Anchored to the brief's one-line art
direction; there is no art bible, so colour, shape and asset-standard rules
below are proposals, not constraints." Offer /art-bible once, as optional.
The written spec follows the same anchor: its header reads
> **Art direction**: design/game-brief.md (Art & audio direction) — no art bible
in place of the > **Art Bible**: line, each asset carries
**Brief anchor:** [the brief line applied] in place of the Art Bible
Anchors block, and no spec cites an Art Bible section or §8 tier.
Extract: Visual Identity Statement, Color System (semantic colors), Shape Language, Asset Standards (art bible Section 8 — dimensions, formats, polycount budgets, texture resolution tiers).
Project config: Read performance.* and naming.* from project.yaml; for any key absent or empty (including when project.yaml has no performance or naming block), fall back to .claude/docs/technical-preferences.md. Extract performance budgets and naming conventions.
design/gdd/[target-name].md. Extract the Visual/Audio Requirements section. If it doesn't exist or reads [To be designed]:"The Visual/Audio section of
design/gdd/[target-name].mdis empty. Either run/design-system [target-name]to complete the GDD, or describe the visual needs manually." UseAskUserQuestion:[A] Describe needs manually/[B] Stop — complete the GDD first
design/levels/[target-name].md. Extract art requirements, asset list, VFX needs, and the art-director's production concept specs from Step 4.design/narrative/characters/[target-name].md or search design/narrative/ and design/assets/entity-inventory.md for a matching entry. Extract visual description, role, and any specified distinguishing features.AskUserQuestion:[A] Describe it now / [B] Skip this entity / [C] Stop heredesign/assets/specs/[target-name]-assets.md exists, read it — this is a re-run, and Phase 2 proposes only what is new or changed since (Phase 5 updates the file in place).design/assets/asset-manifest.md if it exists — extract already-specced assets for this target to avoid duplicates.design/assets/specs/*.md — scan for assets that could be shared (e.g., a common UI element specced for one system might apply here too).Asset Spec: [Target Type] — [Target Name]
- Source doc: [path] — [N] asset types identified
- Art bible: found — Asset Standards at Section 8
- Existing specs for this target: [N already specced / none]
- Shared assets found in other specs: [list or "none"]
From the source doc, extract every asset type mentioned — explicit and implied.
For systems: look for VFX events, sprite references, UI elements, audio triggers, particle effects, icon needs, and any "visual feedback" language.
For levels: look for unique environment props, atmospheric VFX, lighting setups, ambient audio, skybox/background, and any area-specific materials.
For characters: look for sprite sheets (idle, walk, attack, death), portrait/avatar, VFX attached to abilities, UI representation (icon, health bar skin).
Group assets into categories:
Present the full identified list to the user. Use AskUserQuestion:
[A] Proceed — spec all of these / [B] Remove some assets / [C] Add assets I didn't catch / [D] Adjust categoriesDo NOT proceed to Phase 3 without user confirmation of the asset list.
Spawn specialist agents based on review mode. Issue all Agent calls simultaneously — do not wait for one before starting the next.
art-director via Agent:
technical-artist via Agent:
performance.* from project.yaml, else technical-preferences.md), engine name and versionnaming.* from project.yaml, else technical-preferences.md); (4) any engine-specific constraints this asset type must respect; (5) LOD requirements if applicable. Flag any asset type where the art bible's preferred standard conflicts with the engine's constraints."Announce every skipped agent by name in the output, before the specs: "technical-artist skipped — Lean mode: technical constraints not validated." / "art-director and technical-artist skipped — Solo mode: specs derived in this session; technical constraints not validated." A spec drafted without an agent must not read like one an agent reviewed.
Collect both responses before Phase 4. If any conflict exists between art-director and technical-artist (e.g., art-director specifies 4K textures but technical-artist flags the engine budget requires 512px), surface it explicitly — do NOT silently resolve.
Combine the agent outputs into a draft spec per asset. Present all specs in conversation text using this format:
## ASSET-[NNN] — [Asset Name]
| Field | Value |
|-------|-------|
| Category | [Sprite / VFX / Environment / UI / Audio / 3D] |
| Dimensions | [e.g. 256×256px, 4-frame sprite sheet] |
| Format | [PNG / SVG / WAV / etc.] |
| Naming | [e.g. vfx_frost_hit_01.png] |
| Polycount | [if 3D — e.g. <800 tris] |
| Texture Res | [e.g. 512px — matches Art Bible §8 Tier 2] |
**Visual Description:**
[2–3 sentences. Specific enough for two artists to produce consistent results.]
**Art Bible Anchors:**
- §3 Shape Language: [relevant rule applied]
- §4 Color System: [color role — e.g. "uses Threat Blue per semantic color rules"]
**Generation Prompt:**
[Ready-to-use prompt. Include: style keywords, composition notes, color palette anchors, lighting direction, negative prompts.]
**Status:** NeededAfter presenting all specs, use AskUserQuestion:
[A] Approve all — write to file / [B] Revise a specific asset / [C] Regenerate with different directionIf [B]: ask which asset and what to change. Revise inline and re-present. Do NOT re-spawn agents for minor text revisions — only re-spawn if the visual direction itself needs to change.
If [C]: ask what direction to change. Re-spawn the relevant agent with the updated brief.
After approval, ask: "May I write the spec to design/assets/specs/[target-name]-assets.md?"
If that file already exists (a re-run for the same target), update it in
place — never overwrite it wholesale. Keep its existing ASSET-NNN blocks and
IDs, apply only the changes the user approved, and append new assets with the
next project-wide IDs. Show what changes, then ask "May I update
design/assets/specs/[target-name]-assets.md?" instead of "May I write".
Write the file with:
# Asset Specs — [Target Type]: [Target Name]
> **Source**: [path to source GDD/level/character doc]
> **Art Bible**: design/art/art-bible.md
> **Generated**: [date]
> **Status**: [N] assets specced / [N] approved / [N] in production / [N] done
[all asset specs in ASSET-NNN format]Then update design/assets/asset-manifest.md. If it doesn't exist, create it:
# Asset Manifest
> Last updated: [date]
## Progress Summary
| Total | Needed | In Progress | Done | Approved |
|-------|--------|-------------|------|----------|
| [N] | [N] | [N] | [N] | [N] |
## Assets by Context
### [Target Type]: [Target Name]
| Asset ID | Name | Category | Status | Spec File |
|----------|------|----------|--------|-----------|
| ASSET-001 | [name] | [category] | Needed | design/assets/specs/[target]-assets.md |If the manifest already exists, append the new context block — on a re-run for this target, add the new rows to its existing block instead of appending a second one — and update the Progress Summary counts.
Ask: "May I update design/assets/asset-manifest.md?"
Use AskUserQuestion:
[A] Spec another system — /asset-spec system:[next-system][B] Spec a level — /asset-spec level:[level-name][C] Spec a character — /asset-spec character:[character-name][D] Run /asset-audit — validate delivered assets against specs[E] Stop hereAsset IDs are assigned sequentially across the entire project — not per-context. Read the manifest before assigning IDs to find the current highest number:
Grep pattern="ASSET-" path="design/assets/asset-manifest.md"Start new assets from ASSET-[highest + 1]. This ensures IDs are stable and unique across the whole project.
If no manifest exists yet, start from ASSET-001.
Before speccing an asset, check if an equivalent already exists in another context's spec:
If a match is found: reference the existing ASSET-ID rather than creating a duplicate. Note the shared usage in the manifest's referenced-by column.
"ASSET-012 (Generic Hit Spark) already specced for Combat system. Reusing for Tower Defense — adding tower-defense to referenced-by."
If any spawned agent returns BLOCKED or cannot complete:
lean mode or if technical-artist blocks: proceed with art-director output only — note that technical constraints were not validatedsolo mode or if art-director blocks: derive descriptions from art bible rules — flag as "Art director not consulted — verify against art bible before production"Applies in collaborative mode (the default). For guided and
autonomous modes, see .claude/docs/automation-modes.md — the rules below
describe what collaborative mode requires, not universal behavior.
Every phase follows: Identify → Confirm → Generate → Review → Approve → Write
/asset-spec [next-context] to continue speccing remaining systems, levels, or characters/asset-audit to validate delivered assets against the written specs and identify gaps or mismatches© Donchitos, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/asset-spec of Donchitos/Claude-Code-Game-Studios.
Open the folder on GitHubat commit be8993b
Game Asset Spec Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Game Asset Spec Writer this skillDonchitos/Claude-Code-Game-Studios | 26k | — | ~5k | Automated safety check: Pass | MIT | |
| Game Art Directionzenstory-ai/novel-to-game | 841 | — | ~384 | Automated safety check: Pass | MIT | |
| Unity AI Game Creatorsickn33/agentic-awesome-skills | 47k | 1 repos | ~3.6k | Automated safety check: Pass | MIT | |
| Game Asset Generatorhtdt/godogen | 7.1k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Threejs Gameplay Systemsvalkor-ai/loom | 1.2k | 1 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Godot Gdscript Patterns925236118/AlphaAgent | 103 | 10 repos | ~5k | Automated safety check: Pass | MIT |
zenstory-ai/novel-to-game
Turns a game design document into an art direction document covering visual identity, HUD and feedback, sound direction and the key in-game moments.
sickn33/agentic-awesome-skills
Transform raw game ideas into complete Unity projects with AI-powered asset generation, scene blueprints, music/SFX prompts, and step-by-step development procedures using Unity 6+ and modern AI tools.
htdt/godogen
Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.
valkor-ai/loom
Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
valkor-ai/loom
Generate, texture, rig, animate, stylize, convert, and download 3D assets for Three.js games via the Tripo API.
Donchitos/Claude-Code-Game-Studios
Create an ADR documenting a technical decision: context, alternatives considered, consequences.
Donchitos/Claude-Code-Game-Studios
Implement a story: ADR guidelines, right programmer agent, code plus test.
Donchitos/Claude-Code-Game-Studios
Audits game assets against naming conventions, file size budgets and format standards, and finds orphaned assets and missing references.
Donchitos/Claude-Code-Game-Studios
Checks game data and formulas for balance outliers, broken progression, degenerate strategies and economy problems, and answers 'could not run' when the data is missing.
Donchitos/Claude-Code-Game-Studios
Turns a description into a structured bug report, or scans code for likely bugs, then verifies and closes reports through four modes.
Donchitos/Claude-Code-Game-Studios
Reviews the open bug backlog, separates severity from priority, assigns fixes to sprints and reports systemic trends, writing a dated triage file.
Categories
Writes per-asset visual specs and AI image-generation prompts for a game's characters, enemies and screens, driven by the GDD, art bible and an entity inventory. When run with no argument, the agent looks for an existing entity inventory or asset manifest and asks whether to generate specs for the next item marked Needed but not yet specced, offering to pick a different item or stop instead. If neither file exists, it first runs an inventory phase that reads the GDD's systems index, greps each GDD's Visual and UI Requirements sections rather than reading every document in full, checks a named-entity registry when present, and pulls categories from the art bible, producing a master entity-inventory file before any spec writing begins.
Game Asset Spec Writer fits situations like: writing the next asset's visual spec after the art bible is finished; building the entity and screen inventory for a game before spec work starts; generating an AI image prompt for a specific character or enemy.
Run `npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a claude-code`. Or copy the skill folder (.claude/skills/asset-spec in Donchitos/Claude-Code-Game-Studios) into .claude/skills/asset-spec in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a codex`. Or copy the skill folder (.claude/skills/asset-spec in Donchitos/Claude-Code-Game-Studios) into .agents/skills/asset-spec in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Donchitos/Claude-Code-Game-Studios --skill asset-spec -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/asset-spec, .gemini/skills/asset-spec, .github/skills/asset-spec and .opencode/skills/asset-spec in your project.
Going by SKILL.md and its folder, Game Asset Spec Writer needs the command-line tools its instructions call (bash). Our summary lists: A game design document, art bible and (optionally) an entity registry in the project. Its frontmatter pre-approves these tools: Read, Glob, Grep, Write, Edit, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/asset-spec/../../hooks/yaml-helper.sh" resolve_config *).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Game Asset Spec Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Game Asset Spec Writer: Game Art Direction (zenstory-ai/novel-to-game, 841 stars), Unity AI Game Creator (sickn33/agentic-awesome-skills, 47k stars), Game Asset Generator (htdt/godogen, 7.1k stars) and Threejs Gameplay Systems (valkor-ai/loom, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Donchitos (a GitHub user) maintains it in Donchitos/Claude-Code-Game-Studios, which has 25,951 GitHub stars. The repository holds 73 skills in this directory. The repository was last updated on October 8, 2026.
Source: Donchitos/Claude-Code-Game-Studios on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.