For designers · open source · v2.5.2

Your design team. Type the name.

Keep or skip in chat. Send a note back. No terminal flags. Named specialists wireframe, critique, and gate the work — so you get a verdict, not a polite paragraph.

Type /zara /accept yes /share /receipt
No new app No CLI flags after install You still sign every change
Designer path

Four things to type. Nothing else.

Install once. Then you work in chat. Yes or no. One sentence if no. The long command map stays below for when you already know the job.

I want to…Type thisWhat comes back
Get a critique /zara One delight pass — or “speed is the craft”
Keep or skip that note /accept yes or /accept no plus one sentence Saved on your machine. The team can learn.
Send a correction to the package /share then yes Redacted preview. GitHub or the package inbox. No folder names.
See inferred spend /receipt A number. Not a bill. Not a monthly dollar.
One line — any folderTerminal
# Cursor
npx analyzthis_design@2.5.2 --target cursor --force

# Claude Code
npx analyzthis_design@2.5.2 --target claude --force

# Then restart the app. Type /zara even if the menu is short.

All commands · Full install · Wireframe · Spec and build · Review against a PRD

Who this is for

Built for designers — and the people who sit next to them.

Designers who are understaffed. Developers and PMs who need to design. If you can open Cursor or Claude Code, you can run this team. You do not need a new app. After a critique, type /accept (keep or skip) and /share (send a note back). No terminal flags. Slash commands and MCP are not the same pipe — see how to call them.

Changelog

What's new in 2.5.2.

Personas now cite real motion and UI libraries, and they prefer whatever is already in your repo. Re-run install with --force after you update.

2.5.2 — Motion, UX, and visual-design libraries

  • Cite real packages. New motion.csv and ui-libraries.csv cover Motion, Shadcn, React Aria, Chakra, CMDK, TanStack, Tremor, Magic UI, and more. One library per job.
  • Kavi detects what you already use. Collect reads the full package.json plus kit folders and writes Tech/Installed-UI-Libraries.md. Later personas prefer that list.
  • No kit mashups. Mixing Shadcn with Chakra or Mantine is a Priya block. Magic UI and Lottie stay off daily dashboards.
  • DesignSpec motion is specific. If motion is on, the spec must name library, import, timing, easing, and a reduced-motion fallback.

2.5.1 — Anti-AI-slop & craftsmanship

  • Arjun hunts generic AI look. Nested cards, untinted black/gray, gray text on colored badges, purple-to-blue gradient clichés.
  • Noor distills. Less container clutter; CTAs say the outcome (Create Invoice, not Submit).
  • Zara times motion. 150–250ms ease-out. Bounce and elastic easing are out.

2.5.0 — personas earn or lose trust

  • A skip now costs the persona. Before this release it did the opposite: marking a note wrong recorded it as revised and scoring counted every outcome the same, so a rejection raised the score by 15. Punishment was a reward. Fixed.
  • Scored on rate, not total. Each persona starts at 50 and moves both ways — shipped +15, revised −5, missed −15, plus your rating. Averaged per signal, so early wins never make a persona immune to later misses. Bands: At risk, Developing, Baseline, Reliable, Trusted.
  • One bad note brands nobody. Under five signals a persona reads Baseline (insufficient evidence) whatever the maths says.
  • Devi weights the synthesis. She sees the scoreboard and leans on Trusted personas over At risk ones, and says so in one line. She never drops a persona from the run — a weak read still gets written down where you can disagree with it.
  • Feedback works with no terminal. New analyzthis_accept MCP tool in the default catalog, so Claude Desktop can keep or skip. Same core as the CLI, identical state.
  • The persona asks. Every note ends with one line: Was this right? Say yes, or no plus one sentence. You answer in plain language — no slash command, no flags, and it works the same on every host.
  • See the scoreboard. npx analyzthis_design scores (or scores --persona arjun) shows the signed breakdown, so you can see why a persona fell. Scores are derived on read — existing history re-scores itself on upgrade.

