Kelpi

Pain to Promise

Message & ResearchNo account access needed

Turn a mined buyer pain into a specific, algorithm-aimable promise, and stress-test it with the one-second recognition test. Use to sharpen an angle's promise line before it becomes copy or creative.

Install this skill

npx skills add kelpi-ai/meta-ads-skills --skill pain-to-promise

One command, into Claude Code, Cursor, Codex, and 60+ other agents (the open skills CLI). No account, no signup. Prefer to do it by hand?

View source on GitHub

Why this skill exists

An angle lives or dies on its promise line, and promises fail in one predictable way: they generalize. "Essential nutrients in every bottle" is a promise to everyone, which the delivery algorithm reads as a promise to no one. "Lose weight without giving up the nutrients" names the person, the pain, and the outcome in nine words, so both the human and the algorithm know exactly who it is for. The narrower the promise, the harder it hits, and post-Andromeda, the better it delivers. New brands carry an extra burden: a stranger's promise needs specificity to be believed at all. Say how, say for whom, say what happens if it fails.

When to use it

  • Between Buyer Language Miner (the pain) and Angle Writer / Creative Director (the copy and image).
  • When an ad gets impressions but no clicks: usually a promise problem.
  • Works with no MCP.

Run it

Paste this into Claude, fill the brackets, and go.

The copy button bundles the guardrails and the output bar from below, so a plain Claude chat gets the whole skill, not just the ask.

Turn these pains into promises for my offer: [ONE-LINE OFFER]

Pains (verbatim, from my buyer language mining): [PASTE 3-5 PAIN QUOTES with WHO said each]

For each pain:
1. Flip it into 3 candidate promise lines. Each must name or unmistakably imply: the WHO, the pain, and the specific outcome. Under 12 words each.
2. Run the one-second test on each: would the person who said this pain, scrolling at speed, recognize this line as "for me" in one second? Kill any line where the honest answer is no.
3. Run the anyone-test: could a competitor, or a company in a different category, run this exact line? If yes, it is generic. Sharpen or kill.
4. For the surviving lines: state the believability load. What would a stranger need to see next to believe this (mechanism, proof, guarantee)? One line each.
5. Rank the survivors and tell me which single promise you would put $20/day behind first, and why.

Guardrails

  • The promise must be one the offer actually keeps. A sharpened lie is still a lie; check every survivor against what the product really does.
  • No superlatives without a mechanism ("the best" is noise; "the only one that X" must be true).
  • Specific beats clever. If a line is witty but fails the one-second test, it is a caption, not a promise.

Good output looks like

For each pain: one surviving promise line, its believability requirement, and a ranked recommendation for the first test, all short enough to be on-image text.

Or let Kelpi run it

This skill is the manual version of homework Kelpi does when you paste your website: it reads the brand, writes 5-6 genuinely different angles, and designs them on-brand. You approve before anything ships. $99/mo flat, 7-day free trial, no card to start.

Related skills