ui-ux-suite
AGENTS.md8 starsChanged 7 months agoMITView on GitHub
Guidance for AI coding agents working with or invoking this repo. Companion to README.md (which is for humans). This file follows the AGENTS.md convention: standard Markdown, no required fields. ui-ux-suite is a zero-dependency design linter. It audits a project's CSS, JSX, HTML, and Tailwind config and returns findings that are located (file:line + selector), measured (the real wrong value), and fixed (a concrete before → after), across 12 design dimensions grounded in WCAG 2.2, APCA contrast, and the Laws of…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,774 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository16 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- a11y-auditSkill
- color-auditSkill
- component-auditSkill
- design-auditSkill
- design-checklistSkill
- design-compareSkill
- design-scoreSkill
- design-tokensSkill
- flow-auditSkill
- layout-auditSkill
- refactor-planSkill
- style-directionSkill
- theme-builderSkill
- type-auditSkill
The file
We split this AGENTS.md into the rules it gives an agent
5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
audit-then-suggest: every run is read-only and never edits the audited project.
- Very specific: line 34
When insufficientEvidence is true, overall/grade are null and there are no findings.
- Very specific: line 103
Every emitted finding carries evidence.file, evidence.line, and a fix.
- Distinctive: line 104
No new runtime dependencies.
- Very specific: line 109
Commit under the maintainer's git identity.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md 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
AGENTS.md: ui-ux-suite
Guidance for AI coding agents working with or invoking this repo. Companion to README.md (which is for humans). This file follows the AGENTS.md convention: standard Markdown, no required fields.
What this tool is
ui-ux-suite is a zero-dependency design linter. It audits a project's CSS, JSX, HTML, and
Tailwind config and returns findings that are located (file:line + selector),
measured (the real wrong value), and fixed (a concrete before → after), across
12 design dimensions grounded in WCAG 2.2, APCA contrast, and the Laws of UX. It is
audit-then-suggest: every run is read-only and never edits the audited project.
How an AI agent should invoke it
Preferred: the MCP tool uiux_audit_run
The MCP server runs over stdio with zero dependencies. Start it with npx ui-ux-suite --mcp,
then call the uiux_audit_run tool. Arguments:
projectPath(string, defaultcwd): the directory to audit.dimensions(string[], optional): scope to specific dimensions; omit for all 12.depth("quick"|"deep", default"quick"):"deep"needs abaseUrland the optional peer deps; otherwise use"quick"(static, no browser).baseUrl(string, optional): running app URL for deep mode.format("full"|"summary"|"json", default"full").
The result includes scoreCard.overall, scoreCard.grade, scoreCard.dimensions[], and
scoreCard.topFindings[]. Each finding carries
evidence: { file, line, col, selector, measured, threshold }, a fix, before/after,
and a citation (wcag: [] success criteria and/or laws: [] slugs).
When insufficientEvidence is true, overall/grade are null and there are no
findings; report that the project lacked enough evidence rather than inventing a score.
Other useful tools: uiux_scan_project (stack detection), uiux_check_contrast (WCAG +
APCA for a color pair), uiux_extract_colors / uiux_extract_typography /
uiux_extract_spacing (values with file/line/selector), uiux_score_dimension,
uiux_score_overall, uiux_laws_query, uiux_knowledge_query.
Alternative: the CLI
npx ui-ux-suite . # human-readable report
npx ui-ux-suite . --json | jq # machine-readable JSON (banner → stderr)
npx ui-ux-suite . --html report.html # standalone HTML report
npx ui-ux-suite . --sarif ui-ux.sarif # SARIF 2.1.0 for GitHub code scanning
npx ui-ux-suite . --fail-under 7 # CI gate on the overall score
npx ui-ux-suite . --write-baseline .uiux-baseline.json
npx ui-ux-suite . --baseline .uiux-baseline.json --fail-on-regression
npx ui-ux-suite . --tags dimension:accessibility # also --exclude-tags, --list-tagsExit codes: 0 ok · 1 audit error, a tripped gate, or a failed SARIF write · 2 path not
found · 3 insufficient evidence. The --json stream is a clean document on stdout (the banner
is written to stderr), so it is safe to pipe into jq or any parser.
Tags come only from what a finding already cites: dimension:, severity:, wcag: plus a
conformance level, law:, nielsen:. Filtering changes what is reported, never the score, and
the baseline comparison always reads the unfiltered audit. Full reference in docs/cli.md.
Self-contained facts an agent can rely on
- Read-only over source. The audit creates, edits, and deletes no source file under the
audited path. The only files it writes are the ones the caller names: the report from
--htmlor--sarif, and the baseline from--write-baseline. Applying a fix is a separate, explicit action the user must request. - Zero runtime dependencies. Node built-ins only.
playwright-coreand@axe-core/playwrightare optional peer deps for deep mode only. - Citations are pinned. UX-law slugs come from an allow-list verified against
lawsofux.com; accessibility findings cite a WCAG success criterion (e.g.
1.4.3,1.4.11,2.5.8,2.4.7,1.1.1,3.3.2), not a UX law. A wrong citation is treated as worse than none. - Frameworks. React, Next.js, Vue, Svelte, Angular, vanilla. Styling: Tailwind v3/v4, CSS Modules, SCSS, styled-components, Emotion, vanilla-extract, plain CSS. Auto-detected.
Project layout
bin/ui-ux-suite.js CLI entry (audit + --mcp + report flags + gate flags + tag filters)
lib/ Engine: runner, scoring, located-audit, color/type/spacing engines,
static-contrast, locator, schema, mcp-server
skills/ 14 Claude Code skills (each skills/<name>/SKILL.md)
agents/ 12 specialist agents
commands/ 5 top-level slash commands
knowledge/ 21 evidence-backed knowledge docs
templates/ report templates
test/ node:test suites + test/fixtures/planted-ux-problems (regression gate)Build, test, validate
npm test # full suite (node:test, zero deps)
node --test test/<file>.test.js # run a single test file
claude plugin validate . # validate the Claude Code plugin + marketplace (exit 0 = ok)Done criteria for a change
- Tests pass (
npm test), including the 12-problem fixture regression gate. - Every emitted finding carries
evidence.file,evidence.line, and afix. - No new runtime dependencies.
claude plugin validate .exits 0.
Commit conventions
Commit under the maintainer's git identity. Conventional, imperative subject lines
(fix:, feat:, docs:). No em-dashes in user-facing copy.
Ecosystem
Part of the 10x Claude Code plugin marketplace. Install all marketplace tools with:
claude plugin marketplace add Aboudjem/10xDoes 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.