2.4.1 — /accept and /share

  • Keep or skip without flags. After /zara (or any persona), type /accept yes or /accept no plus one sentence. Local evolution. Slash-only notes still count.
  • Send a note back to the package. Type /share, read the redacted preview, then /share yes. No folder names, emails, or keys. GitHub issue if no HTTP inbox is set.
  • Do not npm-install inside a workspace repo. Same as 2.3.1: use npx … --target … --force. The package is not a line in the app’s package.json.

2.4.0 — Claude-path efficiency

  • Lite MCP catalog. Desktop and Code now see a router, retrieve, session, and receipt — not 19 tools. Old list: mcp --catalog full.
  • Receipt after every MCP turn. Inferred tokens, not a bill. Type /receipt or run npx analyzthis_design receipt.
  • Slim skill fronts. Arjun and the long workflows load a short front. Retrieve the rest. Default output: verdict + top three + one evidence line. Say expand for the full schema.
  • Knowledge is an index. Load one persona slice. Do not inject the whole bank.
  • Tokens per verdict prints on receipt and CLI run. We did not make the team speak caveman. We do not ship a proxy. Optional: wrap our MCP through Caveman shrink if you already use it.

2.3.1 — Type /noor after install

  • Either install command works. npx analyzthis_design --target claude is the same as install --target claude. The first form used to say “Unknown command.”
  • Type the specialist name. After install, type /noor /anuj /arjun /meera /priya /zara /raj /kavi even if Claude’s menu only lists Getting Started.
  • Project slash files land in this repo. Install writes .claude/commands and .cursor/commands so each persona is callable from the folder you are in.
  • Claude MCP covers Code, not only Desktop. mcp --configure claude writes Desktop, Claude Code, and this project’s MCP file when you are in a repo.
  • Do not npm-install this package inside a workspace repo. If your folder already uses pnpm or Yarn workspaces, run the npx … --target command instead. That crash is the workspace, not this team.
  • Models did not change. Slash and MCP still use the model already in your chat. CLI run still picks a strong planner and cheap chunks. See which model runs.

2.3.0 — MCP for any IDE

  • 19 MCP tools so the same team can run from Lovable, v0, Bolt, Replit, ChatGPT, and similar hosts.
  • Slash commands and MCP are different pipes. MCP never creates /noor. See how to call them.

2.2 — Project knowledge + stronger review

  • Knowledge bank is project-scoped by default. One project’s notes do not leak into another.
  • Premise challenge, conflict resolution, and evolution metrics on the review path.

2.0 — Cheap chunks by default

npx analyzthis_design run plans on a strong model, then runs each chunk on the cheapest capable model you have. Use run-unchunked for the older single-pass path.

What you can do

Eight jobs. One installed team.

Pick the job. Type the command in your AI chat. The team does the rest and stops at a human decision.

Wireframe a new screen

When the screen does not exist yet. The team writes two competing text wireframes: a quiet, minimal one and a dense, power-user one. They argue. You pick a direction before anyone opens Figma or writes code.

New work/ux-ideator/noor/anuj
  1. You describe the user, the job, and the stack.
  2. The team maps the task so the wireframe is not decoration.
  3. Noor drafts the simple path. Anuj drafts the expert path.
  4. Arjun, Meera, Zara, and Priya pressure-test both.
  5. You get two full text wireframes plus a synthesis — not a single “nice” mock.

Use /noor alone for a fast minimal sketch. Use /anuj alone when the user is an expert who needs density on day one.

In Cursor or ClaudeChat
/ux-ideator Design a settings page for a B2B dashboard.
Primary user: ops manager, daily use.
Stack: Next.js + shadcn.
Produce full text wireframes for Concept A and Concept B.

Design, spec, then build

When you need more than a sketch. The producer path turns ideation into a DesignSpec — layout, tokens, components, and states — then waits for gates to pass before anyone implements.

Handoff/design-director/design-spec
  1. Ideation produces two concepts, same as above.
  2. A DesignSpec is written: what goes where, which tokens, which components, which empty/error/loading states.
  3. Hard gates check design-system fit and information hierarchy.
  4. If a gate fails, you get a blocker and a fix — not a pretty wrong file.
  5. Implementation starts only when you approve build mode.

