Read
The goal and the context it has in hand.
How to design and plan an AI agent — before you write a line of code.
An agent is a designed system — written files first, code later.
First principles
A chatbot answers. An agent acts — it runs a loop: read the goal, decide, use a tool, check the result, repeat until done.
The goal and the context it has in hand.
What to do next — or when to stop.
Call a tool — hands in the world.
Did it work — and what’s next?
Don't brief a script. Brief the permissions — what it can do, and where it must stop.
Agents you know
Before designing one, notice the ones on your desk. Each of these is a pre-configured agent — someone else already wrote its brief, chose its tools and set its limits.
coding agents.
Read your repo, write code, run commands — briefed by rules, skills and project context you supply.
the prompt-to-prototype agent.
Describe a product; it builds a working prototype in code. You supply intent and design context; Figma supplies almost everything else.
the canvas agent.
Lives in Figma Design, works beside you on the canvas using your real components, tokens and variables — not placeholders.
Different jobs, same species — each one runs the loop from the last slide.
Agents you know
Run the three through the six parts and the design decisions surface immediately — someone made every one of these choices.
Watch out: Pre-configured means pre-decided. Every cell above is a design decision somebody made — mostly not you.
Agents you know
You can't rewrite these agents — but each one leaves a surface open. Working that surface is agent design.
Write rules, skills and project briefs for your repo. That's instructions, skills and guardrails — the first three parts of this talk, in markdown.
Connect the right libraries, write a skill for your team's conventions, decide what the agent may touch. Context in, quality out.
Your design system's rigour now sets the ceiling. Well-named tokens and documented patterns are what agents build with; messy systems make messy agents.
When you write a rules file or a Figma skill, you're not configuring software — you're briefing a colleague. The rest of this talk is how to do that well.
How to design and plan agents
An agent is a service, not a feature. It has users, journeys, failure states and trust to earn — so it deserves a discovery, not just a sprint.
One user, one job, done well.
Tools, refusals and human checkpoints.
Then test, learn and grow it.
Anatomy
Whatever the framework, the same structure keeps emerging. The next six slides take them one at a time.
Its role, voice and rules — the design brief, read before every turn.
Specialist playbooks loaded only when the moment calls for them.
Typed actions it can take. If it isn’t a tool, it can’t do it.
What it keeps — in the moment, and sometimes between sessions.
Where people meet it — web, Slack, email, API and scheduled runs.
Designed limits — approvals, sandboxes, refusals and cost caps.
Part 1 of 6
One plain-language file, read before every response, that gives the agent its job, voice and rules.
You decide
Watch out: “Be helpful” is not a brief. Vague instructions produce vague agents.
instructions.md
You are a research assistant
for a design team.
- Plain English, no jargon
- Cite a source for every
claim, or say you can't
- Never invent findings —
ask for the data instead
Part 2 of 6
Markdown playbooks the agent loads only when the topic comes up — progressive disclosure, applied to prompts.
You decide
Watch out: Skills that overlap or quietly contradict the instructions.
skills/
usability-testing.md
service-assessment.md
design-handoff.md
accessibility-audit.md
user-story-writer.md
ui-planner.md
information-architect.md
loaded only when relevant — the agent stays focused
Part 3 of 6
Typed actions the agent can take. If it isn't a tool, the agent can't do it — the tool list is your safety boundary.
You decide
Watch out: Giving it every tool “just in case”. Scope is the whole point.
tool scope
read_research_repo
search_web
connect_figma
read_figma_frame
draft_report
publish_report
“publish” and Figma writes wait for a human — by design
Part 4 of 6
The context an agent keeps — within a session, and sometimes across them. Memory is an expectation-setting problem.
You decide
remembers
project context
preferences
past decisions
forgets
credentials
sensitive data
one-off asides
Watch out: Hidden memory. Users assume either too much or too little — both break trust.
design both lists on purpose — and show users where they stand
Part 5 of 6
The same agent can serve many surfaces — web chat, Slack, email, an API. Each channel is a different context of use.
You decide
one agent, many doors
Watch out: Designing only for the demo channel, then shipping to Slack unchanged.
same brain, channel-appropriate manners — a classic service design pattern (one service, many touchpoints)
Part 6 of 6
Approvals, sandboxes, refusals and limits. This is error prevention — classic interaction design, applied to an actor.
You decide
the approval gate
Watch out: Bolting safety on at the end. Guardrails are architecture, not paint.
automate the work, not the accountability
Planning
Who is it for, and what one job does it do?
An agent with two jobs does neither well — scope like a service, not a feature
What must it never do?
Write the refusals into the instructions on day one
What does it need to touch?
List the tools and data — fewest possible
When must a human step in?
Place approval gates on anything irreversible
How will you know it's working?
Write evals: test cases with pass criteria — usability tasks for an agent
Anti-patterns
Six mistakes designers are perfectly placed to catch — because they're all design mistakes, not code mistakes.
Starting with the framework
Pick the job first. Tech chosen before purpose is a solution looking for a problem.
Writing “be helpful”
Vague instructions produce vague behaviour. Brief it like you'd brief a new hire.
Granting every tool “just in case”
Each extra tool widens what can go wrong. Scope is the safety model.
Skipping human checkpoints
Automate the work, never the accountability. Gate the irreversible.
Hiding the agent's limits
Say what it can't do. False confidence costs more trust than honest limits.
Shipping without evals
You'd never launch a service without usability testing. Test cases, pass criteria, every release.
Start small
No code, no framework — just the brief. Critique it like any design artifact.
The smallest useful loop. Resist the platform temptation.
Briefs, playbooks and evals live in git — reviewable, diffable, shared.
Designers are already equipped for this. Agents are briefs, playbooks and guardrails — and those are ours to design.
Thank you
Designing Agents
1 / 16