Like most designers exploring AI, I've been on a constant journey of trying new things — the one thread that stays the same in an era that keeps changing everything else.
From prompt engineering, to iterating on context, to building Skills and creating Agents — the design industry, and the software industry more broadly, has been turned upside down in the span of a year. My own identity as a manager has shifted too. From managing a team, to managing Agents.
Setting up a virtual design team is a genuinely interesting problem.
Roles in a Design Team — The Role Split
In a real design team, you have Design Operations, Researchers, Designers, and of course, someone managing all of it. These are distinct roles that require different ways of thinking — and they need to keep each other in check. The person doing the design shouldn't also be the person reviewing it. That's basic professional practice.
We also know that the more specialized an Agent is, the better it performs.
So the first thing I did was define five core roles:
The most immediate benefit of this separation: context stays clean. The Research Specialist doesn't need to know component library specs. The Component Auditor doesn't need to know user research methodology. Everyone stays focused on what they're actually supposed to do.
How Does Knowledge Get Shared? — Decoupling Assets from Roles
Five roles solved the "who does what" problem. But it quickly created a new one.
WCAG accessibility standards, for instance — Research references them, Design follows them, Evaluation checks against them. If I write a copy into each role's prompt, it seems fine at first. Until the day I need to update those standards.
That's when I realized the role-splitting approach had only solved half the problem. Roles define who does what. But knowledge itself — methodologies, standards, guidelines — shouldn't belong to any single role. It should be a shared team asset.
So I did another round of splitting. This time, not roles — knowledge. I broke each role's "brain" into four distinct types of files, organized in a folder inside the project:
After this, the knowledge fragmentation problem disappeared. WCAG standards live in exactly one place. I update that one file, and every role that uses it — Research, Design, Evaluation — picks up the latest version on its next run.
The Evaluator's Role — Flag It, Don't Auto-Reject
The Usability Evaluator is supposed to be harsh. Its job is to find problems, not validate decisions. But that raises a question: if it flags an issue, does that automatically mean the proposal gets sent back?
My answer: not necessarily — but the findings should always be recorded and surfaced.
From a pure token-economics perspective, routing feedback back to the Design Agent, triggering a regeneration, and running the whole loop again is expensive in many scenarios. The more pragmatic setup is to have the Evaluator report what it found, rather than automatically kicking off another pass.
My hope is that as loop-based and graph-based agent frameworks become more flexible, I'll be able to get purposeful iterative refinement without the token cost becoming unmanageable.