.claude/skills/archetype-import/SKILL.md
Imports Shadowrun 5e character archetypes from sourcebook stat blocks into hierarchical markdown and PDF documents with priority inference and data validation. Use when converting official SR5 archetypes to Shadow Master format.
npx skillsauth add Jasrags/ShadowMaster archetype-importInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill guides the import of official Shadowrun 5e character archetypes from sourcebook stat block images into structured markdown documents suitable for Shadow Master testing and development.
Convert published SR5 archetype stat blocks into:
core-rulebook.jsonIMPORTANT: When using existing example character files as reference:
*-v*.md pattern (e.g., example-character-street-samurai-v2.md)example-character-street-samurai-ork.md as training dataAll archetype imports produce two files:
docs/data_tables/creation/example-character-{archetype-slug}-v{version}.md
docs/data_tables/creation/example-character-{archetype-slug}-v{version}.pdf
Where:
{archetype-slug} = kebab-case archetype name (e.g., street-samurai, combat-mage){version} = iteration number (start at 1, increment for revisions)The PDF is generated automatically from the markdown using md-to-pdf.
Before beginning validation, identify the gameplay level based on resource allocation and restrictions.
| Level | Starting Karma | Resources (A/B/C/D/E) | Availability | Device Rating | | ------------ | -------------- | ------------------------ | ------------ | ------------- | | Street | 13 | 75K/50K/25K/15K/6K | ≤10 | ≤4 | | Standard | 25 | 450K/275K/140K/50K/6K | ≤12 | ≤6 | | Prime Runner | 35 | 500K/325K/210K/150K/100K | ≤15 | — |
Identification Heuristics:
Output Format:
### Gameplay Level Identification
**Detected Level:** Standard
**Evidence:**
- Total resources: 249,500¥ (within 275K Budget B)
- Max availability: 12R (Wired Reflexes 2)
- Max device rating: 5 (Hermes Ikon)
- Estimated karma budget: 25 (standard)
When importing an archetype, gather:
Equipment in Shadowrun has parent-child relationships. The markdown output must reflect these hierarchies using sub-tables or bullet lists under the parent item.
Good Example (Hierarchical):
## Weapons
### Ranged Weapons
| Weapon | Type | Accuracy | DV | AP | Mode | RC | Ammo | Cost |
| --------------- | ------------ | -------- | --- | --- | ---- | --- | ----- | ---- |
| Ares Predator V | Heavy Pistol | 5(7) | 8P | -1 | SA | - | 15(c) | 725¥ |
**Ares Predator V Modifications:**
- **Internal:** Smartgun System (Internal) [+2 Accuracy, 200¥]
- **Barrel:** Suppressor [Sound suppression, 500¥]
**Ares Predator V Ammunition:**
- Regular Ammo ×100 (10¥ per 10)
- APDS ×50 (-4 AP, 120¥ per 10)
| HK-227 | SMG | 5(7) | 7P | - | SA/BF/FA | 1 | 28(c) | 730¥ |
**HK-227 Modifications:**
- **Top:** Imaging Scope [Vision magnification, 300¥]
- **Under:** Gas-Vent 2 System [+2 RC, 400¥]
- **Stock:** Folding Stock [Concealability -2, 50¥]
**HK-227 Ammunition:**
- Explosive Rounds ×100 (-1 AP, +1 DV, 80¥ per 10)
Bad Example (Flat):
| Item | Cost |
| ----------------- | ---- |
| Ares Predator V | 725¥ |
| Smartgun System | 200¥ |
| Suppressor | 500¥ |
| Regular Ammo ×100 | 10¥ |
Cyberlimbs are capacity containers. Enhancements install INTO them.
Good Example (Hierarchical):
## Augmentations
### Cyberware
| Augmentation | Grade | Essence | Capacity | Cost |
| ------------------------- | -------- | ------- | -------- | ------- |
| Cyberarm (Right, Obvious) | Standard | 1.0 | 15 | 15,000¥ |
**Right Cyberarm Enhancements (10/15 capacity used):**
- Strength Enhancement +3 [3 capacity, 9,000¥]
- Agility Enhancement +3 [3 capacity, 9,000¥]
- Armor Enhancement +2 [2 capacity, 4,000¥]
- Cybergun (SMG, Ingram Smartgun X) [built-in, no capacity, 3,000¥]
- Slide Mount [2 capacity, 3,000¥]
**Right Cyberarm Totals:**
- STR: 6 base + 3 enhanced = 9
- AGI: 6 base + 3 enhanced = 9
- Armor: +2
| Cyberarm (Left, Obvious) | Standard | 1.0 | 15 | 15,000¥ |
**Left Cyberarm Enhancements (8/15 capacity used):**
- Strength Enhancement +3 [3 capacity, 9,000¥]
- Agility Enhancement +2 [2 capacity, 6,000¥]
- Cyber Spur [3 capacity, 7,000¥]
Bad Example (Missing hierarchy):
| Augmentation | Grade | Essence | Cost |
| ----------------------- | -------- | ------- | ------- |
| Cyberarm (Right) | Standard | 1.0 | 15,000¥ |
| Strength Enhancement +3 | - | - | 9,000¥ |
| Agility Enhancement +3 | - | - | 9,000¥ |
Armor has capacity equal to its armor rating. Mods consume capacity.
Good Example:
### Armor
| Armor | Rating | Capacity | Cost |
| ---------- | ------ | -------- | ---- |
| Lined Coat | 9 | 9 | 900¥ |
**Lined Coat Modifications (9/9 capacity used):**
- Chemical Protection 3 [3 capacity, 750¥]
- Fire Resistance 3 [3 capacity, 750¥]
- Nonconductivity 3 [3 capacity, 750¥]
| Armor Jacket | 12 | 12 | 1,000¥ |
**Armor Jacket Modifications (6/12 capacity used):**
- Insulation 3 [3 capacity, 600¥]
- Thermal Damping 3 [3 capacity, 1,500¥]
Licenses attach TO a specific SIN at the same rating.
Good Example:
### Identities
| Identity | SIN Type | Rating | Cost |
| ------------ | -------- | ------ | ------- |
| "John Smith" | Fake SIN | 4 | 10,000¥ |
**"John Smith" Licenses (Rating 4):**
- Concealed Carry Permit [200¥]
- Firearms License [200¥]
- Augmentation License [200¥]
- Driver's License [200¥]
| "Jane Doe" | Fake SIN | 2 | 5,000¥ |
**"Jane Doe" Licenses (Rating 2):**
- Driver's License [200¥]
Good Example:
### Drones
| Drone | Hand | Speed | Accel | Body | Armor | Pilot | Sensor | Cost |
| --------------------- | ---- | ----- | ----- | ---- | ----- | ----- | ------ | ------ |
| MCT-Nissan Roto-Drone | 4 | 4 | 2 | 4 | 4 | 3 | 3 | 5,000¥ |
**Roto-Drone Loadout:**
- **Mounted Weapon:** AK-97 (Assault Rifle, removed stock)
- **Weapon Ammunition:** Regular Ammo ×200
**Roto-Drone Autosofts:**
- Clearsight 3 [600¥]
- Evasion 3 [600¥]
- Maneuvering (Roto-Drone) 3 [600¥]
- Targeting (Assault Rifle) 3 [600¥]
| Lockheed Optic-X2 | 4 | 4 | 3 | 1 | 0 | 3 | 3 | 21,000¥ |
**Optic-X2 Autosofts:**
- Clearsight 4 [800¥]
- Stealth 4 [800¥]
Good Example:
| Cybereyes (Rating 3) | Standard | 0.4 | 12 capacity | 10,000¥ |
**Cybereyes Enhancements (10/12 capacity used):**
- Flare Compensation [1 capacity, 250¥]
- Low-Light Vision [2 capacity, 500¥]
- Smartlink [3 capacity, 2,000¥]
- Thermographic Vision [2 capacity, 500¥]
- Vision Enhancement 2 [2 capacity, 1,000¥]
| Cyberears (Rating 2) | Standard | 0.3 | 8 capacity | 6,000¥ |
**Cyberears Enhancements (6/8 capacity used):**
- Audio Enhancement 2 [2 capacity, 500¥]
- Spatial Recognizer [2 capacity, 1,000¥]
- Select Sound Filter 2 [2 capacity, 500¥]
Good Example:
### Matrix Gear
| Device | Rating | Cost |
| -------------------- | ------ | ------ |
| Hermes Ikon Commlink | 5 | 3,000¥ |
**Hermes Ikon Software:**
- AR Gloves [150¥]
- Mapsoft (Seattle) [20¥]
- Sim Module (Hot) [included]
For each attribute, calculate points purchased:
Points = (Current Value) - (Metatype Base)
Metatype Base Attributes: | Metatype | BOD | AGI | REA | STR | WIL | LOG | INT | CHA | |----------|-----|-----|-----|-----|-----|-----|-----|-----| | Human | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | | Elf | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 3 | | Dwarf | 3 | 1 | 1 | 3 | 2 | 1 | 1 | 1 | | Ork | 4 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | | Troll | 5 | 1 | 1 | 5 | 1 | 1 | 1 | 1 |
Example Calculation (Ork Street Samurai):
Body 7: 7 - 4 (Ork base) = 3 points
Agility 6: 6 - 1 (Ork base) = 5 points
Reaction 5: 5 - 1 (Ork base) = 4 points
Strength 5: 5 - 3 (Ork base) = 2 points
Willpower 3: 3 - 1 (Ork base) = 2 points
Logic 2: 2 - 1 (Ork base) = 1 point
Intuition 3: 3 - 1 (Ork base) = 2 points
Charisma 2: 2 - 1 (Ork base) = 1 point
─────────────────────────────────────────
Total: 20 points → Priority B (20 points)
Count total skill points and skill group ratings:
Match against priority table: | Priority | Skills | Groups | |----------|--------|--------| | A | 46 | 10 | | B | 36 | 5 | | C | 28 | 2 | | D | 22 | 0 | | E | 18 | 0 |
Sum all costs including:
Match against priority table: | Priority | Resources | |----------|-----------| | A | 450,000¥ | | B | 275,000¥ | | C | 140,000¥ | | D | 50,000¥ | | E | 6,000¥ |
Based on magical path and attributes:
Cross-reference metatype with special attribute points: | Priority | Human | Elf | Dwarf | Ork | Troll | |----------|-------|-----|-------|-----|-------| | A | 9 | 8 | 7 | 7 | 5 | | B | 7 | 6 | 4 | 4 | 0 | | C | 5 | 3 | 1 | 0 | - | | D | 3 | 0 | - | - | - | | E | 1 | - | - | - | - |
Calculate special attribute points spent on Edge.
After priority inference, validate how the starting karma was spent.
| Level | Starting Karma | Max Karma-to-Nuyen | | ------------ | -------------- | ------------------ | | Street | 13 | 5 (→10,000¥) | | Standard | 25 | 10 (→20,000¥) | | Prime Runner | 35 | 25 (→50,000¥) |
| Category | Cost | Limit | | --------------------------- | ------------------ | ------------------------------------ | | Positive Qualities | Listed cost | ≤25 Karma total | | Negative Qualities | Receive listed | ≤25 Karma bonus | | Karma-to-Nuyen | 1:2,000¥ | Level-dependent (see above) | | Active Skill | New Rating × 2 | Max rating 6 (7 with Aptitude) | | Skill Group | New Rating × 5 | Max rating 6 | | Specialization | 7 Karma | One per skill | | Attribute | New Rating × 5 | One Physical OR Mental at max | | Spells/Rituals/Preparations | 5 Karma each | ≤Magic × 2 each category | | Complex Forms | 4 Karma each | ≤Logic | | Focus Bonding | Force × multiplier | Count ≤ Magic, Total Force ≤ Magic×2 | | Power Points (Mystic Adept) | 5 Karma each | ≤Magic rating | | Contact | Connection+Loyalty | 2-7 Karma per contact, min 1+1 |
| From → To | Karma Cost | Cumulative (from 0) | | --------- | ---------- | ------------------- | | 0 → 1 | 2 | 2 | | 1 → 2 | 4 | 6 | | 2 → 3 | 6 | 12 | | 3 → 4 | 8 | 20 | | 4 → 5 | 10 | 30 | | 5 → 6 | 12 | 42 |
CRITICAL: When a character has more total skill points than their priority provides, the order of allocation matters significantly for karma efficiency.
The Problem: If you allocate priority points to low-rated skills first, you'll be forced to buy high-rated skills with karma, which is extremely expensive.
Example - Face (Elf) with Priority A Skills:
Wrong approach (expensive):
Correct approach (cheap):
Savings: 2 karma (which can mean the difference between legal and illegal)
When building a character with excess skill points:
Allocation Priority Order:
When entering skills in Shadow Master:
If you run out of karma before completing all skills, go back and reallocate:
| Focus Type | Multiplier | F1 | F2 | F3 | F4 | F5 | F6 | | ---------------- | ---------- | --- | --- | --- | --- | --- | --- | | Qi Focus | ×2 | 2 | 4 | 6 | 8 | 10 | 12 | | Spell Focus | ×2 | 2 | 4 | 6 | 8 | 10 | 12 | | Spirit Focus | ×2 | 2 | 4 | 6 | 8 | 10 | 12 | | Enchanting Focus | ×3 | 3 | 6 | 9 | 12 | 15 | 18 | | Metamagic Focus | ×3 | 3 | 6 | 9 | 12 | 15 | 18 | | Weapon Focus | ×3 | 3 | 6 | 9 | 12 | 15 | 18 | | Power Focus | ×6 | 6 | 12 | 18 | 24 | 30 | 36 |
### Karma Expenditure Validation
**Starting Karma:** 25 (Standard level)
| Category | Items | Cost | Running Total |
| ------------------ | ------------------------------- | ---- | -------------- |
| Positive Qualities | Ambidextrous (4), Toughness (9) | 13 | 13 |
| Negative Qualities | SINner (Corporate) (-25) | -25 | -12 |
| Karma-to-Nuyen | 5 Karma → 10,000¥ | 5 | -7 |
| Contact Pool | Fixer (3/2), Street Doc (2/1) | 8 | 1 |
| Focus Bonding | Weapon Focus F3 | 9 | 10 |
| Skills | Pistols 1→2 (4), Sneak spec (7) | 11 | 21 |
| **Total Spent** | | 46 | |
| **Net Karma** | 25 - 46 + 25 (negatives) | 4 | ✓ ≤7 carryover |
**Validation:**
- ✓ Positive qualities (13) ≤ 25 limit
- ✓ Negative qualities (25) ≤ 25 limit
- ✓ Karma-to-Nuyen (5) ≤ 10 limit (Standard)
- ✓ Remaining karma (4) ≤ 7 carryover limit
Free Knowledge Points = (Intuition + Logic) × 2
| Intuition | Logic | Free Points | | --------- | ----- | ----------- | | 3 | 2 | 10 | | 4 | 3 | 14 | | 5 | 4 | 18 |
| Category | Linked Attribute | | ------------ | ---------------- | | Academic | Logic | | Professional | Logic | | Interests | Intuition | | Street | Intuition |
### Knowledge & Language Skills
**Free Points:** (INT 4 + LOG 3) × 2 = **14 points**
| Skill | Category | Rating | Points |
| ----------------------------- | ------------ | ------ | ------ |
| English | Language | N | 0 |
| Spanish | Language | 3 | 3 |
| Seattle Street Gangs | Street | 4 | 4 |
| Corporate Security Procedures | Professional | 3 | 3 |
| Firearms Manufacturers | Interests | 2 | 2 |
| **Total** | | | **12** |
**Validation:** ✓ 12 points spent ≤ 14 available
Free Contact Karma = Charisma × 3
Note: This pool can ONLY be used for contacts, not other karma expenditures.
| Connection | Loy 1 | Loy 2 | Loy 3 | Loy 4 | Loy 5 | Loy 6 | | ---------- | ----- | ----- | ----- | ----- | ----- | ----- | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | 2 | 3 | 4 | 5 | 6 | 7 | — | | 3 | 4 | 5 | 6 | 7 | — | — | | 4 | 5 | 6 | 7 | — | — | — | | 5 | 6 | 7 | — | — | — | — | | 6 | 7 | — | — | — | — | — |
### Contact Pool Validation
**Free Contact Karma:** CHA 3 × 3 = **9 Karma**
| Contact | Connection | Loyalty | Cost |
| ------------------- | ---------- | ------- | ----- |
| Fixer (Mr. Johnson) | 3 | 2 | 5 |
| Street Doc (Patch) | 2 | 1 | 3 |
| **Total** | | | **8** |
**Validation:** ✓ 8 Karma spent ≤ 9 available
**Excess to General Pool:** 1 Karma (can be used for other purchases)
| Category | Karma Cost | Creation Limit | | ------------ | ---------- | -------------- | | Spells | 5 each | ≤ Magic × 2 | | Rituals | 5 each | ≤ Magic × 2 | | Preparations | 5 each | ≤ Magic × 2 |
Example: Magic 4 character can have up to 8 spells, 8 rituals, and 8 preparations.
| Limit | Formula | | ---------------- | --------- | | Max bonded count | ≤ Magic | | Max total Force | ≤ Magic×2 | | Force per test | Only 1 |
Example: Magic 4 can bond up to 4 foci with total Force ≤ 8.
### Magic Validation
**Magic Rating:** 4 (Magician)
**Tradition:** Hermetic
**Spells (6/8 limit):**
- Stunbolt, Manabolt, Armor, Heal, Improved Invisibility, Levitate
**Foci (2 foci, Force 5/8 limit):**
| Focus | Force | Bonding Cost |
| -------------- | ----- | ------------ |
| Spell Focus | 3 | 6 Karma |
| Power Focus | 2 | 12 Karma |
| **Total** | 5 | **18 Karma** |
**Validation:**
- ✓ Spells (6) ≤ Magic×2 (8)
- ✓ Foci count (2) ≤ Magic (4)
- ✓ Total Force (5) ≤ Magic×2 (8)
| Category | Limit | | ---------------------- | -------------------- | | Karma carryover | ≤7 | | Nuyen carryover | ≤5,000¥ | | Positive qualities | ≤25 Karma | | Negative qualities | ≤25 Karma bonus | | Attribute augmentation | +4 max per attribute | | Physical at max | Only 1 | | Mental at max | Only 1 | | Skill rating | ≤6 (7 with Aptitude) | | Bonded foci count | ≤Magic | | Bonded foci Force | ≤Magic × 2 | | Spells per category | ≤Magic × 2 | | Complex forms | ≤Logic | | Bound spirits | ≤Charisma | | Registered sprites | ≤Charisma |
| Limit | Street | Standard | Prime | | -------------- | ------ | -------- | ----- | | Starting Karma | 13 | 25 | 35 | | Availability | ≤10 | ≤12 | ≤15 | | Device Rating | ≤4 | ≤6 | — | | Karma-to-Nuyen | 5 | 10 | 25 |
### Creation Limits Validation
| Limit | Value | Max | Status |
| --------------------- | ----- | ----- | ------ |
| Karma carryover | 4 | 7 | ✓ |
| Nuyen carryover | 2,500 | 5,000 | ✓ |
| Positive qualities | 13 | 25 | ✓ |
| Negative qualities | 25 | 25 | ✓ |
| Physical at max | 1 | 1 | ✓ |
| Mental at max | 0 | 1 | ✓ |
| Max skill rating | 6 | 6 | ✓ |
| Max availability | 12R | 12 | ✓ |
| Max device rating | 5 | 6 | ✓ |
| Foci count | 2 | 4 | ✓ |
| Foci total Force | 5 | 8 | ✓ |
| Spells (per category) | 6 | 8 | ✓ |
## Priority Inference
### Attribute Points Calculation
- Body 7 (Ork base 4 + 3 purchased) = 3 points
- Agility 6 (base 1 + 5 purchased) = 5 points
- Reaction 5 (base 1 + 4 purchased) = 4 points
- Strength 5 (base 3 + 2 purchased) = 2 points
- Willpower 3 (base 1 + 2 purchased) = 2 points
- Logic 2 (base 1 + 1 purchased) = 1 point
- Intuition 3 (base 1 + 2 purchased) = 2 points
- Charisma 2 (base 1 + 1 purchased) = 1 point
- **Total: 20 points** → Priority B (20 points)
### Skills Calculation
- Automatics 5 + Blades 5 + Longarms 3 + Pilot Ground 1 + Pistols 4 + Sneaking 2 + Unarmed 2 = 22 points
- Skill Groups: 0
- **Total: 22/0** → Priority D
### Resources Calculation
| Category | Subtotal |
| ---------- | ------------ |
| Cyberware | 195,000¥ |
| Weapons | 8,500¥ |
| Ammunition | 2,000¥ |
| Armor | 5,000¥ |
| Gear | 12,000¥ |
| Lifestyle | 15,000¥ |
| Vehicles | 12,000¥ |
| **Total** | **249,500¥** |
→ Priority B (275,000¥) with karma-to-nuyen conversion possible
### Metatype Calculation
- Metatype: Ork
- Edge: 1
- Special attribute points available at Priority C (Ork): 0
- **Matches Priority C**
### Magic Calculation
- Magical Path: Mundane
- **Priority E** (no magic required)
### Priority Summary
| Priority | Category | Confidence | Notes |
| -------- | ---------- | ---------- | ------------------------- |
| A | Resources | 95% | 249K close to 275K budget |
| B | Attributes | 100% | 20 points exact match |
| C | Metatype | 100% | Ork with 0 special |
| D | Skills | 90% | 22/0 matches D |
| E | Magic | 100% | Mundane |
Before generating the markdown:
/data/editions/sr5/core-rulebook.jsonCRITICAL: When a stat block lists an item that has ratings in the database but does NOT specify a rating, default to Rating 1.
Example:
Common rated items that often omit ratings: | Item | Rating Range | R1 Cost | R6 Cost | |------|--------------|---------|---------| | Bug Scanner | 1-6 | 100¥ | 600¥ | | White Noise Generator | 1-6 | 50¥ | 300¥ | | Jammer (Area) | 1-6 | 200¥ | — | | Medkit | 1-6 | 250¥ | 1,500¥ | | Fake SIN | 1-6 | 2,500¥ | 15,000¥ | | Autopicker | 1-6 | 50¥ | 300¥ |
Validation: If the stat block price doesn't match Rating 1, check if it matches another rating and document accordingly.
CRITICAL: Sourcebook stat blocks often use slightly different names than the database. Before marking an item as "missing," perform fuzzy matching to find close matches.
When an exact match fails, normalize both the stat block name and database names:
Remove/normalize hyphens and spaces:
Ultra Power → ultrapowerUltra-Power → ultrapowerNormalize Roman numerals vs digits:
Predator V → predator5Predator 5 → predator5Handle parenthetical variations:
Smartgun System (Internal) → smartgunsysteminternalInternal Smartgun System → search for "smartgun" + "internal"Case-insensitive comparison:
APDS = apds = ApdsHandle common abbreviations:
E-War ↔ Electronic WarfareAR ↔ Assault RifleSMG ↔ Submachine Gun1. Exact match → Use database name
2. Normalized match (remove hyphens/spaces, lowercase) → Use database name
3. Substring match (stat block name contained in database name) → Flag as "close match"
4. Token overlap (≥80% of words match) → Flag as "close match"
5. No match → Mark as "missing"
| Stat Block Name | Database Name | Variation Type | | -------------------- | --------------------- | -------------- | | Browning Ultra Power | Browning Ultra-Power | Hyphen | | Ares Predator 5 | Ares Predator V | Roman numeral | | Ingram Smartgun X | Ingram Smartgun XI | Numeral typo | | Fichetti Sec 600 | Fichetti Security 600 | Abbreviation | | Earbuds | Ear Buds | Word split | | Hardware kit | Hardware Toolkit | Synonym | | Jammer (area) | Area Jammer | Word order | | Silencer | Silencer/Suppressor | Partial name | | Concealed holster | Concealable Holster | Adjective form | | Regular ammunition | Regular Rounds | Synonym | | Wired Reflexes 2 | Wired Reflexes | Rating in name |
### Matched Items (45/50)
**Exact matches:** 42 items found in `/data/editions/sr5/core-rulebook.json`
**Close matches (auto-corrected):**
| Stat Block Name | Database Name | Correction Applied |
| -------------------- | -------------------- | ------------------ |
| Browning Ultra Power | Browning Ultra-Power | Added hyphen |
| Earbuds | Ear Buds | Split words |
| Silencer | Silencer/Suppressor | Full name |
### Missing from Database (3 items)
| Item | Type | Fuzzy Search Results |
| ------------------------ | -------- | ---------------------------------- |
| Electrochromatic T-shirt | Clothing | No close matches found |
| Custom Grip Mod | Weapon | Partial: "Grip" in 3 items |
| Ares Roto-Drone MkII | Drone | Close: "Ares Roto-Drone" (no MkII) |
When validating items, use these grep patterns:
# Exact match
grep -i '"name": "Browning Ultra Power"' /data/editions/sr5/core-rulebook.json
# Normalized search (ignore hyphens/spaces)
grep -i '"name":.*browning.*ultra.*power' /data/editions/sr5/core-rulebook.json
# Partial/substring search
grep -i '"name":.*browning' /data/editions/sr5/core-rulebook.json | head -20
# Find all weapons to manually review
grep -i '"name":' /data/editions/sr5/core-rulebook.json | grep -i pistol
## Validation Report
### Matched Items (45/50)
All found in `/data/editions/sr5/core-rulebook.json`
### Missing from Database
| Item | Type | Suggested Action |
| --------------- | ---------- | ----------------------- |
| Custom Grip | Weapon Mod | Add to weaponMods array |
| Ares Roto-Drone | Drone | Add to drones array |
### Calculation Discrepancies
| Calculation | Expected | Actual | Discrepancy |
| ----------- | -------- | -------- | ----------- |
| Essence | 0.88 | 0.76 | 0.12 |
| Resources | 450,000¥ | 435,000¥ | 15,000¥ |
### Capacity Violations
| Container | Capacity | Used | Overflow |
| -------------- | -------- | ---- | -------- |
| Right Cyberarm | 15 | 17 | 2 |
### Common Transcription Errors Detected
- "Ares Predator 5" → Should be "Ares Predator V"
- "Wired Reflexes Rating 2" → Check if essence matches Rating 2 (3.0)
- "Smartlink" → Verify if internal (capacity 0) or external (mount required)
docs/data_tables/creation/example-character-{slug}-v1.mdmd-to-pdfCommand:
cd docs/data_tables/creation && npx --yes md-to-pdf example-character-{slug}-v{version}.md
This generates example-character-{slug}-v{version}.pdf alongside the markdown file.
| File | Purpose |
| --------------------------------------------------- | --------------------------------- |
| /data/editions/sr5/core-rulebook.json | Database for validation |
| /docs/data_tables/creation/priority_table.md | Priority values |
| /lib/types/character.ts | Grade multipliers, gear types |
| /lib/types/edition.ts | Catalog item schemas |
| /docs/data_tables/creation/example-character-*.md | Format examples (exclude -v.md) |
See REFERENCE.md in this skill directory for:
testing
# Verify Reference Data Run the hybrid verification pipeline to compare extracted reference material against edition data files. ## Usage ``` /verify-reference # Run all mapping configs /verify-reference street-gear-weapons-armor # Run specific mapping by name /verify-reference --fix # Run and attempt semantic fixes ``` ## Phase 1 — Structural Verification (Script) Run `pnpm verify-reference` to execute structural checks: ```bash # All mappings p
testing
Test infrastructure reference for Shadow Master. Use when writing tests, finding existing test files, or running test suites. Covers Vitest unit tests, Playwright E2E tests, and testing patterns.
development
# Ship Current Work 1. Run `npm run typecheck` and fix any TypeScript errors 2. Run `npm test` and fix any test failures 3. Run `git status` to review changes 4. Create a descriptive commit with conventional commit format (feat:, fix:, etc.) 5. Push to the current feature branch 6. Create a PR using `gh pr create` with a descriptive title and body referencing the GitHub issue 7. Report the PR URL Never commit to main. If on main, ask the user for a branch name first.
content-media
Redesigns character sheet display components to match the character creation card aesthetic. Use when updating any component in /components/character/sheet/ to use grouped sections, value pills, and the established dark-mode-first color system.