quest-design
Domain skill for quest structure extraction.
Entity Types
| Type |
Description |
quest |
Main quest container |
quest_chain |
Sequence of linked quests |
quest_node |
Individual step within a quest chain |
quest_giver |
NPC who assigns the quest |
quest_objective |
Specific goal within a quest |
quest_prerequisite |
Requirement to start a quest |
quest_reward_tier |
Reward tier or level for completion |
quest_tracker |
Progress tracking state |
moral_choice |
Player moral decision point |
Domain Constraints
quest.status: active, completed, failed, cancelled
objective.type: kill, collect, interact, deliver, escort, defend, explore, talk, craft, use
objective.status: not_started, in_progress, completed, failed
prerequisite.type: level, quest, item, skill, location, reputation, custom
Output Format
Write to entities/narrative.json (narrative-team file):
{
"quests": [
{
"id": 1,
"world_id": 1,
"name": "Find Lost Brother",
"description": "Kira must find her missing brother near the Ancient Ruins",
"objectives": ["Speak to village elder"],
"status": "active",
"participant_ids": [3],
"reward_ids": [],
"created_at": "2026-02-14T10:00:00+00:00",
"updated_at": "2026-02-14T10:00:00+00:00",
"version": 1
}
],
"quest_objectives": [
{
"id": 2,
"world_id": 1,
"quest_node_id": 1,
"objective_type": "talk",
"description": "Ask Elder Theron about the brother's last known location",
"target_type": null,
"target_id": null,
"target_quantity": 1,
"current_progress": 0,
"status": "not_started",
"is_optional": false,
"is_hidden": false,
"order_index": 0,
"created_at": "2026-02-14T10:00:00+00:00",
"updated_at": "2026-02-14T10:00:00+00:00",
"version": 1
}
],
"next_id": 3
}
Key Considerations
- Implicit quests: Some objectives are implied, not explicitly stated
- Moral ambiguity: Not all choices are clearly good/bad
- Cross-references: If needed, track relationships separately in drafts, but final JSON must match
LoreData.from_dict.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: quest-design3description: Extract quest entities from narrative text. Use when analyzing quest chains, objectives, moral choices, prerequisites, rewards, quest givers, and branching quest structures. Use when this capability is needed.4---5# quest-design67Domain skill for quest structure extraction.89## Entity Types1011| Type | Description |12|------|-------------|13| `quest` | Main quest container |14| `quest_chain` | Sequence of linked quests |15| `quest_node` | Individual step within a quest chain |16| `quest_giver` | NPC who assigns the quest |17| `quest_objective` | Specific goal within a quest |18| `quest_prerequisite` | Requirement to start a quest |19| `quest_reward_tier` | Reward tier or level for completion |20| `quest_tracker` | Progress tracking state |21| `moral_choice` | Player moral decision point |2223## Domain Constraints2425- `quest.status`: active, completed, failed, cancelled26- `objective.type`: kill, collect, interact, deliver, escort, defend, explore, talk, craft, use27- `objective.status`: not_started, in_progress, completed, failed28- `prerequisite.type`: level, quest, item, skill, location, reputation, custom2930## Output Format3132Write to `entities/narrative.json` (narrative-team file):3334```json35{36 "quests": [37 {38 "id": 1,39 "world_id": 1,40 "name": "Find Lost Brother",41 "description": "Kira must find her missing brother near the Ancient Ruins",42 "objectives": ["Speak to village elder"],43 "status": "active",44 "participant_ids": [3],45 "reward_ids": [],46 "created_at": "2026-02-14T10:00:00+00:00",47 "updated_at": "2026-02-14T10:00:00+00:00",48 "version": 149 }50 ],51 "quest_objectives": [52 {53 "id": 2,54 "world_id": 1,55 "quest_node_id": 1,56 "objective_type": "talk",57 "description": "Ask Elder Theron about the brother's last known location",58 "target_type": null,59 "target_id": null,60 "target_quantity": 1,61 "current_progress": 0,62 "status": "not_started",63 "is_optional": false,64 "is_hidden": false,65 "order_index": 0,66 "created_at": "2026-02-14T10:00:00+00:00",67 "updated_at": "2026-02-14T10:00:00+00:00",68 "version": 169 }70 ],71 "next_id": 372}73```7475## Key Considerations7677- **Implicit quests**: Some objectives are implied, not explicitly stated78- **Moral ambiguity**: Not all choices are clearly good/bad79- **Cross-references**: If needed, track relationships separately in drafts, but final JSON must match `LoreData.from_dict`.8081---82> Converted and distributed by [TomeVault](https://tomevault.io/claim/bivex) — claim your Tome and manage your conversions.83<!-- tomevault:4.0:skill_md:2026-04-15 -->