
dcodeimprove-copy
by madebynoam
Claude Code skills for designers navigating codebases—component discovery, safe visual changes, design system exploration, and prototyping in real code.
SKILL.md
name: dcode:improve-copy description: Improve UI copy using proven frameworks (JTBD, benefit-first, error patterns). Use when a designer wants to improve button text, error messages, empty states, or audit copy in a component. Supports interactive walkthrough mode for reviewing changes one-by-one, or batch mode for quick fixes.
Improve Copy
Improve UI microcopy using proven UX writing frameworks.
For designers who think: "This button says 'Submit'... there has to be something better."
Frameworks Reference
JTBD (Jobs to Be Done)
Focus on the outcome the user is hiring the product to achieve.
- "Submit" → "Get my results"
- "Sign up" → "Start saving time"
- Formula: What does the user get, not what they do
Benefit-First
Lead with value, then the action.
- "Enable notifications" → "Never miss updates — enable notifications"
- "Enter email" → "Get weekly tips — enter your email"
- Formula: "[Benefit] — [action]"
Action-First
Start with the verb, be direct.
- "User settings page" → "Manage your account"
- "Password reset functionality" → "Reset your password"
- Formula: "[Verb] [object]"
Error Messages
Structure: [What happened] [Why] [What to do]
- "Error" → "Couldn't save. Connection lost. Try again."
- "Invalid input" → "Email format looks wrong. Try name@example.com"
Empty States
Structure: "No [items] yet. [Action] to [benefit]."
- "No results" → "No projects yet. Create one to get started."
- Variants: encouraging, minimal, benefit-focused
Confirmation Dialogs
Structure: "[Consequence]. [Question]?"
- "Are you sure?" → "This will delete all your data. Continue?"
- Be specific about what happens
Loading States
Tell users what's happening, or build anticipation.
- "Loading..." → "Finding your files..."
- "Please wait" → "Preparing your dashboard..."
- Formula: "[Action in progress]..." or "[Benefit coming]..."
Voice Dimensions
Calibrate tone on these spectrums:
| Dimension | Range |
|---|---|
| Formal ↔ Casual | "Please submit your request" ↔ "Send it over" |
| Serious ↔ Playful | "Error occurred" ↔ "Oops, something broke" |
| Respectful ↔ Irreverent | "We appreciate your patience" ↔ "Hang tight" |
| Matter-of-fact ↔ Enthusiastic | "File uploaded" ↔ "Your file is ready to go!" |
Match your product's personality. Banking apps stay serious; creative tools can be playful.
Contextual Tone Shifting
Same voice, different tone based on situation:
| Context | Tone | Example |
|---|---|---|
| Onboarding | Warm, encouraging | "Welcome! Let's get you set up." |
| Success | Celebratory but brief | "Done! Your changes are live." |
| Error | Calm, helpful | "Couldn't save. Check your connection." |
| Destructive action | Serious, clear | "This will permanently delete your data." |
| Empty state | Encouraging | "Nothing here yet—let's fix that." |
The 4 C's
Quality checklist for any copy:
| Principle | Question to ask |
|---|---|
| Clear | Would a new user understand this? |
| Concise | Can I say this in fewer words? |
| Conversational | Does this sound like a helpful human? |
| Consistent | Am I using the same terms everywhere? |
Modes
Single Suggestion Mode
User provides copy, get suggestions:
Input: "Submit"
Output: Table of options across frameworks
Audit Mode
Scan a file or current context for copy to improve:
/dcode:copy -audit [file]
Interactive Walkthrough
Step through each item with choices. Default for < 10 items.
Batch Mode
Show all suggestions in a table. Use --batch flag or type a during walkthrough.
Instructions
1. Determine Mode
Check the input:
- If text in quotes → Single suggestion mode
- If
-auditflag → Audit mode - If
-list→ Show frameworks reference - If no input and context available → Offer to audit current file
2. For Single Suggestions
Present improvements across relevant frameworks:
"Submit" improvements:
| Framework | Suggestion | Why |
|-----------|------------|-----|
| jtbd | Get my results | Focuses on outcome |
| action-first | Send request | Clear action |
| contextual | Save changes | Matches actual behavior |
Recommendation: [best option based on context]
If context is unclear, ask: "What does this button do?"
3. For Audit Mode
3a. Context Detection
If no file specified:
- Check if user has been working on a file in this session
- Ask: "I see you're working on [file]. Audit that? (y/n/other)"
- If no context: "What should I audit? (paste path or describe screen)"
3b. Scan for Copy
Find UI copy in the file:
- Button/link text
- Labels and headings
- Error messages
- Empty states
- Placeholder text
- Tooltips
- Confirmation dialogs
Categorize each item by type (button, error, empty, label, etc.)
3c. Choose Walkthrough or Batch
- If ≤ 10 items and no
--batchflag → Interactive walkthrough - If > 10 items or
--batchflag → Batch mode - User can switch modes anytime
4. Interactive Walkthrough
For each copy item:
────────────────────────────────────────
[1/4] Line 23: Button
────────────────────────────────────────
Current: "Submit"
Context: Form submission button
Suggestions:
1. "Get started" (jtbd)
2. "Save changes" (action-first)
3. "Continue" (minimal)
4. Keep as-is
5. Custom...
Choice (1-5, s=skip, a=all, r=apply-to-similar, q=quit):
Shortcut Keys
| Key | Action |
|---|---|
1-5 | Pick suggestion |
s | Skip this item |
a | Show all remaining as table (exit walkthrough) |
r | Apply this choice to all remaining items of same type |
q | Quit audit |
e | Enter custom text |
? | Show help |
↵ | Accept first suggestion |
Apply-to-Similar Pattern
When user picks a suggestion and types r:
Apply "jtbd" style to all remaining buttons? (y/n)
> y
✓ Applied to 3 buttons:
- Line 45: "Submit" → "Complete purchase"
- Line 67: "Send" → "Send message"
- Line 89: "OK" → "Got it"
Moving to error messages...
5. Batch Mode
Show all items in a table:
Copy audit for CheckoutForm.tsx:
| Line | Type | Current | Suggestion |
|------|------|---------|------------|
| 23 | button | "Submit" | "Complete purchase" |
| 31 | error | "Invalid" | "Card number looks wrong" |
| 45 | empty | "No items" | "Your cart is empty" |
| 52 | button | "Cancel" | Keep as-is |
Apply all? (y/n/review-each)
6. Summary & Apply
After walkthrough or batch review:
────────────────────────────────────────
Audit complete
────────────────────────────────────────
Changes:
✓ Line 23: "Submit" → "Complete purchase"
✓ Line 31: "Invalid" → "Card number looks wrong"
· Line 45: skipped
✓ Line 52: "Cancel" → kept as-is
Apply to file? (y/n/preview)
If preview:
- Show diff of changes
- Confirm before applying
If y:
- Apply changes to file
- Report success
7. Power User Flags
| Flag | Behavior |
|---|---|
--batch | Skip walkthrough, show table |
--dry-run | Preview only, no prompts to apply |
--apply | Auto-apply first suggestion (use with caution) |
--framework X | Only suggest using framework X |
Examples
Improve a single piece of copy:
/dcode:copy "Click here to learn more"
List available frameworks:
/dcode:copy -list
Audit current file interactively:
/dcode:copy -audit
Audit specific file in batch mode:
/dcode:copy -audit src/components/LoginForm.tsx --batch
Get JTBD suggestions only:
/dcode:copy "Submit" --framework jtbd
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon
