character-design
Domain skill for character extraction.
Entity Types
| Type |
Description |
character |
Main character entity with name, role, personality, motivation |
character_evolution |
Character development arc or growth moment |
character_profile_entry |
Backstory detail or profile information |
character_relationship |
Relationship between two characters |
character_variant |
Alternate version, iteration, or form |
voice_actor |
Voice acting information |
motion_capture |
Motion capture performance data |
Extraction Rules
- Identify characters: Named characters with dialogue/actions, referred-to characters, groups
- Extract details: Name, role, status, personality traits, motivations, goals
- Track development: Growth moments, realizations, motivation changes
- Map relationships: Type (friend, rival, family, romantic), strength, dynamics
- Note variants: Alternate forms, timelines, disguises
Domain Constraints
backstory: minimum 100 characters
ability.power_level: integer 1–10
combat_stats: attack, defense, health, speed ≥ 0
status: "active" or "inactive"
Output Format
Write to entities/narrative.json (narrative-team file):
{
"characters": [
{
"id": 1,
"world_id": 1,
"name": "Kira",
"backstory": "... minimum 100 characters ...",
"status": "active",
"abilities": [
{ "name": "Flame Mastery", "description": "...", "power_level": 8 }
],
"created_at": "2026-02-14T10:00:00+00:00",
"updated_at": "2026-02-14T10:00:00+00:00",
"version": 1
}
],
"character_relationships": [
{
"id": 2,
"character_from_id": 1,
"character_to_id": 3,
"relationship_type": "friend",
"description": "Strong friendship forged through shared battles",
"relationship_level": 60,
"is_mutual": true,
"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
- Uniqueness: Each character has a unique ID; name variations reference the same ID
- Implicit relationships: Track both explicit and implied connections
- Cross-references: If needed, track relationships separately in drafts, but final JSON must be compatible with
LoreData.from_dict.
1---2name: character-design-23description: Extract character entities from narrative text. Use when analyzing characters, relationships, psychology, development arcs, voice/mocap data, and character variants.4---5# character-design
6
7Domain skill for character extraction.
8
9## Entity Types
10
11| Type | Description |
12|------|-------------|
13| `character` | Main character entity with name, role, personality, motivation |
14| `character_evolution` | Character development arc or growth moment |
15| `character_profile_entry` | Backstory detail or profile information |
16| `character_relationship` | Relationship between two characters |
17| `character_variant` | Alternate version, iteration, or form |
18| `voice_actor` | Voice acting information |
19| `motion_capture` | Motion capture performance data |
20
21## Extraction Rules
22
231. **Identify characters**: Named characters with dialogue/actions, referred-to characters, groups
242. **Extract details**: Name, role, status, personality traits, motivations, goals
253. **Track development**: Growth moments, realizations, motivation changes
264. **Map relationships**: Type (friend, rival, family, romantic), strength, dynamics
275. **Note variants**: Alternate forms, timelines, disguises
28
29## Domain Constraints
30
31- `backstory`: minimum 100 characters
32- `ability.power_level`: integer 1–10
33- `combat_stats`: attack, defense, health, speed ≥ 0
34- `status`: "active" or "inactive"
35
36## Output Format
37
38Write to `entities/narrative.json` (narrative-team file):
39
40```json
41{
42 "characters": [
43 {
44 "id": 1,
45 "world_id": 1,
46 "name": "Kira",
47 "backstory": "... minimum 100 characters ...",
48 "status": "active",
49 "abilities": [
50 { "name": "Flame Mastery", "description": "...", "power_level": 8 }
51 ],
52 "created_at": "2026-02-14T10:00:00+00:00",
53 "updated_at": "2026-02-14T10:00:00+00:00",
54 "version": 1
55 }
56 ],
57 "character_relationships": [
58 {
59 "id": 2,
60 "character_from_id": 1,
61 "character_to_id": 3,
62 "relationship_type": "friend",
63 "description": "Strong friendship forged through shared battles",
64 "relationship_level": 60,
65 "is_mutual": true,
66 "created_at": "2026-02-14T10:00:00+00:00",
67 "updated_at": "2026-02-14T10:00:00+00:00",
68 "version": 1
69 }
70 ],
71 "next_id": 3
72}
73```
74
75## Key Considerations
76
77- **Uniqueness**: Each character has a unique ID; name variations reference the same ID
78- **Implicit relationships**: Track both explicit and implied connections
79- **Cross-references**: If needed, track relationships separately in drafts, but final JSON must be compatible with `LoreData.from_dict`.