Skip to content

Getting started

Writing with agents

Agents draft most documents now, and they already write Markdown. Give them Markset's eight constructs and a checker, and what they write is a page people want to read: still plain text, still easy to review, and checked before anyone opens it.

The loop

  1. Point your agent at the guide. It ships with the command line tool: the eight constructs, when each earns its place and when it does not, and the rules that keep a document portable.
  2. Ask for the document. Say who it is for and what it has to do. The agent writes the content first, then gives a construct only to content that already has its shape.
  3. The agent checks its own work. markset check names every problem with a code, and the guide tells the agent to fix them all before it hands the document over.
  4. You review the source and the page. The source is Markdown, so the diff is the content. The preview shows the page as a reader will see it.
  5. Change what you would say differently. Edit a line in VS Code or in the visual editor, without asking for the whole document again.

Set it up

Install the command line tool beside your project:

npm install --save-dev @markset-lang/cli
pnpm add --save-dev @markset-lang/cli

Then add one line to the file your agent reads, so it loads the guide before it writes:

In CLAUDE.md:

@node_modules/@markset-lang/cli/guide.md

In AGENTS.md:

Before writing a Markset document, read node_modules/@markset-lang/cli/guide.md and follow it.

In the prompt:

Read https://markset.org/guide.md and follow it.

Installed, the guide stays in step with the version you run. markset guide prints it.

Read the guide The markset command

A test of the guide

The same document, twice

Before the guide was released, it was tested. A fresh agent was given the authoring guide, the same file your agent reads from node_modules, and nothing else: no specification and no examples. It was asked for a two-page review of an invented product's checkout rollout, written for engineering and product leaders. Its document passed markset check on the first run. It then wrote the same content as plain Markdown, so the two could be compared.

Both are drawn below by the same renderer with the same stylesheet, so the only difference is the constructs. The product, its numbers and its team are invented; the documents are exactly as the agent wrote them.

The headline numbers

Plain Markdown

Metric Value Change
Checkout conversion 3.4% +0.3 pts
Revenue per visitor $2.91 +6%
Time to place order, p95 1.21 s -34%
Payment error rate 0.41% -0.21 pts

Markset

Checkout conversion
3.4%
+0.3 pts
Revenue per visitor
$2.91
+6%
Time to place order, p95
1.21 s
-34%
Payment error rate
0.41%
-0.21 pts

The agent split the numbers into two blocks because two of them improve by going down, and the guide says a block has one direction.

The trend behind them

Plain Markdown

Week of New checkout Old checkout
21 Jul 3.29 3.12
4 Aug 3.38 3.09
11 Aug 3.21 3.11
25 Aug 3.40 3.08
8 Sep 3.39 3.11
22 Sep 3.40 3.12

Markset

Weekly checkout conversion (%), new flow against the old
Week of New checkout Old checkout
21 Jul 3.29 3.12
4 Aug 3.38 3.09
11 Aug 3.21 3.11
25 Aug 3.40 3.08
8 Sep 3.39 3.11
22 Sep 3.40 3.12

The chart is added to the table, not swapped for it: a reader who wants the exact number still has it, and anywhere Markset is not supported the table is all there is.

Every other week of the agent's ten, to fit a column. The full documents have them all.

Open the Markset version Open the plain version

What it chose, and what it left out

That restraint comes from the guide, which spends as long on when not to use a construct as on how to write one.