From design-system-ops
Checks alignment between a design specification and code implementation for a single component or screen, producing a structured discrepancy report by dimension and severity.
npx claudepluginhub murphytrueman/design-system-opsThis skill uses the workspace's default tool permissions.
A skill for reviewing the alignment between a design specification and its code implementation, producing a structured discrepancy report catalogued by dimension and severity.
Identifies system-wide drift in design systems: components diverging from specs, local token overrides, forked patterns across teams. Classifies severity, origins, and generates response recommendations.
Detects design systems in code, identifies token drifts with paired evidence blocks showing definitions vs conflicting usages. Use for auditing UI consistency.
Conducts 7-phase frontend design review with WCAG 2.1 AA accessibility checks, responsive testing, visual polish for PR reviews, UI audits, layout issues.
Share bugs, ideas, or general feedback.
A skill for reviewing the alignment between a design specification and its code implementation, producing a structured discrepancy report catalogued by dimension and severity.
Design-to-code alignment reviews catch two different categories of problem. The first is implementation error — the developer built something different from what was specified, either by mistake or because the specification was unclear. The second is specification ambiguity — the design did not define behaviour completely enough for the developer to implement it correctly, and the developer made a reasonable guess that turned out to be wrong.
Both categories matter, but they require different responses. An implementation error needs to be corrected in the code. A specification ambiguity needs to be corrected in the design and documented, so the same guess does not get made again.
This skill produces a report that distinguishes between the two.
Before producing output, check for a .ds-ops-config.yml file in the project root. If present, load:
severity.* — overrides for discrepancy severity, especially specification_gap and missing_interaction_statesystem.framework and system.styling — pre-selects framework-specific checking guidanceintegrations.figma — if enabled, auto-pull the design specification (see below)integrations.chromatic — if enabled, use visual regression data as a supplementary signalgates.design_to_code — if running as part of component-to-release, determines which findings block releaseFigma MCP (integrations.figma.enabled: true):
integrations.figma.file_key via Figma MCPChromatic (integrations.chromatic.enabled: true):
GitHub (integrations.github.enabled: true):
If an integration fails, log it and proceed with manual input.
Ask for or confirm (skip questions already answered by auto-pull):
If both design and implementation are available directly, proceed to the check. If only one is available, note in the report which side of the comparison is inferred rather than directly inspected.
Before running the check, verify the design specification is complete enough to check against. Incomplete specs are the root cause of Type II (specification gap) findings — catching them upfront reduces noise in the report.
Design specification completeness checklist:
If the specification fails this checklist: Note the missing items and proceed with the check. Missing specification items will appear as Type II findings in the report — but flagging them upfront sets the right expectation: these are design gaps, not implementation errors.
Share this checklist with designers as a pre-handoff tool. A specification that passes this checklist before handoff will produce a cleaner design-to-code check.
Review alignment across five dimensions. For each dimension, the goal is not to produce a list of every difference — minor sub-pixel differences in a rounding pass are not discrepancies worth reporting. The goal is to identify differences that affect visual consistency, user experience, or system integrity.
Check:
Flag raw pixel values where spacing tokens should be used.
Framework-specific notes for spacing checks:
<style> blocks for raw px values. Token references may be SCSS variables ($space-4) or CSS custom properties (var(--space-4)).style attributes with pixel values are always violations.css prop values. Token references look like mapSpacing(1) or theme.spacing.md. String literals like '16px' or '1rem' are violations.Check:
Flag any raw hex values, rgba values, or other hardcoded colour references where tokens should be used.
Check:
Check:
Interactive states are the most commonly under-implemented dimension. Flag any state that was designed but is not present in the implementation.
Check:
For each discrepancy found, classify it:
Type I: Implementation error The specification was clear. The implementation does not match it. Correct in code.
Type II: Specification gap The design did not define this case. The implementation made a reasonable assumption. Update the design specification to document the intended behaviour, then align the implementation.
Type III: System inconsistency The design itself diverges from the design system (uses a non-system colour, a spacing value not on the scale, etc.). The issue is in the design file, not the implementation.
Type IV: Accepted divergence A known, intentional difference — typically a technical constraint the design did not account for. Should be documented if it is not already.
Beyond visual and behavioural alignment, validate the component's API contract:
Prop contract compliance:
Type safety:
Consumer contract signals:
Classify API discrepancies using the same Type I–IV system. API discrepancies are typically High severity because they affect every consumer, not just a single instance.
If the component has an AI-optimised description (six-section format), validate it against the implementation:
Flag any discrepancy between the AI description and the implementation as a separate finding category: AI metadata drift. This is distinct from design-to-code drift — it means the metadata that AI tools consume is inaccurate, which produces incorrect AI-generated output.
Open with a headline sentence that tells the reader the overall state and where to focus.
Component/screen: [name] Design reference: [Figma link or description] Implementation reference: [link or description] Review date: [date] Review round: [first pass / follow-up]
One paragraph. What is the overall alignment? Are discrepancies concentrated in a particular dimension? Is this a clean build with minor corrections or does it need significant rework?
| ID | Dimension | Type | Severity | Element | Design spec | Implementation | Action |
|---|---|---|---|---|---|---|---|
| DC-01 | [dimension] | [I–IV] | 🔴 Critical / 🟠 High / 🟡 Medium / ⚪ Low | [specific element] | [what the design says] | [what was implemented] | [who does what] |
Severity guidance:
Brief status for each dimension: clean / minor corrections / significant corrections. Helps the team understand where the work is concentrated.
List any Type II findings separately. These require action from the designer, not the developer, and should be tracked as design tasks rather than development bugs.