skills/user-empathy-lens/SKILL.md
--- name: user-empathy-lens description: Empathy-driven design: think through how real people experience the software; surface and challenge assumptions. user-invocable: false effort: low allowed-tools: - Read --- # User Empathy Lens Empathy-driven design skill. Helps think through how real people will experience the software. Uses inference and scenario-building rather than formal user research — surface assumptions, challenge them, and design for actual human behaviour. --- ## When This
npx skillsauth add jasonwarrenuk/goblin-mode skills/user-empathy-lensInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Empathy-driven design skill. Helps think through how real people will experience the software. Uses inference and scenario-building rather than formal user research — surface assumptions, challenge them, and design for actual human behaviour.
Use this skill when:
Good software empowers real people, not idealised users.
Real people are distracted, impatient, confused, using a phone on a bus, and doing three things at once. They don't read instructions. They don't follow happy paths. They close tabs when annoyed.
Design for them, not for the demo.
Not a formal persona — a quick sketch of the actual human:
Questions to ask:
Example: "Admin user managing team permissions"
Quick sketch: Mid-level manager. Not technical. Has 15 minutes between
meetings. Doing this because HR asked. Will forget the interface exists
until next quarter. Needs it to be obvious, not powerful.
Mentally step through the feature as this person:
The happy path is a fantasy. Think about what actually happens:
What are you assuming about the user that might be wrong?
Assumptions to check:
- "They'll read the tooltip" → Most people won't
- "They'll know what this icon means" → They might not
- "They'll complete the form in one sitting" → They might not
- "They have a fast connection" → They might not
- "They're using a modern browser" → Check your analytics
- "They understand our domain terminology" → They probably don't
This skill produces inline annotations during design and review:
👤 User lens: A first-time user won't know what "workspace" means here.
Consider: brief tooltip or contextual help on first visit.
👤 User lens: This 5-step onboarding asks for billing info on step 2.
Most users will drop off. Move billing to step 5 (after they see value).
👤 User lens: "Error 422: Unprocessable Entity" means nothing to a
non-developer. Try: "That email address is already registered.
Did you mean to log in instead?"
👤 User lens: The success state shows a green tick for 0.5 seconds then
redirects. Users won't see it. Hold for 2 seconds or make the redirect
destination confirm success.
You've been staring at this feature for weeks. You know exactly how it works. Your user is seeing it for the first time.
Fix: Describe the feature to someone unfamiliar. If you need more than two sentences, the UI needs work.
Designing for yourself instead of your actual users.
Fix: Your most common user is not your most technical user. The default experience should serve the common case; power features can be discovered.
They won't. They'll leave.
Fix: If something requires figuring out, it requires a better design or better copy.
Every feature starts empty. What does the user see before they've added any data?
Fix: Empty states should guide action, not just say "Nothing here yet."
For any user-facing feature:
Empathy and ethics overlap heavily. "Would the user feel tricked?" is both an empathy question and an ethics question. Use empathy lens for UX and ethics-reviewer for systemic concerns.
Empathy informs styling decisions — what's visually prominent, how feedback is communicated, how errors appear. Frontend-styler handles the implementation.
Empathy can expand scope ("But what about this edge case for this user type?"). Scope coach moderates: "Is that the common case or a rare edge? Ship for the common case first."
The domain model should reflect how users think about the domain, not just how the database stores it. If users think in "projects" and the model has "workspaces", there's a disconnect.
User empathy is effective when:
documentation
{{ 𝛀𝛀𝛀 }} Review a pull request and post a comment
development
{{ ƔƔƔ }} Generate an HTML dashboard showing the current state of a project roadmap.
tools
{{ 𝛀𝛀𝛀 }} Review a pull request
development
{{ 𝛀𝛀𝛀 }} Investigate a codebase in detail