parse-ddb-character
Parse a D&D Beyond character into a normalized import plan. Accepts public character ID/URL or pasted JSON for private characters.
Instructions
Parse a D&D Beyond character into a normalized, name-bearing plan for the ddb-import skill. Fetches a PUBLIC character by characterId/url (v5 endpoint) OR accepts pasted json (the common case — a PRIVATE character must be set Public or its JSON pasted; this tool NEVER handles a D&D Beyond account cookie). Pure + deterministic: it computes final ability scores (deduping DDB's per-class modifier duplication, resolving choose-an-ability-score, honoring overrides), the classes/multiclass + subclasses, species, background, derived proficiencies/expertise/saves/languages/tools, resolved option picks (fighting style, favored enemy…), spells (cantrips + prepared/known by name), inventory, feats, currency, HP, art, and an unresolved[] list of every homebrew / 2014-legacy / custom entry to STOP-and-ASK about. It emits RAW DDB names, does ZERO compendium lookup, and never invents content (design.md §2.3). The skill then canonicalizes names to premium-2024 entries and drives create-pc. Returns {success, plan, message}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | A dndbeyond.com character URL — the id is extracted from it. | |
| json | No | The raw D&D Beyond v5 character JSON — the full {success, data, …} envelope or the inner `data` object, as a parsed object OR a JSON string. Use this for a PRIVATE character: ask the player to make it Public or paste/save its JSON; the tool never handles a cobalt cookie. | |
| characterId | No | D&D Beyond character id (the digits in the sheet URL, e.g. "167582904"). |