Skip to main content
skill CX Codex

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.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add Owl-Listener/designer-skills --skill critique-affordance -a claude-code
Open on GitHub

What 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-code

2Manually: put the files in place

~/.claude/skills/critique-affordance/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/critique-affordance/

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

Similar skills

Everything for Design →

From the same set111

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor