skills/game-dev-commands/game-quest/SKILL.md
Designs a single quest end-to-end — coherence check, objective tree, quest brief, and registry entry. Extract the quest name from the user's message. Requires docs/world-lore.md and docs/quest-registry.md.
npx skillsauth add fcsouza/agent-skills game-questInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
docs/world-lore.md in the project (run game-architect first, or create it manually)quest-narrative-coherence skillquest-mission-design skillExecute in this exact order:
docs/world-lore.md
⛔ Cannot proceed. docs/world-lore.md not found. Run the game-architect skill first to generate the world foundation, or create docs/world-lore.md manually. and stop.docs/quest-registry.md
# Quest Registry
> Managed by game-quest skill
| Quest ID | Name | Type | Quest Giver NPC | Primary Location | Factions Affected | Rewards Summary | Prerequisites | Story Arc |
|----------|------|------|-----------------|------------------|-------------------|-----------------|---------------|-----------|
quest-narrative-coherence skillquest-mission-design skilldocs/mvp-first-draft.md if it exists (for economy and progression context — optional)Run the 5-step check from quest-narrative-coherence against the quest name from the user's message:
Step 1: Load World State — already done in Phase 0. Extract from world-lore.md:
Step 2: Check Quest Registry — from docs/quest-registry.md identify:
Step 3: Validate Proposed Quest — verify:
Step 4: Confirm Lore Reference — the quest MUST:
Step 5: Prepare Registry Entry — draft the registry row (will be written in Phase 5 after the quest is finalized)
Output a Coherence Report BEFORE proceeding to Phase 2:
## Coherence Report for: [quest name]
✅/🔴 Faction references: [valid — references [faction] | flagged — [issue]]
✅/🔴 Character availability: [valid | flagged — [character] is already in [quest]]
✅/🔴 Location exists: [valid — [location] confirmed in world-lore | flagged — [issue]]
✅/🔴 No timeline paradox: [valid | flagged — [issue]]
✅/🔴 Economy consistency: [valid — rewards within range | flagged — [issue]]
If ANY item is flagged 🔴: STOP. Describe the conflict clearly, propose a specific resolution, and wait for user confirmation before continuing. Do not proceed to Phase 2 until all conflicts are resolved.
Based on the quest name/concept and world context, recommend one type from the taxonomy:
| Type | Best for | |------|---------| | Main Story | Advances primary narrative arc | | Side Quest | Optional, enriches world | | Chain Quest | Multi-step, each unlocks next | | Branching | Player choice determines outcome | | Repeatable | Can be done multiple times | | Discovery | Triggered by exploration | | Social | Requires other players | | Timed | Must complete within deadline | | Collection | Gather a set of items | | Escort/Protect | Keep something safe |
Ask at most 1 question if the type is genuinely ambiguous. If the context makes it clear, proceed without asking.
Apply the principles from quest-mission-design:
Output a Mermaid flow diagram showing the objective tree:
flowchart TD
A["Objective 1: [description]"] --> B{"Choice Point"}
B --> C["Path A: [description]"]
B --> D["Path B: [description]"]
C --> E["Outcome A: [world consequence]"]
D --> F["Outcome B: [world consequence]"]
Include sub-objectives (required vs optional bonus) where appropriate. If the quest is a simple Side Quest or Discovery type, a linear flow is acceptable — but note if it has no branching and explain why it's acceptable given the type.
Output the complete quest brief in GDD section format:
## Quest: [name]
**Type:** [from Phase 2]
**Hook:** [1-sentence player-facing description — what draws them in]
**Quest Giver NPC:** [name, faction, location where they can be found]
**Primary Location:** [where the quest takes place]
### Objectives
[numbered list with branching paths — mirror the Mermaid diagram above]
1. [Required objective]
- 1a. [Choice A description + consequence]
- 1b. [Choice B description + consequence]
2. [Final objective — varies based on choice above]
### Rewards
- [Currency type]: [amount] — [rationale: "consistent with [quest type] rewards in registry" OR "unverified — cross-check with game economy design when defined"]
- [Items, if any]
- [Relationship/reputation changes, if applicable]
### World Consequences
[What changes in the world after completion — NPC status, faction relationships, locations, lore]
### Prerequisites
[Other quests that must be complete first, or "None"]
### Failure State
[What happens if the player abandons or fails the quest]
### Economy Note
[Reward amount cross-referenced against mvp-first-draft.md economy params OR flagged as: "⚠️ Economy not yet defined — validate rewards when running the game-balance skill"]
Append the completed quest to docs/quest-registry.md in the registry format:
| [QID] | [Quest Name] | [Type] | [Giver NPC] | [Location] | [Factions Affected] | [Rewards Summary] | [Prerequisites] | [Story Arc] |
After writing the entry, output:
✅ Quest registered in docs/quest-registry.md
If the quest introduces any NPC or location not currently in docs/world-lore.md:
⚠️ New [NPC/Location] introduced: [name]
→ Run the game-lore skill to add them to world-lore.md
tools
Use when implementing client-server state synchronization, delta compression, optimistic updates, rollback netcode, or real-time game state reconciliation. Triggers: state sync, netcode, delta, rollback, interpolation, prediction.
testing
Use when designing virtual economies, currencies, sink/faucet balance, loot tables, crafting systems, shops, or inflation control. Triggers: economy, currency, sinks, loot, inflation, crafting, shop.
development
Audits existing game code against design principles — checks server-authority, schema conventions, auth security, payment safety, narrative coherence, and MVP scope drift. Extract the optional component name or path from the user's message (defaults to entire src/). Use after building components or before committing.
testing
Adds or updates a single world lore entry (faction, location, NPC, or event) — validates against existing lore for consistency, applies the right template, and updates docs/world-lore.md. Extract the entry type (faction/location/npc/event) and name from the user's message.