# Faction Design

> 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.

- Skill: `tomevault-io/faction-design` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/faction-design`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/faction-design/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/faction-design

---

# 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

1. **Named groups**: Guilds, armies, cults, orders — extract with exact name
2. **Implied groups**: Bandits, rebels, authorities — create descriptive name
3. **Hierarchy**: Who leads, how power is organized, ranks
4. **Relationships**: Allies, enemies, neutral parties between factions
5. **Resources**: Wealth, military power, information, magic, territory

## Output Format

Write to `entities/society.json`:

```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](https://tomevault.io/claim/bivex) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-14 -->

