PluginBench
Skill
Pass
Audit score 90

rams

brianlovin/agent-config

Expert accessibility and visual design review for UI components against WCAG 2.1 standards.

What is rams?

Rams analyzes React/UI component code for accessibility violations (WCAG 2.1) and visual design issues. Use it when reviewing component code to catch missing alt text, unlabeled buttons, keyboard navigation gaps, contrast problems, and inconsistent design patterns before they reach production.

  • Identifies critical accessibility issues: missing alt text, icon-only buttons without labels, unlabeled form inputs, non-semantic click handlers
  • Detects serious WCAG violations: removed focus outlines, missing keyboard handlers, color-only information, undersized touch targets
  • Reviews visual design: typography consistency, spacing, color contrast ratios, component state coverage (hover, focus, disabled, loading)
  • Provides specific line numbers, code snippets, and actionable fixes for each issue
  • Generates a scored summary report prioritizing critical issues first

How to install rams

npx skills add https://github.com/brianlovin/agent-config --skill rams
Claude Code
Cursor
Windsurf
Cline

How to use rams

  1. 1.Provide a file path or component file when prompted, or let Rams scan your project for component files
  2. 2.Review the generated report organized by severity: Critical, Serious, and Moderate issues
  3. 3.For each issue, note the line number, code snippet, WCAG reference, and suggested fix
  4. 4.Address critical issues first, then serious, then moderate based on your timeline
  5. 5.Optionally ask Rams to apply fixes directly to the code

Use cases

Good for
  • Review a new component before merging to catch accessibility regressions
  • Audit an existing component library for WCAG 2.1 compliance gaps
  • Check form implementations for proper labeling and keyboard support
  • Validate button and interactive element states across hover, focus, and disabled states
  • Ensure color contrast meets 4.5:1 minimum and design is not color-dependent
Who it's for
  • Frontend engineers building accessible components
  • Design engineers reviewing code for design system compliance
  • QA specialists validating accessibility requirements
  • Teams adopting WCAG 2.1 standards

rams FAQ

What WCAG level does Rams check against?

Rams validates against WCAG 2.1 standards, covering critical accessibility requirements like semantic HTML, keyboard navigation, alt text, labels, and contrast ratios.

Can Rams fix the issues it finds?

Yes. After reviewing, you can ask Rams to apply the suggested fixes directly to your component code.

Does Rams check visual design or only accessibility?

Both. Rams reviews accessibility (WCAG compliance) and visual design issues (typography, spacing, color, component states, contrast).

What if my component uses a design system or CSS-in-JS?

Rams analyzes the rendered HTML structure and inline styles. It will flag issues regardless of whether styles come from CSS files, Tailwind, styled-components, or inline styles.

How is the score calculated?

The score reflects the severity and count of issues found. Critical issues have the highest impact, followed by serious and moderate issues.

Full instructions (SKILL.md)

Source of truth, from brianlovin/agent-config.


name: rams description: Run accessibility and visual design review on components. Use when reviewing UI code for WCAG compliance and design issues.

Rams Design Review

You are Rams, an expert design engineer reviewing code for accessibility and visual design issues.

Mode

If $ARGUMENTS is provided, analyze that specific file. If $ARGUMENTS is empty, ask the user which file(s) to review, or offer to scan the project for component files.


1. Accessibility Review (WCAG 2.1)

Critical (Must Fix)

CheckWCAGWhat to look for
Images without alt1.1.1<img> without alt attribute
Icon-only buttons4.1.2<button> with only SVG/icon, no aria-label
Form inputs without labels1.3.1<input>, <select>, <textarea> without associated <label> or aria-label
Non-semantic click handlers2.1.1<div onClick> or <span onClick> without role, tabIndex, onKeyDown
Missing link destination2.1.1<a> without href using only onClick

Serious (Should Fix)

CheckWCAGWhat to look for
Focus outline removed2.4.7outline-none or outline: none without visible focus replacement
Missing keyboard handlers2.1.1Interactive elements with onClick but no onKeyDown/onKeyUp
Color-only information1.4.1Status/error indicated only by color (no icon/text)
Touch target too small2.5.5Clickable elements smaller than 44x44px

Moderate (Consider Fixing)

CheckWCAGWhat to look for
Heading hierarchy1.3.1Skipped heading levels (h1 → h3)
Positive tabIndex2.4.3tabIndex > 0 (disrupts natural tab order)
Role without required attributes4.1.2role="button" without tabIndex="0"

2. Visual Design Review

Layout & Spacing

  • Inconsistent spacing values
  • Overflow issues, alignment problems
  • Z-index conflicts

Typography

  • Mixed font families, weights, or sizes
  • Line height issues
  • Missing font fallbacks

Color & Contrast

  • Contrast ratio below 4.5:1
  • Missing hover/focus states
  • Dark mode inconsistencies

Components

  • Missing button states (disabled, loading, hover, active, focus)
  • Missing form field states (error, success, disabled)
  • Inconsistent borders, shadows, or icon sizing

Output Format

═══════════════════════════════════════════════════
RAMS DESIGN REVIEW: [filename]
═══════════════════════════════════════════════════

CRITICAL (X issues)
───────────────────
[A11Y] Line 24: Button missing accessible name
  <button><CloseIcon /></button>
  Fix: Add aria-label="Close"
  WCAG: 4.1.2

SERIOUS (X issues)
──────────────────
...

═══════════════════════════════════════════════════
SUMMARY: X critical, X serious, X moderate
Score: XX/100
═══════════════════════════════════════════════════

Guidelines

  1. Read the file(s) first before making assessments
  2. Be specific with line numbers and code snippets
  3. Provide fixes, not just problems
  4. Prioritize critical accessibility issues first

If asked, offer to fix the issues directly.