Skip to main content

AI Design Slop Index audit engine, schema, CLI, and agent adapters.

Project description

ADSI Agent Kit v3.0

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.

What changed in v3

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.

Install locally

cd ADSI-Agent-Kit-v3
python -m pip install -e .

Optional browser capture dependency:

python -m pip install playwright
python -m playwright install chromium

Optional Node browser collector:

cd packages/adsi-browser
npm install
npx adsi-browser-collector --url http://localhost:3000/admin --out artifacts/adsi/admin

Antigravity usage

Install into your workspace:

adsi init /path/to/repo --platform antigravity

Then 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

CLI usage

Scan code or HTML

adsi scan ./src --product "My Product" --screen "Admin Dashboard" \
  --output reports/adsi-audit.json \
  --report reports/adsi-audit.md \
  --sarif reports/adsi-audit.sarif

Capture browser artifacts

adsi collect http://localhost:3000/admin --out artifacts/adsi/admin

Outputs:

artifacts/adsi/admin/screenshot.png
artifacts/adsi/admin/dom.html
artifacts/adsi/admin/computed-styles.json
artifacts/adsi/admin/capture.json

Check contrast

adsi contrast artifacts/adsi/admin/computed-styles.json \
  --output reports/adsi-contrast.json \
  --fail-on 1

Validate audit JSON

adsi validate reports/adsi-audit.json

Score an existing audit

adsi score examples/corelasi_dashboard_audit.v3.json --breakdown

Use as a release gate

adsi gate reports/adsi-audit.json --max-score 20

Exit code is 1 when the gate fails.

Compare before/after

adsi diff reports/before.json reports/after.json \
  --output reports/adsi-diff.json \
  --fail-on-regression \
  --max-score 20

Run MCP-compatible server

adsi mcp

Exposed tools:

  • adsi_scan
  • adsi_score
  • adsi_validate
  • adsi_diff

Install agent adapters

adsi init /path/to/repo --platform all

Platform options:

  • antigravity
  • cursor
  • claude
  • codex
  • openclaw
  • hermes
  • generic
  • all

Recommended production workflow

  1. Run adsi scan as deterministic first-pass audit.
  2. For running apps, run adsi collect and adsi contrast.
  3. Ask your coding agent to fix only top ADSI areas.
  4. Run lint/typecheck/test/build.
  5. Re-run adsi scan.
  6. Use adsi diff to verify improvement.
  7. Use adsi gate --max-score 20 before production claims.

Scoring bands

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

Repository map

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

Limitations

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

Publishing

This repository includes publish-ready workflows and scripts. See docs/PUBLISHING.md.

Recommended release flow:

./scripts/prepublish-check.sh
./scripts/build-release.sh
git tag v3.0.0
git push origin v3.0.0

Use PyPI as the primary distribution for adsi-agent-kit; use npm only for the optional adsi-browser-collector Playwright companion.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adsi_agent_kit-3.0.0.tar.gz (52.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adsi_agent_kit-3.0.0-py3-none-any.whl (34.3 kB view details)

Uploaded Python 3

File details

Details for the file adsi_agent_kit-3.0.0.tar.gz.

File metadata

  • Download URL: adsi_agent_kit-3.0.0.tar.gz
  • Upload date:
  • Size: 52.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for adsi_agent_kit-3.0.0.tar.gz
Algorithm Hash digest
SHA256 9b8c434dafdac3004ebd218d32ad5023b3fba3199d146c2d8b0fb66351946feb
MD5 bb2a10afc2c68cd8dee615b9a4e8db84
BLAKE2b-256 c645331b04df6a6adf9143a60303ff7f87287db60f8149212b0c4671ceae4750

See more details on using hashes here.

File details

Details for the file adsi_agent_kit-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: adsi_agent_kit-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 34.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for adsi_agent_kit-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1df70310053890803310a443afa52ef3cf49f0a912dcc50f9598ca54c4d291a
MD5 6875a145df7c048b348bf74b00709380
BLAKE2b-256 e4dc6e1cb771f1ae950928ad1540f043126ebd47cd3eddc28843df4e9ad8f0ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page