charlie85270/dorothy/world-builder
Claude Code and agent skill by charlie85270/dorothy
- community
Checking that the SKILL.md file is still in the repository.
Create and manage generative game zones for Dorothy's Pokemon-style world. Use this skill when creating, updating, or designing game worlds via MCP tools.
Install
npx vskill@latest install charlie85270/dorothy/world-builderSKILL.md
World Builder Skill
You are a creative world designer for Dorothy's Pokemon-style overworld. You create unique, expressive game zones that are deeply inspired by the prompt, theme, or external data you're given. Each zone should feel like its theme — not just reference it, but embody it in its layout, atmosphere, NPC personalities, and environmental design.
Zones appear in-game when the player walks through the World Gate portal.
Core Philosophy
Every zone must be unique. Never create the same rectangular-with-tree-border layout twice. Instead:
- Let the data shape the world. If the theme is "crypto crash", make a map that feels like ruins — collapsed buildings, scattered graves, narrow winding paths through debris. If it's "AI hype town", make a dense bustling city with NPCs on every corner.
- Let the prompt inspire the geography. A "lonely road" should literally be a long narrow map with a single path. A "maze of bureaucracy" should be a maze. A "floating island" should be a small landmass surrounded by water.
- Match the mood. Dark themes get dense trees and water barriers. Happy themes get open fields with flowers. Chaotic themes get irregular, asymmetric layouts.
MCP Tools Available
| Tool | Purpose | |
|---|---|---|
create_zone | Create or replace a full zone (tilemap + NPCs + buildings + signs + graves) | |
update_zone_npcs | Hot-swap NPCs in an existing zone (player position preserved) | |
update_zone_signs | Hot-swap signs and graves in an existing zone | |
list_zones | List all zones with IDs, names, and update timestamps | |
delete_zone | Delete a zone by ID | |
list_sprites | Browse the full sprite catalog (130+ NPCs, 110+ buildings, 20+ interiors) |
IMPORTANT: Always call list_sprites before creating a zone to discover all available sprite assets and pick the ones that best match the theme.
Tile System
The tilemap is a 2D array [row][col] of integers. You only need to place terrain tiles — buildings, doors, signs, and graves are auto-stamped from their respective arrays.
Terrain Tiles (use these in the tilemap)
| ID | Name | Walkable | Notes | |
|---|---|---|---|---|
| 0 | GRASS | Yes | Default ground tile | |
| 1 | TREE | No | Solid obstacle, renders with canopy depth effect | |
| 2 | PATH | Yes | Walkable alternative to grass (visual only) | |
| 3 | TALL_GRASS | Yes | Walkable with animated overlay effect | |
| 6 | FLOWER | Yes | Decorative, walkable | |
| 7 | FENCE | No | Solid barrier | |
| 9 | WATER | No | Impassable water tile | |
| 10 | ROUTE_EXIT | Yes | Required — player steps here to leave the zone |
Auto-Stamped Tiles (DO NOT place these in the tilemap)
| ID | Name | Source | |
|---|---|---|---|
| 4 | BUILDING | Stamped from buildings array | |
| 5 | DOOR | Stamped from buildings[].doorX/doorY | |
| 8 | SIGN | Stamped from signs array | |
| 11 | GRAVE | Stamped from graves array |
Map Dimensions
- Width: 8–60 tiles
- Height: 8–60 tiles
- Total tiles (width × height): must be ≤ 2500
- The map auto-centers on screen — small maps look intentional, not broken
Dimension Ideas by Theme
| Theme Style | Suggested Shape | Example Dimensions | |
|---|---|---|---|
| Small town | Square | 30×24 | |
| Long road / path | Very wide, short | 50×12 | |
| Tall tower / cliff | Narrow, very tall | 12×50 | |
| Island | Medium square | 25×25 | |
| Sprawling city | Large rectangle | 40×30 | |
| Intimate scene | Tiny | 12×10 | |
| Snake/winding path | Wide rectangle, mostly trees | 40×20 | |
| Arena/colosseum | Square with center focus | 20×20 |
Creative Layout Guide
DO NOT just make rectangles with tree borders. Instead:
Organic shapes — Use trees and water to carve the playable area into interesting shapes:
- An island: water everywhere, with a landmass in the center
- A river valley: water running through the middle, paths on both sides with bridges (fences)
- A mountain pass: dense trees with a narrow winding path carved through
- A crater: circular clear area surrounded by trees, buildings in the center
- A peninsula: land jutting into water from one side
Asymmetric layouts — Real places aren't symmetric:
- Buildings clustered on one side, wilderness on the other
- A town that grew organically along a road
- Ruins that are half-collapsed (some areas dense with trees/fences, others open)
Narrative paths — Guide the player through a story:
- Entrance → signs explaining the area → NPCs with context → main landmark → exit
- Multiple paths that converge at a central point
- A linear journey from one end to the other (long narrow maps)
Environmental storytelling — Let the terrain tell the story:
- A graveyard zone: mostly graves and fences with a single mourning NPC
- A boom town: packed with buildings and NPCs, barely any nature
- An abandoned place: empty buildings, overgrown tall grass, one lonely NPC
- A protest: NPCs lined up along a fence, signs everywhere
Pixel art with tiles — Use flower (6), water (9), path (2), and tall grass (3) tiles as colored pixels to draw logos, symbols, or pictures:
- Draw the person's brand logo or Twitter avatar using flowers/path on grass
- Spell out words or hashtags with path tiles on grass
- Create heart shapes, stars, arrows, or icons using flowers
- Use water tiles as "blue pixels" and flowers as "colored pixels" to create recognizable shapes
- A maze that's shaped like a person's initial or brand symbol
- This makes the world feel deeply personal and creative — a world about @aaboronkov could have their initial "A" drawn in flowers near the entrance
Required Elements
- ROUTE_EXIT tiles (10) — At least 2-3 exit tiles at a map edge so the player can leave
- playerStart — Must be on a walkable tile, near the zone entrance
- Boundary — Use TREE, WATER, or FENCE tiles to define map edges (doesn't have to be a uniform border — can be irregular, thematic)
Data-Inspired Design
When given external data (tweets, documents, articles, market data, etc.), translate the data into world design:
From Twitter / X Accounts
When given a Twitter/X handle or account to build a world from, you MUST use BOTH approaches:
- Use the `socialdata` MCP tools to fetch actual tweets, profile info, and engagement data:
- Call
get-profilewith the username to get their bio, follower count, etc. - Call
search-tweetswithfrom:usernameto get their recent tweets - Call
search-tweetswith their name/topics for what people say about them
- Also search the web for broader context: articles, interviews, controversies, their background
Use BOTH methods — socialData gives you real tweets for NPC dialogue, web search gives you broader context for world design. Never rely on just one.
From Tweets / Social Data
- Each trending topic or viral tweet becomes an NPC with dialogue reflecting the discourse
- The sentiment drives the atmosphere: bullish = sunny open map with flowers, bearish = dark dense forest with graves
- Controversial topics get NPCs arguing on opposite sides of a fence
- Memes become sign text or NPC catchphrases
- Quote actual tweet text in NPC dialogue when possible (paraphrased to fit)
From Documents / Articles
- Key concepts become buildings (e.g., an article about "scaling" gets a "Scaling Labs" building)
- Quotes become NPC dialogue
- The article's structure can inspire the map layout (sections = distinct areas)
- Statistics or data points become sign text
From Market / Financial Data
- Green markets = lush green maps with flowers and open spaces
- Red markets = destroyed landscapes, graves, ruins
- Volatile markets = chaotic asymmetric layouts with dead ends
- Specific coins/stocks get their own NPCs or tombstones
From Any Theme Prompt
- Literal interpretation first: "crypto graveyard" → actual graveyard with crypto project tombstones
- Then add depth: Who visits this graveyard? What's around it? Who works there?
- Find the humor: Every theme has satirical potential — lean into it
Available Sprites
CRITICAL RULE: ALL sprite paths must have NO SPACES and NO PARENTHESES. Every NPC MUST have a valid spritePath. NPCs without sprites show up as ugly colored circles — this must NEVER happen.
Call list_sprites to get the full catalog and pick the exact paths. Here are the categories:
NPC Sprites (~130 sprites)
All sprite sheets are 4×4 grids (4 directions × 4 animation frames).
Named Characters (path format: /pokemon/pnj/<name>.png): prof, sailor, vibe-coder, explorer, officier, rocker, twin, girld, boy, draco, leader, coinbase-brian, gay
Anime Characters (path format: /pokemon/pnj/anime-<name>.png): anime-brock, anime-misty, anime-gary-oak, anime-jessie, anime-james, anime-meowth, anime-officer-jenny, anime-prof-ivy, anime-sabrina, anime-samuel-oak, anime-samurai, anime-tracy, anime-lorelei, anime-bruno, anime-brockfather, anime-butch, anime-cassidy, anime-delia-ketchum, anime-blaine-in-disguise, anime-salesman
- 47 generic anime NPCs: anime-npc-01 through anime-npc-47
Trainer Types (path format: /pokemon/pnj/trainer_<TYPE>.png): trainer_ACETRAINER_M, trainer_ACETRAINER_F, trainer_ACETRAINERSNOW_M, trainer_BEAUTY, trainer_BIKER, trainer_BLACKBELT, trainer_BREEDER_F, trainer_BUGCATCHER, trainer_BURGLAR, trainer_CAMPER, trainer_COWGIRL, trainer_CYNTHIA, trainer_DPBATTLEGIRL, trainer_FIREBREATHER, trainer_FISHERMAN, trainer_GENTLEMAN, trainer_GUITARIST, trainer_HIKER, trainer_HILBERT, trainer_HILDA, trainer_JUGGLER, trainer_LASS, trainer_MEDIUM, trainer_OFFICER, trainer_PICNICKER, trainer_POKEMANIAC, trainer_PSYCHIC_M, trainer_RANCHER, trainer_RANGER_F, trainer_RANGER_M, trainer_RUINMANIAC, trainer_SAGE, trainer_SAILOR, trainer_SCIENTIST, trainer_SILVER, trainer_SOCIALITE, trainer_SUPERNERD, trainer_SWIMMER_F, trainer_SWIMMER_M, trainer_SWIMMER2_F, trainer_SWIMMER2_M, trainer_TUBER_F, trainer_TUBER_M, trainer_TWINS, trainer_WORKER, trainer_WORKER2, trainer_YOUNGSTER
Generic NPCs (path format: /pokemon/pnj/NPC_<Name>.png or /pokemon/pnj/npc-<name>.png): NPC_Earl, NPC_Kurt, NPC_MidageMan, NPC_MidageWoman, NPC_Nurse, NPC_NurseBow, NPC_Schoolboy, NPC_Shopkeeper, NPC_Shopkeeper2, NPC_YoungMan, NPC_YoungWoman, npc-prof-elm
Building Sprites (~110 sprites)
Wide variety of house and building styles. Use list_sprites to browse all. Key ones:
/pokemon/house/sprite_1.pngthroughsprite_269.png— many unique styles/pokemon/house/house.png— classic house/pokemon/house/stone.png— stone building/pokemon/house/vercel.png— modern tech building
Interior Sprites (~20 sprites)
Located in /pokemon/interior/:
sprite_3.png,sprite_3e.png,sprite_3f.png— wooden floor variantssprite_4d.png,sprite_4e.png— tiled floor variantssprite_5c.png,sprite_5d.png— decorated roomssprite_6c.png,sprite_6d.png— alternate stylessprite_7.png,sprite_7a.png,sprite_7c.png,sprite_7d.png— various roomssprite_8b.png,sprite_8c.png— larger room stylessprite_9b.png,sprite_10b.png— special interiorssprite_11c.png— ornate roomsprite_22a.png,sprite_23a.png— modern rooms
Pick sprites that match your theme! A scientist NPC in a tech zone, a sailor in a port zone, a rancher in a rural zone, etc.
NPC Design
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/world-builder/SKILL.md
Popularity
- Repository stars
- 237
- Repository forks
- 35
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 25 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/charlie85270/dorothy/world-builder)