Imported from majiayu000/claude-skill-registry (
skills/testing/worldcrafter-skill-selector-hopeoverture-worldcrafter-v2-96cded71/SKILL.md). Install upstream withnpx skills add majiayu000/claude-skill-registry --skill worldcrafter-skill-selector-hopeoverture-worldcrafter-v2-96cded71. Copyright stays with the author.
WorldCrafter Skill Selector
Version: 2.0.0 Last Updated: 2025-01-15
This meta-skill helps Claude select the correct WorldCrafter skill based on user requests and orchestrate multiple skills when needed.
Skill Metadata
Related Skills:
worldcrafter-feature-builder- Complete features with forms, validation, and databaseworldcrafter-database-setup- Database tables, migrations, and RLS policiesworldcrafter-test-generator- Add tests to existing codeworldcrafter-route-creator- Simple pages and API endpointsworldcrafter-auth-guard- Authentication and authorization
Example Use Cases:
- "I want to add a blog" → Recommends feature-builder (which will call database-setup if needed)
- "Add an about page" → Recommends route-creator
- "Protect the dashboard" → Recommends auth-guard
Skill Selection Decision Tree
Primary Decision: What is the user trying to do?
User request analysis:
│
├─ Building a COMPLETE FEATURE with forms/validation?
│ → worldcrafter-feature-builder
│ Examples: "Create a blog", "Add comments feature", "Build user profiles"
│ Note: Feature-builder will call database-setup if needed
│
├─ Working with DATABASE ONLY (no UI yet)?
│ → worldcrafter-database-setup
│ Examples: "Create a table for X", "Add RLS policies", "Set up database for..."
│ Note: Use this FIRST before building UI
│
├─ Adding TESTS to existing code?
│ → worldcrafter-test-generator
│ Examples: "Add tests for X", "Improve coverage", "Test the auth flow"
│ Note: Feature-builder includes basic tests, use this for additional coverage
│
├─ Creating SIMPLE PAGES without forms?
│ → worldcrafter-route-creator
│ Examples: "Add an about page", "Create API endpoint", "Add a layout"
│ Note: For pages WITH forms, use feature-builder instead
│
├─ Adding AUTHENTICATION or protecting routes?
│ → worldcrafter-auth-guard
│ Examples: "Protect the dashboard", "Add login", "Require authentication"
│ Note: Can be used during or after feature creation
│
├─ Using AI for GENERATION, SUGGESTIONS, or CONSISTENCY CHECKS?
│ → worldcrafter-ai-assistant
│ Examples: "Generate character with AI", "Suggest relationships", "Check for inconsistencies"
│ Keywords: AI, generate, suggest, consistency, prompts, ideas, brainstorm
│
├─ Creating VISUALIZATIONS (maps, timelines, graphs)?
│ → worldcrafter-visualization
│ Examples: "Upload world map", "Show timeline", "Visualize hierarchy", "Display analytics"
│ Keywords: map, timeline, graph, chart, tree, hierarchy, visualization, analytics
│
└─ Setting up CHATGPT INTEGRATION or MCP server?
→ worldcrafter-chatgpt-setup
Examples: "Set up ChatGPT", "Create MCP server", "Enable conversational worldbuilding"
Keywords: ChatGPT, MCP, OAuth, conversational, integration
Trigger Phrase Mapping
worldcrafter-feature-builder Triggers
Strong indicators:
- "Create a [feature]"
- "Build a [feature]"
- "Add a [feature] feature"
- "I want to add [feature] to the app"
- "Implement [feature] with forms/validation"
Weak indicators (ask for clarification):
- "Add [X]" - Could be page, feature, or database
- "Create [X]" - Could be page or feature
Keywords:
- feature, form, submit, validation, CRUD, create/update/delete
worldcrafter-database-setup Triggers
Strong indicators:
- "Create a table for..."
- "Add a [Model] model"
- "Set up database for..."
- "I need to store [data]"
- "Add RLS policies"
- "Create a migration"
Keywords:
- table, model, database, schema, migration, RLS, Prisma
worldcrafter-test-generator Triggers
Strong indicators:
- "Add tests for..."
- "Test the [feature]"
- "Improve coverage"
- "Write tests for..."
- "Generate tests"
Keywords:
- test, coverage, spec, E2E, integration test, unit test
worldcrafter-route-creator Triggers
Strong indicators:
- "Create a page for..." (simple, no forms)
- "Add an about/contact/terms page"
- "Create an API endpoint"
- "Add a layout"
Weak indicators (ask for clarification):
- "Create a page" - Could be simple page or feature
Keywords:
- page, route, API endpoint, layout, static content
worldcrafter-auth-guard Triggers
Strong indicators:
- "Protect the [route]"
- "Add authentication"
- "Require login"
- "Make [X] require auth"
- "Implement login/logout"
- "Add role-based access"
Keywords:
- protect, auth, authentication, login, logout, permission, role, RBAC
worldcrafter-ai-assistant Triggers
Strong indicators:
- "Generate [entity] with AI"
- "Suggest relationships for..."
- "Check for inconsistencies in..."
- "Get writing prompts for..."
- "AI-generate [characters/locations/events]"
- "Brainstorm ideas for..."
- "What would make sense for..."
- "Help me expand on..."
Weak indicators (ask for clarification):
- "Generate [X]" - Could be AI or manual creation
- "Suggest [X]" - Could be AI-powered or manual
Keywords:
- AI, generate, suggest, consistency, inconsistency, prompts, ideas, brainstorm
- creative, expand, develop, what if, possibilities, options
worldcrafter-visualization Triggers
Strong indicators:
- "Upload world map"
- "Show timeline of..."
- "Visualize [hierarchy/graph/tree]"
- "Display analytics for..."
- "Create a [map/timeline/chart/graph]"
- "Plot [events/locations] on..."
- "Show relationship graph for..."
- "Generate visualization of..."
Weak indicators (ask for clarification):
- "Show [X]" - Could be visualization or simple display
- "Display [X]" - Could be chart or text
Keywords:
- map, timeline, graph, chart, tree, hierarchy, visualization, analytics
- plot, spatial, temporal, network, relationships, connections
- dashboard, metrics, statistics
worldcrafter-chatgpt-setup Triggers
Strong indicators:
- "Set up ChatGPT integration"
- "Create MCP server for..."
- "Enable conversational worldbuilding"
- "Connect to ChatGPT"
- "Add ChatGPT support"
- "Implement MCP protocol"
- "OAuth for ChatGPT"
Keywords:
- ChatGPT, MCP, OAuth, conversational, integration, protocol
- chat interface, natural language, dialogue
Ambiguous Request Handling
"Add a contact form"
Analysis:
- "form" keyword → Likely feature-builder
- But could be interpreted as simple page by some users
Recommendation: → Use worldcrafter-feature-builder
- Forms need validation and Server Actions
- Route-creator is for pages WITHOUT forms
"Create a blog"
Analysis:
- Ambiguous: Could mean feature, database, or pages
- Context: "Create a blog" typically means complete feature
Recommendation: → Use worldcrafter-feature-builder
- Implies complete functionality
- Feature-builder will orchestrate database-setup if needed
"Add an about page"
Analysis:
- "page" keyword → Could be feature-builder or route-creator
- Context: About pages are typically static
Recommendation: → Use worldcrafter-route-creator
- Simple static content
- No forms or complex logic needed
"Set up user profiles"
Analysis:
- Ambiguous: Could be database-only or complete feature
Recommendation: → Ask user for clarification:
- "Do you want just the database table, or the complete profile editing feature?"
- If database only → worldcrafter-database-setup
- If complete feature → worldcrafter-feature-builder
"Add authentication"
Analysis:
- Clear intent but could apply to new or existing code
Recommendation: → Ask user for context:
- "Are you adding auth to existing features, or building new auth flows?"
- If protecting existing → worldcrafter-auth-guard
- If building from scratch → Feature-builder can include auth
"Generate character ideas"
Analysis:
- "generate" keyword → Could be AI-assisted or manual creation
- Context: User likely wants AI help for creative ideas
Recommendation: → Use worldcrafter-ai-assistant
- AI excels at creative generation
- Can suggest relationships, traits, backstories
- If user wants to store characters afterward → database-setup
"Show me my world timeline"
Analysis:
- "show" + "timeline" → Clearly visualization
- User wants visual representation
Recommendation: → Use worldcrafter-visualization
- Timeline visualization is core feature
- Can integrate with existing world data
- If timeline data doesn't exist → may need database-setup first
"Set up conversational interface"
Analysis:
- Ambiguous: Could mean chat UI or ChatGPT integration
- "conversational" suggests MCP integration
Recommendation: → Ask user for clarification:
- "Do you want a chat UI in your app, or ChatGPT/MCP integration?"
- If chat UI → feature-builder (build chat feature)
- If ChatGPT/MCP → chatgpt-setup
Multi-Skill Orchestration Patterns
Pattern: Complete Feature from Scratch
User request: "Build a blog post system where users can create and edit posts"
Analysis:
- Complete feature needed
- Authentication implied ("users can create")
- Database needed for posts
Orchestration:
- worldcrafter-database-setup (create BlogPost model, RLS policies)
- worldcrafter-feature-builder (create forms, Server Actions, tests)
- worldcrafter-auth-guard (add auth checks, protect routes)
Note: Feature-builder might call database-setup automatically
Pattern: Simple Page
User request: "Create an about us page"
Analysis:
- Simple static page
- No database or forms needed
Orchestration:
- worldcrafter-route-creator only
Pattern: Protect Existing Feature
User request: "Protect the dashboard so only logged-in users can access it"
Analysis:
- Dashboard already exists
- Adding auth to existing code
Orchestration:
- worldcrafter-auth-guard only
Pattern: Database-First Development
User request: "Set up database tables for storing blog posts, then I'll build the UI later"
Analysis:
- User explicitly wants database first
- UI comes later
Orchestration:
- worldcrafter-database-setup now
- worldcrafter-feature-builder later (when user is ready for UI)
Pattern: Improve Test Coverage
User request: "The blog feature works but coverage is only 60%"
Analysis:
- Feature already exists
- Need to add tests
Orchestration:
- worldcrafter-test-generator only
Pattern: AI-Assisted World Creation
User request: "Generate a fantasy kingdom with AI, then let me visualize it on a map"
Analysis:
- AI generation needed first
- Visualization follows
- May need database to store generated data
Orchestration:
- worldcrafter-ai-assistant (generate kingdom data)
- worldcrafter-database-setup (store generated entities if needed)
- worldcrafter-visualization (display on map)
Pattern: Analytics Dashboard
User request: "Show me analytics about my world with charts and graphs"
Analysis:
- User wants visual analytics
- May need to aggregate data from database
- Visualization is primary goal
Orchestration:
- worldcrafter-visualization (create analytics dashboard)
- Optional: worldcrafter-database-setup if custom analytics tables needed
Pattern: Conversational Worldbuilding Setup
User request: "Set up ChatGPT so I can build my world conversationally"
Analysis:
- MCP server integration needed
- OAuth authentication required
- May want AI assistance features afterward
Orchestration:
- worldcrafter-chatgpt-setup (MCP server, OAuth)
- Optional: worldcrafter-ai-assistant for prompts/consistency checking
Pattern: Complete World Visualization
User request: "I have character data. Generate relationships with AI and show them in a graph"
Analysis:
- Existing data in database
- AI to suggest/expand relationships
- Visualization to display
Orchestration:
- worldcrafter-ai-assistant (suggest relationships)
- worldcrafter-database-setup (store new relationships if needed)
- worldcrafter-visualization (relationship graph)
Pattern: Interactive Timeline with AI Suggestions
User request: "Show my world timeline and suggest missing historical events"
Analysis:
- Visualization for timeline
- AI for gap analysis and suggestions
- May need database updates
Orchestration:
- worldcrafter-visualization (display existing timeline)
- worldcrafter-ai-assistant (analyze gaps, suggest events)
- Optional: worldcrafter-database-setup (add suggested events)
Common Mistakes to Avoid
Mistake 1: Using Route-Creator for Forms
❌ Wrong:
User: "Create a contact form"
Claude: Uses route-creator
✅ Correct:
User: "Create a contact form"
Claude: Uses feature-builder (forms need validation)
Mistake 2: Using Feature-Builder for Static Pages
❌ Wrong:
User: "Add an about page"
Claude: Uses feature-builder (over-engineering)
✅ Correct:
User: "Add an about page"
Claude: Uses route-creator (simple page)
Mistake 3: Using Test-Generator After Feature-Builder
❌ Wrong:
User: "Build a blog feature"
Claude: Uses feature-builder, then test-generator
✅ Correct:
User: "Build a blog feature"
Claude: Uses feature-builder only (already includes tests)
Only use test-generator if user requests additional coverage
Mistake 4: Not Using Database-Setup First
❌ Wrong:
User: "Build a blog feature"
Claude: Uses feature-builder, realizes database is needed, goes back
✅ Correct:
User: "Build a blog feature"
Claude: Uses database-setup first, then feature-builder
Mistake 5: Using AI-Assistant for Manual Creation
❌ Wrong:
User: "Create a character named John"
Claude: Uses ai-assistant (user wants manual creation)
✅ Correct:
User: "Create a character named John"
Claude: Uses feature-builder or database-setup (manual input)
User: "Generate character ideas with AI"
Claude: Uses ai-assistant (AI generation)
Mistake 6: Using Visualization for Static Display
❌ Wrong:
User: "Show me a list of my characters"
Claude: Uses visualization (over-engineering)
✅ Correct:
User: "Show me a list of my characters"
Claude: Uses route-creator (simple list page)
User: "Show character relationships in a graph"
Claude: Uses visualization (actual visualization needed)
Mistake 7: Using Feature-Builder for MCP Setup
❌ Wrong:
User: "Set up ChatGPT integration"
Claude: Uses feature-builder (builds chat UI instead of MCP)
✅ Correct:
User: "Set up ChatGPT integration"
Claude: Uses chatgpt-setup (MCP server configuration)
Clarifying Questions
When user intent is unclear, ask these questions:
For "Add a [X] page":
- "Do you need a form on this page, or just static content?"
- If form → feature-builder
- If static → route-creator
For "Create a [X]":
- "Do you want the complete feature with forms and validation, or just the database table?"
- If complete → feature-builder
- If database only → database-setup
For "Set up [X]":
- "Do you want to set up the database, the UI, or both?"
- Database only → database-setup
- UI only → route-creator or feature-builder
- Both → database-setup then feature-builder
For "Add authentication":
- "Are you adding auth to existing features, or building new auth flows?"
- Existing features → auth-guard
- New flows → feature-builder with auth
For "Generate [X]":
- "Do you want AI-assisted generation, or manual creation with forms?"
- AI-assisted → ai-assistant
- Manual creation → feature-builder or database-setup
For "Show [X]":
- "Do you need a visualization (map/timeline/graph), or a simple list/display?"
- Visualization → visualization
- Simple display → route-creator
For "Set up ChatGPT" or "conversational":
- "Do you want ChatGPT/MCP integration, or a chat UI feature in your app?"
- MCP integration → chatgpt-setup
- Chat UI feature → feature-builder
For "Timeline" or "Map":
- "Do you need to visualize existing data, or create the timeline/map data first?"
- Visualize existing → visualization
- Create data first → database-setup, then visualization
For "Suggest" or "Ideas":
- "Do you want AI suggestions, or just a form to manually add ideas?"
- AI suggestions → ai-assistant
- Manual form → feature-builder
Reference Files
references/skill-decision-matrix.md- Comprehensive decision matrix for all scenariosreferences/orchestration-patterns.md- Detailed multi-skill workflowsreferences/trigger-phrases.md- Complete list of trigger phrases for each skill
Success Criteria
Correct skill selection includes:
- ✅ User intent correctly identified
- ✅ Appropriate skill(s) chosen
- ✅ Multiple skills orchestrated in correct order
- ✅ Ambiguities clarified with user
- ✅ Common mistakes avoided
- ✅ Efficient workflow (no redundant skill usage)