design-systems:review
Audit UI code for design system compliance and AI slop markers. Triggers on: "review design system", "check design compliance", "audit UI code", "design system review", "check for AI slop", "design review", or /design-systems:review. Scans CSS, SCSS, JSX, TSX, Vue, and Svelte files against DESIGN.md rules and the AI Slop Instant Giveaways checklist.
What this skill does
# Review Design System Compliance
Scan the project's UI code and produce a compliance report covering
design system adherence and AI slop detection.
## DESIGN.md Discovery
Find DESIGN.md using this search order:
1. Check CLAUDE.md in cwd for a reference to DESIGN.md
2. Look for DESIGN.md in cwd
3. Search upward from cwd
4. Search common locations: project root, `src/`, `packages/*/`
5. If not found, tell the user: "No DESIGN.md found. Run `/design-systems:create` first."
## Input
Optional argument: path to specific files or directory to review.
Default: scan all UI code in the project.
## Review Flow
### Step 1: Parse Enforceable Rules
Extract from DESIGN.md:
| Source | What to Extract | Use |
|--------|----------------|-----|
| Palette (Section 2) | All hex values with token names | Detect hardcoded colors outside the set |
| Type Scale (Section 3) | Font families, weights | Detect unauthorized fonts/weights |
| Spacing Scale (Section 4) | All spacing values | Detect off-scale spacing |
| Shadow Definitions (Section 5) | Exact CSS shadow values | Detect non-token shadows |
| Components (Section 6) | Border-radius values | Detect non-token radii |
| Core Prohibitions (Section 1) | Each prohibition as a rule | Custom check per prohibition |
### Step 2: Determine Scan Scope
Target file types: `*.css`, `*.scss`, `*.jsx`, `*.tsx`, `*.vue`, `*.svelte`
Exclude patterns:
- `node_modules/**`
- `dist/**`, `build/**`, `.next/**`, `out/**`
- `vendor/**`
- `*.min.css`, `*.min.js`
Use Glob to find files: `**/*.{css,scss,jsx,tsx,vue,svelte}`
If the user provided a specific path, scope to that path only.
### Step 3: Design System Compliance Audit
For each DESIGN.md section, scan the codebase:
**Colors (Section 2):**
- Grep for hex patterns: `#[0-9a-fA-F]{3,8}`
- Also grep for `rgb(`, `rgba(`, `hsl(`, `hsla(` color declarations
- Cross-reference each found value against the DESIGN.md palette
- Flag any color not in the token set
- Severity: CRITICAL if the color is explicitly banned (e.g., pure #000000 when prohibited), MODERATE otherwise
**Typography (Section 3):**
- Grep for `font-family` declarations in CSS/SCSS
- Grep for `fontFamily` in JSX/TSX (inline styles, styled-components)
- Cross-reference against the DESIGN.md type scale font families
- Flag any font not in the allowed list
- Also grep for `font-weight` values and check against allowed weights
- Severity: CRITICAL if a banned font (Inter, Roboto, etc.), MODERATE if just off-system
**Spacing (Section 4):**
- Grep for `margin`, `padding`, `gap` with explicit values (not `auto` or `0`)
- Cross-reference values against the DESIGN.md spacing scale
- Flag values not derivable from the scale
- Severity: MODERATE (spacing drift is common and usually non-critical)
**Shadows (Section 5):**
- Grep for `box-shadow` declarations
- Compare each found shadow against the DESIGN.md shadow tokens
- Flag non-matching shadows
- Severity: MODERATE, unless it matches the generic AI shadow (`0 4px 6px rgba(0,0,0,0.1)`) which is CRITICAL
**Radius (Section 6):**
- Grep for `border-radius` values
- Cross-reference against DESIGN.md-defined radius tokens
- Flag non-token values
- Severity: MINOR
**Core Prohibitions (Section 1):**
- For each prohibition, construct a check:
- "No 1px borders" → Grep for `border.*1px solid` or `border-width: 1px`
- "No centered body text" → Grep for `text-align: center` in body contexts
- "No pure #000000" → Grep for `#000000` or `#000` exact matches
- Other prohibitions: use judgment to construct appropriate grep patterns
- Flag every match
- Severity: CRITICAL (prohibitions are absolute)
### Step 4: AI Slop Detection
Independent of DESIGN.md, check for Instant Giveaways. Read the full
checklist from `${CLAUDE_PLUGIN_ROOT}/skills/create/references/anti-slop.md`.
Key patterns to grep for:
| Pattern | Grep Target | Severity |
|---------|------------|----------|
| Purple/indigo gradients | `#667eea`, `#764ba2`, `bg-indigo`, `from-indigo`, `to-purple` | WARNING |
| Banned default fonts | `font-family.*Inter[^-]`, `font-family.*Roboto`, `font-family.*"Open Sans"`, `font-family.*Lato`, `font-family.*Arial` | WARNING |
| Gradient text | `-webkit-background-clip: text`, `background-clip: text` | WARNING |
| Generic shadow | `box-shadow.*0.*4px.*6px.*rgba\(0.*0.*0.*0\.1\)` | WARNING |
| Glassmorphism combo | `backdrop-filter.*blur` near `rgba` background near `rgba` border | WARNING |
| Generic card shadow combo | `border-radius.*8px` or `border-radius.*12px` near `box-shadow.*rgba\(0.*0.*0.*0\.1\)` | WARNING |
| Left border accent | `border-left.*4px solid var\(--` | WARNING |
Note: "Three-column icon grid" and "nested cards" are structural patterns
that can't be reliably grep-detected. Use judgment when reading JSX/TSX
components — flag if you notice these patterns during the scan.
### Step 5: Generate Report
Output this report format to the terminal:
```
## Design System Review: [Project/Directory Name]
### Summary
- Compliance: X/7 sections passing
- Violations: N found (C critical, M moderate, I minor)
- AI Slop Markers: N detected
### Section Results
#### Colors [PASS/FAIL]
[List violations or "No violations found."]
#### Typography [PASS/FAIL]
[List violations or "No violations found."]
#### Spacing [PASS/FAIL]
[List violations or "No violations found."]
#### Shadows [PASS/FAIL]
[List violations or "No violations found."]
#### Radius [PASS/FAIL]
[List violations or "No violations found."]
#### Components [PASS/FAIL]
[List violations or "No violations found."]
#### Prohibitions [PASS/FAIL]
[List violations or "No violations found."]
### AI Slop Detection
[List warnings or "No AI slop markers detected."]
### Prohibition Violations
[List critical violations or "All Core Prohibitions respected."]
### Drift Analysis
[If multiple violations cluster in one area, note the pattern.
Example: "Shadow values are the main area of non-compliance —
6 of 8 violations are shadow-related. Consider updating shadow
tokens or refactoring these components."]
```
**Violation format:**
```
- [SEVERITY] path/to/file.ext:LINE — Description of violation
```
**Severity levels:**
- **CRITICAL**: Violates a Core Prohibition or uses a banned anti-slop pattern
- **MODERATE**: Uses a value outside the token set but not explicitly prohibited
- **MINOR**: Style inconsistency (e.g., hardcoded value matching a defined token)
- **WARNING**: AI slop marker detected (not a design system violation per se)
A section PASSES if it has zero CRITICAL and zero MODERATE violations.
MINOR violations alone do not cause a section to fail.
## Context
This is the review/audit skill of the design-systems plugin. It checks code against DESIGN.md AND the AI slop reference. The anti-slop reference is at `${CLAUDE_PLUGIN_ROOT}/skills/create/references/anti-slop.md`.
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.