design-variants
Skill3 starsChanged 3 months agoMITView on GitHub
Use when asked to design, redesign or explore a UI, screen, panel or component and the user wants options — 'give me some designs', 'redesign this', 'what could this look like', /design-variants. Sends one brief to three blind designer agents, each given only a goal and free to choose the whole layout, each building one working design against a shared UX floor (states, accessibility, clarity for strangers); one artifact page shows all three side by side so the user picks a base and the parts to steal.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- dlimkin/agent-skillstheir own version, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- dlimkin/agent-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository17 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- code-structureSkill
- debuggingSkill
- docker-best-practicesSkill
- drf-best-practicesSkill
- drizzle-ormSkill
- expressSkill
- fastapiSkill
- git-merge-conflictsSkill
- reactSkill
- researchSkill
- security-practicesSkill
- sqlSkill
- tanstack-querySkill
- tanstack-routerSkill
- testing-best-practicesSkill
- typescript-best-practicesSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 10 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈10
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 36
Write brief.txt in the work folder (the session scratchpad if one is listed, else .claude/design-variants/<slug>/).
- Distinctive: line 55
If the main task or the user is unknowable, ask one question.
- Distinctive: line 59
Write all three directions in one pass — one call writing three options diverges more than three calls with one prompt.
- Very specific: line 86
Keep the directions out of the work folder (a sibling -private folder), so no designer can read the other two.
- Distinctive: line 102
Never pass the conversation, your favourite, or why the user wants it.
- Very specific: line 106
Run node <skill-dir>/check.mjs <work-folder>/*.html yourself.
- Very specific: line 112
Write index.html in the work folder and publish it as one artifact with the three designs as supporting files (files: {"A.html": "<path>", …
- Distinctive: line 120
No ranking and no scores. The user judges.
- Very specific: line 121
Follow the artifact page contract.
- Very specific: line 126
Stop and ask: which variant is the base, and which parts to steal.
- Distinctive: line 133
Always write the brief to a file before spawning anyone.
- Distinctive: line 134
Always write the three directions in one pass, as bets only — never say where anything goes.
- Distinctive: line 135
Always spawn the three designers in one message, blind to each other.
- Very specific: line 136
Always run check.mjs yourself.
- Distinctive: line 137
Always publish one compare page, not three artifacts.
- Distinctive: line 138
Never design a variant yourself — you hold the context they must not have.
- Distinctive: line 139
Never rank the variants or pick the winner for the user.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Design Variants — Three Designs, One Brief, Blind
Designing in the same session that built the context produces one idea that only its author understands. This skill separates the people who design from the conversation that asked, and makes the gaps visible by putting designs side by side: what one variant has and the others lack is the missing piece.
Contents
- Files
- Step 1 — Brief
- Step 2 — Directions
- Step 3 — Build
- Step 4 — Verify
- Step 5 — Compare page
- Step 6 — Stop, then merge
- Rules
1. Files
DESIGNER.md— the designer's instructions. Each designer reads it first.UX-FLOOR.md— the rules every variant is built to.check.mjs— measured checks: contrast on declared token pairs,lang, title, alt text, labels, empty buttons and links. Node, no dependencies.
<skill-dir> below is the directory holding this file.
2. Step 1 — Brief
Write brief.txt in the work folder (the session scratchpad if one is listed,
else .claude/design-variants/<slug>/). It is the only context designers
get, so it must stand alone:
# Brief: Map layers panel
**What it is:** Side panel listing map layers for a mission area; toggle, locate, manage.
**Who uses it:** Analysts on desktop, often with 10–50 layers.
**Main task:** Find one layer and show only it.
**Must change:** More layers visible at once; accessible toggles; names not truncated.
**Keep:** Dark UI, orange "on" accent, Map/Satellite switch, owner filter.
**Content:** (the real list, verbatim — never "some layers")
**Look today:** bg #141b2a, panel #1a2233, text #e8edf5, accent #f0a030, 8px radius.
**Out of scope:** The map itself.- Copy real content from screenshots or code. Invented data is a last resort.
- From a screenshot, write down what is broken in plain words — designers cannot see your reasoning, only the brief.
- If the main task or the user is unknowable, ask one question. Otherwise go.
3. Step 2 — Directions
Write all three directions in one pass — one call writing three options diverges more than three calls with one prompt. A direction is a bet: what the page is really for. It never says where anything goes; the designer decides.
## A
Bet: power users scan and compare layers, like a spreadsheet.
## B
Bet: a layer belongs to a place on the map; people find it by where it is.## A — BAD: the layout is decided before the designer starts
Bet: power users scan columns.
Layout: 28px rows, search top-left, filters in a toolbar row.Nine variants built from layout-level directions came out as one page with different list bodies: same toolbar, same header, same controls.
Ban across all three, unless the brief's existing look uses them: purple-to-blue gradients, Inter or Space Grotesk as the only face, emoji markers, everything centred, the same radius and shadow on every block.
Two bets that would lead to the same page are one bet. Rewrite one.
Keep the directions out of the work folder (a sibling -private folder), so no
designer can read the other two.
4. Step 3 — Build
Spawn three general-purpose agents in one message, one per direction.
Each prompt holds only:
- "First read
<skill-dir>/DESIGNER.mdand follow it. Your UX floor is<skill-dir>/UX-FLOOR.md." - The skill directory path.
- The brief's path, and "do not read any other file in that folder".
- Its one direction — never the other two.
- Its one output path:
A.html(B.html,C.html) in the work folder. - "You decide the layout and where every control goes. Do not reach for the usual title row, toolbar row, content by habit."
Never pass the conversation, your favourite, or why the user wants it.
5. Step 4 — Verify
Run node <skill-dir>/check.mjs <work-folder>/*.html yourself. A designer
saying "exit 0" is not evidence. Send failures back to that designer once; if
they persist, keep the variant and show the failure on the compare page.
6. Step 5 — Compare page
Write index.html in the work folder and publish it as one artifact with
the three designs as supporting files (files: {"A.html": "<path>", …}).
- One section per direction: its name and bet, then its card.
- Each card: an
<iframe src="A.html" title="Design A">at the real component size, the ID, the designer's one-line idea and tradeoff, thecheck.mjsresult, and anything the designer left unresolved. - An "open full size" link per card (
href="A.html"). - No ranking and no scores. The user judges.
- Follow the artifact page contract. The page must pass
check.mjsapart fromlangand viewport, which the publish skeleton adds.
7. Step 6 — Stop, then merge
Stop and ask: which variant is the base, and which parts to steal. Never pick
for the user. On request, spawn one fresh designer with DESIGNER.md, UX-FLOOR.md, the brief,
the base file, the named parts and their source files, writing merged.html;
verify and republish.
8. Rules
- Always write the brief to a file before spawning anyone.
- Always write the three directions in one pass, as bets only — never say where anything goes.
- Always spawn the three designers in one message, blind to each other.
- Always run
check.mjsyourself; never trust a reported exit code. - Always publish one compare page, not three artifacts.
- Never design a variant yourself — you hold the context they must not have.
- Never rank the variants or pick the winner for the user.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

