add-level
Guided level design — create a new level with purpose, environment, layout, enemies, and auto-generated assets. Use when user says "add a level", "new level", "create a stage", or similar.
Best use case
add-level is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Guided level design — create a new level with purpose, environment, layout, enemies, and auto-generated assets. Use when user says "add a level", "new level", "create a stage", or similar.
Teams using add-level should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/add-level/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How add-level Compares
| Feature / Agent | add-level | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Guided level design — create a new level with purpose, environment, layout, enemies, and auto-generated assets. Use when user says "add a level", "new level", "create a stage", or similar.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Guided Level Design
You are adding a new level to an existing game. This skill guides through purpose, layout, assets, and testing.
**Prerequisites:**
- `docs/game_design.md` must exist (need to know game mechanics)
- Visual direction must be locked (`docs/visual_bible.md` or style set)
- At least one level must already exist (from scaffolding)
If prerequisites are missing, tell the user: "You need a base game first. Use /create-game to set up the project."
---
## Step 1: Level Purpose
Call the `question` tool with:
- header: "Level Purpose"
- question: "What is this level's purpose?"
- 3-4 options tailored to the game's mechanics (from `docs/game_design.md`)
Each option should describe a CONCRETE scenario, not abstract categories.
Example options for a platformer with gravity-flip mechanic:
- { label: "Gravity shaft", description: "A vertical shaft where you must flip gravity mid-jump to navigate alternating platforms" }
- { label: "Gravity boss", description: "A boss that controls gravity in its arena — floor becomes ceiling every 10 seconds" }
- { label: "Hidden observatory", description: "An abandoned observatory with hidden rooms revealed only when gravity is reversed" }
---
## Step 2: Environment and Mood
Call the `question` tool with:
- header: "Level Mood"
- question: "What's the mood and environment of this level?"
- 3 options that fit within the established visual style (from `docs/visual_bible.md` or style settings)
Each option should describe a specific PLACE with sensory details.
Tie the environment to the worldbuilding if it exists.
Options must be visually distinct from existing levels.
Example options:
- { label: "Crystal caves", description: "Flooded crystal caves — bioluminescent water, stalactites dripping light, echoing silence" }
- { label: "Burning library", description: "Floating pages as platforms, ink-smoke particles, warm orange palette" }
- { label: "Frozen clocktower", description: "Giant frozen gears as platforms, time-stop zones, cold blue-white light" }
---
## Step 3: Level Layout
Based on the user's choices, design the level:
1. **Describe the layout** in 3-5 sentences:
- Entry point and exit/goal
- Key landmarks (2-3 memorable spots)
- How the level purpose is expressed spatially
- Difficulty curve within the level (easy start → challenging middle → climax)
2. **List all new elements needed:**
- New enemy types (if any) — describe appearance + behavior
- New environment pieces — platforms, hazards, decorations
- New collectibles or interactive objects
- Background/parallax layers
3. **Confirm with the user** before generating code.
---
## Step 4: Generate Level
Create the level scene and scripts:
1. **Create the scene file** (`.tscn`):
- Proper node hierarchy (TileMapLayer, spawn points, camera limits, triggers)
- Place enemies, collectibles, hazards according to layout
- Set up camera bounds and transitions
- Add entry/exit connections to the level progression system
2. **Create level-specific scripts** (if needed):
- Boss AI scripts
- Level-specific mechanics (environmental hazards, triggers, cutscenes)
- Follow coding standards from `docs/`
3. **Update level progression:**
- Add the new level to the game's level list/flow
- Connect it to the previous level's exit
- Set up any unlock conditions
---
## Step 5: Generate Level Assets
Generate art for all new elements:
1. **New enemies:** Call `godot_asset_generate` for each new enemy type
2. **Environment pieces:** Call `godot_asset_generate` for new tiles, platforms, backgrounds
3. **Props and collectibles:** Call `godot_asset_generate` for interactive objects
4. Call `godot_editor_command` with `scan_filesystem` — pick up new assets
---
## Step 6: Test and Verify
1. Call `godot_editor_command` with `run` — launch the game
2. Navigate to the new level
3. Call `godot_screenshot` — capture the level
4. Analyze the screenshot:
- Is the layout readable? Can the player see where to go?
- Do new assets match the existing visual style?
- Are enemies visible and distinguishable?
- Is the difficulty appropriate for this position in the game?
5. Fix any issues found
6. Call `godot_editor_command` with `stop`
Say: "Level added! Press Play and navigate to the new level to try it. Want to add another level or /polish the game?"
---
## Rules
- **Every level needs a PURPOSE** — no filler levels
- **Maintain visual consistency** — new assets must match the locked style
- **Escalate, don't repeat** — each level should feel different from the last
- **Test the level** — always run and screenshot before declaring done
- **Respect the game's core action** — every level should make the core mechanic shineRelated Skills
worldbuilding
Build the game world's foundation before generating concept art. Use when starting a new game project, when user says "build world", "worldbuilding", "world design", or before art direction. Guides the user through 3 questions to establish the world's unique identity.
ui-production
Create polished player-facing UI from whitebox to final assets. 5-step workflow from UI mockup to deployed game UI. Do NOT use for whitebox/prototype UI.
ui-layout-replicate
Replicate a UI layout from a cornerstone reference image into a pixel-perfect .tscn scene. Use when user says "replicate UI layout", "build layout from reference", "1:1 UI copy", or has a cornerstone UI image to turn into a scene.
polish
Systematic polish pass — add juice, screen effects, audio, transitions, UI animations, and game feel improvements. Use when user says "polish", "add juice", "make it feel better", "add effects", or similar.
analyze-screenshot
Analyze game screenshots for visual design issues, UI problems, and art consistency. Automatically triggers when a screenshot is attached.
tech-debt
Clean up tech debt - remove obsolete files, temporary files, unused code, dead imports, and other cruft. Use when user wants to clean up the codebase, remove unused code, or reduce tech debt.
start-blured
Start the Blured Engine (OpenCode AI server + Godot editor)
package-blured
Package the Blured Engine into a distributable directory
git-pushing
Stage, commit, and push git changes with conventional commit messages. Use when user wants to commit and push changes, mentions pushing to remote, or asks to save and push their work. Also activates when user says "push changes", "commit and push", "push this", "push to github", or similar git workflow requests.
git-dev-merge
Merge feature branches back to their base branches across the main repo and submodules. Use when user says "merge feature", "finish feature", "merge back", or invokes /git-dev-merge.
git-dev-feature
Start a new feature development workflow by creating an issue and feature branches across the main repo and submodules.
build-blured
Build the Blured Engine (OpenCode + Godot)