All work

The interchange: every project runs through it

How I work with Claude

Claude is part of how I design, the way a sketchbook and a second pair of eyes are. It draws the options, checks the work against rules I wrote, and tries to break what I think is finished. The decisions stay mine.

YOU: merge the fix and check it on the phone
DONEMerged. Walked it on the simulator.
FOUNDThe date range had no year. Fixed.
QUESTION 1 of 1
Tracking links: one line, or a row per link?
Answer the question
YOU: a
YOU: b
NEXT: nothing running.

I even wrote it a style guide for talking to me in the terminal: my ask in a box, results on labelled lines, every question answerable with one letter. Try answering.

The setup
Claude Code in the terminal, custom subagents, skills and plugins, claude.ai Artifacts as a design canvas, Claude in Chrome, MCP connectors to Figma and Notion, and memory that carries rules from one session to the next.
What stays mine
The product decisions, the design systems, and the rules everything is checked against. Nothing merges without my word.
Where it shows
My own app in testing, a summer at Sollo with 70+ merged pull requests in eight weeks, and this site.
01

Options before answers

I never ask for the answer. I ask for two to four options, drawn side by side on a canvas with a recommendation marked, and I answer with a letter. The canvas is a claude.ai Artifact: a live page, so an option can be clicked, resized and read in both themes before a line of the product changes. The pick is written down with its date and reason, and only then does building start.

A canvas from the Sollo navigation: five options, one recommendation, one runner-up.

Open the Sollo story Open the Centline story

02

One agent, one job

I keep agents narrow, and give each one the model its job needs: the checks that run on every change get the smallest, and the ones that need judgement get the strongest. These are the checkers I run on my own app. Open any of them:

Rule guardHaikuChecks a change against the project’s written rules.

Reports every violation and fixes none of them, so the report cannot hide a quiet rewrite.

VerifierHaikuRuns the checks and returns only what failed.

The cheapest agent in the roster and the one that runs most, so it gets the smallest model.

BreakerOpusTries to make a finished change fail.

Mutation testing included. It reports only what it actually broke, with the failing case written out.

WalkerOpusDrives the running app on a simulator.

It keeps the screenshots to itself and comes back with sentences, so my context stays clean.

ScribeSonnetWrites each decision into the project’s rules after a merge.

With its date and my own words, so the reason survives the session that made it.

None of them commits, stages, pushes, branches or merges. An agent that hits a question it cannot answer stops and says so instead of guessing.

03

The kit

Claude Code
Custom subagentsCustom skillsPlan, then buildGit worktrees for parallel sessionsHooksMemoryProject rules
Skills and plugins
BrainstormingWriting plansSubagent-driven developmentCode reviewSkill creatorFrontend designdesign-md, my own skill for the open design.md format
On claude.ai
Artifacts as a design canvasInteractive design decks
Connected
Claude in ChromeFigma, through MCPNotion, through MCP

At Sollo I added a hook that sends every push through the team’s review agents, and used parallel reviewers before each pull request.

04

What it taught me