What is a design harness?

Designing with agents

Since starting Falcon, I've been continuously asked how to design with agents. I've never had an intellectually honest answer. Good design is genuinely hard. Even if you fulfill the conditions of a design being technically correct, compliant and on-spec, it doesn't necessarily make it "good". And what is "good" is tricky! Some say that what is good is objective but even great works can be contested on their greatness. All I know is that we all know very quickly if something is good or not.

I always wanted to answer this question in a meaningful way. Design.md files, skill files and prompt engineering have been unsatisfactory in moving the needle on producing meaningfully better designs.

I came to realize design is a complex problem, and complex problems need sophisticated solutions. In hopes of meaningfully answering the question, I began to tinker and explore a unified space for both design and agent knowledge, which I call a design harness.

What is a design harness?

A design harness is an opinionated schema for an agent-native design system to improve the user experience of designing with agents. A design harness is not a coding harness. A coding harness, according to Rubric Labs' article "What is an Agent Harness?", is the "software that translates a model into a system that can affect its environment". A coding harness is like giving an agent "hands" where a design harness is like giving an agent an "eye".

In practice, a design harness could be as simple as a collection of folders and files or a GitHub repository. The magic isn't in the folders and files of the harness. The mere existence of a harness changes the way you work — instead of endlessly prompting an output, you focus on fine-tuning the harness which is the machine that produces the output. It's a simple change that has dramatically different outcomes. I like to think of the design harness as a way to change organizational behavior around design and agents, rather than a technological breakthrough. As Charlie Munger says, "Show me the incentives and I'll show you the outcome".

How does a design harness work?

Why build a design harness?

The notion of a design harness emerged from my frustration in designing with agents. I found myself in an endless back-and-forth fine-tuning outputs to be design complete. It became unreasonably inefficient, tedious and expensive in both time and token spend. I knew there had to be a better way. I began to reverse-engineer how I think as a designer and how agents reason, and came up with a shared legible language that's simple, easy and intuitive for both designers and agents to understand.

When should I make a design harness?

Traditionally, design systems were architected at the beginning of the design process and outputs were created after. With design harnesses, we are doing the exact opposite. We start with a 'North Star' artifact that embodies the spirit of your design intent and serves as a standard. At the companies I've worked at, there were always a handful of features that represented the gold standard of design and development that were referenced in the design process.

You want to create a design harness to create design leverage. Instead of investing your time, energy and tokens on an output, you can invest time into the machine that builds the outputs. Over time, you're able to design deeper, better and faster. In the end, you get more cohesive outputs.

Putting my design harness to work

I began to build my own design harness and found that when I spent more time fine-tuning the harness, my output quality would compound. I also began to see early signs of nascent, genuine divergent creativity, sorely lacking from the average agent response.

For the first time, I was happy with the design outputs from agents. Getting to design complete still took substantial work, but nothing excessive or unreasonable. Here are a few live examples of work I've built with design harnesses:

Architecture

A harness is deceptively simple. It consists of Foundations, Intelligence, Components and Moves. Foundations are the design system values. Intelligence is a layer of context for agents. Components are components, patterns and screens. Moves are defined design actions for agents.

Challenges

Design harnesses present a number of unsolved challenges. The first is evaluation. Design evaluation is partly objective and partly subjective, which makes assessing whether a design is "good" or "bad" tricky. For example, I consider my design outputs to be good but you may not (and for good reason).

The second issue is speed. I have noticed that the tradeoff I've made by having a design harness is that my agents work slower (which I expected given the context I've shared). I've treated this as a feature and not a bug. I've personally enjoyed having more time to think instead of constantly cranking the agent slot machine. But I can see how for many people this is a non-starter.

The third is effectiveness, especially across different modalities and platforms. I have found gaps in implementation when moving into sound and 3D, not due to any fault of the agent, but my own for not designing the harness to be generalist enough.

The future of design harnesses

Design harnesses will come to play a critical role in the relationship between design and agents. Objective measures for design harnesses will include win rates, evals and token efficiency. Specialized design harnesses for specific modalities like sound, 3D and shaders will emerge. Organizations will roll out general design harnesses for everyone, while individuals may fine-tune their own. Harness sophistication will grow into a family of design harnesses that could be hierarchical. Design routers will emerge to pick the right design harness for the right task. Protocols to normalize design data across design tools will emerge.

We are at Day 0 for design harnesses, and remain incredibly excited and optimistic for the future of design and intelligence.

If you would like a design harness, you can download mine or book some time with me and I can help you make your own.

FAQ

Who are design harnesses for?

Design harnesses are for people who seek above-average design, which usually means designers or founders or anyone who is willing to go the extra mile for design quality.

How do I use a design harness?

A design harness is a set of files your agent reads before it designs anything, like your foundations, components, skills and policies. Once it's in place, I mostly work the way I normally would. I give a brief, the agent steers me on the decisions that are mine to make, shows me a few concepts, and I tune from there. Most of the time I don't notice the harness at all (which I think is how it should be).

When should I use a design harness?

I think of a design harness as "always-on". I use mine for everything, from a full landing page to a single button state.

How is a design harness different from a design system?

I see a design harness as the next step after a design system. A design system was written for people. It describes the work and relies on a designer for judgment and discretion. A design harness keeps the design system at its core and adds two things around it. Intelligence gives agents the context they need, and moves give them a defined way to get from a prompt to design complete.

Do I need a design system before I can build a design harness?

No, but it helps. If you already have one, it becomes your foundations. If you don't, I'd start with work you're already proud of (a shipped product, a brand book, even a deck) and distill the harness out of that.

How do I make my own design harness?

The most effective method I've found is distillation. I take a few design-complete artifacts and extract the foundations, intelligence and components from them. I'd recommend starting small. Your colors, your type and a short list of things you'd never do will already get you further than a blank prompt. From there, I add to the harness every time I settle a decision while I work.

Which agents does it work with?

In principle, any agent that can read files, since a design harness is just files. I use mine with Falcon Neo, so that's where I've tested it the most.

Won't everything start to look the same?

It can, if the harness is too strict. I've found it's a balance. If it's too loose, the agent ignores it. If it's too tight, every output starts to feel like a template. I try to keep the parts that make the work feel like mine and leave room for the agent to explore. Moves like Steer and Concept help a lot here, because they push the agent to go wide before it narrows down.

Is it only for UI?

No. My harness covers sound, motion, shaders and 3D as well as screens. That said, it's also where I've found the most gaps (see Challenges), so I'd expect to put more work into anything beyond UI.

How long does it take to build one?

A first version doesn't take long if you start from work you've already finished. A good one takes as long as you keep designing with it. In my experience the harness compounds. The more I use it, the more it knows, and the better my outputs get.

Does it cost more in tokens?

Yes, per run. The agent reads more context and works slower (see Challenges). For me, the tradeoff has been worth it, because I spend far less time in the back-and-forth of fixing outputs that were never going to be right.

saleh.digital · Ahmed Saleh

Open in Claude

Server