Skip to content
On this pageWhyProofInstallAnatomyThe nineExamplesDemoGovernance
Claude skill library · v1

Nine skills
from brief
to build

The method, written down so it runs the same way every time

Nine skills that carry a product engagement from a raw brief to a developer handoff. Each one is a procedure, a rubric and an output format, versioned like code rather than retyped. They encode twenty-three years and five design systems built from scratch, so the output is the same shape whoever runs it.

See it run on a real system: the Pathfinder audit →

Years

23

Systems built

5

FIBER components

54

Edison products

40+

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
  1. 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.

  2. When to use

    Named trigger conditions, so it fires on the right task and stays quiet on the wrong one.

  3. Procedure

    Numbered and ordered. The order is the opinion: inventory before diffing, structure before fidelity.

  4. Rubric

    The scale that makes two audits comparable. Without it, “major” means whatever the model felt that morning.

  5. Rules

    The refusals. The part revised most often, and the part that makes the output safe to show a client.

  6. Bundled files

    Templates and reference tables loaded on demand, versioned like code, not retyped each engagement.

The sequence

The order they run in

PhaseSkillProduces
Intakebrief-intakeThe structured project file
Evaluate · Ads-inventoryComponent inventory, token diff, drift report
Evaluate · Bheuristic-auditSeverity-rated findings against a live product
Evaluateresearch-synthesisTen insights, each with a design implication
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
Hand offhandoff-specThe developer package
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

  1. Read everything once, produce nothing
  2. Separate solution from problem, in their words
  3. Find the metric, or mark it UNRESOLVED
  4. Pull constraints and flag what needs an engineer
  5. Rank assumptions by cost of being wrong
  6. 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

  1. Audit against the job, not generic best practice
  2. Pick two or three critical paths, end to end
  3. Walk each in every reachable state
  4. Score against the 14-heuristic rubric
  5. Run the WCAG pass separately
  6. 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

  1. Inventory from production screens and source
  2. Extract the tokens in real use, not the declared set
  3. Diff both directions: unused, undeclared, misnamed
  4. Coverage matrix: library / detached / bespoke
  5. Score each component on five axes
  6. 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

  1. Tag observations only, no interpretation yet
  2. Cluster by cause, never by topic
  3. Count every cluster as n of N
  4. Write the design implication, or it isn’t finished
  5. Triangulate against analytics
  6. 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

  1. Story map, then site map, then flows
  2. Label every edge with its condition
  3. Walk the state checklist per screen
  4. “Not applicable” always needs a reason
  5. Content model: late, partial, absent data
  6. 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

  1. Voice from what the product already says
  2. Inventory every string in the flow
  3. Rewrite: what happened, why, what to do now
  4. Test at longest and shortest realistic length
  5. 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

  1. Number focus order on every frame
  2. Write name, role and value per control
  3. Measure every contrast pair, record the ratio
  4. 44px design standard, 24px WCAG floor
  5. Walk the whole flow with no pointer
  6. 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

  1. Export tokens named exactly as the front end names them
  2. State matrix with gaps marked, never omitted
  3. Rules, not redlines: condition and consequence
  4. Real content at shipping length
  5. Write the QA checklist before the build starts
  6. 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

  1. Does it move the metric? Trace the path
  2. Which state was skipped?
  3. What is it taking for granted?
  4. What structurally different approach was never considered?
  5. The edges: longest string, keyboard, no network
  6. What will the engineer ask that the spec doesn’t answer?
  7. 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