This is the path for a senior-designer handoff. The team prepares. You still sign.

Producer pathChat
/design-director Design a notifications settings page.
Use our shadcn components and tokens
from the knowledge bank.
Produce a DesignSpec. Implement only
after spec gates pass.

Critique an existing design

When the screen already exists — in code, in Figma, or as a screenshot. The team does not compliment it. They score it, object, and return SHIP, REVISE, or BLOCK with the top three fixes.

Review/persona-orchestrator/design-critic
  1. Say what the user is trying to finish. Paste a URL, a file, or a frame.
  2. A router picks the smallest useful set of specialists. Default is not “everyone.”
  3. Ask for full when you want the complete chain.
  4. Specialists raise objections with evidence. Agreement is earned.
  5. You get a composite score, a hierarchy check, a verdict, and ranked fixes.

Do not use these commands when you want a wireframe. They review. They do not invent a new screen.

Assess onlyChat
/persona-orchestrator Critique this login page
for UX friction and hierarchy.
Assess only — do not implement.

/design-critic Full review of the invoice screen.
Run all personas in full mode.

Review against a PRD or user story

When “does this look good?” is the wrong question. The story gate asks whether a real person can finish a real job, using your PRDs, Figma, and design system as ground — not vibes.

Task-first/ux-story-gate
  1. The team looks for PRDs, stories, and design-system files in the project.
  2. It builds a task map: trigger, steps, decision, done.
  3. It routes only the specialists that job needs.
  4. Optional browser check confirms the live screen matches the claim.
  5. Assess-only mode keeps implementation off until you ask.
Story gateChat
/ux-story-gate Review the invoice approval
screen against the Q3 billing PRD.
Can an AP clerk finish one invoice
without a workaround?

Set visual direction

Two boards. A mood board is tagged links and a team debate. A UI image board is pictures of real shipped software: Zara goes out and finds 3–5 screens, then Arjun, Noor, Priya, and Meera vote. If they skip her picks, she goes back out with their reasons — up to three tries.

Direction/mood-board/zara
  1. You name the job in one line (who uses it, what the screen is for).
  2. Mood board: tagged URLs + design-system patterns. UI board: Zara actually browses live product screens — no fake AI comps.
  3. On a UI board she writes steal / refuse / peak on each frame. She does not score her own picks.
  4. The jury SHIPs, or sends her out again. After three rounds, you (or Raj) pick.
  5. A board file is written into the project so you can inspect every pick.
UI image boardChat
/mood-board UI image board for invoice
approval. Partner signs. Dense table.

Then /zara — she scouts real screens.
If the rest skip, she scouts again.

Index the project before opinions

Kavi is not a critic. Kavi is the archivist. Run this once per repo so every later command reads your brand, PRDs, components, and past decisions — instead of inventing a generic app.

Grounding/kavicollect
  1. Kavi scans the repo: pages, tokens, components, research, stack.
  2. It writes an Obsidian-compatible vault on your machine.
  3. Optional: an LLM enriches the notes. Without keys, the draft vault still lands.
  4. The knowledge bank syncs into this project’s local skills folder — not a global merge that entangles other vaults.
  5. You can connect an existing vault. Use --global only when you deliberately want cross-project blending.

If you skip Kavi, the team still runs — it just guesses more. Ground first.

Once per projectTerminal
npx analyzthis_design collect --target all

# Knowledge bank lands in this project:
# .cursor/skills/knowledge-bank/SKILL.md

npx analyzthis_design connect \
  --vault ~/Documents/MyVault
npx analyzthis_design sync --target cursor

# Legacy cross-project merge (opt-in only):
npx analyzthis_design sync --global --target all

Run the team without paying for extra keys

The CLI can drive the same graph from the terminal. Default v2.0 mode plans on a strong model, then runs small chunks on cheap or free models — including local Ollama. If you set no keys at all, Devi asks your host IDE to voice each specialist. Slash commands do not pick a model — see how models are picked.

CLIrun/devi
  1. Start a run with a task in plain language.
  2. A planner breaks the work into chunks. The planner stays strong on purpose.
  3. Chunks go to local, free, or cheap models. Results merge into one verdict.
  4. In host mode, pending prompts wait. Type /devi in Cursor or Claude. Continue the run.
  5. Telemetry remembers which models actually worked for each chunk type.
v2.0 defaultTerminal
npx analyzthis_design run \
  --task "Review invoice approval screen"

npx analyzthis_design run \
  --task "Review invoice screen" --budget free

npx analyzthis_design run-unchunked \
  --task "Review invoice screen" --provider host
# then in Cursor: /devi
npx analyzthis_design run-unchunked --continue \
  --task "Review invoice screen" --full

Let the team learn — with your approval

Tell the system what landed and each persona’s score moves — up when the advice ships, down when it needed rework or missed. Devi leans on the personas that earn it. Patches are still proposed, never applied: nothing becomes canonical until you review it. Silent self-rewrite is not allowed.

Learningevolveoutcome
  1. The persona asks at the end of its note. Answer in plain language — yes, or no plus one sentence.
  2. Works in chat, in the terminal, and on Claude Desktop — which has neither slash commands nor a shell. Optional: /share sends a redacted correction to the package.
  3. Lessons come from rejected notes too — your correction is the most useful thing the team gets. Each is scored, de-duplicated, and tagged.
  4. The system proposes patches. You see the diff.
  5. You accept or reject. The team does not evolve in the dark.
  6. Each persona’s score moves, and Devi leans on the ones that earn it. Check the board with scores — it shows why a persona fell, not just that it did.
Human-reviewedTerminal
/accept yes
/share
npx analyzthis_design scores
The roster

One job each. No “do everything.”

Eight specialists, each with one job. For a full screen, use the orchestrator so they speak in order. Raj challenges the premise or closes a deadlock. Devi — below — is not a ninth critic; she is the host that voices them when you have no extra API keys.

KV
/kavi

Kavi

Knowledge archivist. Scans the repo, builds a vault, fills the knowledge bank. Speaks before opinions form. Not a critic.

AR
/arjun

Arjun

UX and visual design. Hierarchy, color, type, spacing, components, accessibility, style fit, and the one interaction that is doing too much work.

ME
/meera

Meera

Business. Retention, adoption risk, whether the hierarchy matches the north-star metric. Will kill a pretty screen that does not move the number.

PR
/priya

Priya

Feasibility. T-shirt effort, state-machine traps, what will slip the sprint. Protects you from a design that cannot be built this quarter.

ZA
/zara

Zara

Delight. Exactly one peak moment. Will not “fix contrast” and call it joy. Contrast goes back to Arjun and the design-system gate.

NO
/noor

Noor

Minimalist IA. Progressive disclosure, one primary action, a ranked information hierarchy that is declared out loud.

AN
/anuj

Anuj

Power-user advocate. Density, bulk actions, keyboard shortcuts. Will not hide expert tools behind a wizard “for simplicity.”

RJ
/raj

Raj

Arbitrator and premise challenger. Can run first to ask “are we solving the right problem?” When specialists deadlock, he resolves with five ranked product principles — never by summarizing both sides.

DV
/devi

Devi — the voice of the LLM you’re already using

Not a ninth critic. Devi is the host runtime. When you have no extra API keys, the other eight personas write their prompts to a queue and Devi voices each response from the model in your Cursor, Claude, or Codex — the same model you are already chatting with. The team still runs; you just provide the voice.

8 personas→Devi→your model
Call them correctly

Slash commands and MCP are not the same.

The team is one package. How you call a specialist depends on which window you opened. MCP never creates /noor. Claude’s slash menu may only show Getting Started even when every skill is already on disk.

Rank 1 — Cursor

Type the slash name

Skills land in ~/.cursor/skills. The primary action is the command, not the MCP hammer. MCP tools are extra, with different names.

npx analyzthis_design install --target cursor
then type /noor

Rank 1 — Claude Code

Install, then type /noor anyway

Files go to ~/.claude/skills and this repo’s .claude/commands. Claude’s menu may only show Getting Started — type /noor. Install also wires Claude Code MCP.

npx analyzthis_design install --target claude
then type /noor

Rank 2 — Claude Desktop

