ux
Skill20 starsChanged 14 days agoMITView on GitHub
Reviews and plans UX for web and React Native (Expo) UIs: walks the user's real path through the code, checks what each control actually does, then goes deep on accessibility (WCAG 2.2) and microcopy. Never recommends a dark pattern. Triggers on "ux review", "ux audit", "check accessibility", "is this accessible", "plan the X flow", "improve copy", "/ux".
In this repository48 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- skills/workflow/autonomous-workflow/CLAUDE.mdCLAUDE.md
- ideateSkill
- interviewSkill
- playwright-trace-analyzerSkill
- profile-optimizerSkill
- rum-trackingSkill
- screencastSkill
- video-analyserSkill
- youtube-transcriptSkill
- create-skillSkill
- docsSkill
- handoffSkill
- optimize-claude-mdSkill
- persistent-memorySkill
- attach-mediaSkill
- ci-auto-fixSkill
- create-prSkill
- github-actions-authorSkill
- resolve-conflictsSkill
- animations-nativeSkill
- animationsSkill
- behavioral-designSkill
- chartingSkill
- storybookSkill
- visual-designSkill
- ai-engineeringSkill
- confidenceSkill
- criticalSkill
- impact-mapSkill
- jev-assertSkill
- measurableSkill
- optimize-approachSkill
- polishSkill
- pr-reviewSkill
- review-loopSkill
- tddSkill
- verify-behaviorSkill
- aw-verifySkill
- e2e-testing-mobileSkill
- e2e-testingSkill
- telemetry-verifySkill
- ui-verifySkill
- autonomous-workflowSkill
- aw-create-planSkill
- aw-create-walkthroughSkill
- fix-bugSkill
- implement-suggestionSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 5 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Read every target file completely before reporting on it.
- Distinctive: line 37
Read the target files, then the handlers, hooks, stores, routes, and API calls they reach — Pass 1 depends on them.
- Very specific: line 42
Follow rules/user-path.md (why the path comes first: references/path-first.md):
- Distinctive: line 48
Check the activation / next-step path: can the user actually do what the page tells them to do next?
- Very specific: line 53
Follow rules/accessibility.md on every interactive element Pass 1 touched:
- Very specific: line 74
Every claimed behaviour cites the file:line that proves it.
- Very specific: line 75
When the code cannot prove it statically, label the finding unverified and say what would confirm it.
- Very specific: line 85
Put a severity label (Critical / High / Medium / Low) on each finding.
- Very specific: line 99
Never recommend a dark pattern.
- Distinctive: line 100
Never assert behaviour you did not read in the code.
- Distinctive: line 101
Never apply an iOS rule to Android code or the reverse.
≈ “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
UX
Audit or plan a UI the way a product reviewer does: start from what the user is trying to get done, prove what the code does, then add accessibility depth. Read every target file completely before reporting on it.
Modes
| Request | Mode | Order of work |
"review / audit this page", "ux feedback", /ux (default) | audit | Pass 1 → Pass 2 → Verify → Report |
| "plan the X flow", "design the onboarding", "how should X work" | plan | Flow plan first, then a Pass 1 + Pass 2 audit of any existing code the flow touches |
| "check accessibility", "is this accessible", "check contrast" | a11y | Pass 1 steps 1–2 only (job + task), then Pass 2 in full |
| "improve copy", "review microcopy" | copy | rules/ux-writing.md on every user-facing string, ordered by where it sits on the user's path |
| Consent, cancellation, paywall, sign-up, permission prompt, AI chat — in any mode | dark-patterns | Always also apply rules/dark-patterns.md; any hit is Critical |
Step 0 — Scope
- Resolve the target: the user's named files, else the changed UI files (
git diff --name-only <base>...HEAD), else the current file. - Detect the platform: web (
<div>, CSS, Tailwind), React Native (View,Pressable,expo-router), or both. Ask when ambiguous. - Read the target files, then the handlers, hooks, stores, routes, and API calls they reach — Pass 1 depends on them.
Pass 1 — The user's path (first, always)
Outcome-changing findings (a broken flow, a control that does the wrong thing, a dead end) come from this pass, not from the checklist.
Follow rules/user-path.md (why the path comes first: references/path-first.md):
- Name the page's job and the primary user task in one sentence each.
- Walk the task end to end in the code, from entry to the next step after success.
- For each control on the path, read its handler and state changes, and compare what it does with what the UI promises.
- Cover empty, loading, stale, error, and first-run states.
- Check the activation / next-step path: can the user actually do what the page tells them to do next?
- Note what already works — the report keeps it.
Pass 2 — Accessibility and interaction depth
Follow rules/accessibility.md on every interactive element Pass 1 touched:
- Contrast computed from the actual tokens and resolved colors, in every theme.
- Focus management on open, close, delete, and route change.
- Live regions: what is announced, how often, and whether it floods.
- ARIA roles and patterns, keyboard paths, touch targets, reduced motion.
Load the extra rule files only when the code contains the trigger:
| Code contains | Load |
| Hard-coded colors, theme tokens, dark mode, type sizes | rules/visual-design.md |
| User-facing strings | rules/ux-writing.md |
| Consent, subscriptions, cancellation, checkout, sign-up, permissions, AI surfaces | rules/dark-patterns.md |
| Charts or dashboards | Skill("charting") for chart choice; keep contrast, labels, and targets here |
| Style direction, brand, "make it less generic" | Skill("visual-design"); merge its output with this report |
A missing companion skill never blocks; log <name> — skipped (not installed) and continue.
Verify before reporting
Every claimed behaviour cites the file:line that proves it.
When the code cannot prove it statically, label the finding unverified and say what would confirm it.
Details and examples: rules/verify-before-reporting.md.
For a Critical or High finding about motion, timing, focus order, or hover-revealed content, Skill("screencast") may capture evidence (a recording.json whose id is the finding's file-line); append its .mp4 path as a Recording: line.
Report
Use templates/review-report.md.
- Order findings by impact on the primary task — a broken step outranks a contrast miss.
- Put a severity label (
Critical/High/Medium/Low) on each finding; severity is a label, not the document's section structure. - Give every finding
file:line, what the user experiences, and a concrete fix (code when the fix is code). - Include What works (keep), a Plan (first three moves), and How we'll know it worked (one measurable signal per top item).
- Report at most ten findings; merge duplicates and drop nitpicks before cutting a real issue.
| Severity | Criteria |
| Critical | The user cannot finish the task, loses data, is misled, or is locked out (keyboard / screen reader); any dark pattern |
| High | The task finishes but with a wrong result, confusion, or an AA failure on the path |
| Medium | Friction or an AA failure off the main path |
| Low | Polish |
Hard rules
- Never recommend a dark pattern; if asked to add one, refuse, name the harm, and give the honest alternative (
rules/dark-patterns.md). - Never assert behaviour you did not read in the code.
- Never apply an iOS rule to Android code or the reverse.
- Match the bar to the context: a prototype gets the path and blockers, a production surface gets AA in full.
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.

