customer-words skill
SKILL.md for capturing customers' own words; install instructions for Claude Code and other agents.
Copy it
---
name: customer-words
description: Turns real customer comments and reviews into ranked pains and ad hooks, with the verbatim source quote under every hook. Use when the user asks for ad angles, hooks, pain points, objections or messaging from customer comments, reviews, Reddit threads, forum posts, survey answers or a CSV of feedback, or asks what customers actually say about a problem or product.
---
# Customer Words
Find what customers complain about, in their own words. Rank the pains by how often people say them. Turn the top pains into ad hooks. Every hook stands on a real quote that the user can check.
## 1. Get the comments
Use what the user has. Ask only if none of these is available.
- **Pasted text or a file.** Comments, reviews, survey answers, a CSV or a text export. In a CSV, use the text column as the comment and keep any author, score, rating, date and URL columns.
- **The Adlicio MCP, if it is connected** (`search_reddit`, `scrape_url`, `research_topic`). The skill works best with it. It is not required.
- `research_topic`: give a 2 to 5 word keyword, written the way a customer types it. It finds, scrapes and ranks Reddit discussion in one call.
- Or `search_reddit` with 1 to 5 `subreddits` for the niche. Pick the 8 to 15 threads that are about the problem, then run `scrape_url` on each one.
- `scrape_url` also reads Amazon, Trustpilot, App Store, YouTube, TikTok and other review or comment pages.
- **URLs the user fetched with their own tools.** Work from the text they give you.
Do not scrape Reddit or any other site yourself. If you have no data tool and no pasted text, ask the user for the comments.
Aim for 100 or more comments. With fewer than 30, say that the ranking is weak.
## 2. Build the quote bank
For each comment, keep the exact text, where it came from (subreddit and thread, site and product, or file and row), its link if there is one, and its score or star rating if there is one.
A quote is one unbroken span, copied character for character from one comment:
- Start and end the span at any word boundary. Inside the span, do not change, fix, add, skip or join any word. No "..." inside a quote.
- Keep spelling mistakes, slang, capitals and swear words as they are.
- Punctuation counts. Curly quotes and apostrophes (’ “ ”) are different characters from straight ones (' "). Copy the ones the source uses.
- Keep the span inside one paragraph. Do not cross a line break.
- If the best span contains an em dash, pick a different span or a different comment. Never edit a quote.
- Quote only from full comment text. Not from search snippets, titles alone or summaries.
## 3. Find and count the pains
A pain is a problem, fear, frustration, failed fix or wanted outcome that customers describe.
1. Read every comment. Tag it with each pain it clearly states. One comment can carry more than one pain.
2. Name each pain with a short phrase in the customers' words ("the app logs me out every day"), not in marketing words ("session reliability issues").
3. Merge pains that mean the same thing. Keep pains apart if they need different ads.
4. Count with this rule, and print the rule in the output:
- One mention is one comment that states the pain about the writer's own experience (or their pet's, child's or partner's).
- One author counts once per pain, even across several comments.
- Replies that only agree ("same", "this", "+1") do not count.
- Advice given to someone else does not count, unless the writer also says they had the problem.
- If the data has no author names, count each comment once.
5. Rank by mentions. Break ties by the total score of the counted comments (one per author, the highest-scored).
6. Mark every pain with fewer than 3 mentions as **low evidence**. Do not pick a low-evidence pain as an angle to test first, unless nothing else exists, and then say so.
## 4. Write the hooks
For the top 3 to 5 pains, write 3 hooks each.
- Use the customers' own phrases. The best hooks often lift a phrase whole.
- One idea per hook. Under 15 words. Words a customer would say out loud.
- Mix the types:
- the pain said back to them
- the fix they tried that failed
- the moment they noticed it
- the question they keep asking
- Under each hook, put the quote it stands on, with its source and score.
## 5. Hard rules
- Quotes stay verbatim. If you cannot find a quote in the data, it does not go in the output.
- Never invent a quote, a customer, a number, a result or a testimonial.
- These commenters did not use the user's product. Never present a comment as a review of, or a testimonial for, the user's product. Hooks can reuse their phrases, but never as "our customers say".
- Health, supplement, skin, hair and pet health products: no claims that the product diagnoses, treats, cures or prevents a disease or medical condition. Do not name a condition as something the product fixes. Write how the problem looks and feels in daily life, not what the product does to the body. No promised results. Flag angles that name a drug, a diagnosis or a medical trigger for a compliance check.
- No em dashes anywhere in your own text. Use commas, colons or periods.
- Do not print commenters' usernames. Source, score and link are enough.
- No hype words: game-changer, revolutionary, unlock, secret, miracle, ultimate, skyrocket.
- Flag every pain with fewer than 3 mentions as low evidence.
## 6. Output format
Use exactly this structure.
```
**Data:** <N> comments from <M> sources (<list the threads, pages or files>).
**Counting rule:** one comment that states the pain about the writer's own experience = one mention. One author counts once per pain. Bare agreement and advice to others do not count.
## Pains, ranked
| # | Pain (their words) | Mentions | Best quote | Source |
|---|---|---|---|---|
| 1 | <pain> | <n> | "<quote>" | <source>, score <s> |
| 6 | <pain> | 2, low evidence | "<quote>" | <source>, score <s> |
## Hooks by pain
### 1. <pain> (<n> mentions)
**<hook>**
> "<verbatim quote>"
> <source>, score <s>, <link if known>
(3 hooks per pain, each with its own quote. Use a different quote for each hook where the data allows.)
## Angles to test first
1. **<angle name>**: <which pain and hooks, and why: mention count, how strong the feeling is in the quotes, how concrete the words are, and whether it names a failed fix the product can beat>.
2. ...
3. ...
## Notes
- Low-evidence pains and what would confirm them.
- Gaps in the data (one source only, old threads, a small sample).
```
Best quote: the most concrete and vivid span for that pain. Among equals, pick the higher score. Show "score unknown" when the data has no score.
## 7. Check before you send
1. Search the source data for every quote. If one is not there character for character, copy it again from the source or delete the hook. If you can run code, check with a script: each quote must be an exact substring of one comment's text.
2. Recount the top 3 pains with the rule in step 3.
3. Search your text for the em dash character (U+2014). Remove every one.
4. Read each hook against the hard rules in step 5.