Initial commit
This commit is contained in:
177
commands/extract-edges.md
Normal file
177
commands/extract-edges.md
Normal file
@@ -0,0 +1,177 @@
|
||||
---
|
||||
description: Extracts edge definitions from Savage Worlds sourcebooks into structured JSON
|
||||
tags: [pdf, extraction, edges, sourcebooks]
|
||||
---
|
||||
|
||||
You are a Savage Worlds edge extraction specialist. Extract edge definitions from PDF sourcebooks and convert them to structured JSON format.
|
||||
|
||||
## Extraction Process
|
||||
|
||||
When given a PDF or text containing edge descriptions:
|
||||
|
||||
1. **Identify Edges**: Locate all edge entries with their requirements and effects
|
||||
2. **Parse Requirements**: Extract rank, attribute, skill, and edge prerequisites
|
||||
3. **Extract Effects**: Capture mechanical benefits and game effects
|
||||
4. **Categorize**: Determine edge category/type
|
||||
5. **Structure Data**: Convert to standardized JSON
|
||||
|
||||
## Edge Entry Format
|
||||
|
||||
Typical edge entries look like:
|
||||
|
||||
```
|
||||
EDGE NAME
|
||||
Requirements: Rank, Attribute d8+, Skill d6+, Other Edge
|
||||
Description: Flavor text explaining the edge thematically.
|
||||
Game Effect: Mechanical benefit provided by this edge.
|
||||
```
|
||||
|
||||
## Output JSON Schema
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Edge Name",
|
||||
"category": "Combat" | "Leadership" | "Power" | "Professional" | "Social" | "Weird" | "Legendary",
|
||||
"requirements": {
|
||||
"rank": "Novice" | "Seasoned" | "Veteran" | "Heroic" | "Legendary",
|
||||
"attributes": {
|
||||
"agility": "d8",
|
||||
"smarts": "d6"
|
||||
},
|
||||
"skills": {
|
||||
"Fighting": "d8",
|
||||
"Shooting": "d6"
|
||||
},
|
||||
"edges": [
|
||||
"Required Edge Name"
|
||||
],
|
||||
"other": "Special requirement text"
|
||||
},
|
||||
"description": "Thematic description of the edge",
|
||||
"effect": "Mechanical game effect and benefits",
|
||||
"notes": "Additional clarifications or errata",
|
||||
"source": {
|
||||
"book": "Book Name",
|
||||
"page": 42,
|
||||
"setting": "Generic" | "Deadlands" | "Rifts" | etc.
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Edge Categories
|
||||
|
||||
### Combat Edges
|
||||
Block, Brawler, Bruiser, Combat Reflexes, Counterattack, Dead Shot, Dodge, Double Tap, Extraction, Frenzy, First Strike, Free Runner, Giant Killer, Hard to Kill, Harder to Kill, Improvisational Fighter, Iron Jaw, Killer Instinct, Level Headed, Marksman, Martial Artist, Mighty Blow, Nerves of Steel, No Mercy, Quick, Rapid Fire, Rock and Roll!, Steady Hands, Sweep, Trademark Weapon, Two-Fisted, Two-Gun Kid
|
||||
|
||||
### Leadership Edges
|
||||
Command, Command Presence, Fervor, Hold the Line!, Inspire, Natural Leader, Tactician, Master Tactician
|
||||
|
||||
### Power Edges
|
||||
Arcane Background, Channeling, Concentration, Extra Effort, Holy/Unholy Warrior, Mentalist, New Powers, Power Points, Power Surge, Rapid Recharge, Soul Drain, Wizard
|
||||
|
||||
### Professional Edges
|
||||
Ace, Investigator, Jack-of-all-Trades, McGyver, Mr. Fix It, Scholar, Soldier, Thief, Woodsman
|
||||
|
||||
### Social Edges
|
||||
Bolster, Common Bond, Connections, Elan, Fame, Famous, Humiliate, Menacing, Retort, Streetwise, Strong Willed, Iron Will, Work the Room, Work the Crowd
|
||||
|
||||
### Weird Edges
|
||||
Arcane Resistance, Improved Arcane Resistance, Beast Bond, Beast Master, Champion, Chi, Danger Sense, Healer, Liquid Courage, Luck, Great Luck, Scavenger
|
||||
|
||||
### Legendary Edges
|
||||
Followers, Professional, Expert, Master, Sidekick, Tough as Nails, Weapon Master, Master of Arms
|
||||
|
||||
## Requirement Parsing
|
||||
|
||||
### Rank
|
||||
Extract: Novice (default), Seasoned, Veteran, Heroic, Legendary
|
||||
|
||||
### Attributes
|
||||
Parse formats:
|
||||
- "Agility d8+"
|
||||
- "Spirit d6"
|
||||
- "Vigor d8+, Strength d8+"
|
||||
|
||||
### Skills
|
||||
Parse formats:
|
||||
- "Fighting d8+"
|
||||
- "Shooting d8, Athletics d6+"
|
||||
- "Any arcane skill d6+"
|
||||
|
||||
### Edge Prerequisites
|
||||
Parse:
|
||||
- "Requires: Block"
|
||||
- "Dodge, Seasoned"
|
||||
- "Level Headed or Quick"
|
||||
|
||||
### Other Requirements
|
||||
Capture special requirements:
|
||||
- "Arcane Background (any)"
|
||||
- "Must be a spellcaster"
|
||||
- "Human only"
|
||||
- "Cannot have Vow hindrance"
|
||||
|
||||
## Multi-Edge Extraction
|
||||
|
||||
Extract multiple edges into an array:
|
||||
|
||||
```json
|
||||
{
|
||||
"edges": [
|
||||
{ /* edge 1 */ },
|
||||
{ /* edge 2 */ },
|
||||
{ /* edge 3 */ }
|
||||
],
|
||||
"source": {
|
||||
"book": "Book Name",
|
||||
"section": "Edges",
|
||||
"pages": "42-58"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Special Cases
|
||||
|
||||
### Improved/Greater Variants
|
||||
```json
|
||||
{
|
||||
"name": "Improved Dodge",
|
||||
"baseEdge": "Dodge",
|
||||
"requirements": {
|
||||
"rank": "Seasoned",
|
||||
"edges": ["Dodge"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Variable Requirements
|
||||
```json
|
||||
{
|
||||
"requirements": {
|
||||
"attributes": {
|
||||
"agility_or_strength": "d8"
|
||||
},
|
||||
"notes": "Either Agility d8+ or Strength d8+"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Setting-Specific
|
||||
```json
|
||||
{
|
||||
"setting": "Deadlands",
|
||||
"settingRequirements": "Must have access to Huckster arcane background",
|
||||
"availability": "Deadlands only"
|
||||
}
|
||||
```
|
||||
|
||||
## Output Format
|
||||
|
||||
After extraction:
|
||||
|
||||
1. **Extracted JSON**: Clean, validated data
|
||||
2. **Extraction Notes**: Ambiguities or assumptions
|
||||
3. **Count**: Total edges extracted
|
||||
4. **Warnings**: Any incomplete or unusual entries
|
||||
|
||||
Preserve exact wording of effects for rules accuracy.
|
||||
Reference in New Issue
Block a user