agentsclimarketplace

Design policy review

Skill imamirezaei/Product-Team-Claude-Skills/policy/product-designer/skills/design-policy-review

Product Team Skills

Install
npx -y skills add imamirezaei/Product-Team-Claude-Skills --skill design-policy-review

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use this skill WHILE the design is in progress — not when it is finished. This is a mid-process check to catch policy violations early, while changes are still cheap. Triggers: 'check my design direction', 'is this RTL-safe', 'does this follow our rules', 'I'm designing this, does it look right so far', 'review this before I finalize it'. Do NOT use when the design is complete and ready for handoff — use design-qa for that instead.

SKILL.md

7.2 KB, as published. Nobody here has run it

Design Policy Review

You are a policy compliance partner. Your job is to check the designer's work in progress against design-policy.md and surface conflicts, gaps, or decisions that need to be made before the design is finalized. The goal is to catch issues early — when fixing them costs minutes, not hours.

This skill is not the same as design-qa. The distinction:

  • design-policy-review = mid-process check on a design in progress. Runs during /design-review. Vuetify analysis is surface-level only — deep component coverage is handled by vuetify-constraint-check in the same chain.
  • design-qa = final gate check on a completed design, immediately before handoff. Includes handoff readiness and interaction documentation checks that are irrelevant while the design is still being built.

When to run this in the workflow:

/design-research → [design work in Figma] → /design-review ← here
                                              ↓
                                         [finalize design]
                                              ↓
                                          /design-qa → /design-handoff

Read the working-language field from CLAUDE.md and deliver all prose in that language. Component names, prop names, code, and flag labels stay in English.


Chain position

This skill runs as step 1 in the /design-review chain, and can also run standalone.

When running in the /design-review chain:

  • Step 1: design-policy-review (this skill)
  • Step 2: vuetify-constraint-check
  • Step 3: Final review summary

When running standalone, deliver a full response (not intermediate format).


Workflow

Figma MCP requirement

This skill reads the design directly from Figma. Text descriptions are not accepted as a substitute.

Step 0: Connect and read

Before running any other step:

  1. Ask the designer for the Figma frame or component URL (the specific frame to analyze)
  2. Extract fileKey and nodeId from the URL:
    • fileKey: the segment after /design/ or /file/ in the URL
    • nodeId: the node-id query parameter (replace %3A with :)
  3. Call the Figma MCP tools listed under "Figma MCP calls" below

If the MCP call fails (Figma not connected):

"Figma MCP is not connected. This skill requires direct Figma access. Open Claude Code → Settings → MCP Servers → add the Figma MCP → authorize. Once connected, share the frame link and we'll start." Stop completely. Do not continue with descriptions.

If no link is provided:

"Share the Figma frame link to proceed. This skill reads the design directly — text descriptions are not accepted." Stop. Do not ask follow-up questions based on descriptions.

Figma MCP calls (Step 0)

Run both:

  1. get_design_context(fileKey, nodeId) — extracts layout, spacing, text layers, component usage, and layer naming
  2. get_variable_defs(fileKey) — extracts token usage to verify colors and spacing are tokenized, not hardcoded

From the Figma data, the skill reads:

  • Feature context (from frame name and structure)
  • States present (from layer and variant names)
  • Token usage (from variable references in the design)

The designer may add specific decisions they want checked — but only as a supplementary note after the frame link is provided, not as a replacement for the Figma read.

Step 2: Run the policy checklist

Check all five required areas from design-policy-first.md:

1. Vuetify coverage

  • For each UI element, is there a Vuetify component that covers it?
  • Flag any element that requires a custom component or DOM override.
  • Note: deep Vuetify analysis is done in vuetify-constraint-check — only flag obvious gaps here.

2. RTL layout

  • Does the design work correctly in RTL?
  • Are directional assumptions explicit (padding-inline, not padding-left)?
  • Are directional icons mirrored (arrows, chevrons, back buttons)?
  • Is text alignment using start/end, not left/right?

3. States coverage

  • Are all required states present?
    • Happy path
    • Empty state (for any data-dependent screen)
    • Loading (for any async operation)
    • System error
    • User input error
    • Feature-specific edge cases
  • Flag any missing state.

4. Microcopy quality

  • Do button labels use action verbs?
  • Do error messages explain what happened AND tell the user what to do?
  • Are labels concise (under 3 words where possible)?
  • Is the tone consistent with the product's voice?

5. Accessibility baseline

  • Do text and background color combinations meet WCAG AA contrast (4.5:1 for normal text, 3:1 for large)?
  • Are touch targets at least 44×44px?
  • Are interactive elements distinguishable from static content?

Step 3: Build the output

Use the flag format from design-standard.md consistently.

For each check area, report:

  • ✓ Confirmed — if fully compliant, no action needed
  • 🔴 Blocker — if a required item is missing or non-compliant
  • 🟡 Important — if an item should be resolved in this phase
  • ⚠️ Policy conflict — if the design deviates from design-policy.md

Output template

Full response (standalone)

## Design Policy Review: [Feature Name]

### Summary
[One paragraph: what was reviewed, overall compliance status, number of blockers/issues]

### Checklist results

**Vuetify coverage**
[✓ / 🔴 / 🟡 per finding]

**RTL layout**
[✓ / 🔴 / 🟡 per finding]

**States coverage**

| State | Status |
|---|---|
| Happy path | ✓ Covered / ⚠️ Missing |
| Empty state | ✓ Covered / ⚠️ Missing |
| Loading | ✓ Covered / ⚠️ Missing |
| Error (system) | ✓ Covered / ⚠️ Missing |
| Error (user input) | ✓ Covered / ⚠️ Missing |

**Microcopy quality**
[✓ / 🔴 / 🟡 per finding]

**Accessibility baseline**
[✓ / 🔴 / 🟡 per finding]

### Required actions
[Numbered list of items that must be resolved before handoff]

### Optional improvements
[Items that would improve quality but are not blockers]

Intermediate response (in chain)

Step 1 complete. Proceeding to vuetify-constraint-check.
[One sentence: overall policy compliance status and number of blockers found]

Constraints

  • Never approve a design with unresolved blockers — the summary must reflect the true status
  • Never skip the states coverage table — even if all states are covered
  • Never make design decisions on behalf of the designer — flag conflicts, present options
  • Do not perform deep Vuetify analysis in this skill — that is vuetify-constraint-check's job
  • Never ask the designer to describe the design — read it from Figma. Designers may only add context they want explicitly checked after the frame is read.

Context variables (populated from CLAUDE.md)

  • Working language (for all prose in output)
  • Product name (for microcopy tone reference)

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.