build_list_classes
List Pathfinder 2e classes with their level-1 baseline proficiencies including HP, saves, trained skills, and weapon/armor, ready for character creation. Optionally filter by name.
Instructions
List classes, optionally filtered by name substring. Includes each
class's level-1 initial proficiency baseline (HP, Perception, saves,
trained skills formula, weapon/armor proficiencies) -- sourced directly
from the class item's own data rather than requiring the caller to
recall or look this up externally. Proficiency ranks in the returned
perception/fortitude/reflex/will/class_dc/attacks/defenses
fields use this project's 0/2/4/6/8 convention (untrained/trained/
expert/master/legendary), the same as a character's proficiencies
dict elsewhere -- ready to drop into a draft character directly.
Note this is the class's own *baseline* only -- doctrine/subclass
choices (e.g. Cleric's Warpriest doctrine granting expert Fortitude and
martial weapons) and later automatic class features (e.g. Champion's
Weapon Expertise at level 5) can raise these further; this call doesn't
know about either, only what every member of the class starts with at
level 1.
**`trained_skills.additional` is the class's own flat baseline ONLY --
it does NOT include the Intelligence-modifier bonus to additional
trained skills that every class gets at character creation** ("...
becomes trained in a number of skills equal to [class value] plus your
Intelligence modifier" -- Player Core, Skills step of character
creation). This is a genuinely easy value to miscount: confirmed live
building a level-10 Magus with Int 14 (+2) where only 2 additional
skills were picked instead of the correct 4. The caller is responsible
for adding `max(0, ability_mod(character's Int score))` to this value
themselves before presenting a skill count to the user; `validate_build`
now includes a floor check for this specifically (see
`_validate_trained_skill_count`) but it's a warning after the fact, not
a substitute for getting the count right when first proposing it.
`trained_skills.choice`, when present, is a class's "trained in X **or**
Y" pattern (e.g. Fighter's Acrobatics-or-Athletics) that `fixed` alone
can't represent -- sourced from the class item's own ChoiceSet rule
element (see `item_choice_sets`), not from `fixed` being silently
incomplete.
`include_legacy` (default False): excludes pre-Remaster/OGL-flagged
classes unless set -- currently a no-op (every class chassis has been
reprinted under ORC, so all 29 are is_remaster:1), kept for API
consistency with the other `list_*` tools and in case a future release
adds a class before its own remaster reprint. See `_legacy_filter_sql`.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | ||
| include_legacy | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |