Bezalel · Vitruvius · Rams · CRISP

(A design standard for AI agents)

CContextual
RResponsive
IIntelligent
SSeamless
PPowerful

AI has given every developer a design tool. It gave none of them a design standard.

CRISP gives your AI agent five clear tests for good design, so it can check its own work before you ship it.

Start free audit → Install the skills

(Install in 30 seconds)

One command.
Fourteen skills.

The installer finds your AI coding tool and adds the skills to your project as plain files. You own them and can edit them.

zsh - crisp-install
$ npx skills add @laith-wallace/crisp
# Auto-detects Cursor, Claude Code, Antigravity, VS Code, Gemini CLI ✓ Claude Code detected ✓ Installing 14 CRISP skills… ✓ Done. Run /crisp-teach to get started.

Then run /crisp-teach once per project. It asks about your users, your design system and the products you admire, then writes .crisp.md. Almost every other command reads that file, so your agent remembers your project between sessions.

Supported tools
Claude Code
Cursor
Antigravity
VS Code Copilot
Gemini CLI
Codex CLI

The files go where your tool expects them: .claude/ for Claude Code, .cursor/ for Cursor, .agents/skills/ for Antigravity. They only change when you choose to update.

(Why these skills exist)

Agent-generated design fails
in four predictable ways.

You think your agent's design problem is prompt quality. It isn't. The agent has no way to judge its own output, so it ships the first thing that works. Every era of design solved this with a named standard. Ours had none. CRISP is that standard.

I · 1446 BC

It doesn't know who it's building for.

"I have filled him with wisdom, with understanding, and with knowledge, and with all kinds of skill."

Exodus 31:3, on Bezalel, the first named designer

The oldest design standard on record is not about skill. Bezalel's third gift, da'at, means knowing who the work is for and why. An agent dropped into your codebase has none of it. So it builds for nobody in particular. Empty states say "No data available". Headings could belong to any product. One settings page serves the first-week beginner and the five-year expert alike.

The fix: give the agent that knowledge once. /crisp-teach asks you about your users, your design system and what good looks like for your product. It saves the answers in .crisp.md, so every later command starts with that context. /crisp-brief turns a vague request into a clear brief with success criteria you can check. /crisp-research shows what competitors do before you start designing.

II · 25 BC

Functional is not the same as good.

"Well building hath three conditions: firmness, commodity, and delight."

Vitruvius, De Architectura

Code that compiles meets only the first condition, firmness (firmitas). Agents stop there. The interface works. But it shows a spinner every time you change a filter. It shows "1,247" with no comparison and no meaning. It sends you to another portal to approve one item. Technically correct. Hollow to use.

The fix: a real evaluation. /crisp-audit scores all five dimensions, rates each problem from P0 (critical) to P3 (minor) and lists the fixes in priority order. /crisp-review gives a grade and the top three issues in thirty seconds. /crisp-ux-laws and /crisp-a11y check the work against proven rules of how people think and the WCAG 2.2 AA accessibility standard.

III · 1976

Agents add. They never subtract.

"Good design is as little design as possible. Less, but better."

Dieter Rams

Left alone, an agent answers every request by adding something: another toggle, another card, another pop-up. Soon all twenty-three settings show to every user. Rams built his ten principles on the opposite idea: good design is about what you take away.

The fix: make removal a command. /crisp-redesign updates an existing UI without breaking what already works. /crisp-copy cuts interface text down to the words that help people find their way. /crisp-design-eng checks motion and polish, so nothing moves without a reason.

IV · 2026

Nothing survives the session.

"Your AI agent can generate code. It can't evaluate design."

CRISP

Close the session and the context is gone. The next session decides everything again: a new spacing scale, a different empty state, a fourth shade of grey. For three thousand years, people wrote design standards down so the knowledge would outlive the designer. Your agent's knowledge is gone in hours.

The fix: a written record the agent keeps up to date. .crisp.md keeps your context across sessions and updates. /handoff turns a reviewed design into a spec another agent can build from. /feature-design records why each flow decision was made. /crisp-ai applies the standard to AI features such as chat and agents, and /crisp-funnel builds a full funnel to the same standard.

Bezalel · Vitruvius · Rams · CRISP. 3,472 years of one question: does this design actually work for people?

(The framework)

Five dimensions.
One clear standard.

CRISP gives your AI agent a shared design language. Each dimension names one common way designs fail, and how to fix it.

C
Contextual
Can the user tell where they are and what this page does within 5 seconds?
Fails when
Dead-end empty states · missing breadcrumbs · unclear orientation · generic headings
R
Responsive
Does the UI respond instantly to every action?
Fails when
Spinners on every action · a wait after every click · no hover feedback · slow confirmations
I
Intelligent
Does it show what the data means, not just the numbers?
Fails when
Numbers without meaning · blank forms · no suggested next step · ignoring what we already know about the user
S
Seamless
Does it fit into the user's day, or force them to fit into ours?
Fails when
Extra logins · redirects to other portals · custom controls that break habits · friction on routine tasks
P
Powerful
Does each user see only the complexity they need?
Fails when
Expert settings shown to beginners · no keyboard shortcuts · no undo · all options always visible

(Before & after)

Five dimensions.
Five things that break.

AI agents build interfaces that work but feel wrong. Below, each dimension fails first. Then you see the same screen once it passes.

C Contextual

Can the user tell where they are and what this page does within 5 seconds?

Without CRISP
PipelineFilter: all

No data available

CNo cause, no next action
With CRISP
PipelineQ3 · Forecast

Nothing in your Q3 pipeline yet.

Deals added here roll up to the forecast on Overview.

Add your first deal
CSays where, why, and what next
R Responsive

Does the UI respond instantly to every action?

Without CRISP
AllOpenWon
Loading results…
RNothing visible for 900ms
With CRISP
AllOpenWon
Northwind renewal£24,000
Belmont expansion£8,400
Halden pilot£3,200
Synced
RRows land on the click
I Intelligent

Does it show what the data means, not just the numbers?

Without CRISP

Leads

1,247

IA number, nothing attached
With CRISP

Leads

1,247

23% vs last month

3 deals need attention before Friday.

ITrend, comparison, next action
S Seamless

Does it fit into the user's day, or force them to fit into ours?

Without CRISP

Expense approval required

£2,480 · Contractor invoice · Submitted by R. Achebe

Open in portal ↗

You will need to sign in again.

SRedirect plus a second login
With CRISP

Expense approval required

£2,480 · Contractor invoice · Submitted by R. Achebe

ApproveDecline

Already signed in. No redirect.

SOne click, no redirect
P Powerful

Does each user see only the complexity they need?

Without CRISP
Settings23 Options
Email notifications
Desktop notifications
Weekly digest
Webhook retry backoff
Legacy API compatibility
Beta feature channel
Audit log verbosity
SAML assertion caching
P23 settings, every user
With CRISP
Settings3 Shown
Email notifications
Desktop notifications
Weekly digest
Advanced settings20 more ›
PThree used, twenty a click away

Illustrative interfaces. The names and figures in these examples are made up, not measured results.

Benchmarked against Stripe · Linear · Notion · Asana · Slack

(In session)

What you get back
from each command.

CRISP reads your project context, checks the work against the five dimensions and gives you a written verdict you can act on. Here is what a session looks like.

Claude Code - crisp
You

/crisp-review the settings page

CRISP

Reading your project context first, then scoring the surface against all five dimensions.

✓.crisp.md loadedUsers · design system · benchmarks
✓settings.tsx scanned5 dimensions
⚠3 issues foundP1 · P1 · P2
✓Verdict returnedGrade, top 3, one fix each
You

/handoff once I have fixed those

CRISP

Turning the reviewed design into a specification another agent can build from.

✓Component states inventoried2 components · 5 states
✓Tokens resolvedSpacing · colour · icon size
✓Edge cases + accessibility attachedReady for the build agent
Claude Code - /crisp-teach
CRISP: Who are the primary users of this product?
Enterprise SaaS product managers, 50-500 person companies...
CRISP: What design system or UI library do you use?
Tailwind CSS + shadcn/ui, custom tokens...
CRISP: What does "great design" look like for this product?
Fast, no-surprise interactions. Think Linear or Stripe...
→ writing .crisp.md

Run it once per project. It asks you a few questions, then writes the context file most other commands read.

What it returns

  • .crisp.md context file
  • User personas and the jobs they need done
  • Design system reference
  • Products to learn from and products to avoid
Read the /crisp-teach reference →

(The skills)

Fourteen skills.
One standard.

All fourteen skills share one framework: the five dimensions. Most of them also read your project context from .crisp.md. Each one has its own page with the full details.

The core loop

Five commands that cover the whole design loop: set up, evaluate, design, hand off.

/crisp-teachRun once to set up. Learns your product and writes .crisp.md, the context file most other commands read.Returns.crisp.md context file · User personas and the jobs they need done · Design system reference · Products to learn from and products to avoiduser-invoked /crisp-auditA full check of all five dimensions. Rates every problem from P0 to P3 and gives a fix plan in priority order.ReturnsGrade A–F with justification · 5-dimension CRISP scorecard · Problems rated P0 (critical) to P3 (minor) · Prioritised fix listuser-invoked /crisp-reviewA thirty-second check. A grade from A to F and the three issues that hurt users most.ReturnsGrade A–F + one-line verdict · Top 3 issues ranked by impact · Specific fix per issue · Quick wins listuser-invoked /feature-designDescribe a problem. Get user flows, component choices and the reasons behind them.ReturnsUser flow with decision rationale · CRISP check at every step · Component recommendations · Open questions to test with usersuser-invoked /handoffTurns a reviewed design into a spec developers can build from.ReturnsComponent state inventory · Design token and spacing values · Edge cases and error states · Accessibility checklistuser-invoked

