caveman-marketing
Skill2 starsChanged 38 days agoMITView on GitHub
Cut an ad, landing page, signup flow or screen down until a stranger gets it in 3 seconds: one picture, at most 15 words, one button. Use when a page, ad or funnel is wordy or gets views but no clicks, for redesigns and ad ideas, or when asked to "simplify this page", "make it simpler", "make it shorter" or "caveman" something (long copy from scratch: use copywriting).
1 other project uses a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- lodar/caveman-marketingedited, first seen Oct 25, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- lodar/caveman-marketing★ 297% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- 5dive-cli-extrasSkill
- 5dive-cliSkill
- ad-creativeSkill
- code-reviewSkill
- compile-knowledgeSkill
- copywritingSkill
- deep-researchSkill
- diagnoseSkill
- find-loopsSkill
- loopsSkill
- no-ai-slopSkill
- openagentSkill
- playwright-e2eSkill
- verifySkill
- zero-human-dev-teamSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 6 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 35
Look at the screen for 3 seconds.
- Distinctive: line 65
When the one action is typing (a search, an email, a web address), keep ONE field right above the button: the field and its button are the …
- Distinctive: line 68
When the step IS a choice (a language, a plan), the choices are the action: show the ones most people pick as tiles, 6 at most, the rest …
- Very specific: line 74
Show the trail: Every step of a flow shows a step bar (① Email › ② Time), with the current step lit.
- Distinctive: line 92
If someone asks why one button and 15 words, the answer is that every extra choice costs time and conversions:
- Very specific: line 106
Grunt the BEFORE: Write the three answers it gives, ?
- Distinctive: line 117
Grunt the AFTER: All three answers, in 3 seconds, or go back to step 4.
- Very specific: line 145
Every other line counts, and the first one with words is the headline.
- Distinctive: line 169
Funnel: Every step is a screen, from the ad to the first win.
- Very specific: line 192
Before your first rewrite, read references/examples.md.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Caveman marketing
People don't read. They glance for 3 seconds, then they leave. So explain it to a caveman.
BEFORE AFTER
┌───────────────────────────┐ ┌───────────────────────────┐
│ Products... [Get Started] │ │ ☰ │
│ AI without workflows is │ │ ┌───────────────────────┐ │
│ just expensive advice │ │ │ ticket: New laptop │ │
│ Most companies have AI │ │ │ Open → Done ✓ │ │
│ but few have the data to │ │ └───────────────────────┘ │
│ ground it, the workflows │ │ AI that does the work. │
│ to deploy it, and the ... │ │ ↓ │
│ Explore Control Tower → │ │ ┌───────────────────────┐ │
│ Request Demo → │ │ │ See it work │ │
└───────────────────────────┘ │ └───────────────────────┘ │
62 words · 11 ways out └───────────────────────────┘
14 words · 1 buttonThe caveman test
Look at the screen for 3 seconds. Cover it. A caveman must grunt three answers:
- What this?
- Me want? What do I get?
- Where tap?
One grunt missing means the screen fails. StoryBrand calls a version of this the grunt test. This skill adds hard numbers and covers ads and funnels too.
The 7 rules
- Picture first. A picture fills the top half and does the explaining. Show the result happening (the ticket closing, the site fixed), not your dashboard. Words only label the picture.
- 15 words, max. 6 in the headline. Count every word on the screen: headline, button, a field's placeholder, small links, the step bar, text inside the picture. Don't count emoji, logos or the platform's own fixed text (browser bar, "Sponsored", an ad's domain line, a card form's own field names). The headline is one sentence that says what the site is and what it sells you, in words a stranger can picture: "A ring that tracks your sleep." Not a slogan, not "a clearer X", not two of the page's taglines stitched together. Swap in a company from a different business: if the line still fits, it says nothing ("All in one place."). Fitting a direct rival is fine. Name the concrete thing instead ("Meeting notes written for you."). On a later step of a flow, the headline says what this step does ("Pick a password."). Run the checker. Models and humans both miscount.
- One button. Exactly one filled button, the biggest and brightest thing on the screen, with 👇 right above it. Everything else is small grey text. Three equal choices is a menu. The cookie banner never outshines it. Nothing in the picture may look tappable either: a filled pill or chip with words on it reads as a second button. Use a stamp, a tick or plain text instead. When the one action is typing (a search, an email, a web address), keep ONE field right above the button: the field and its button are the one action, and the field's placeholder words count. When the step IS a choice (a language, a plan), the choices are the action: show the ones most people pick as tiles, 6 at most, the rest behind a small (More). A tap on a tile moves on, so the screen needs no button.
- The button says what happens next, and the next screen keeps the promise. "Get started" that opens a 15-question sales form breaks it. "Pick a time" that opens a calendar keeps it.
- Show the trail. Every step of a flow shows a step bar (
① Email › ② Time), with the current step lit. Three steps or fewer before the first win. - No tribe words, no hype. Words only your industry says: platform, solution, workflow, seamless, leverage, end-to-end, interoperability. Spell out an acronym unless the buyer says it every day. If a 10-year-old would ask "what's that?", cut it. Hype goes on sight: trusted, world's best, world-class, leading, #1, best-in-class, powerful, revolutionary, next-gen, cutting-edge, innovative, all-in-one, ultimate, no nonsense, hassle-free, effortless. Cutting it removes no fact, so "keep the real claims" never keeps it. "The world's best commerce platform" becomes what it is: "Sell online with your own store."
- The hunt ends with meat. A funnel ends on the moment the customer gets the thing: the job done, the call booked, the first result. Ask one thing per screen, and only what you need to get them there. The rest can wait until after they're in.
The caveman grunts are only the test. The new copy is plain, normal English.
Why it works
If someone asks why one button and 15 words, the answer is that every extra choice costs time and conversions:
- Hick's law: decision time grows with the number of choices, roughly log₂(n + 1).
- Choice overload (Iyengar & Lepper 2000; Chernev et al. 2015): too many options make people choose nothing. It's strongest when they can't compare the options and don't know yet what they want.
- Progressive disclosure: show what this step needs, and reveal the rest later.
One screen. One clear action. Minimum decisions before the user gets value.
How to run it
Input: a URL, a screenshot or pasted copy of an ad, a page, or each step of a flow.
- Grunt the BEFORE. Write the three answers it gives,
?for each one missing. - Count the BEFORE. Words on the first screen, filled buttons, every other way out (links, menus, second buttons), steps to the first win. These numbers lead your report.
- Name the one job. One sentence: who it's for and what they get. If you can't write it, the offer is the problem, not the copy. Say so and stop.
- Rewrite each screen in the screen format below: picture, then a headline of at most 6 words, then one button, at most 15 words in all. Keep the real claims and invent none. Caveman cuts words, not truth.
- Check it.
python3 scripts/check.py after.txtuntil every screen passes. Warnings are judgment calls. Failures are not. - Show BEFORE above AFTER, same size, counts under each. If you can render images,
render both. If not, the
picture:line is the brief for whoever draws it. - Grunt the AFTER. All three answers, in 3 seconds, or go back to step 4. Then swap in a company from a different business. If the headline still fits, it says nothing: back to step 4.
Screen format
# landing / top
picture: a chat bubble "Fix my site" and a reply "Done ✓"
Say it and it's done.
👇
[Hire your team]
(Log in)
---
# a search page
picture: the logo, big
Search the web with Google.
{Search Google}
👇
[Google Search][...]is the one filled button.(...)is small grey text or a link, and the step bar.<...>is one tile of a picker, its words counted:<Spanish> <French> <German> (More).{...}is one text field, its placeholder inside. Only when typing is the one action, and right above the button (a 👇 between them is fine).picture:describes the picture. Only its words "in quotes" count, because they show on screen.- Every other line counts, and the first one with words is the headline.
#names a screen.---starts the next one.
scripts/check.py reads this format, prints PASS or FAIL per screen with the reason,
and exits non-zero if any screen fails. scripts/test.sh checks the checker.
Per surface
- Ad. One screen. The first line of the post text is all most people see, so it carries the grunt. Ad platforms make you pick the button label from a list: choose the one that names what happens (Download for a report, Sign up for a trial). Never paint a second button with other words into the image. The ad's link is its next screen: it opens where the button's promise happens (Sign up opens the sign-up page), never the homepage. The picture shows the real product doing its job (for software, its own screen with the result on it: the slot booked, the invoice paid), not a stock person or a drawn shape. That screen's own small labels are part of the picture. Big words you add on top count. Where the button sits beside the headline (Facebook, LinkedIn), a 👉 points at it. The platform draws that button small and grey, so "biggest and brightest" can't apply: the 👉 and the headline next to it do the pointing. On Instagram the caption sits under the picture, so the picture carries the grunt.
- Landing page. The screen is the first view on a phone (390×844). The menu becomes one icon. Each screen further down follows the same rules and repeats the same button. On desktop the picture fills the left half, and the words, 👇 and button sit in the right half. Same copy, same 15-word cap.
- Funnel. Every step is a screen, from the ad to the first win. Sign-in is one button ("Continue with Google") with email as a small link. A legal line the lawyers need is one short grey line, and it counts. A consent the law requires (a marketing opt-in) stays, unticked, in small grey text.
- App screen. A screen someone asked for (search results, an inbox, a dashboard) keeps its list, because the list is the answer. Cut what's around it: the repeated search form, extra menus, a second button. Its rows keep the facts people choose by (times, prices, warnings); the 15 words count only what's around them, so check the screen with the rows left out. The full rules apply to the app's selling screens: first run, empty state, upgrade, paywall.
Report
BEFORE 62 words · 11 ways out · grunts: what ? · want ? · tap ?
AFTER 14 words · 1 button · grunts: what ✓ · want ✓ · tap ✓Then each screen, BEFORE above AFTER, and one line per rule the BEFORE broke. When screens merge, say which BEFORE screens each AFTER replaces.
Examples
Before your first rewrite, read references/examples.md. It walks through a LinkedIn ad, a homepage, a signup funnel and a
search page, all real pages from big companies, each with its BEFORE and AFTER in
examples/, plus a test run on the apple.com, hubspot.com and atlassian.com homepages
(rendered in README.md).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

