Make 100, keep 10
Eleven rounds, eleven different reasons to cut. The distillation method I use for tweets, hooks and headlines, packaged as a Claude skill.
Where it came from: The tweet session where I asked for 100 drafts and eleven rounds of cuts.
I asked Claude for ten spicy tweets. I didn't like them. I asked for twenty. Closer, but they talked about things I'd never post. Then I tried something different: make 100, grade them, and cut 20% at a time until there are ten left.
That third attempt gave me the only list I've actually used.
Why it works
When you ask for ten good lines, you get the model's idea of ten average lines. When you ask for a hundred, you get range: the safe ones, the weird ones, the ones that are almost great. Then the cutting does the work, and the trick is that each round cuts for a different reason.
If every round uses the same score, you end up with ten versions of the same tweet. When each round looks through a new lens, a survivor has to be good in eleven different ways.
The rounds I ran
| Round | Count | Cut for |
|---|---|---|
| 1 | 100 → 80 | lowest score |
| 2 | → 64 | near-duplicates |
| 3 | → 51 | nobody would reply |
| 4 | → 41 | no receipts, generic |
| 5 | → 33 | sounds like a LinkedIn carousel |
| 6 | → 26 | could hurt me as a consultant |
| 7 | → 21 | loses head-to-head on its topic |
| 8 | → 17 | a stranger wouldn't share it |
| 9 | → 14 | needs the video to make sense |
| 10 | → 11 | merge and tighten |
| 11 | → 10 | final cut |
The rubric was five criteria worth five points each: hook, spice, receipts, voice, and safe for someone who sells expertise. Every line was tagged with the video it came from, so I could see which of my filmed takes produced the best material. Two of the final ten came from scripts I hadn't filmed yet, which told me what to shoot next.
Survivors get better along the way
It isn't just elimination. Lines get tightened between rounds, two halves get merged, and a strong closer from a dead tweet gets moved onto a survivor. Every merge is written down, and so is every cut and its reason, so I can pull something back if the room got it wrong.
Get the no-go list first
The biggest lesson came before round one. My first two batches failed because I hadn't said what I won't post. Don't run yourself down. Don't talk about revenue. Don't mention that one project. The skill now asks for a no-go list before it writes anything, and any line that breaks it counts as a bug, not a cut.
Two style rules came out of this too: lowercase, and no em dashes. People spot those as AI now.
Steal it
It works for anything short: tweets, hooks, headlines, subject lines, product names, ad copy. The skill is hundred-to-ten in my John Lab plugin.
/plugin marketplace add johnarndt/john-lab
/plugin install john-lab@john-lab/plugin marketplace add johnarndt/john-lab /plugin install john-lab@john-labDownload hundred-to-ten.zipView on GitHub
View SKILL.md
--- name: hundred-to-ten description: "Use when a user wants the best few of something short (tweets, hooks, headlines, taglines, subject lines, product names, ad lines) instead of a first draft. Triggers include 'make 100 and give me the best 10', 'grade these and cut them down', 'refine until you have the final 10', 'give me killer tweets', 'which of these hooks is best', or 'too generic, try again'. Generates a large pool, scores it on a fixed rubric, then cuts about 20% per round, each round judged through a different lens, refining survivors along the way." --- # Hundred to ten Asking for ten good lines gets ten average ones. Asking for a hundred and cutting them down in rounds, each round with a different reason to cut, gets ten that survived eleven kinds of scrutiny. Every cut is written down, so the user can see why a line died and pull it back. ## Inputs - **What** is being written, **for whom**, and **where** it will appear (platform, character limit). - **Source material:** transcripts, posts, product facts, past winners. Lines grounded in real material beat invented ones. - **No-go list:** topics, words and framings the user rejects. Ask for this before generating, because users usually have one and only say so after seeing the first batch (for example: do not disparage yourself, do not mention a sensitive project, do not talk about revenue). - **Final count** (default 10) and **pool size** (default 100). ## Rubric Five criteria, 1-5 each, out of 25. Agree on them with the user. A default for social posts: | Criterion | Asks | |---|---| | Hook | Does the first line stop the scroll? | | Spice | Would someone reply or argue? | | Receipts | Is there a specific, true detail? | | Voice | Does it sound like the person, not a carousel? | | Safe | Could this hurt their reputation or business? | ## Rounds Write the pool and every round to one file, for example `ideas/<date>_<topic>-100-to-10.md`. 1. **Generate** the pool. Tag each line with its source (which video, post or fact). Vary form: questions, one-liners, lists, confessions, contrarian takes. 2. **Score** every line on the rubric. 3. **Cut about 20% per round**, each round through one lens, and say which lines were cut and why. A typical run from 100: | Round | Count | Lens | |---|---|---| | 1 | 100 → 80 | Lowest total score | | 2 | → 64 | Remove near-duplicates; keep the stronger twin | | 3 | → 51 | Reply bait: would anyone respond? | | 4 | → 41 | Receipts: cut anything generic | | 5 | → 33 | Voice: cut anything that sounds templated | | 6 | → 26 | Safety for this person's reputation | | 7 | → 21 | Head-to-head within each topic | | 8 | → 17 | Would a stranger share it? | | 9 | → 14 | Works without context | | 10 | → 11 | Merge and tighten | | 11 | → 10 | Final cut | 4. **Refine** survivors as you go: tighten wording, merge two halves into one stronger line, move a closer from a cut line onto a survivor. Note every merge. 5. **Deliver** the final ten in order, each with its score, source and one line on why it survived, followed by three notable cuts and why they died. ## Rules - Every line obeys the no-go list from the first generation onward. A no-go line in the pool is a bug, not a cut. - No invented facts or numbers. If a line needs a statistic, it uses the user's real one or is cut. - Match the platform's style conventions the user cares about (for example lowercase, no em dashes). - Do not post or schedule anything.