critique-affordance — Claude Code skill: what it does, how to install
Audits rendered screens for interaction signals, state visibility, action discoverability, and primary CTA clarity.
npx skills add Owl-Listener/designer-skills --skill critique-affordance -a claude-codeWhat critique-affordance does
The skill evaluates rendered interfaces across four dimensions: clickability signals, state visibility, CTA clarity, and action discoverability. For each dimension, the agent provides a neutral observation, explains what is broken, suggests a concrete fix, and rates the severity as pass, minor issue, or major issue.
It checks whether touch targets meet the 44×44px minimum on mobile and flags desktop patterns that fail on touch devices, such as contextual actions hidden behind hover states. It also catches suppressed focus rings with outline: none, ghost buttons that lack border contrast, and competing filled CTAs that confuse navigation.
Use this tool strictly for reviewing existing screens; when sizing and positioning targets in new work, use fitts-law instead.
What it helps with
- spot interactive controls disguised as static elements
- flag hover-only actions inaccessible on touch displays
- identify suppressed focus outlines and missing control states
- resolve visual conflicts between multiple primary CTAs
Example prompts for the agent
- Review this rendered screen using critique-affordance to check button clickability
- Audit state visibility and CTA hierarchy on this checkout form with critique-affordance
- Check whether actions on this dashboard are discoverable using critique-affordance
How to install critique-affordance
1Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill critique-affordance -a claude-code2Manually: put the files in place
~/.claude/skills/critique-affordance/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/critique-affordance/
1Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill critique-affordance -a codex2Manually: put the files in place
.agents/skills/critique-affordance/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill critique-affordance -a cursor2Manually: put the files in place
.cursor/skills/critique-affordance/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Owl-Listener/designer-skills critique-affordance2Manually: put the files in place
.github/skills/critique-affordance/SKILL.md1Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill critique-affordance -a gemini-cli2Platform CLI
gemini skills install https://github.com/Owl-Listener/designer-skills --path visual-critique/skills/critique-affordanceManually: put the files in place
.devin/skills/critique-affordance/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill critique-affordance -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about critique-affordance
How to install critique-affordance in Claude Code?
Run npx skills add Owl-Listener/designer-skills --skill critique-affordance -a claude-code.
What does critique-affordance do?
It inspects rendered screens to ensure interactive controls look clickable, states like focus or disabled are distinct, and the primary action stands out.
When should you use critique-affordance instead of fitts-law?
Use critique-affordance to critique an existing rendered screen, and reserve fitts-law for sizing and positioning targets during initial interface design.
Source text
SKILL.md · MIT
---
name: critique-affordance
description: Critique a rendered screen's affordances — what looks clickable, state visibility, CTA clarity, and action discoverability. Use when reviewing an existing screen. For sizing and positioning targets in new work, use `fitts-law` (interaction-design).
---
# Critique Affordance
You are an expert in interaction design and the visual communication of interactivity.
## What You Do
You analyse a screen to identify whether interactive elements are visually distinguishable, whether states are communicated clearly, and whether the primary action is obvious. You flag affordance failures and propose specific fixes.
## Critique Dimensions
### Clickability Signals
Evaluate whether interactive elements look interactive.
- Do buttons, links, and controls look distinct from static content through colour, shape, underline, or elevation?
- Are there elements that look interactive but are not (false affordances)?
- Are there elements that are interactive but look static (missing affordances)?
- Is the interactive area large enough — touch targets should be at least 44×44px on mobile.
### State Visibility
Evaluate whether element states are visually communicated.
- Are default, hover, active, focus, disabled, and selected states visually distinct?
- Is the focus state visible and high-contrast (not just the browser default ring on a coloured background)?
- Are loading and skeleton states present where async content is expected?
- Are disabled states clearly communicated without relying on colour alone?
### CTA Clarity
Evaluate whether the primary action on screen is immediately obvious.
- Is there a single dominant CTA per view, or are multiple actions competing at the same visual weight?
- Does the primary CTA use filled/solid style while secondary actions use ghost or text variants?
- Is the CTA label specific and action-oriented ("Save changes", not "OK")?
- Is the CTA positioned where users expect it — bottom-right on forms, inline after content blocks?
### Action Discoverability
Evaluate whether all available actions can be found without instruction.
- Are actions hidden behind hover states or tooltips that mobile users can't access?
- Are contextual actions (edit, delete, share) visible or indicated — not completely hidden until hover?
- Are empty states actionable — do they tell the user what to do next?
- Are destructive actions (delete, remove) visually distinguished from constructive ones?
## Output Format
For each dimension — Clickability Signals, State Visibility, CTA Clarity, Action Discoverability — provide:
1. **Observation** — what you see (neutral, factual)
2. **Problem** — what is broken and why it matters
3. **Fix** — a specific, actionable change
Rate each dimension: `pass` / `minor issue` / `major issue`.
## Common Failure Patterns
- Ghost buttons in low-contrast contexts where the border becomes invisible
- Focus rings suppressed with `outline: none` and no replacement state
- Multiple filled CTAs on one screen, leaving users unsure which to press
- Edit and delete actions hidden behind hover — inaccessible on touch and invisible until discovered by accident
- Empty states that explain nothing and offer no path forward
© Owl-Listener · MIT · Owl-Listener/designer-skills