- Skill ID
- iress/design-system/ui-doctor
- Publisher
- iress
- Repository
- design-system
- Installs
- 0
- Files
- 4
- License
- Apache-2.0
- Requires
- React 18+, TypeScript, @iress-oss/ids-components@beta
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
iress/design-system/ui-doctorInstalls these files- SKILL.md
- references/audit-checklist.md
- references/replacement-tables.md
- references/report-template.md
What this skill tells the agent
Skill: UI Doctor
Audit and review application UI for IDS compliance, accessibility, usability, and cognitive load. This skill helps AI agents perform comprehensive UI reviews covering component usage, accessibility (WCAG), usability heuristics (Nielsen's 10), cognitive load, and progressive disclosure — then produce actionable reports with prioritised recommendations.
When to Use
Activate this skill when the user says things like:
- "Review this page / component / file for accessibility"
- "Check the usability of this UI"
- "Audit this for IDS compliance"
- "This feels like too much cognitive load"
- "Are we following IDS guidelines?"
- "Check for a11y issues"
- "Review this UI"
- "Is this form accessible?"
- "Can you do a UX review?"
Or more generally:
- Reviewing application UI code for IDS compliance
- Validating accessibility (WCAG 2.1 AA)
- Assessing usability and cognitive load
- Evaluating design token usage and consistency
- Generating a UI health report with a compliance score
- Providing recommendations to improve UX, accessibility, and IDS adoption
Audit Modes
Default: Quick UX Review. Use this unless the user specifically asks for accessibility or full compliance. Escalate to a more thorough mode if the quick review reveals significant issues.
Quick UX Review (default)
Use when the user asks for a general UI review, usability check, or "does this look right?"
- Cognitive load & information architecture — Is the UI overwhelming? Are there too many items, options, or actions visible at once?
- Usability heuristics — Evaluate against Nielsen's 10 (see audit checklist § Usability Heuristics)
- Button hierarchy & layout consistency — One primary per section, consistent spacing
- Quick component scan — Are obvious raw HTML elements used where IDS components exist?
Accessibility Review
Use when the user asks about a11y, WCAG, keyboard navigation, or screen reader support.
- Form accessibility — Labels, required indicators, validation messages, id/htmlFor pairing
- Keyboard & focus — Skip links, focus trapping in modals/slideouts, visible focus indicators
- Screen reader — ARIA landmarks, dynamic content announcements, accessible names on interactive elements
- Colour & contrast — WCAG AA contrast ratios, no reliance on colour alone
- Cognitive load — Progressive disclosure, information density (see audit checklist § Cognitive Load)
Full Compliance Audit
Use when the user asks for a complete IDS audit or compliance report.
- Run all checklist sections from the audit checklist
- Validate component usage against replacement tables
- Check design token usage and Provider/CSS setup
- Evaluate patterns (forms, loading, navigation)
- Assess usability and cognitive load
- Generate a full report using the report template
Scoped Audits
If the user asks about a specific file, component, or page, focus the audit on that scope only. Apply the same checklist items but only to the files in question. Do not scan the entire application unless asked.
Example: "Check the accessibility of UserProfileForm.tsx" → run the Accessibility Review mode on that single file.
Audit Scope
Before starting, determine which files to scan.
Files to Scan
- All
.tsx,.jsx,.ts,.jsfiles insrc/(or the application source directory) - CSS/SCSS/styled-component files for hardcoded design values
- Application entry point(s) for Provider and CSS import checks
Important: Always trace the component tree from the actual mount point (e.g. main.tsx, index.tsx) before evaluating Provider & Setup. The entry point may not be a route file — it could be a custom element wrapper, a shadow DOM host, or a separate bootstrap file that renders the router. Do not penalise missing Provider/CSS if a parent entry point already handles it.
Files to Exclude
- Test files (
*.test.tsx,*.spec.tsx,__tests__/) — test mocks may legitimately use raw HTML - Storybook stories (
*.stories.tsx) — may intentionally show raw HTML for comparison - Config files (
*.config.ts,*.config.js) — not UI code - Type definitions (
*.d.ts) — no runtime UI code - Third-party code (
node_modules/, vendored libraries) — outside application control - Build output (
dist/,build/) — generated code
Version-Aware Auditing
IDS is currently on version 6. When auditing:
- Check the installed version —
package.jsonfor@iress-oss/ids-components - v6 — Apply all rules as-is
- v5 — Flag v5-specific patterns as "migration opportunities" (key differences:
IressFormusesrulesprop,react-hook-formis a peer dependency, form state viauseWatch/ref) - Pre-v5 — Flag as requiring major migration; prioritise Provider/CSS setup first
- Always note the version in the audit report header
Audit Process
1. Evaluate UX, Accessibility & Cognitive Load
Start with what users experience — assess the UI's usability, accessibility, and information density before checking component compliance.
a. Usability Heuristics (Nielsen's 10)
Evaluate the application against all 10 heuristics. Each has IDS-specific guidance in the audit checklist § Usability Heuristics. Key areas:
- Visibility of system status — Loading states use
IressLoading(preferred) orIressSkeleton(for custom content placeholder patterns); active states visible on tabs, nav, breadcrumbs - Match between system and real world — Labels use plain language; icons paired with text; status colours follow conventions
- User control and freedom — Modals/slideouts dismissible; destructive actions require confirmation; forms have cancel
- Consistency and standards — All components from IDS; tokens used consistently; same action = same pattern
- Error prevention — Declarative
rulesvalidation; required fields marked; constraints communicated viahint - Recognition rather than recall — Persistent navigation; visible breadcrumbs; labels always visible (not just placeholders)
- Flexibility and efficiency — Keyboard shortcuts; skip links; searchable selects; autocomplete
- Aesthetic and minimalist design — Clear visual hierarchy; consistent spacing; one primary action per section
- Help users recognise/recover from errors — Human-readable validation; inline errors;
IressValidationSummaryfor long forms - Help and documentation — Hint text; tooltips for non-obvious UI; placeholder supplementary to labels
b. Cognitive Load & Information Architecture
Evaluate whether the UI presents too much information or too many choices at once.
- Item count thresholds — Menus/dropdowns with >10 items should use
searchable; long forms (>8 fields) should useIressForm pattern="long"; navigation with >7 top-level items should use grouping - Progressive disclosure — Use
IressExpanderorIressTabSetto hide secondary content until needed; multi-step flows break complex tasks into stages - Information density — Is the screen overwhelming? Use
IressCard/IressPanelto group related content; useIressStackwith adequate spacing - Batch action safety — Bulk operations (select-all + delete) need explicit confirmation via
IressModal; show count of affected items - Focus management after state changes — After modal close, focus returns to trigger; after item deletion, focus moves to next/previous item; after form submission, focus moves to result or error
- Visual hierarchy — Primary content is prominent; secondary content is de-emphasised; use
IressText textStyleto establish hierarchy
c. Accessibility (WCAG 2.1 AA)
Use this skill in a project
Open any RiverX project, search the Skills panel for iress/design-system/ui-doctor, and install it in one click.
