| name | game-artist |
| description | Manage game assets with Kenney-ONLY approach. Search 36,000+ Kenney CC0 assets. If asset not found, ask user to find/generate manually. Ensure style consistency with flat/vector Kenney aesthetic. Auto-triggers on asset requests. |
| allowed-tools | Read, Write, Edit, Glob, Grep, Bash |
Game Artist Skill
Intelligent game asset management with Kenney-first workflow.
When This Skill Activates
This skill automatically triggers when you:
- Request a game asset ("find a health icon", "need a tree sprite")
- Ask about visual elements ("what would work for power-ups?")
- Want to add new sprites/graphics
- Need asset recommendations
Core Principle: Kenney ONLY
Don't generate - use what exists!
The project has access to Kenney's All-in-1 collection (~36,000 assets, all CC0):
- 150+ 2D asset packs
- Characters, tiles, props, UI, effects
- All in consistent flat/vector style
- Free for any use
Workflow:
- 🔍 Search Kenney collection thoroughly
- ✅ Use existing asset if good match
- ❓ Ask user to find/generate manually if not found
- ✔️ Verify style matches flat/vector aesthetic
Step-by-Step Workflow
Step 1: Understand the Request
Questions to answer:
- What type of asset? (character, item, prop, UI, effect)
- What size? (based on game world scale - see STYLE_GUIDE.md)
- What purpose? (collectible, decoration, functional)
- What colors? (check STYLE_GUIDE.md palette)
- Style requirements? (must match flat/vector style)
Example:
Request: "Need a health power-up sprite"
→ Type: Item/collectible
→ Size: 48x48 or 64x64 (smaller than character)
→ Purpose: Collectible power-up
→ Colors: Red/green (health colors)
→ Style: Flat/vector, must match player sprite
Step 2: Search Kenney Collection
Use KENNEY_CATALOG.md to find relevant packs:
- Check catalog - Review pack index for likely candidates
- Browse spritesheets - Use
spritesheet*.pngfiles for visual overview - Browse Preview.png - Alternative visual inspection
- Navigate to assets - Find individual sprites in PNG/ folders
Visual Browsing Strategy:
Method 1: Spritesheets (Recommended)
# Find all spritesheets in a pack
find "/path/to/Kenney/2D assets/[Pack Name]" -name "spritesheet*.png"
# Example for Puzzle Assets:
find "/path/to/Kenney/2D assets/Puzzle Assets" -name "spritesheet*.png"
Then use Read tool with visual inspection to see all sprites in one image:
Read("/path/to/spritesheet_items.png")
# Claude Vision can see all sprites at once!
Method 2: Preview.png
# Single preview image showing asset samples
ls "/path/to/Kenney/2D assets/[Pack Name]/Preview.png"
Method 3: Individual PNGs (when needed)
# Browse individual sprites
ls "/path/to/Kenney/2D assets/[Pack Name]/PNG/"
Search locations by asset type:
| Asset Type | Primary Packs | Browse Method |
|---|---|---|
| Characters | Topdown Shooter | Spritesheet in Spritesheet/ folder |
| Items/Collectibles | Generic Items, Puzzle Assets | Spritesheet or Preview.png |
| Power-ups | Space Shooter Redux, Puzzle Assets | Check spritesheet_items.png |
| UI Elements | Game Icons, UI Pack | Preview.png (no spritesheets) |
| Props/Environment | Topdown Shooter, Generic Items | Spritesheet in pack |
| Effects | Explosion Pack, Particle Pack | Spritesheet for each effect type |
Spritesheet File Patterns:
spritesheet_complete.png - All assets in pack
spritesheet_items.png - Just items
spritesheet_characters.png - Just characters
spritesheet_tiles.png - Just tiles
spritesheet_enemies.png - Just enemies
Quick search workflow:
# 1. Find relevant pack
ls "/path/to/Kenney/2D assets/" | grep -i "puzzle"
# 2. Check for spritesheets
find "/path/to/Kenney/2D assets/Puzzle Assets" -name "spritesheet*.png"
# 3. Visual inspect with Read tool
Read("/path/to/Kenney/2D assets/Puzzle Assets/Spritesheet/spritesheet_items.png")
# 4. If found what you need, navigate to individual PNG
ls "/path/to/Kenney/2D assets/Puzzle Assets/PNG/"
Step 3: Evaluate Candidates
For each candidate asset:
✅ Style Match:
- Flat/vector (NOT pixel art)?
- Smooth rounded shapes?
- Thin dark outline?
- Simple geometric forms?
✅ Color Match:
- Uses game palette?
- Can be easily recolored if needed?
- Fits visual theme?
✅ Size Match:
- Appropriate game world scale?
- Can be resized to tile multiples (64, 96, 128, 192, 256)?
- Maintains quality at target size?
✅ Purpose Match:
- Communicates intended meaning?
- Clear silhouette/icon?
- Works in gameplay context?
Decision tree:
Found perfect match → Use it (Step 4)
Found close match → Use and modify colors if needed (Step 4)
No good match → Ask user to provide asset (Step 5)
Step 4: Use Kenney Asset
If suitable asset found:
Identify exact sprite from spritesheet visual inspection
Navigate to individual PNG:
ls "/path/to/Kenney/[Pack]/PNG/[Category]/" # Find the specific sprite fileCopy asset from Kenney folder to project:
cp "Kenney/path/to/sprite.png" "assets/sprites/sprite_name.png"Resize if needed (maintain aspect ratio):
# Use ImageMagick or similar magick sprite.png -resize 64x64 output.pngVerify transparency - Check alpha channel present
Test in-game - Place alongside existing sprites
Document source - Note which Kenney pack it came from
Output to user:
✅ Found Kenney asset: [Asset Name]
📁 Source: [Pack Name]
📏 Size: [Original] → [Scaled to]
🎨 Colors: [Matches palette]
💾 Saved to: assets/sprites/[filename]
Step 5: Ask User to Provide Asset
Only if no suitable Kenney asset exists:
Report search results - Explain what was searched and why nothing matched
Ask user to provide asset:
Output to user:
❌ No suitable Kenney asset found for: [asset description] 📁 Searched packs: - [Pack 1] - [why didn't match] - [Pack 2] - [why didn't match] 🎨 Style requirements for manual creation: - Flat/vector style (NOT pixel art) - Smooth rounded shapes with thin dark outline - Simple geometric forms, clear silhouette - Transparent background (PNG with alpha) - Size: [recommended dimensions] - Colors: [recommended from palette] ✅ Options: 1. Find similar Kenney asset from different pack 2. Generate manually with AI tool of your choice 3. Create/edit sprite with image editor 4. Use placeholder colored circle for now 📥 Once created, save to: assets/sprites/[filename]Suggest placeholder - Offer to use colored circle fallback
Wait for user - Don't proceed until asset is provided
Step 6: Quality Verification
⚠️ CRITICAL REQUIREMENT: Always use Read tool with Claude Vision to visually inspect sprites!
Never assume a sprite matches requirements without visual confirmation. AI generators can produce unexpected results.
Visual verification checklist:
- VERIFY ACTUAL CONTENT - Does the image show what it's supposed to? (e.g., lightning bolt vs pentagon star)
- Compare to references - Side-by-side with player/zombie sprite
- Check style - Flat/vector vs pixel art
- Verify transparency - Alpha channel present? (look for gray checkerboard pattern)
- Inspect edges - Smooth anti-aliased edges?
- Check colors - Within palette?
- Test readability - Clear at target size?
Style consistency checklist:
- Smooth rounded shapes (not pixelated)
- Thin dark outline
- Flat colors with subtle gradients
- Simple geometric forms
- Transparent background
- Matches player/zombie style
- Appropriate scale
- Clear silhouette
If quality issues found:
For Kenney assets:
→ Try different asset from same pack
→ Try similar pack with better style match
For user-provided assets:
→ Give feedback on style mismatch
→ Reference STYLE_GUIDE.md for requirements
→ Suggest specific improvements needed
Advanced Features
Batch Asset Requests
For multiple related assets:
- Group by type - Characters, items, props, etc.
- Check spritesheet - Visual overview of entire pack
- Extract all at once - Batch copy from same pack
- Maintain consistency - Same pack = same style
When to use subagent instead:
- Need 10+ assets from exploration
- Creating complete themed collection
- Batch generation with variations
- Complex multi-step asset pipeline
Color Variations
If Kenney asset has wrong color:
- Load original with image manipulation
- Hue shift to target color
- Verify contrast - Maintain readability
- Save variant with descriptive name
# Example: shift green gem to blue
magick green_gem.png -modulate 100,100,180 blue_gem.png
Style Transfer (Future)
When Layer.ai API becomes available:
- Upload Kenney reference
- Generate matching style assets
- Batch process for consistency
Templates and Resources
Quick references:
- KENNEY_CATALOG.md - Asset pack index and search tips
- STYLE_GUIDE.md - Visual style specifications
- EXAMPLES.md - Real workflow walkthroughs
- templates/pollinations_prompts.md - Generation templates
- templates/midjourney_prompts.md - Moodboard prompts
- templates/quality_checklist.md - Verification criteria
Common Scenarios
Scenario 1: Power-Up Sprites
Request: "Need health, speed, shield power-up sprites"
Workflow:
- Check KENNEY_CATALOG.md → "Puzzle Assets has colored gems!"
- Find spritesheet:
find "Puzzle Assets" -name "spritesheet*.png" - Visual inspect spritesheet with Read tool → See all gems at once
- Navigate to PNG folder, copy: green gem, blue gem, gold gem
- Resize all to 64x64
- Test in-game alongside player sprite
- ✅ Done - all from Kenney, no generation needed
Scenario 2: Custom Enemy Character
Request: "Need a flying zombie enemy sprite"
Workflow:
- Check Topdown Shooter spritesheet → Has zombies, but no flying variant
- Check Space Shooter Redux spritesheet → Has flying enemies, but wrong theme
- Decision: Asset not found in Kenney
- Report to user:
❌ No flying zombie found in Kenney collection 📁 Searched: Topdown Shooter (has zombies), Space Shooter Redux (has flying) ✅ Options: 1. Use regular zombie sprite as placeholder 2. Modify existing zombie sprite with wings manually 3. Generate externally with: "flying zombie, top-down view, Kenney flat vector style" 📥 Save to: assets/sprites/flying_zombie.png - Wait for user to provide asset
- Once provided, visually inspect with Read tool
- Verify style matches existing zombie
Scenario 3: Environment Props
Request: "Need trees, bushes, rocks for environment"
Workflow:
- Check Kenney catalog → Multiple options
- Visual inspect
Topdown Shooter/Spritesheet/spritesheets - Check
Foliage Pack/Spritesheet/spritesheets - Extract several options from PNG folders
- Resize to appropriate scale (trees 64x128, bushes 64x64)
- Test variety in-game
- ✅ Multiple Kenney assets, instant variety
Error Handling
Common Issues
No suitable Kenney asset found: → Search related packs (check KENNEY_CATALOG.md) → Try similar assets that can be modified → Ask user to provide custom asset
User-provided asset doesn't match style: → Give clear feedback on what's wrong → Reference STYLE_GUIDE.md requirements → Provide example Kenney asset for comparison → Suggest specific style adjustments needed
Kenney asset wrong size: → Resize maintaining aspect ratio → Use multiples of 16px (64, 96, 128, 192, 256) → Verify quality after resize
Colors don't match palette: → Hue shift existing asset → Find alternative in same pack → Generate with specific color hex codes
Tips for Success
✅ Always check Kenney exhaustively - 90% of needs covered ✅ Use spritesheet files - See entire pack at once with visual inspection ✅ Use Preview.png files - Alternative quick browse method ✅ Search multiple related packs - Don't give up after one pack ✅ Maintain style consistency - Flat/vector throughout ✅ Verify in-game - Test alongside existing sprites ✅ Document sources - Track which pack assets came from ✅ Keep aspect ratios - Don't stretch/squash ✅ Use tile-based sizing - Multiples of 64px base unit
❌ Don't mix styles - No pixel art with vector art ❌ Don't give up too quickly - Search thoroughly before asking user ❌ Don't ignore scale - Size relative to characters matters ❌ Don't forget transparency - All sprites need alpha channel ❌ Don't generate with tokens - Save tokens, use Kenney only
Output Format
When completing an asset request:
## Asset Request: [Asset Name]
**Source:** [Kenney Pack Name] OR [User Provided]
**File Path:** assets/sprites/[filename]
**Size:** [dimensions] ([X tiles])
**Style Match:** ✅ Verified / ⚠️ Needs review
**Notes:** [Any special considerations]
[Visual preview if using Read tool]
When to Recommend Subagent Instead
Suggest using a subagent for:
- Batch exploration: "Catalog all enemy sprites in Kenney packs"
- Complex generation: "Create 8-frame walk animation for new character"
- Style redesign: "Redesign all UI in cyberpunk theme"
- Asset pipeline: "Generate 20 weapon variations with stats"
How to suggest:
For this complex task, I recommend using a subagent:
- Run: `Task tool with subagent_type=Explore` for thorough pack search
- OR: Create custom subagent for batch generation workflow
This allows autonomous exploration and decision-making.
Remember
Kenney ONLY - no token-expensive generation!
The goal is to maximize use of professional CC0 assets while maintaining visual consistency. If Kenney doesn't have it, ask the user to provide it manually to save tokens.