Builder's Manual · Chapter 2

The Character Sheet, Under the Hood

The Character file type is the model of "a person who can grow." This chapter explains the shape of the schema so you can extend it without breaking it.

The core fields

  • stats — an object holding the eight core stats (power, speed, brains, social, willpower, senses, heart, luck), each a number 1–10. This is the "who you are" layer.
  • skills — an array of { name, score }, each score 1–10. This is the "what you've learned" layer, and the only layer that grows.
  • grows — a boolean, default true. Marks whether this character's skills rise through use. True for the player, their party, and NPCs connected to them; false for everyone else.

The layout renders stats as an 8-column grid and skills as an editable list of steppers (min 1, max 10), so the GM can bump a skill when the moment is earned.

How they combine in resolution. When a roll is called, the GM sets a DC — the target number each die must reach, from the task. The character's contribution is a die pool built from both layers together: the governing stat + governing skill in d10s when trained, just the stat when untrained. Each die that comes up at or above the DC is one success; a rolled 1 subtracts a success. Both layers always count. Keep every rating on the one-to-ten scale so pools stay sensible.

The computed fields

  • carryingCapacity = power × 15 (pounds). Note it keys off power, not a removed "strength" — keep the expression pointed at a real stat if you rename things.
  • totalInventoryWeight — sums the weight of every referenced equipment file. It's a load() over the inventory reference array.

Both are read-only projections; never store them in content, and if you edit their expressions keep them on real source fields.

Extending without breaking

If you add a field, keep it on the one-to-ten scale if it's a rating, keep it in the right layer (stat vs skill), and remember the grows asymmetry:

  • A new rating belongs in stats (who you are) or skills (what you learned) — not a parallel free-floating number.
  • A new static trait (equipment, a scar, a relationship) belongs as its own field or on inventory/notes, not as a growable score.
  • If a field is a derived total, make it a computed field with an expression rather than storing it.

A note on content

New character files only need a name (and realistically the stats/skills the story uses). The example character in /Characters/ is a street runner — a sprawl operator who hacks, drives, and deals. It's a template to replace, not a canonical build. Match its tone — real-feeling lows and highs, skills with a backstory attached — when you write new characters.

Manual updated Sep 13, 2026.