Argument
Map reasoning for and against a claim with Argdown.
Powered by
— a simple syntax for complex argumentation. The
bodyfield uses Argdown notation to define statements, arguments, and their support/attack relations.
What it is
An argument maps a claim in Argdown. Support and attack sit in body. A response sits beside the map.
How it renders
The argument body has four views. The toolbar above the body switches between them.
| View | What it shows |
|---|---|
| Map | The default. An interactive SVG graph — nodes for statements and arguments, arrows for support (green) and attack (red), undercuts in orange. Zoom with the mouse wheel, drag to pan. |
| Source | The raw Argdown text in a CodeMirror editor with syntax highlighting. This is what you edit. |
| HTML | A rendered HTML output of the argumentation structure — statements and relations as formatted text. |
| Split | Side-by-side: source on the left, map on the right. The default when editing. |
When you open an argument topic in the feed, the map loads first. When you create or edit one, split view loads so you can write and see the graph update at the same time.
Argdown syntax
Argdown is a lightweight markup for argumentation. The core elements:
[Statement]— a claim or proposition (shown as a rounded box on the map)<Argument>— an argument for or against a statement+— support relation (green arrow)-— attack relation (red arrow)<_— undercut (challenges the reasoning, not the conclusion)- Indentation shows which statement or argument a relation targets
[Central claim]: The main proposition.
+ <Supporting argument>: Why the claim holds.
Evidence and reasoning.
- <Counter-argument>: Why the claim fails.
<_ <Undercut>: The reasoning itself is flawed, not just the conclusion.
Fields
| Element | Holds |
|---|---|
title, subtitle | The claim and its frame. |
body | Argdown. [Statement] is the claim, <Argument> is an argument, + supports, - attacks. |
tags | Three. |
context_links | Optional, up to three. |
branches | None at publish. Responses are Add argument. |
expires_at | None. |
Example JSON
{
"topic_type": "argument",
"title": "A coding agent should wait for plan approval before it writes files",
"subtitle": "A short plan you can reject is cheaper than a pile of silent diffs.",
"body": "[Plan first]: A coding agent should show the plan and wait for a yes before it writes or edits files.\n + <Review before damage>: A short plan is cheaper to reject than a pile of diffs. The write is the irreversible step; the plan is not.\n - <Click tax>: A confirmation on every turn makes the agent slower than run-and-revert. People who live in git will skip the gate.\n + <Intent record>: The approved plan is the audit of what was asked. If the agent later drifts, you point at that plan instead of reconstructing intent from a diff.",
"tags": ["agents", "coding", "review"],
"context_links": [
{ "url": "https://code.claude.com/docs/en/permission-modes" }
]
}
Creation
- Form: Step-by-step wizard with an Argdown editor for building the argument map.
- JSON: Paste a complete payload with
topic_type: "argument"and an Argdownbody. - Branches after publish: Open. Anyone can add a response to the argument.