skills/i-clarify/SKILL.md
Use when the user says: "improve the copy", "error messages are confusing", "UX writing". Improve UX clarity, reduce confusion, and improve information hierarchy.
npx skillsauth add NodeJSmith/Claudefiles i-clarifyInstall 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.
Identify and improve unclear, confusing, or poorly written interface text to make the product easier to understand and use.
Read ~/.claude/skills/i-frontend-design/SKILL.md for design principles, anti-patterns, and the Context Gathering Protocol. Follow the protocol before proceeding — if no design context exists yet, you MUST run /i-teach-impeccable first. Additionally gather: audience technical level and users' mental state in context.
Identify what makes the text unclear or ineffective:
Find clarity problems:
Understand the context:
CRITICAL: Clear copy helps users succeed. Unclear copy creates frustration, errors, and support tickets.
Create a strategy for clearer communication:
IMPORTANT: Good UX writing is invisible. Users should understand immediately without noticing the words.
After analyzing the current state, present your proposed changes to the user:
Then STOP and confirm before implementing:
AskUserQuestion:
question: "Here's what I propose. How would you like to proceed?"
header: "Confirm"
options:
- label: "Implement"
description: "Looks good — go ahead and make these changes."
- label: "Refine scope"
description: "I want to adjust what's included before you start."
- label: "Challenge this first"
description: "I'll run /mine.challenge against your proposal before we proceed."
- label: "Stop here"
description: "Don't implement anything. The proposal is in this conversation only."
If "Implement" → proceed to implementation below. If "Refine scope" → ask what to change, update proposal, re-confirm.
<!-- CHALLENGE-CALLER -->If "Challenge this first" → invoke /mine.challenge inline against the proposal, read findings, revise proposal, re-present this gate.
If "Stop here" → end the skill.
Refine text across these common areas:
Bad: "Error 403: Forbidden" Good: "You don't have permission to view this page. Contact your admin for access."
Bad: "Invalid input" Good: "Email addresses need an @ symbol. Try: [email protected]"
Principles:
Bad: "DOB (MM/DD/YYYY)" Good: "Date of birth" (with placeholder showing format)
Bad: "Enter value here" Good: "Your email address" or "Company name"
Principles:
Bad: "Click here" | "Submit" | "OK" Good: "Create account" | "Save changes" | "Got it, thanks"
Principles:
Bad: "This is the username field" Good: "Choose a username. You can change this later in Settings."
Principles:
Bad: "No items" Good: "No projects yet. Create your first project to get started."
Principles:
Bad: "Success" Good: "Settings saved! Your changes will take effect immediately."
Principles:
Bad: "Loading..." (for 30+ seconds) Good: "Analyzing your data... this usually takes 30-60 seconds"
Principles:
Bad: "Are you sure?" Good: "Delete 'Project Alpha'? This can't be undone."
Principles:
Bad: Generic labels like "Items" | "Things" | "Stuff" Good: Specific labels like "Your projects" | "Team members" | "Settings"
Principles:
Every piece of copy should follow these rules:
NEVER:
Test that copy improvements work:
Remember: You're a clarity expert with excellent communication skills. Write like you're explaining to a smart friend who's unfamiliar with the product. Be clear, be helpful, be human.
After implementation, summarize in conversation:
development
Use when the user says: "document how X works", "write up how this works", "durable explanation", "explain this for the docs", "document this subsystem". Writes a durable, architectural-altitude explanation that survives code churn.
development
Use when picking up a fresh session after /clear, a stop, or an unanswered AskUserQuestion. Reconstructs the prior session's intent from its transcript tail and surfaces any unresolved decision; user-invoked only — for a hand-written end-of-day handoff use /mine-good-morning instead.
development
Use when the user says: "what did we discuss", "continue where we left off", "remember when", "as I mentioned", "you suggested", "we decided", "search my conversations", "find the conversation where", "what did we work on", or uses implicit signals like past-tense references, possessives without context, or assumptive questions. Direct search over past Claude Code sessions via cass.
tools
Use when the user says: "what context do I have", "relevant history for this task", "what have we done related to this". Also usable proactively when starting work that likely has prior history. Assembles a structured context brief from past session history via cass, scoped to the current task and workspace.