The agent is 40 tools, not one big prompt.

Twenty-one of them write to the design — place a part, draw a wire, route a track, pour a zone. The rest only read it back: the netlist, the board outline, a datasheet, the result of ERC or DRC, what a part costs. Asking it for a board is asking it to call these in sequence, and every call it makes is visible and undoable, the same as if you had clicked it yourself.

macOS, Windows and Linux · no account. Every platform.

AgentProjectUndo this turn 24 steps

Design a 5 V to 3.3 V regulator board — AMS1117-3.3, 10 µF in and out, screw terminals both ends.

I’ll find the regulator first, then the passives, and wire them before anything goes to the board.

Looking for a symbol: “AMS1117”3 matches, first Regulator_Linear:AMS1117-3.3
Placing U1U1 (AMS1117-3.3)

Both capacitors go either side of it, then I’ll label the three nets.

Drawing wires14 segments connected
Checking the schematic for electrical errorsclean, no violations
The panel mid-turn. Every row is a real call on the document, in the order it happened — said in words rather than in function names.

What it can touch

01

Every tool is one real editor action.

There is no single tool that just does what you asked. Each one is a specific, narrow operation with its own arguments, so a request turns into a short, legible list of exactly what happened — not a paragraph explaining what it meant to do. The panel names each of them the way the list below does, in words; the identifier underneath is the model's business, not yours.

Placing a partwritesDrops a symbol from the library onto the active schematic sheet.
Drawing a wirewritesDraws a wire segment between two points on the sheet.
Checking the schematicreadsRuns the electrical rules check and reports what it finds.
Placing a footprintwritesDrops a footprint from the library onto the board.
Routing a trackwritesRoutes a copper track between two points on one layer.
Pouring copperwritesPours a zone, filled to the net and clearance you give it.
Checking the boardreadsRuns the design rules check and reports what it finds.
Carrying it acrosswritesPushes a schematic change into the board's netlist.
Searching the libraryreadsSearches the indexed footprints by name, value or keyword.
Reviewing the designreadsChecks the design against a rule you stated in plain language.

Ten of them, picked to show the range. There are 40 in all: 35 inside the schematic and board editor, and five more that look a part up, cost a bill of materials and check the board against what a factory can build. Fourteen of the 35 only read the design; the other 21 write to it — and three of those 21 only move the camera.

What it lands on

02

The Rivet PCB board editor: layers, properties, a violations panel, a filled ground pour, tracks and pads on a two-layer board.
The board editor. Placing a footprint, routing a track and pouring copper all write here — the same window you'd have open with the panel closed.

A tool call is an edit, not a description of one.

There is no shadow copy of the board that the agent edits and you review afterwards. When it places a part, a real footprint lands on this canvas with real pads — the same editor state either of you would be looking at.

See board layout
The Rivet PCB agent panel mid-turn: a rail down the left with Project, Agent, Library and Rules; a session header reading "Put a 100 x 80 mm outline on the…", saved to this board; a Worked for 98s fold holding the model's reasoning and its action rows — Reading the board, Looking for a symbol "resistor 0805" with 100 matches, Searching the footprint libraries twice for 17 matches; and the message box at the bottom.
The panel, mid-turn. Worked for 98s folds the reasoning and every action under one line, and the strip above counts what the turn changed with DRC and ERC either side of it.

The reasoning sits in the panel, under the turn it produced.

Between the calls, the panel shows the working the model did to get there — the search it ran, what came back, the part it ruled out and why. It is not a summary written afterwards; it is what the model produced on the way to the calls, folded under a single line you can collapse once you have read it.

How a turn is put together

Measured, not claimed

03

A case passes when the board is right, not when it sounds right.

There are 48 hand-labelled cases it is run against, and a case counts only because the engine, asked afterwards, agrees the board is in the labelled state — not because a tool call returned OK.

Two runs against the pinned deepseek-v4-flash: 35 of 48 on 7 August, 32 of 44 on 8 August — both about 73%. Placing parts is 8/8 and pouring copper is 4/4; repairing DRC violations is 2/6, and asking a clarifying question instead of guessing is 0/2. Those last two are printed for the same reason as the first two.

This is one page of a larger table, kept on its own page rather than folded into a claim here.

The whole table

Open the panel. Ask it for something small.

macOS, Windows and Linux · no account. Every platform.