Tools, not slashes

Enable the analyzthis_design MCP server. Call analyzthis_noor. Configure writes Desktop and Claude Code. claude.ai still needs a connected session.

npx analyzthis_design mcp --configure claude
ask: use the Noor tool

Rank 3 — Other catalogs

A matching name is not this team

Your host may ship or recommend its own skills. A similar title in a marketplace, built-in list, or another plugin is a different file. This team is the one you installed into your skills folder.

npx analyzthis_design list --target cursor
or --target claude — confirm the names landed

Either form installsTerminal
# Both copy skills into Claude Code
npx analyzthis_design --target claude
npx analyzthis_design install --target claude

# See what landed, then type /noor
npx analyzthis_design list --target claude
Which model runs

Slash does not pick a model.

Personas are voices, not brands of LLM. Chat and MCP use the model already in your window. The CLI picks automatically by hardness and budget — not “Noor gets one model, Arjun another.”

Rank 1 — Chat

Your current IDE model

Type /noor or call an MCP tool. Same model that is already answering. Devi is that model speaking as each specialist.

Type /noor in Cursor or Claude Code

Rank 1 — CLI default

Strong planner, cheap chunks

A frontier-class planner stays strong on purpose. Each chunk then takes the cheapest capable model you have: local first, then free, then cheap paid if you allow it.

npx analyzthis_design run --task "Review this screen"

Rank 2 — No extra keys

Force free, or use the host

No API keys means host mode. Devi fills pending replies in your IDE. --budget free keeps chunks on local and free endpoints only.

run --budget free
or run-unchunked --provider host + /devi

Rank 3 — Safety

Gates stay strong. You can lock one.

Design-system, hierarchy, and verify gates never run on a cheapened model. Hardness is easy / usual / hard — not a favorite LLM per persona. Override with flags or config tiers.

--provider host --model …
or edit ~/.analyzthis_design/config.json

Pick a laneTerminal
# Automatic: strong planner, cheapest capable chunks
npx analyzthis_design run --task "Review the invoice screen"

# Local and free endpoints only
npx analyzthis_design run --task "Review the invoice screen" --budget free

# One host model via Devi — full continue steps on #run
npx analyzthis_design run-unchunked --task "Review the invoice screen" --provider host
Universal access

Same team. MCP is a tool list.

Default MCP catalog is lite: router (analyzthis_design), retrieve, session, receipt. Named tools like analyzthis_noor are still there behind mcp --catalog full. Cursor and Windsurf get MCP on skill install. mcp --configure claude writes Desktop, Claude Code, and this repo’s .mcp.json. Lovable, v0, Bolt, Replit, and ChatGPT get a snippet.

4
Lite catalog

Router, retrieve, session, receipt — the default Desktop and Code list.

8
Personas

Ask the router for Zara, Arjun, Noor, and the rest. Named tools stay behind --catalog full.

1
Receipt

Inferred tokens after each MCP turn. Not a bill. Slash: /receipt.

0
Proxy

Runs locally via stdio. Optional: wrap through Caveman shrink if you already use it.

MCP setupTerminal
# Start the local MCP server
npx analyzthis_design mcp

# Auto-config for your IDE
npx analyzthis_design mcp --configure cursor
npx analyzthis_design mcp --configure claude
npx analyzthis_design mcp --configure windsurf

# Copy-paste config for other MCP clients
npx analyzthis_design mcp --configure lovable
npx analyzthis_design mcp --configure v0

# Old 19-tool list (escape hatch)
npx analyzthis_design mcp --catalog full

# Skills + MCP config for Cursor / Desktop / Windsurf
npx analyzthis_design install --target all --force
Command map

What to type when you know the job.

