Edison, GE Healthcare
Red Dot
2020
Why this exists
Speed was never the problem
A model will give you fourteen findings in nine seconds. Checking all fourteen costs more than writing five yourself. The bottleneck was never generation. It was trust.
The failure
Confidently wrong
Invented percentages, findings with no evidence, and a cheerful tone over all of it. The output reads finished, so the error is expensive to catch and embarrassing to pass to a client.
The mechanism
Refusals, written down
Every skill carries rules about what it must not do: never invent a number, never report a count you didn’t count, always name what you couldn’t determine. The refusals do more work than the procedures.
The result
Judgment gets checked, not facts
Same shape every time, with the gaps declared. The reader checks whether the recommendation is right, not which three numbers were fabricated.
Same brief, both ways
What the difference looks like
One product, one question: “audit this checkout flow”. Left is an unguided ask. Right is heuristic-audit.
Unguided
- •“The navigation could be more intuitive.”
- •“Consider improving the visual hierarchy.”
- •“Studies show 70% of carts are abandoned due to friction.”
Fourteen findings, no severity, no evidence, no cost. Three statistics with no source. Nothing says which to fix first, and nothing admits what wasn’t tested.
Every line has to be verified.
heuristic-audit
SEV 4 · HIGH FREQ
Payoff quote dead-ends on “please call us”, no reference number.
Cost: the top-ranked task generates the call it was meant to prevent.
Fix lands on: flow. Closes findings 1, 2, 14.
- ✓Severity scale defined before the audit ran
- ✓Frequency labeled an estimate. Analytics access was denied
- ✓Fixes sequenced by where they land, not by severity alone
- !Closes with three things it could not determine
Only the judgment needs checking.
Install
Drop the folder in
Copy skills/ into a Claude project. Each subdirectory is one skill. Only the description line of each SKILL.md sits in context at rest. The procedure and its bundled files load only when a task matches, so the whole library costs almost nothing until one is needed.
skills/
├── README.md
├── DEMO.md
├── PROJECT-INSTRUCTIONS.md
├── examples/ 7 finished artifacts
├── brief-intake/
│ ├── SKILL.md
│ ├── templates/project-brief.md
│ └── reference/question-bank.md
├── heuristic-audit/
├── ds-inventory/
├── research-synthesis/
├── flow-map/
├── copy-standards/
├── a11y-spec/
├── handoff-spec/
└── critique/
Anatomy
What’s inside one file
Every skill is the same six parts in the same order. Predictable structure is why a second designer can pick one up and get comparable output.
---
name: heuristic-audit
description: Evaluate a live product
against usability heuristics and
WCAG 2.2, producing severity-rated
findings with a cost...
---
# Heuristic audit
## When to use
## Procedure
## Severity scale
## Rules
## Bundled files
Frontmatter
The only part in context at rest, roughly forty words per skill. Nine skills cost less to carry than one paragraph of a brief.
When to use
Named trigger conditions, so it fires on the right task and stays quiet on the wrong one.
Procedure
Numbered and ordered. The order is the opinion: inventory before diffing, structure before fidelity.
Rubric
The scale that makes two audits comparable. Without it, “major” means whatever the model felt that morning.
Rules
The refusals. The part revised most often, and the part that makes the output safe to show a client.
Bundled files
Templates and reference tables loaded on demand, versioned like code, not retyped each engagement.
The sequence
The order they run in
PhaseSkillProduces
Evaluate · Ads-inventoryComponent inventory, token diff, drift report
Mapflow-mapFlows plus the full state matrix
Designcopy-standardsErrors, empty states, labels in the product’s voice
Designa11y-specFocus order, roles, contrast pairs per screen
DesigncritiqueAn argument against the work before the team sees it
Two entry points
Which fork applies
Track A
Evaluating a design system
The question is coverage and consistency, so start with artifacts: the code, the library, every screen that ships. A counting exercise before it is a taste one: what exists, what’s duplicated, what has drifted, what has no owner.
→ ds-inventory
Track B
A product design overview
The question is whether the thing does the right job, so start with people: who uses it, what they’re trying to finish, where they give up. Artifacts come second. A perfectly consistent product can still be the wrong product.
→ heuristic-audit, research-synthesis
brief-intake runs before either.
Reference
The nine
brief-intake
Intake
Turn raw client material into one structured project file: problem, metric, users, constraints, ranked assumptions, open questions.
Procedure
- Read everything once, produce nothing
- Separate solution from problem, in their words
- Find the metric, or mark it UNRESOLVED
- Pull constraints and flag what needs an engineer
- Rank assumptions by cost of being wrong
- Write the three questions that change the work
heuristic-audit
Evaluate · B
Evaluate a live product against usability heuristics and WCAG 2.2. Severity-rated findings, each with a cost, sequenced into a fix list.
Procedure
- Audit against the job, not generic best practice
- Pick two or three critical paths, end to end
- Walk each in every reachable state
- Score against the 14-heuristic rubric
- Run the WCAG pass separately
- Sequence fixes by where they land
ds-inventory
Evaluate · A
Inventory a design system from what actually ships, diff the tokens in real use against what the system declares, and report drift with a cost attached.
Procedure
- Inventory from production screens and source
- Extract the tokens in real use, not the declared set
- Diff both directions: unused, undeclared, misnamed
- Coverage matrix: library / detached / bespoke
- Score each component on five axes
- Verify parity in Dev Mode with an engineer
research-synthesis
Evaluate
Turn transcripts, tickets or analytics into at most ten insights, each with a participant count, one verbatim quote, and a sentence starting “so we should”.
Procedure
- Tag observations only, no interpretation yet
- Cluster by cause, never by topic
- Count every cluster as n of N
- Write the design implication, or it isn’t finished
- Triangulate against analytics
- Cut to ten and park the rest in writing
flow-map
Map
Annotated flow diagrams plus a complete state matrix: empty, loading, partial, error, permission-denied, offline. Every state skipped is a decision an engineer makes alone.
Procedure
- Story map, then site map, then flows
- Label every edge with its condition
- Walk the state checklist per screen
- “Not applicable” always needs a reason
- Content model: late, partial, absent data
- Feasibility check with an engineer before hi-fi
copy-standards
Design
Errors, empty states, labels and confirmations in the product’s own voice, tested at the longest string in the database. Lorem in an error state is an unfinished design.
Procedure
- Voice from what the product already says
- Inventory every string in the flow
- Rewrite: what happened, why, what to do now
- Test at longest and shortest realistic length
- Review compliance language with the client
a11y-spec
Design
Per-screen focus order, roles, accessible names, contrast pairs with measured ratios and target sizes, plus a criterion-by-criterion WCAG 2.2 AA record.
Procedure
- Number focus order on every frame
- Write name, role and value per control
- Measure every contrast pair, record the ratio
- 44px design standard, 24px WCAG floor
- Walk the whole flow with no pointer
- Reduced-motion alternative for anything moving
handoff-spec
Hand off
The developer package: token export, component state matrix, behavior written as rules, accessibility spec, real strings, and the design-QA checklist you’ll run on staging.
Procedure
- Export tokens named exactly as the front end names them
- State matrix with gaps marked, never omitted
- Rules, not redlines: condition and consequence
- Real content at shipping length
- Write the QA checklist before the build starts
- Present live, then stay in the sprint
critique
The gate
Argue against the work before the team or the client sees it. If the output is encouraging, it has failed.
Seven fronts
- Does it move the metric? Trace the path
- Which state was skipped?
- What is it taking for granted?
- What structurally different approach was never considered?
- The edges: longest string, keyboard, no network
- What will the engineer ask that the spec doesn’t answer?
- Where is this the average solution?
Worked examples
Seven finished artifacts
A blank template proves nothing. These are the same nine skills run end to end on one project, so the output shape is visible before anyone runs a prompt.
Read this first
“Meridian” is a composite, assembled from the shape of real work with every client specific removed and every number invented for illustration. Nothing here is confidential and nothing here is a real measurement. Say that out loud in a demo: being visibly careful with a former client’s data is worth more than the example itself.
01
Project brief
brief-intake
UNRESOLVED metrics, ranked assumptions, three questions back
02
Drift report
ds-inventory
Token diff, coverage, one primitive closing eleven findings
03
Audit report
heuristic-audit
Severity times frequency, the cost column, sequenced fixes
04
Synthesis
research-synthesis
n of N, signal strength, contradicting the brief
05
State matrix
flow-map
Full state coverage, “n/a” always with a reason
06
Handoff
handoff-spec
Rules not redlines, gaps marked as gaps
07
Critique
critique
Seven fronts, ranked, each with a proposal attached
Reading order for a demo: 01 → 02 → 07. Intake shows the discipline, the drift report shows the analysis, the critique shows the self-skepticism.
Runbook
Ten minutes, live
The point isn’t to show that a model can write. Everyone knows that. It’s to show that the output has a fixed shape, that the shape came from a rubric someone wrote deliberately, and that the skill refuses to make things up. Full script in DEMO.md.
Beat 1 · 0:30
Structure
The library is cheap until it isn’t
Show the README, then one SKILL.md. Point at the frontmatter versus the body. Only the description line is in context at rest, about forty words a skill.
Beat 2 · 3:00
Intake
Run it on their brief
Run brief-intake on this.
Point at UNRESOLVED in the metric row. “It didn’t invent a number. That’s the most important thing on this screen.” Then the assumption register, sorted by cost, each with an owner. Then exactly three questions back, not thirty.
Beat 3 · 3:00
The fork
System, or product
Run ds-inventory against these screens.
Run heuristic-audit on the checkout flow. Two critical paths.
Point at the Cost column. A finding without a cost is trivia, and nobody funds trivia. If time is short, open the finished drift report instead of running it.
Beat 4 · 3:00
The one that lands
Critique the work, in the room
Run critique on that audit. Attack it on all seven fronts.
“It argues against the work before anyone else has to. If the output is encouraging, the skill has failed. That’s written into it.”
House rules
Every skill inherits these
These are what make the library trustworthy in front of a client. A skill that breaks one of them produces output that has to be checked line by line, which defeats the point of having it.
01
Never invent a number
Every quantity traces to a named source, or it gets cut.
02
Say what you couldn’t determine
An honest gap beats a confident guess, every time.
03
Attach a cost to every finding
Findings without a cost are trivia, and nobody funds trivia.
04
Recommend, don’t enumerate
One recommendation, its trade, and the alternative you rejected.
05
Output is a file, not a reply
Written artifacts are the only part of a call that survives it.
Where it stops
What is never delegated
A practice that can’t say where its tools stop isn’t a practice. These four stay with the designer, every time, on every project.
The problem statement
If it wasn’t argued with a human, it isn’t agreed.
Talking to users
A synthesis skill is worthless without transcripts someone earned.
The final visual call
Models average toward the mean. Hand-finished is the whole difference.
Anything stated as fact
Every number in a deliverable traces to a source, or it gets cut.
Governance
Documented like a product, not like a wiki
A skill library is a design system with prose instead of components, and it rots the same way if nobody owns intake, release and deprecation.
Intake
A rule earns its place by failing first
Nothing goes into a rubric because it sounds right. Every line traces to a specific engagement where its absence cost something. That’s the admission price.
Release
Versioned, dated, changelogged
Currently v1.0. When a rubric changes, prior outputs record which version produced them. Otherwise two audits stop being comparable and the whole point is lost.
Deprecation
Skills that stop earning it come out
Same discipline as an unused component. A library nobody trims becomes a library nobody reads, and an unread rule is worse than no rule.
The tooling compresses the loop
It doesn’t decide what the loop is for. What stays with the designer: the problem statement, talking to users, the final visual call, and anything stated as fact.
mikelrosenthal@me.com
mikelrosenthal.com