faction-design
Domain skill for faction and organization extraction.
Entity Types
| Type |
Description |
faction |
Organization, guild, cult, or group |
faction_hierarchy |
Internal power structure |
faction_ideology |
Beliefs, goals, worldview |
faction_leader |
Leadership position or person |
faction_membership |
Member roster or membership info |
faction_resource |
Controlled resources and assets |
faction_territory |
Controlled or influenced territory |
banner |
Faction banner, emblem, or symbol |
Domain Constraints
faction.type: political, religious, military, criminal, magical, merchant, secret, monster
faction.alignment: good, neutral, evil, chaotic
faction_membership.reputation: integer -1000 to 1000
Extraction Rules
- Named groups: Guilds, armies, cults, orders — extract with exact name
- Implied groups: Bandits, rebels, authorities — create descriptive name
- Hierarchy: Who leads, how power is organized, ranks
- Relationships: Allies, enemies, neutral parties between factions
- Resources: Wealth, military power, information, magic, territory
Output Format
Write to entities/society.json:
{
"factions": [
{
"id": 1,
"world_id": 1,
"name": "Shadow Brotherhood",
"description": "Secret criminal organization operating in the underworld",
"type": "criminal",
"alignment": "evil",
"leader_character_id": null,
"member_character_ids": [],
"allied_faction_ids": [],
"enemy_faction_ids": [],
"headquarters_location_id": null,
"controlled_location_ids": [],
"reputation_hostile_threshold": -500,
"reputation_neutral_threshold": 0,
"reputation_friendly_threshold": 500,
"reputation_exalted_threshold": 1000,
"vendor_discount_at_friendly": 10.0,
"vendor_discount_at_exalted": 25.0,
"exclusive_items_unlocked_at": 750,
"faction_icon_path": null,
"faction_color": null,
"is_hidden": false,
"is_joinable": true,
"created_at": "2026-02-14T10:00:00+00:00",
"updated_at": "2026-02-14T10:00:00+00:00",
"version": 1
}
],
"next_id": 2
}
Key Considerations
- Overlapping membership: Characters may belong to multiple factions
- Hidden factions: Some operate in secret — extract even unnamed ones
- Dynamic relationships: Alliances shift; note current state from text
- 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: faction-design3description: Extract faction entities from narrative text. Use when analyzing organizations, hierarchies, ideologies, territories, resources, leaders, banners, and inter-faction relationships. Use when this capability is needed.4---5# faction-design67Domain skill for faction and organization extraction.89## Entity Types1011| Type | Description |12|------|-------------|13| `faction` | Organization, guild, cult, or group |14| `faction_hierarchy` | Internal power structure |15| `faction_ideology` | Beliefs, goals, worldview |16| `faction_leader` | Leadership position or person |17| `faction_membership` | Member roster or membership info |18| `faction_resource` | Controlled resources and assets |19| `faction_territory` | Controlled or influenced territory |20| `banner` | Faction banner, emblem, or symbol |2122## Domain Constraints2324- `faction.type`: political, religious, military, criminal, magical, merchant, secret, monster25- `faction.alignment`: good, neutral, evil, chaotic26- `faction_membership.reputation`: integer -1000 to 10002728## Extraction Rules29301. **Named groups**: Guilds, armies, cults, orders — extract with exact name312. **Implied groups**: Bandits, rebels, authorities — create descriptive name323. **Hierarchy**: Who leads, how power is organized, ranks334. **Relationships**: Allies, enemies, neutral parties between factions345. **Resources**: Wealth, military power, information, magic, territory3536## Output Format3738Write to `entities/society.json`:3940```json41{42 "factions": [43 {44 "id": 1,45 "world_id": 1,46 "name": "Shadow Brotherhood",47 "description": "Secret criminal organization operating in the underworld",48 "type": "criminal",49 "alignment": "evil",50 "leader_character_id": null,51 "member_character_ids": [],52 "allied_faction_ids": [],53 "enemy_faction_ids": [],54 "headquarters_location_id": null,55 "controlled_location_ids": [],56 "reputation_hostile_threshold": -500,57 "reputation_neutral_threshold": 0,58 "reputation_friendly_threshold": 500,59 "reputation_exalted_threshold": 1000,60 "vendor_discount_at_friendly": 10.0,61 "vendor_discount_at_exalted": 25.0,62 "exclusive_items_unlocked_at": 750,63 "faction_icon_path": null,64 "faction_color": null,65 "is_hidden": false,66 "is_joinable": true,67 "created_at": "2026-02-14T10:00:00+00:00",68 "updated_at": "2026-02-14T10:00:00+00:00",69 "version": 170 }71 ],72 "next_id": 273}74```7576## Key Considerations7778- **Overlapping membership**: Characters may belong to multiple factions79- **Hidden factions**: Some operate in secret — extract even unnamed ones80- **Dynamic relationships**: Alliances shift; note current state from text81- **Cross-references**: If needed, track relationships separately in drafts, but final JSON must match `LoreData.from_dict`.8283---84> Converted and distributed by [TomeVault](https://tomevault.io/claim/bivex) — claim your Tome and manage your conversions.85<!-- tomevault:4.0:skill_md:2026-04-14 -->