| name | create-game-assets |
| description | Generate game assets (sprites, UI icons, backgrounds, tilesets) using DALL-E 3 from a YAML specification file. Use when user asks to create game art, generate sprites, or make game graphics. |
Create Game Assets Skill
When to Use This Skill
- User asks to generate game assets, sprites, or game art
- User wants to create UI icons, character sprites, backgrounds, or tilesets
- User mentions DALL-E or AI image generation for games
- User has a YAML asset specification file
Prerequisites
OPENAI_API_KEYenvironment variable must be set- Node.js installed
- Run
npm installin the skill folder first
How It Works
- Ask user what game assets they need (characters, items, backgrounds, style)
- Create an
assets.yamlspecification file based on their requirements - Review the spec with
--dry-runto preview prompts - Run the generator to create images via DALL-E 3
- Images are saved organized by type with metadata
Procedure
# Navigate to the skill script
cd ~/projects/ai-tools/skills/create-game-assets
# Install dependencies (first time only)
npm install
# Preview what will be generated
npx tsx src/index.ts --spec /path/to/assets.yaml --dry-run
# Generate the assets
npx tsx src/index.ts --spec /path/to/assets.yaml --output /path/to/output
Asset Specification Format
Create a YAML file like this:
project: my-game
style: pixel-art-16bit # or: hand-drawn, vector, 3d-render, realistic
outputDir: ./assets
assets:
- type: character
name: player
description: "Knight in silver armor, front view"
size: 1024x1024
variants: 2
- type: ui-icon
name: health-potion
description: "Red potion in glass bottle"
- type: background
name: forest
description: "Magical forest with glowing mushrooms"
size: 1792x1024
Asset Types
character- Players, NPCs, enemies (centered, full body)ui-icon- Inventory items, buttons, status iconsbackground- Level backgrounds, title screenstileset- Seamless tiles for game maps
Style Presets
pixel-art-16bit- Retro 16-bit pixel arthand-drawn- Illustrated sketch stylevector- Clean flat vector graphics3d-render- 3D rendered with soft lightingrealistic- Photorealistic textures
Output
outputDir/
├── characters/
│ ├── player-1.png
│ └── player.meta.json
├── ui-icons/
│ └── health-potion.png
└── manifest.json
Examples
User: "Generate pixel art sprites for my platformer game"
Expected behavior:
- Ask what assets they need (characters, enemies, items, backgrounds)
- Ask about art style preference (pixel-art-16bit, hand-drawn, vector, etc.)
- Ask for descriptions of each asset
- Create
assets.yamlwith all specifications - Run dry-run to preview prompts
- Generate images after user approval
User: "I need a knight character, slime enemy, and health potion for my RPG"
Expected behavior:
- Ask about preferred style
- Create
assets.yaml:
project: rpg-game
style: pixel-art-16bit
outputDir: ./assets
assets:
- type: character
name: knight
description: "Knight in silver armor with sword and shield, heroic pose"
size: 1024x1024
variants: 2
- type: character
name: slime-enemy
description: "Green slime monster with angry expression"
size: 1024x1024
- type: ui-icon
name: health-potion
description: "Red healing potion in glass bottle"
size: 1024x1024
- Show dry-run preview
- Generate after approval
User: "Use create-game-assets to generate assets from my spec.yaml"
Expected behavior:
- Read the existing spec.yaml file
- Show dry-run preview
- Generate images to specified output directory