~ / rigs / nikolaj-lat / World-Puppeteer

nikolaj-lat/World-Puppeteer

The World Puppeteer, a customized Claude Code setup designed for building Voyage worlds.

↗ GitHub ★ 15 MIT updated 6d ago project Claude Code
share on X
ARCHETYPE
Orchestrator
A bench of specialised subagents. The main agent mostly delegates.
CONTEXT TAX · EVERY TURN
~3.8k tokens
Moderate · median rig: 2.3k · breakdown
GUARDRAILS
3/5
Blocks destructive commands · Pre-tool screening hook · No YOLO mode · details

Copy this rig

# review before running: this installs third-party code
$ npx degit nikolaj-lat/World-Puppeteer/.claude ./rig-world-puppeteer  # inspect, then merge into .claude/

MCP servers are added to Claude Code at local scope; env vars are shown as YOUR_… placeholders — we never store values. Files are fetched with degit into a separate folder so you can review before merging.

$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/abilities .claude/skills/abilities
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/ai-instructions .claude/skills/ai-instructions
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/archetypes .claude/skills/archetypes
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/build-skill .claude/skills/build-skill
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/canon-npcs .claude/skills/canon-npcs
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/charts .claude/skills/charts
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/count .claude/skills/count
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/creator-api .claude/skills/creator-api
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/factions .claude/skills/factions
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/image-gen .claude/skills/image-gen
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/items .claude/skills/items
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/japanese-romanization .claude/skills/japanese-romanization
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/locations .claude/skills/locations
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/maps .claude/skills/maps
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/name-filter-settings .claude/skills/name-filter-settings
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/narrative-events .claude/skills/narrative-events
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/npc-type-review .claude/skills/npc-type-review
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/npc-types .claude/skills/npc-types
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/npcs .claude/skills/npcs
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/orchestrator .claude/skills/orchestrator
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/premade-characters .claude/skills/premade-characters
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/quests .claude/skills/quests
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/realms .claude/skills/realms
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/reflect .claude/skills/reflect
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/regions .claude/skills/regions
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/review-npcs .claude/skills/review-npcs
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/settings .claude/skills/settings
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/skills .claude/skills/skills
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/story-starts .claude/skills/story-starts
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/traits .claude/skills/traits
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/triggers .claude/skills/triggers
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/world-background .claude/skills/world-background
$ npx degit nikolaj-lat/World-Puppeteer/.claude/skills/world-lore .claude/skills/world-lore
$ curl -fsSL --create-dirs -o .claude/agents/abilities.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/abilities.md
$ curl -fsSL --create-dirs -o .claude/agents/ai-instructions.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/ai-instructions.md
$ curl -fsSL --create-dirs -o .claude/agents/archetypes.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/archetypes.md
$ curl -fsSL --create-dirs -o .claude/agents/build-skill.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/build-skill.md
$ curl -fsSL --create-dirs -o .claude/agents/charts.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/charts.md
$ curl -fsSL --create-dirs -o .claude/agents/count.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/count.md
$ curl -fsSL --create-dirs -o .claude/agents/factions.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/factions.md
$ curl -fsSL --create-dirs -o .claude/agents/items.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/items.md
$ curl -fsSL --create-dirs -o .claude/agents/locations.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/locations.md
$ curl -fsSL --create-dirs -o .claude/agents/maps.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/maps.md
$ curl -fsSL --create-dirs -o .claude/agents/name-filter-settings.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/name-filter-settings.md
$ curl -fsSL --create-dirs -o .claude/agents/narrative-events.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/narrative-events.md
$ curl -fsSL --create-dirs -o .claude/agents/npc-type-review.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/npc-type-review.md
$ curl -fsSL --create-dirs -o .claude/agents/npc-types.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/npc-types.md
$ curl -fsSL --create-dirs -o .claude/agents/npcs.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/npcs.md
$ curl -fsSL --create-dirs -o .claude/agents/premade-characters.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/premade-characters.md
$ curl -fsSL --create-dirs -o .claude/agents/quests.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/quests.md
$ curl -fsSL --create-dirs -o .claude/agents/realms.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/realms.md
$ curl -fsSL --create-dirs -o .claude/agents/regions.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/regions.md
$ curl -fsSL --create-dirs -o .claude/agents/review-npcs.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/review-npcs.md
$ curl -fsSL --create-dirs -o .claude/agents/settings.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/settings.md
$ curl -fsSL --create-dirs -o .claude/agents/skills.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/skills.md
$ curl -fsSL --create-dirs -o .claude/agents/story-starts.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/story-starts.md
$ curl -fsSL --create-dirs -o .claude/agents/traits.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/traits.md
$ curl -fsSL --create-dirs -o .claude/agents/triggers.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/triggers.md
$ curl -fsSL --create-dirs -o .claude/agents/world-background.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/world-background.md
$ curl -fsSL --create-dirs -o .claude/agents/world-lore.md https://raw.githubusercontent.com/nikolaj-lat/World-Puppeteer/main/.claude/agents/world-lore.md

Merge into .claude/settings.json (project) or ~/.claude/settings.json (user). Hook commands reference scripts in the source repo — copy those too.

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash|Read|Edit|Write|Grep|NotebookEdit",
        "hooks": [
          {
            "type": "command",
            "command": "node $CLAUDE_PROJECT_DIR/.claude/scripts/guard-secrets.js"
          }
        ]
      }
    ]
  }
}

Skills (33)

Subagents (27)

abilities
model: haiku
|
ai-instructions
model: inherit
|
archetypes
model: haiku
|
build-skill
model: inherit
|
charts
model: inherit
|
count
model: haiku
|
factions
model: haiku
|
items
model: haiku
|
locations
model: haiku
|
maps
model: inherit
|
name-filter-settings
model: haiku
|
narrative-events
model: haiku
|
npc-type-review
model: sonnet
|
npc-types
model: haiku
|
npcs
model: haiku
|
premade-characters
model: haiku
|
quests
model: haiku
|
realms
model: haiku
|
regions
model: haiku
|
review-npcs
model: inherit
|
settings
model: haiku
|
skills
model: haiku
|
story-starts
model: haiku
|
traits
model: haiku
|
triggers
model: haiku
|
world-background
model: haiku
|
world-lore
model: haiku
|

Hooks (9)

eventmatcherruns
SessionStart*node $CLAUDE_PROJECT_DIR/.claude/scripts/create-tabs.js
SessionStart*node $CLAUDE_PROJECT_DIR/.claude/scripts/create-checklist.js
SessionStart*node $CLAUDE_PROJECT_DIR/.claude/scripts/create-secrets.js
SessionStartcompactnode $CLAUDE_PROJECT_DIR/.claude/scripts/post-compact.js
SubagentStartcountnode $CLAUDE_PROJECT_DIR/.claude/scripts/count.js
UserPromptSubmit*node $CLAUDE_PROJECT_DIR/.claude/scripts/check-background-agents.js
PreToolUseBash|Read|Edit|Write|Grep|NotebookEditnode $CLAUDE_PROJECT_DIR/.claude/scripts/guard-secrets.js
PostToolUseEdit|Writenode $CLAUDE_PROJECT_DIR/.claude/scripts/post-edit-validate.js
PostToolUseTasknode $CLAUDE_PROJECT_DIR/.claude/scripts/agent-completed.js

Permissions

deny (0)
—
ask (0)
—
allow (7)
Read
Edit
Write
Glob
Grep
WebSearch
WebFetch

Similar rigs

copied ✓