Adding Gear, Spells, and Monsters
Every content type here has conventions the existing records follow. Match them and new content is indistinguishable from the originals; break them and the referee's math quietly goes wrong.
Items
An item carries its cost in copper pennies, its slots (almost always 1), an optional bundle note ("5 torches fit in one slot"), and a category. Price at honest medieval rates — the existing spread runs from 1-copper chalk to a 600-copper reading book. The master price lists live in @Missing file; when you add purchasable gear, add its line there too, so the rule text and the records never disagree.
Write the rule into the description. The torch record doesn't just say "a torch" — it says it burns for one hour and that light is a resource clock. A record the referee can run from its own text needs no lookup.
Weapons
A weapon's damage is its die ("d6", "d8"), hands how many it occupies, slots its bulk (1 for light weapons, 2–3 for the rest), and quality starts at 3. weaponType — Melee or Ranged — is load-bearing: the schema computes the attack ability from it (Strength or Wisdom), which feeds every character's printed attack rolls. idealAgainst names the enemy types that grant the bonus damage die; phrase it so a referee can recognize the moment ("skeletons and other brittle dead"), not as a keyword.
Armor
category decides how a piece stacks: one Body Armor piece sets the base defense (12 for a gambeson up to 16 for full plate), while a Helmet or Shield adds its defenseBonus of +1. Quality scales with protection — 3 for a gambeson up to 7 for full plate, 1 for helmets and shields — and heavier armor costs more slots. The character sheet computes the wearer's total from whatever is equipped; an armor record never states a wearer's final defense.
Spellbooks
One spell per book, one slot, and the whole spell lives in effect, written in the level-less idiom: L for caster level, item and object in their defined senses, durations in L×10 minutes, a 40-foot default range. Read a handful of existing books before writing one — the voice is terse, physical, and open-ended enough to be misused creatively, which is where half the fun lives. When your setting mints new books, give them a finder table: @Missing file is full at d100, so swap entries out or roll your own grimoire on its own table.
Monsters
Monster records encode the conversion guidelines from @Missing file. hitDice is the anchor: maxHp is hit dice × 4 (× 5 if you're feeling mean), and attackBonus and abilityBonus both default to it. armorDefense is ascending AC (subtract descending AC from 19 for OD&D/B/X sources, from 20 for AD&D). morale usually runs 5–9; 12 means it never breaks. Put the behavior in tactics — how it fights, when it flees, what it wants — because that is the field the referee actually plays from. @Missing file is the worked example: one hit die, morale 7, and tactics that make goblins a noise problem before they are a combat problem.
Random tables
A table is its dice, the markdown table itself, a category, and a usage line naming the moment it fires ("when a random spellbook is found as treasure"). The usage line is the trigger the referee acts on — a table without one is furniture. Keep entries terse enough to read aloud unedited.