ab-hook-tester
Generates two genuinely distinct hook variants for the same reel so you can post-test which opening actually wins. Use when the…
Mine a CSV of REAL top-performing hooks and generate alternatives that keep what made them work: hold the storytelling psychology and structure fixed, hot-swap only the power words. Use when the user has hook performance data (a Sandcastles / social-analytics export, scraped
Claude Code
$ npx -y skills add Ootto-AI/claude-content-skills --skill hook-mining --agent claude-code
Codex
$ npx skills add Ootto-AI/claude-content-skills --skill hook-mining -a codex -y
Cursor
$ npx skills add Ootto-AI/claude-content-skills --skill hook-mining -a cursor -y
Gemini CLI
$ npx skills add Ootto-AI/claude-content-skills --skill hook-mining -a gemini-cli -y
GitHub Copilot
$ npx skills add Ootto-AI/claude-content-skills --skill hook-mining -a github-copilot -y
OpenCode
$ npx skills add Ootto-AI/claude-content-skills --skill hook-mining -a opencode -y
Windsurf
$ npx skills add Ootto-AI/claude-content-skills --skill hook-mining -a windsurf -y
name: hook-mining description: > Mine a CSV of REAL top-performing hooks and generate alternatives that keep what made them work: hold the storytelling psychology and structure fixed, hot-swap only the power words. Use when the user has hook performance data (a Sandcastles / social-analytics export, scraped competitor hooks, their own analytics) and says "mine hooks", "remix hooks", "hook variations", "make hooks from this CSV", or "give me hook options from what's working". NOT for inventing hooks from nothing — that's viral-hook-writer. user-invokable: true argument-hint: "[path to your hooks CSV]" license: MIT metadata: author: Ootto version: "1.0.0"
Most AI hook writing is slop for one of two reasons: it copy-pastes a hook that worked for someone else, or it "rewrites" it until the English is flat and the psychology is gone.
This does neither. It keeps the **data for what worked** — the structure, the psychological mechanism, the rhythm — and swaps only the **power words**. Proven skeleton stays, skin changes.
You cannot mine what you do not have. The input is a CSV of hooks that **actually performed**:
best hooks; export that tab to CSV
Column names are never predictable, so don't hand-parse.
python skills/hook-mining/mine_hooks.py hooks.csv [--top 40]
Auto-detects the hook column and the performance column, ranks, buckets by pattern, and flags the power words already present. Writes `hooks.mined.json`. Run `--selftest` to verify the parsing.
Patterns it sorts into: `result-proof` · `time-bound` · `contrarian` · `secret-gap` · `listicle` · `how-to` · `warning-fear` · `newsjack` · `comparison` · `question` · `curiosity-tease` · `plain-statement`.
For each hook worth reusing, produce 3–5 alternatives under one rule:
> **Keep the psychology. Swap the power words.**
Hold **fixed**: the pattern, the clause order, the specificity (a number stays a number), the rhythm and syllable shape, the tension and where it resolves, the point of view.
Swap **only**: the charged words — the verb, the intensifier, the noun carrying the emotion. `power_word_frequency` in the mined JSON tells you which ones are earning their keep in *your* niche. Pull replacements from there, not from a thesaurus.
proven: "You're using Claude wrong" [contrarian · you're + wrong] ✅ "You're prompting Claude backwards" swapped the verb + the charge word ✅ "You're building agents the slow way" same skeleton, same tension ❌ "Many people use Claude incorrectly" psychology gone, flat English → slop ❌ "You're using Claude wrong" verbatim copy → plagiarism, the platform buries it
Then hand the winners to **viral-hook-writer** to rank, or straight into **reel-scripter**.
bury copies, and it's plagiarism. Model the technique, write your own words.
the only thing the data proved.
a stat you cannot defend is the fastest way to lose an audience.
mediocre ones. Weight by performance, not by count.
| Symptom | Cause | Fix | |---|---|---| | Variants read flat / corporate | rewrote the sentence instead of swapping words | restore the original skeleton, change only the charged words | | All variants sound identical | swapped one word in one slot | vary the slot — verb, intensifier, or emotional noun | | Variants lost the tension | resolved the curiosity gap inside the hook | the gap stays open; the payoff belongs after the hook | | Nothing outperforms | mining unranked or off-niche data | re-export ranked, filter to the actual niche |
`agent-reach` / `reel-analyzer` find what's working → **hook-mining** turns that data into your own hooks → `viral-hook-writer` ranks → `reel-scripter` writes the script → `reel-builder` builds it.
Free, copy-paste Claude skills that run your content growth factory — turn ideas (and your Obsidian memory) into scroll-stopping Instagram reels: hooks, scripts, repurposing, captions, and a 2-week posting calendar.
Generates two genuinely distinct hook variants for the same reel so you can post-test which opening actually wins. Use when the…
MUST USE when user wants to 调研/research/搜索/search/查/找/look up anything on the internet — e.g. 全网调研 X / 帮我调研一下 X / 查一下 X / 搜搜 X /…
Give Claude a permanent, searchable long-term memory using an Obsidian vault as the store. At the end of a session, summarize…
Reads your reel insights and explains in plain English what to make more of and what to stop — no jargon. Use when the user says…
Build evidence-led social audience personas from customer interviews, comments, reviews, or CRM notes.
Turns a script into a shoot-ready shot list — every clip, angle and visual you need to film, in order. Use when the user says…
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…
AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…
Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to…