Every UX skill in this collection judges against the repository's own design
system, never against a built-in one. This skill extracts that design system
into an executable contract, committed like code.
It works with any stack that has a design system, and degrades honestly when a
repository has none: the contract records that, reviews fall back to universal
evidence tiers, and the team gets a proposed de-facto palette derived from the
colors its code already uses as the first draft of a design system.
Input — none; the skill reads the working tree.
Output —
written or refreshed, plus the handover report from
references/report-templates.md
.
Where this skill stops. It produces a contract and hands it over. It does
not review anything: no findings, no verdicts, no lists of what is wrong with
the code, the screens, or the mockups, however tempting that is once the
contract is fresh. When the user wants judgment, name the skill that owns it
and stop:
for a pull request's running UI,
in
Review mode for a whole module or flow. Reviewing design files against the
contract is not covered by any skill in this collection yet; say so plainly
rather than improvising it here.
Full shapes, and the by-hand fallback, live in
references/contract-format.md
.
-
Agentic setup — follow
references/agentic-setup.md
: repo-local
override contract, untrusted-content boundary, and the offline fallback
rule. Shared communication and reporting rules live in
.
-
Check for an existing contract. If
exists, ask
whether to refresh or leave it. Never regenerate silently: the manual
section survives, but reviewers deserve to know the generated parts moved.
-
Extract. Run the contract extractor:
bash
npx uxproof@0.3.1 init --no-skills
The version is pinned on purpose:
would execute unreviewed
remote code on every run and let a future release change the contract
format silently. Upgrading is a deliberate edit to this line, after
checking the package's changelog. The
flag is equally
deliberate: this collection provides the agent workflow, so the extractor
contributes the contract only. Without network or npm access, use the
manual fallback in
references/contract-format.md
instead of a partial
scan.
-
Show what was found. Report the detected stack, the token and component
counts, and the screen archetypes with their canonical examples, so the
user can sanity-check the extraction before it becomes the rule everyone
is judged against.
-
Ask what only the team knows. Two or three judgment calls that no
scanner can infer: naming rules, forbidden patterns, tone, the exceptions
the team deliberately keeps. Write the answers into the manual section.
-
Check the contract's own hygiene. The extractor warns when a fifth or
more of the tokens come from files that look like scratch or generated
output. Surface that warning: a contract built from throwaway files is a
bad judge, and the fix (delete or exclude, then re-run the sync) belongs in
the handover, not in a later review.
-
Hand over. Fill
references/report-templates.md
, recommend committing
the contract, and name the single most useful next command. Stop there.