Specialist extensions

Deeper checks for research, accessibility, AI features, interface text, redesigns and the psychology of how people use screens.

/crisp-briefTurns a vague request into a clear brief with success criteria you can check.Returns.brief.md written to project root · Scoped problem statement · Observable success criteria · CRISP dimension priorityuser-invoked /crisp-copyChecks or writes interface text, such as buttons, errors and empty states, against the Contextual and Intelligent dimensions.ReturnsCopy audit with P0–P3 severity · Replacement strings ready to paste · Voice + tone consistency notes · Empty state copy (3-part structure)user-invoked /crisp-a11yA full WCAG 2.2 AA accessibility check, with exact code fixes.ReturnsWCAG 2.2 AA scorecard · Exact code fixes, not vague advice · a11y-checklist.md · Problems rated P0 (critical) to P3 (minor)user-invoked /crisp-aiChecks AI features, such as chat and agents, against six AI-specific dimensions.Returns6-dimension AI UI scorecard · Streaming UX recommendations · Patterns that show what the agent is doing · Error + uncertainty handlinguser-invoked /crisp-researchResearch before you design: what competitors do, what to avoid and which dimensions are at risk.ReturnsCompetitive pattern synthesis · CRISP dimension risk flags · Anti-patterns to avoid · Gaps in the brief, found before design startsuser-invoked /crisp-redesignRedesigns an existing UI without breaking what already works.ReturnsWhat to keep and what to rebuild · Upgrades in priority order · Current-state audit · Checks that SEO, analytics and accessibility still workuser-invoked /crisp-ux-lawsTurns proven laws about how people think into clear rules for each CRISP dimension.ReturnsEach law mapped to a CRISP dimension · Where interactions are too complex · One clear rule per law · Ways to cut choices and mental effortuser-invoked

Craft and build

Motion and polish, plus the one skill that builds something instead of reviewing it.

/crisp-design-engMotion, micro-interactions, and the invisible details that make a UI feel right.ReturnsBefore and after table of craft problems · Motion decisions (duration · easing) · Performance + reduced-motion flags · Every fix mapped to a CRISP dimensionuser-invoked /crisp-funnelBuilds a complete mobile-first funnel from a brief: sections in order, copy written, work reviewed.ReturnsFunnel type and how much the buyer already knows · Sequenced sections (01 → 10) · Copy written to the offer · A /crisp-review check before handoveruser-invoked

(Try it free)

No command line. No install.
Just paste your URL.

Paste a URL and get a full CRISP audit of your product in seconds. It is free and needs no account.

Start free audit →

(The CRISP letter)

Design evaluation,
in writing.

Occasional emails on getting AI agents to produce work worth shipping. New skills are announced here first. No noise.

No spam. Unsubscribe any time.

(FAQ)

Common questions

How is CRISP different from running /audit in Impeccable?
Impeccable improves how your AI writes frontend code: typography, layout patterns and visual polish. CRISP checks whether the design works for users: do they know where they are, does it feel instant, does it show insight instead of raw data. They work at different layers, so you can use both.
Do I need to run /crisp-teach before every session?
No. Run it once per project. It writes .crisp.md to your project root, and every CRISP command reads it automatically after that. Updating the skills never overwrites .crisp.md, so your context stays.
Who is CRISP for?
Product designers, design leads, and engineers who use AI agents to design and ship software. If an AI has ever given you a design that works but feels flat, CRISP is the missing step. It checks the design, not just the code.
What does CRISP actually stand for?
Contextual, Responsive, Intelligent, Seamless, Powerful. Five dimensions of world-class product design, each with a specific test question and a specific set of failure patterns. The framework is benchmarked against Stripe, Linear, Notion, Asana, and Slack.
Can I use CRISP without /crisp-teach?
Yes. /crisp-audit and /crisp-review work on any screenshot or description, with no project context. /crisp-teach makes them much more accurate, because the agent then knows your users, your design system and what "good" means for your product.
Where do the files go when I install?
npx skills add @laith-wallace/crisp finds your AI coding tool and puts the files in the right folder: .claude/ for Claude Code, .cursor/ for Cursor, .agents/skills/ for Antigravity, and so on. If you prefer, download the universal ZIP and unzip it into your project root.

Start with an audit.
Stay for the standard.

Run a free audit on your product now. Or install the CRISP skills and give your AI agent a design standard.

Start free audit → Install the skills