I want to…Type thisWhat comes back
Find the right command/getting-startedA first-run guide: wireframe vs critique
Wireframe a new screen/ux-ideatorTwo competing text wireframes + synthesis
Quick minimal sketch/noorConcept A — one primary action
Dense expert layout/anujConcept B — bulk actions, shortcuts
Spec and optional build/design-directorDesignSpec, gates, then code if you approve
Critique a live screen/persona-orchestratorSHIP / REVISE / BLOCK + top 3 fixes
Full four-persona review/design-criticComposite score + hierarchy gate
Check against a PRD/ux-story-gateTask map, routing, optional browser verify
Set visual direction/mood-boardMood board or UI image board (Zara scouts, jury votes)
Ground the repo/kaviVault + project-local knowledge bank
Run from any MCP IDEnpx analyzthis_design mcpLite catalog: router + retrieve + session + receipt
Keep or skip the last note/acceptYes or no. Local evolution — no CLI flags
Send a correction to the package/sharePreview, then yes. Redacted. GitHub or HTTP
See inferred token spend/receiptNot a bill. Same as npx analyzthis_design receipt
Auto-config MCP for Cursormcp --configure cursorWrites MCP config to your IDE
Check if team can evolveevolve --readyReadiness + per-persona scores
See evolution dashboardscoresNovice → Expert per persona
Legacy global knowledge syncsync --globalMerged cross-project bank (opt-in)
One specialist’s view/arjun /meera /priya /zaraA single-lens follow-up, after grounding
How a critique run works

Gates, not vibes.

A full critique is a graph, not a chat. The same graph runs from your IDE or from the CLI.

00
Premise

Raj may question the framing

Before planning starts, the planner can add a premise check: are we solving the right problem? Accepting the task without questioning it is forbidden.

01
Intake

You name the task

A Figma URL, a file, a screenshot, or a sentence. The story gate looks for PRDs and the design system before anyone opines.

02
Route

The smallest useful team

A mixture-of-experts router picks who speaks. Full chain only when you ask. Extra agents cost coordination, so they must earn a seat.

03
Deliberate

Disagreement is required

Specialists object in parallel, cite evidence, and cannot repeat themselves on a re-run. Synthesis picks a winner — not a summary of both sides.

04
Delight + deadlock

Zara, then Raj if needed

Delight is one peak, not a polish pass. Raj closes structural deadlocks with ranked principles — or challenged the premise in step 00.

05
Gate

SHIP / REVISE / BLOCK

Design-system, hierarchy, and verify gates do not downgrade. A failed standard is a blocker with a correction, not a suggestion in a footnote.

Where it runs

Same team. Different hosts.

Install once per machine. Skills are plain SKILL.md files. MCP is a separate tool list — it does not fill the slash menu. Only the invoke prefix changes.

Cursor

Skills in ~/.cursor/skills. Type /noor. MCP is optional extra tools.

Claude Code

Skills in ~/.claude/skills. Type /noor even if only Getting Started is listed. MCP configure writes Claude Code as well as Desktop.

Codex CLI

Skills in ~/.codex/skills. Reference them from AGENTS.md.

Grok Build

Skills in ~/.grok/skills. Slash commands.

Windsurf

Skills in the Windsurf folder. MCP auto-configured. Invoke with @, not /.

MCP clients

Lovable, v0, Bolt, Replit, ChatGPT — mcp --configure <tool> for a config snippet.

CLI

npx analyzthis_design run — host-agnostic, with or without keys.

Trust

Open source on purpose.

MIT license

Use it, fork it, read every file. The published package is plain source — no obfuscation, no minified surprise.

Consent-based install

npm install does not write into your AI folders. Skills land only when you run npx analyzthis_design install --target.

You still sign

Assess-only modes and hard gates keep implementation off until you approve. The team prepares. You decide.

No required API bill

Host mode uses the model you already pay for in Cursor or Claude. Local Ollama and free endpoints are first-class.

Install

Pick your tool. Get only your steps.

Node.js 16 or newer for anything with a terminal — and nothing at all if you work in the browser. Every tool below has a different path; you only need yours.

After a package update, reinstall with npx analyzthis_design install --target all --force. Reprint help with npx analyzthis_design welcome. The knowledge bank is project-scoped by default — use sync --global only for a deliberate cross-project merge.

Next

Install it. Or map a custom team.

If you already have Cursor, Claude, Windsurf, Lovable, v0 or Bolt, start with the package — there is a path for each. If you run a practice and do not, we design a team that arrives in the tools you already open.