lore-writing
Domain skill for lore knowledge and narrative device extraction.
Entity Types
| Type |
Description |
lore_fragment |
Piece of world lore or historical knowledge |
codex_entry |
Codex or encyclopedia entry |
journal_page |
Journal, diary, or log entry |
bestiary_entry |
Creature or monster description |
memory |
Character memory or recollection |
dream |
Dream or prophetic vision |
nightmare |
Nightmare or dark vision |
foreshadowing |
Narrative foreshadowing element |
chekhovs_gun |
Setup element that must pay off later |
red_herring |
Misleading narrative element |
deus_ex_machina |
Unexpected resolution device |
flash_forward |
Future glimpse or time skip |
plot_device |
General narrative mechanism |
lore_axioms |
Fundamental world rules or laws |
Extraction Rules
- Lore fragments: Historical references, myths, legends, folklore mentioned in passing
- Bestiary: Creature abilities, behaviors, habitats, weaknesses
- Dreams/visions: Symbolism, prophetic content, emotional context
- Narrative devices: Foreshadowing setups, Chekhov's guns, red herrings
- World rules: Fundamental axioms that govern the world's logic
Output Format
Write to entities/narrative.json (narrative-team file):
{
"lore_fragments": [
{
"id": 1,
"world_id": 1,
"title": "The Old War Legend",
"content": "A legend about the ancient war between mages and warriors",
"rarity": "common",
"is_discoverable": true,
"created_at": "2026-02-14T10:00:00+00:00",
"updated_at": "2026-02-14T10:00:00+00:00",
"version": 1
}
],
"foreshadowings": [
{
"id": 2,
"story_id": 10,
"scene_id": 11,
"foreshadowing_type": "symbolic",
"subtlety": "moderate",
"name": "The Cracked Amulet",
"description": "The amulet shows a crack — hints at its eventual breaking",
"hinted_event_id": null,
"is_paid_off": false,
"player_discovery_rate": 40.0,
"character_ids": [3],
"location_id": 5,
"requires_knowledge": [1],
"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
- Fragmentary nature: Lore often comes in small, incomplete pieces
- Unreliable narrators: Stories within stories may be biased or inaccurate
- Symbolic dreams: Not all dream content is literal
- Cross-references: If needed, track relationships separately in drafts, but final JSON must match
LoreData.from_dict.
1---2name: lore-writing3description: Extract lore and narrative device entities from text. Use when analyzing codex entries, bestiary entries, journals, dreams, nightmares, memories, secrets, foreshadowing, and plot devices.4---5# lore-writing
6
7Domain skill for lore knowledge and narrative device extraction.
8
9## Entity Types
10
11| Type | Description |
12|------|-------------|
13| `lore_fragment` | Piece of world lore or historical knowledge |
14| `codex_entry` | Codex or encyclopedia entry |
15| `journal_page` | Journal, diary, or log entry |
16| `bestiary_entry` | Creature or monster description |
17| `memory` | Character memory or recollection |
18| `dream` | Dream or prophetic vision |
19| `nightmare` | Nightmare or dark vision |
20| `foreshadowing` | Narrative foreshadowing element |
21| `chekhovs_gun` | Setup element that must pay off later |
22| `red_herring` | Misleading narrative element |
23| `deus_ex_machina` | Unexpected resolution device |
24| `flash_forward` | Future glimpse or time skip |
25| `plot_device` | General narrative mechanism |
26| `lore_axioms` | Fundamental world rules or laws |
27
28## Extraction Rules
29
301. **Lore fragments**: Historical references, myths, legends, folklore mentioned in passing
312. **Bestiary**: Creature abilities, behaviors, habitats, weaknesses
323. **Dreams/visions**: Symbolism, prophetic content, emotional context
334. **Narrative devices**: Foreshadowing setups, Chekhov's guns, red herrings
345. **World rules**: Fundamental axioms that govern the world's logic
35
36## Output Format
37
38Write to `entities/narrative.json` (narrative-team file):
39
40```json
41{
42 "lore_fragments": [
43 {
44 "id": 1,
45 "world_id": 1,
46 "title": "The Old War Legend",
47 "content": "A legend about the ancient war between mages and warriors",
48 "rarity": "common",
49 "is_discoverable": true,
50 "created_at": "2026-02-14T10:00:00+00:00",
51 "updated_at": "2026-02-14T10:00:00+00:00",
52 "version": 1
53 }
54 ],
55 "foreshadowings": [
56 {
57 "id": 2,
58 "story_id": 10,
59 "scene_id": 11,
60 "foreshadowing_type": "symbolic",
61 "subtlety": "moderate",
62 "name": "The Cracked Amulet",
63 "description": "The amulet shows a crack — hints at its eventual breaking",
64 "hinted_event_id": null,
65 "is_paid_off": false,
66 "player_discovery_rate": 40.0,
67 "character_ids": [3],
68 "location_id": 5,
69 "requires_knowledge": [1],
70 "created_at": "2026-02-14T10:00:00+00:00",
71 "updated_at": "2026-02-14T10:00:00+00:00",
72 "version": 1
73 }
74 ],
75 "next_id": 3
76}
77```
78
79## Key Considerations
80
81- **Fragmentary nature**: Lore often comes in small, incomplete pieces
82- **Unreliable narrators**: Stories within stories may be biased or inaccurate
83- **Symbolic dreams**: Not all dream content is literal
84- **Cross-references**: If needed, track relationships separately in drafts, but final JSON must match `LoreData.from_dict`.