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.
If no argument is provided, check whether design/assets/asset-manifest.md exists:
[A] Yes — spec [target] / [B] Pick a different target / [C] Stop here"No asset manifest exists yet, so I can't auto-pick the next target. What would you like to spec?"
[A] A system — I'll provide \system:<name>`[B] A level — I'll provide `level:<name>`[C] A character — I'll provide `character:<name>`[D] Stop here`If the art direction is not defined yet, run
$art-biblefirst.Stop after asking. Do not continue to Phase 0 or Phase 1 until the user answers.
Extract:
system, level, or character--review [full|lean|solo] if presentMode behavior:
full (default): 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." Extract: Visual Identity Statement, Color System (semantic colors), Shape Language, Asset Standards (Section 8 — dimensions, formats, polycount budgets, texture resolution tiers).
Technical preferences: Read docs/studio/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." Ask the user with a concise plain-text choice list:[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/ for the character profile. Extract visual description, role, and any specified distinguishing features.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. Ask the user with a concise plain-text choice list:
[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 subagent calls simultaneously — do not wait for one before starting the next.
art-director as a subagent:
technical-artist as a subagent:
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:** Needed
After presenting all specs, ask the user with a concise plain-text choice list:
[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?"
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?"
Ask the user with a concise plain-text choice list:
[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"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