ADSI = AI Design Slop Index. ADSI is a production-oriented product/UI quality gate for detecting observable design slop symptoms: unrealistic data, passive workflows, inconsistent status logic, weak accessibility, generic visual clichés, layout brittleness, and missing production states.
ADSI does not infer whether a UI was made by AI. It scores whether the UI behaves like a real product.
ADSI v3 upgrades v2 into a broader production stack:
- Python-first ADSI core.
- Static heuristic scanner.
- Browser collector via Playwright: screenshot, DOM, computed styles.
- Contrast checker from computed styles.
- SARIF reporter for code scanning annotations.
- Before/after ADSI diff.
- MCP-compatible stdio server.
- Antigravity
/adsi [do] [target]workflow. - Agent adapters for Antigravity, Cursor, Claude Code, Codex, Hermes-style multi-agent runners, and OpenClaw.
- Optional Node Playwright companion package.
- Stage-by-stage quality audit log.
- 10 unit tests and example reports.
cd ADSI-Agent-Kit-v3
python -m pip install -e .Optional browser capture dependency:
python -m pip install playwright
python -m playwright install chromiumOptional Node browser collector:
cd packages/adsi-browser
npm install
npx adsi-browser-collector --url http://localhost:3000/admin --out artifacts/adsi/adminInstall into your workspace:
adsi init /path/to/repo --platform antigravityThen in Antigravity, use:
/adsi [do] [target]
Examples:
/adsi scan dashboard admin
/adsi fix dashboard admin
/adsi collect http://localhost:3000/admin
/adsi contrast artifacts/adsi/admin/computed-styles.json
/adsi diff reports/before.json reports/after.json
The Antigravity adapter writes:
.agents/workflows/adsi.md
.agents/skills/adsi.md
.agents/skills/adsi/SKILL.md
AGENTS.md
ANTIGRAVITY.md
adsi scan ./src --product "My Product" --screen "Admin Dashboard" \
--output reports/adsi-audit.json \
--report reports/adsi-audit.md \
--sarif reports/adsi-audit.sarifadsi collect http://localhost:3000/admin --out artifacts/adsi/adminOutputs:
artifacts/adsi/admin/screenshot.png
artifacts/adsi/admin/dom.html
artifacts/adsi/admin/computed-styles.json
artifacts/adsi/admin/capture.json
adsi contrast artifacts/adsi/admin/computed-styles.json \
--output reports/adsi-contrast.json \
--fail-on 1adsi validate reports/adsi-audit.jsonadsi score examples/corelasi_dashboard_audit.v3.json --breakdownadsi gate reports/adsi-audit.json --max-score 20Exit code is 1 when the gate fails.
adsi diff reports/before.json reports/after.json \
--output reports/adsi-diff.json \
--fail-on-regression \
--max-score 20adsi mcpExposed tools:
adsi_scanadsi_scoreadsi_validateadsi_diff
adsi init /path/to/repo --platform allPlatform options:
antigravitycursorclaudecodexopenclawhermesgenericall
- Run
adsi scanas deterministic first-pass audit. - For running apps, run
adsi collectandadsi contrast. - Ask your coding agent to fix only top ADSI areas.
- Run lint/typecheck/test/build.
- Re-run
adsi scan. - Use
adsi diffto verify improvement. - Use
adsi gate --max-score 20before production claims.
| Score | Band | Release decision |
|---|---|---|
| 0-19 | low_slop | pass |
| 20-39 | mild_moderate_slop | warn |
| 40-59 | high_slop | block |
| 60-100 | severe_slop | block |
| Path | Purpose |
|---|---|
adsi/ |
Python package and CLI engine |
schemas/ |
ADSI audit JSON schema |
rubric/ |
ADSI v3 scoring rubric |
rules/ |
Heuristic rule catalog |
adapters/ |
Platform-specific agent instruction files |
packages/adsi-browser/ |
Optional Node/Playwright collector |
docs/V3_ARCHITECTURE_AND_PACKAGE_STRATEGY.md |
Design and package decision |
docs/STAGE_AUDIT_LOG.md |
Stage-by-stage quality audit |
prompts/ |
Audit and repair prompts |
examples/ |
Example inputs and baseline audit |
reports/ |
Example generated reports |
tests/ |
Unit tests |
- Static scan is deterministic but not a substitute for product-context review.
- Browser collection requires Playwright.
- MCP server is a minimal stdio foundation; it intentionally avoids extra SDK dependencies.
- Contrast is computed from captured browser styles, so it is only as accurate as the rendered state you capture.