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.
Installs into .claude/skills of the current project.
Are you the author of Game Artist?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-game-artist)
---
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:**
1. π **Search** Kenney collection thoroughly
2. β **Use** existing asset if good match
3. β **Ask user** to find/generate manually if not found
4. βοΈ **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:**
1. **Check catalog** - Review pack index for likely candidates
2. **Browse spritesheets** - Use `spritesheet*.png` files for visual overview
3. **Browse Preview.png** - Alternative visual inspection
4. **Navigate to assets** - Find individual sprites in PNG/ folders
**Visual Browsing Strategy:**
**Method 1: Spritesheets (Recommended)**
```bash
# 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:
```python
Read("/path/to/spritesheet_items.png")
# Claude Vision can see all sprites at once!
```
**Method 2: Preview.png**
```bash
# Single preview image showing asset samples
ls "/path/to/Kenney/2D assets/[Pack Name]/Preview.png"
```
**Method 3: Individual PNGs** (when needed)
```bash
# 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:**
```bash
# 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:
1. **Identify exact sprite** from spritesheet visual inspection
2. **Navigate to individual PNG:**
```bash
ls "/path/to/Kenney/[Pack]/PNG/[Category]/"
# Find the specific sprite file
```
3. **Copy asset** from Kenney folder to project:
```bash
cp "Kenney/path/to/sprite.png" "assets/sprites/sprite_name.png"
```
4. **Resize if needed** (maintain aspect ratio):
```bash
# Use ImageMagick or similar
magick sprite.png -resize 64x64 output.png
```
5. **Verify transparency** - Check alpha channel present
6. **Test in-game** - Place alongside existing sprites
7. **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:
1. **Report search results** - Explain what was searched and why nothing matched
2. **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]
```
3. **Suggest placeholder** - Offer to use colored circle fallback
4. **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:**
1. **VERIFY ACTUAL CONTENT** - Does the image show what it's supposed to? (e.g., lightning bolt vs pentagon star)
2. **Compare to references** - Side-by-side with player/zombie sprite
3. **Check style** - Flat/vector vs pixel art
4. **Verify transparency** - Alpha channel present? (look for gray checkerboard pattern)
5. **Inspect edges** - Smooth anti-aliased edges?
6. **Check colors** - Within palette?
7. **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:
1. **Group by type** - Characters, items, props, etc.
2. **Check spritesheet** - Visual overview of entire pack
3. **Extract all at once** - Batch copy from same pack
4. **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:
1. **Load original** with image manipulation
2. **Hue shift** to target color
3. **Verify contrast** - Maintain readability
4. **Save variant** with descriptive name
```bash
# 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:**
1. Check KENNEY_CATALOG.md β "Puzzle Assets has colored gems!"
2. Find spritesheet: `find "Puzzle Assets" -name "spritesheet*.png"`
3. Visual inspect spritesheet with Read tool β See all gems at once
4. Navigate to PNG folder, copy: green gem, blue gem, gold gem
5. Resize all to 64x64
6. Test in-game alongside player sprite
7. β Done - all from Kenney, no generation needed
### Scenario 2: Custom Enemy Character
**Request:** "Need a flying zombie enemy sprite"
**Workflow:**
1. Check Topdown Shooter spritesheet β Has zombies, but no flying variant
2. Check Space Shooter Redux spritesheet β Has flying enemies, but wrong theme
3. **Decision:** Asset not found in Kenney
4. 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
```
5. Wait for user to provide asset
6. Once provided, visually inspect with Read tool
7. Verify style matches existing zombie
### Scenario 3: Environment Props
**Request:** "Need trees, bushes, rocks for environment"
**Workflow:**
1. Check Kenney catalog β Multiple options
2. Visual inspect `Topdown Shooter/Spritesheet/` spritesheets
3. Check `Foliage Pack/Spritesheet/` spritesheets
4. Extract several options from PNG folders
5. Resize to appropriate scale (trees 64x128, bushes 64x64)
6. Test variety in-game
7. β 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:
```markdown
## 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.