asset-spec
Skill1 starsChanged 39 days agoMITView on GitHub
Generate per-asset visual specifications and AI generation prompts from GDDs, level docs, or character profiles. Produces structured spec files and updates the master asset manifest. Run after art bible and GDD/level design are approved, before production begins.
9 other projects use a version of this, 8 of them edited.
Adopted by
Most recently taken up by
- striderZA/OpenCodeGameStudiosedited, first seen Nov 4, 2026
- Donchitos/Claude-Code-Game-Studiosedited, first seen Oct 19, 2026
- venus2099/codex-game-studiosedited, first seen Oct 17, 2026
- ShiningPlague/shiningplague-studioedited, first seen Oct 11, 2026
- dawn840705/claude-code-studiosedited, first seen Aug 28, 2026
- dawn840705/codex-code-studiosedited, first seen Aug 28, 2026
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 8
- Donchitos/Claude-Code-Game-Studios★ 27k72% same
- striderZA/OpenCodeGameStudios★ 11893% same
- dawn840705/codex-code-studios★ 1788% same
- lilangMax/ClaudeCodeGameStudios★ 894% same
- hongyuanc/codex-game-studios★ 584% same
- dawn840705/claude-code-studios★ 191% same
- venus2099/codex-game-studios★ 174% same
- ShiningPlague/shiningplague-studio★ 085% same
Wrote their own version · 1
- cenconq25/claude-code-app-studio★ 40same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository78 other files it gives its agents.
- docs/AGENTS.mdAGENTS.md
- adoptSkill
- architecture-decisionSkill
- architecture-reviewSkill
- art-bibleSkill
- asset-auditSkill
- auto-game-in-sleepSkill
- balance-checkSkill
- brainstormSkill
- bug-reportSkill
- bug-triageSkill
- changelogSkill
- code-reviewSkill
- comfyui-headless-image21Skill
- comfyui-headless-pixal3dSkill
- consistency-checkSkill
- content-auditSkill
- create-architectureSkill
- create-control-manifestSkill
- create-epicsSkill
- create-storiesSkill
- day-one-patchSkill
- design-reviewSkill
- design-systemSkill
- dev-storySkill
- estimateSkill
- game-studios-initSkill
- gate-checkSkill
- helpSkill
- hotfixSkill
- launch-checklistSkill
- localizeSkill
- map-systemsSkill
- milestone-reviewSkill
- onboardSkill
- patch-notesSkill
- perf-profileSkill
- playtest-reportSkill
- project-stage-detectSkill
- propagate-design-changeSkill
- prototypeSkill
- qa-planSkill
- quick-designSkill
- regression-suiteSkill
- release-checklistSkill
- retrospectiveSkill
- reverse-documentSkill
- review-all-gddsSkill
- scope-checkSkill
- security-auditSkill
- setup-engineSkill
- skill-improveSkill
- skill-testSkill
- smoke-checkSkill
- soak-testSkill
- sprint-planSkill
- sprint-statusSkill
- startSkill
- story-doneSkill
- story-readinessSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
44 rules. 19 are common, 6 are distinctive, and 19 are very specific to this project.
19
Common
Most of the 9 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
19
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
If no argument is provided, check whether design/assets/entity-inventory.md exists:
- Very specific: line 11
If it exists: read it, find the first entity or screen with status "Needed" but no spec file yet, and use AskUserQuestion:
- Very specific: line 14
If no entity inventory: check design/assets/asset-manifest.md.
- Distinctive: line 15
If neither exists: start the Entity & Screen Inventory flow (Phase 0b below) rather than failing.
- Distinctive: line 25
Read all available source material in parallel:
- Very specific: line 27
All GDDs in design/gdd/ — extract: Visual/Audio Requirements sections, UI elements mentioned, VFX events, any named entities (characters, …
- Distinctive: line 58
If [B] or [D]: ask the user to describe additional items.
- Distinctive: line 60
If [C] or [D]: ask which items to remove and why.
- Very specific: line 63
After user approval, ask: "May I write the entity inventory to design/assets/entity-inventory.md?"
- Distinctive: line 96
After writing, tell the user:
- Common: line 120
Read all source material before asking the user anything.
- Very specific: line 123
Art bible: Read design/art/art-bible.md — fail if missing:
- Very specific: line 127
Technical preferences: Read .studio/technical-preferences.md — extract performance budgets and naming conventions.
- Very specific: line 130
system: Read design/gdd/[target-name].md.
- Very specific: line 132
Use AskUserQuestion: [A] Describe needs manually / [B] Stop — complete the GDD first
- Very specific: line 133
level: Read design/levels/[target-name].md.
- Very specific: line 135
If no source doc exists: do not fail. Instead, use AskUserQuestion:
- Distinctive: line 138
If [A]: the user's description becomes the source.
- Very specific: line 141
Existing manifest: Read design/assets/asset-manifest.md if it exists — extract already-specced assets for this target to avoid duplicates.
- Common: line 157
For systems: look for VFX events, sprite references, UI elements, audio triggers, particle effects, icon needs, and any "visual feedback" …
- Common: line 159
For levels: look for unique environment props, atmospheric VFX, lighting setups, ambient audio, skybox/background, and any area-specific …
- Common: line 161
For characters: look for sprite sheets (idle, walk, attack, death), portrait/avatar, VFX attached to abilities, UI representation (icon, …
- Common: line 176
Do NOT proceed to Phase 3 without user confirmation of the asset list.
- Common: line 198
Collect both responses before Phase 4: If any conflict exists between art-director and technical-artist (e.g., art-director specifies 4K …
- Very specific: line 231
After presenting all specs, use AskUserQuestion:
- Common: line 235
If [B]: ask which asset and what to change.
- Common: line 237
If [C]: ask what direction to change.
- Very specific: line 243
After approval, ask: "May I write the spec to design/assets/specs/[target-name]-assets.md?"
- Common: line 245
Write the file with:
- Common: line 279
If the manifest already exists, append the new context block and update the Progress Summary counts.
- Very specific: line 281
Ask: "May I update design/assets/asset-manifest.md?"
- Very specific: line 306
Start new assets from ASSET-[highest + 1].
- Very specific: line 308
If no manifest exists yet, start from ASSET-001.
- Common: line 314
Before speccing an asset, check if an equivalent already exists in another context's spec:
- Common: line 320
If a match is found: reference the existing ASSET-ID rather than creating a duplicate.
- Common: line 328
If any spawned agent returns BLOCKED or cannot complete:
- Common: line 333
Always produce a partial spec — never discard work because one agent blocked
- Common: line 339
Every phase follows: Identify → Confirm → Generate → Review → Approve → Write
- Common: line 341
Never spec assets without first confirming the asset list with the user
- Common: line 342
Always anchor specs to the art bible — a spec that contradicts the art bible is wrong
- Common: line 344
Write the spec file only after explicit approval
- Common: line 345
Update the manifest immediately after writing the spec
- Very specific: line 351
Run /asset-spec [next-context] to continue speccing remaining systems, levels, or characters
- Very specific: line 352
Run /asset-audit to validate delivered assets against the written specs and identify gaps or mismatches
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
If no argument is provided, check whether design/assets/entity-inventory.md exists:
- If it exists: read it, find the first entity or screen with status "Needed" but no spec file yet, and use
AskUserQuestion:- Prompt: "The next unspecced item is [name]. Generate specs for it?"
- Options:
[A] Yes — spec [name]/[B] Pick a different item/[C] Stop here
- If no entity inventory: check
design/assets/asset-manifest.md. If manifest exists, same flow above but reading from manifest. - If neither exists: start the Entity & Screen Inventory flow (Phase 0b below) rather than failing.
Phase 0b: Entity & Screen Inventory (runs when no arguments and no existing inventory)
This flow produces design/assets/entity-inventory.md — the master list of everything
the game needs visually. Run once before asset spec work begins.
Step 1 — Gather from docs
Read all available source material in parallel:
design/gdd/systems-index.md— extract every system listed- All GDDs in
design/gdd/— extract: Visual/Audio Requirements sections, UI elements mentioned, VFX events, any named entities (characters, enemies, buildings, items) 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)
Step 2 — Build proposed inventory
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.
Step 3 — Present and collaborate
Present the full proposed inventory to the user in conversation. Then use AskUserQuestion:
- Prompt: "I found [N] visual entities and [N] UI screens across your GDDs and art bible. Review the list — what's missing, what's not needed?"
- Options:
[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 edit
If [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.
Step 4 — Write inventory
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 entity:[name]to spec each visual entity- Or run
/asset-specagain to work through the inventory one item at a time"
Phase 0: Parse Arguments
Extract:
- Target type:
system,level, orcharacter - Target name: the name after the colon (normalize to kebab-case)
- Review mode:
--review [full|lean|solo]if present
Mode behavior:
full(default): spawn bothart-directorandtechnical-artistin parallellean: spawnart-directoronly — 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.
Phase 1: Gather Context
Read all source material before asking the user anything.
Required reads:
- 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." Extract: Visual Identity Statement, Color System (semantic colors), Shape Language, Asset Standards (Section 8 — dimensions, formats, polycount budgets, texture resolution tiers). - Technical preferences: Read
.studio/technical-preferences.md— extract performance budgets and naming conventions.
Source doc reads (by target type):
- system: Read
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 - level: Read
design/levels/[target-name].md. Extract art requirements, asset list, VFX needs, and the art-director's production concept specs from Step 4. - character or entity: Read
design/narrative/characters/[target-name].mdor searchdesign/narrative/anddesign/assets/entity-inventory.mdfor a matching entry. Extract visual description, role, and any specified distinguishing features.- If no source doc exists: do not fail. Instead, use
AskUserQuestion:- Prompt: "No profile found for [name]. Describe it briefly — a sentence or two is enough."
- Options:
[A] Describe it now/[B] Skip this entity/[C] Stop here - If [A]: the user's description becomes the source. Brief answers produce concise specs; detailed answers produce detailed specs. Accept whatever level of detail the user provides and work from it.
- If no source doc exists: do not fail. Instead, use
Optional reads:
- Existing manifest: Read
design/assets/asset-manifest.mdif it exists — extract already-specced assets for this target to avoid duplicates. - Related specs: Glob
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).
Present context summary:
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"]
Phase 2: Asset Identification
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:
- Sprite / 2D Art — character sprites, UI icons, tile sheets
- VFX / Particles — hit effects, ambient particles, screen effects
- Environment — props, tiles, backgrounds, skyboxes
- UI — HUD elements, menu art, fonts (if custom)
- Audio — SFX, music tracks, ambient loops (note: audio specs are descriptions only — no generation prompts)
- 3D Assets — meshes, materials (if applicable per engine)
Present the full identified list to the user. Use AskUserQuestion:
- Prompt: "I identified [N] assets across [N] categories for [target]. Review before speccing:"
- Show the grouped list in conversation text first
- Options:
[A] Proceed — spec all of these/[B] Remove some assets/[C] Add assets I didn't catch/[D] Adjust categories
Do NOT proceed to Phase 3 without user confirmation of the asset list.
Phase 3: Spec Generation
Spawn specialist agents based on review mode. Issue all Task calls simultaneously — do not wait for one before starting the next.
Full mode — spawn in parallel:
art-director via Task:
- Provide: full asset list from Phase 2, art bible Visual Identity Statement, Color System, Shape Language, the source doc's visual requirements, and any reference games/art mentioned in the art bible Section 9
- Ask: "For each asset in this list, produce: (1) a 2–3 sentence visual description anchored to the art bible's shape language and color system — be specific enough that two different artists would produce consistent results; (2) a generation prompt ready for use with AI image tools (Midjourney/Stable Diffusion style — include style keywords, composition, color palette anchors, negative prompts); (3) which art bible rules directly govern this asset (cite by section). For audio assets, describe the sonic character instead of a generation prompt."
technical-artist via Task:
- Provide: full asset list, art bible Asset Standards (Section 8), technical-preferences.md performance budgets, engine name and version
- Ask: "For each asset in this list, specify: (1) exact dimensions or polycount (match the art bible Asset Standards tiers — do not invent new sizes); (2) file format and export settings; (3) naming convention (from 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."
Lean mode — spawn art-director only (skip technical-artist).
Solo mode — skip both. Derive specs from art bible rules alone, noting that technical constraints were not validated.
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.
Phase 4: Compile and Review
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:
- Prompt: "Asset specs for [target] — [N] assets. Review complete?"
- Options:
[A] Approve all — write to file/[B] Revise a specific asset/[C] Regenerate with different direction
If [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.
Phase 5: Write Spec File
After approval, ask: "May I write the spec to design/assets/specs/[target-name]-assets.md?"
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 and update the Progress Summary counts.
Ask: "May I update design/assets/asset-manifest.md?"
Phase 6: Close
Use AskUserQuestion:
- Prompt: "Asset specs complete for [target]. What's next?"
- Options:
[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 here
Asset ID Assignment
Asset 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.
Shared Asset Protocol
Before speccing an asset, check if an equivalent already exists in another context's spec:
- Common UI elements (health bars, score displays) are often shared across systems
- Generic environment props may appear in multiple levels
- Character VFX (hit sparks, death effects) may reuse a base spec with color variants
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."
Error Recovery Protocol
If any spawned agent returns BLOCKED or cannot complete:
- Surface immediately: "[AgentName]: BLOCKED — [reason]"
- In
leanmode or iftechnical-artistblocks: proceed with art-director output only — note that technical constraints were not validated - In
solomode or ifart-directorblocks: derive descriptions from art bible rules — flag as "Art director not consulted — verify against art bible before production" - Always produce a partial spec — never discard work because one agent blocked
Collaborative Protocol
Every phase follows: Identify → Confirm → Generate → Review → Approve → Write
- Never spec assets without first confirming the asset list with the user
- Always anchor specs to the art bible — a spec that contradicts the art bible is wrong
- Surface all agent disagreements — do not silently pick one
- Write the spec file only after explicit approval
- Update the manifest immediately after writing the spec
Recommended Next Steps
- Run
/asset-spec [next-context]to continue speccing remaining systems, levels, or characters - Run
/asset-auditto validate delivered assets against the written specs and identify gaps or mismatches
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

