# Plot Trellis > Build a novel's or story's plot as an outline tree - parts or acts, chapters, scenes, beats - with the keyboard, and see it at the same time as a left-to-right mind-map. A structural critique names the gaps by branch and proposes add, move, merge and rename operations that appear on the map as dashed ghost cards; each is checked against the tree and applied with one click. URL: https://plot-trellis.skillsafe.ai/ API tutorial: https://plot-trellis.skillsafe.ai/api.html Method: @haowjy/story-architecture (https://skillsafe.ai/skill/@haowjy/story-architecture, github.com/haowjy/creative-writing-skills) - arc structure, narrative design and pacing at every scale, judged by whether the structure serves the story's goals. ## Free, in the browser - Outline editor: Enter = new card below, Ctrl/Cmd+Enter = new card inside, Tab / Shift+Tab = indent / outdent, Alt+Up/Down = move, Up/Down = previous/next card, Backspace on an empty card = delete, Ctrl/Cmd+. = fold, Ctrl/Cmd+Z = undo; drag a card's handle to reorder. - Mind-map: cards tinted by depth, curved connectors coloured per act and thicker near the root, fold buttons, pan, zoom, fit; drag a card onto another to move it there. - Card kinds: turning point, setup, payoff, note. Words starting with # are threads (#ledger): a setup plants one, a payoff pays it off. - Templates: three-act, kishotenketsu, hero's journey, seven-point, mystery, free form. - Balance meter: each top-level branch's share of the scenes against the template's expected split, with a 0-100 score; scenes, words and cards per branch. - Checks: orphan branches (a part or chapter with nothing under it), duplicated cards, setups never paid off, payoffs never set up or paid off before their setup, parts without a turning point, imbalance. - Import: indented plain text, Markdown (headings and bullets, "> " notes, "[turn]" prefixes), OPML 2.0, the app's JSON. - Export: Markdown, OPML (with card ids, kinds and notes), the mind-map as SVG, JSON, a printable one-page outline (with the critique's first fix, open gaps and unapplied proposals), indented text, and the critique itself as Markdown. Markdown and OPML re-import to the same tree. - Three example outlines whose recorded critiques replay for free. - Outlines save in the browser and, signed in, to the SkillSafe account (one record per outline). ## Paid (credits, model gpt-terra) - task "critique": the first structural read. - task "recritique": after edits; carries the previous findings and what became of each proposal; every finding comes back resolved, open or new. Input (all strings): task, title, structure, genre, logline, outline (indented text, two spaces per level, " [kind] -- note: "; at most 220 cards, depth-capped first, with marker lines for what was not sent), facts_json (counts, balance, prescan, threads computed in the browser), previous_json (recritique), clip_note, retry_note. Output: JSON Lines - {"k":"meta",...}, zero or more {"k":"finding","fid","kind","branch","ids","text"[,"status"]}, zero or more {"k":"op","oid","op":"add|move|merge|rename",...,"reason"}, one {"k":"verdict","shape":"sound|workable|needs_work","strength","priority"}, then {"k":"end"}. The browser refuses any operation that names a card not in the tree, a move into the card's own subtree or a merge with an ancestor; checks each checkable finding against the tree (marking disagreements as disputed); and lists prescan problems the critique did not mention.