Makes your AI agent disgustingly good at hooks.
You know the post.
5 game-changing tips to unlock your content potential
Nobody is angry at it. Nobody remembers it either.
The marketing guy asks for more punch. The dev changes three adjectives. The agent returns 40 versions of the same beige sentence. Bruh.
Hookmaxxing gives the agent a stricter job: find one viewer, make one argument, show the contrast, bring a receipt, and rewrite until the opening earns the next second.
It was built by watching the videos, reading the frames, checking the examples, and separating what the creators actually taught from what could be safely derived. The result is a working playbook, not a bag of "viral hook" templates.
Before
5 ways to improve your content strategy
After
Your content calendar is full, but your camera roll is empty. Start here.
The second line recognizes a situation, and but makes the gap audible. A
creator can prove it by showing the calendar beside the empty camera roll.
Before
How to build better AI agents
After
Your Telegram bot and terminal agent probably duplicate the same brain,
but Hermes uses one shared core for both.
That hook only survives if the body shows the shared core, so Hookmaxxing asks for the architecture diagram instead of inventing proof.
one viewer
+ one argument
+ truthful contrast
+ visible proof
+ many rewrites
Every publishable hook passes five gates:
- One central argument.
- One recognizable viewer in a real situation.
- One legible contrast between state A and state B.
- One receipt: result, object, quote, graph, screenshot, demo, or sourced fact.
- A body that pays off the exact promise.
Missing receipt? The skill says so. It can lower the claim or propose a test. It will not manufacture a customer quote, benchmark, personal story, or suspiciously perfect percentage.
- Writes hooks, titles, headlines, opening lines, subject lines, hero copy, ads, and short-form video openings.
- Diagnoses why an opening feels generic, divided, unbelievable, or impossible to show.
- Generates candidates across six evidence-aware archetypes, then curates the strongest few.
- Plans the first frame before polishing spoken copy.
- Scores finalists without averaging away fatal problems such as no proof or a dishonest payoff.
- Studies another niche video using a repeatable transcript plus visual protocol.
- Can search a user-provided private hook bank after it has been imported, without committing the corpus or treating retrieved lines as finished copy.
- Audits the connective tissue between thoughts, including
but,because,so,while, andthen, so compression does not turn into clipped AI copy.
The full operating manual lives in
skills/write-scroll-stopping-hooks/SKILL.md.
codex plugin marketplace add yerdaulet-damir/hookmaxxing
codex plugin add hookmaxxing@hookmaxxingRestart Codex, then ask:
Use $write-scroll-stopping-hooks to rewrite the opening of this dev tutorial.
Send these as two separate commands:
/plugin marketplace add yerdaulet-damir/hookmaxxing
/plugin install hookmaxxing@hookmaxxing
Then ask Claude to use write-scroll-stopping-hooks.
hermes plugins install yerdaulet-damir/hookmaxxing --enableRestart Hermes. The plugin registers the bundled skill and leaves the core tool surface alone.
Clone the repo and copy this directory into the host's skills folder:
skills/write-scroll-stopping-hooks/
The folder is self-contained. Keep its references/ directory beside
SKILL.md.
The skill is not one giant prompt. It uses progressive disclosure, so the agent loads the operating procedure first and opens specialist references only when the task needs them.
| File | What it contains | When the agent uses it |
|---|---|---|
SKILL.md |
The master workflow: body truth, audience language, contrast, visual proof, candidate generation, scoring, argument tree, measurement, and output format. | Every hook-writing or hook-diagnosis task. |
pattern-library.md |
Six contrast archetypes, evidence-first openings, recognition and teaching structures, multimodal sequences, rewrites, and failure modes. | When generating or diagnosing hook structures. |
source-studies.md |
Timestamped studies of the seed reel, Hormozi, Mino Lee, Kallaway, Harry Dry, and the additional local short-form pack. Creator claims, direct observations, and our inferences are labeled separately. | When provenance or the reasoning behind a rule matters. |
human-flow-and-anti-slop.md |
Natural transitions, causal chains, fragment tests, spoken rhythm, fake contrasts, abstract AI language, and the final human-flow check. | Before delivering publishable copy. |
hook-bank-protocol.md |
How to import, sample, label, retrieve, transform, and audit a large private corpus without copying it. | Only when a hook corpus is available. |
video-study-protocol.md |
How to preserve a source, inspect transcript plus frames, follow sub-lines, separate evidence from inference, and add a new lesson. | When studying another video. |
hook_bank.py |
Local SQLite import, deduplication, statistics, and keyword retrieval. | When the agent needs a large local bank. |
lint_copy.py |
Deterministic warnings for clipped logic, fragment stacks, binary reframes, long dashes, and generic AI filler. | During the final copy pass. |
openai.yaml |
The display name, short description, and default invocation shown by Codex. | Skill discovery and UI only. |
The package also contains plugin manifests for Codex, Claude, Hermes, and Agent Skills-compatible hosts. Those files install the same skill; they do not contain a second copywriting brain.
The public evidence set currently contains four full source studies:
| Source | What was extracted |
|---|---|
| Alex Hormozi, Rule of One | One central argument; every bullet, story, and fact must reinforce it. |
| Mino Lee, Copy / Understand / Maximize | Reference-bank construction, mechanism annotation, one-viewer language, and the seven-part rewrite checklist. |
| Kallaway, six hook archetypes | Contrast families, visual-first construction, and visual / spoken / text / sound alignment. |
| Harry Dry on How I Write | Concrete, falsifiable, ownable copy; facts, conflict, structure, and cutting. |
The original disgustinglygood.mp4 seed reel told us which four lines to
investigate. A separate local pack of 11 short-form videos added lessons about
immediate text hooks, mid-story entry, iteration, format families, ordinary
transition words, and why a hook bank should teach mechanisms instead of
supplying copy-paste lines. Four additional image sheets contributed roughly 80
template prompts across instant attention, storytelling, utility, and beginner
education; a fifth image was a comment-gated CTA, not a hook reference. The
repository contains derived notes, timestamps, and source links where available.
It does not publish downloaded videos, full transcripts, or unlicensed source
images.
No. We could not locate that corpus, so the public repository does not pretend to contain it. The bundled database starts empty and exists only after the user imports a file they own or are allowed to analyze.
Current reference coverage is therefore:
1 seed reel
+ 4 full public source studies
+ 11 local short-form videos represented by derived notes
+ 4 local hook-template sheets represented by derived mechanisms
+ 6 reusable contrast archetypes
+ 0 bundled rows in the private hook database
That distinction matters. A claim such as "studied 200 reels" should appear only after 200 traceable source records have actually been imported and audited.
If you have a CSV, JSON, JSONL, Markdown, or line-based text collection, import it into the local bank:
python3 skills/write-scroll-stopping-hooks/scripts/hook_bank.py import hooks.csv
python3 skills/write-scroll-stopping-hooks/scripts/hook_bank.py stats
python3 skills/write-scroll-stopping-hooks/scripts/hook_bank.py search \
"developer tutorial shared agent core" --limit 20The default database lives at ~/.hookmaxxing/hooks.sqlite3. It is created on
first use and is not part of this GitHub repository. Each imported hook becomes
one row:
| Column | Meaning |
|---|---|
id |
Local numeric identifier. |
text |
Exact imported hook text. |
canonical |
Lowercased, punctuation-free form used for deduplication. |
source |
Absolute path of the imported source file, kept locally. |
The tool accepts CSV, JSON, JSONL, Markdown, or line-based text. It recognizes
fields named hook, text, headline, title, opening, or copy; use
--column for another name. It currently stores hook text and file provenance,
not video binaries, thumbnails, transcripts, creator metrics, or a claim that
the hook caused a video's performance.
Retrieved hooks are references for studying audience callouts, contrast, proof, and sentence flow. The skill then closes the source wording and drafts from the user's facts instead of swapping a few nouns into the retrieved line.
Run the copy linter on a draft:
python3 skills/write-scroll-stopping-hooks/scripts/lint_copy.py draft.txtIt flags clipped contrasts such as This one doesn't., fragment stacks,
repeated binary reframes, long dashes, and common AI filler. A warning still
needs human judgment.
Give the agent real material, even if it is rough:
Use $write-scroll-stopping-hooks.
Audience: backend developers shipping their first agent
Body: the same agent core serves our CLI, Telegram gateway, and desktop app
Proof: architecture diagram and three running clients
Format: 45-second vertical video
Need: spoken hook, first-frame plan, and 3 alternatives
For diagnosis:
Use $write-scroll-stopping-hooks to tell me the single biggest problem with
this opening, then rewrite it. Do not invent proof.
For a new niche reference:
Study this video with the skill's video-study protocol. Inspect the visuals and
subtitles, identify the repeatable method, label inference clearly, and propose
a source-study patch. Do not imitate the creator's personality.
skills/write-scroll-stopping-hooks/
├── SKILL.md complete operating workflow
├── agents/openai.yaml Codex-facing metadata
├── scripts/
│ ├── hook_bank.py local corpus import and retrieval
│ └── lint_copy.py clipped-logic and AI-pattern lint
└── references/
├── hook-bank-protocol.md safe retrieval from large corpora
├── human-flow-and-anti-slop.md transitions, rhythm, and AI tells
├── pattern-library.md archetypes, templates, failure modes
├── source-studies.md timestamped source analysis
└── video-study-protocol.md how to learn from the next video
See the timestamped notes for the exact boundary between creator claims, direct observation, and derived workflow.
Hookmaxxing does not promise virality. It cannot rescue a video with no idea, make an unsupported result true, or turn a niche label into audience research.
It does catch the familiar mess:
- five unrelated ideas fighting for the first sentence;
- "founders" or "AI" pretending to be a specific audience;
- fake secrets with no artifact behind them;
- contrarian theatre written only to annoy people;
- abstract captions floating over footage that proves nothing;
- 50 interchangeable outputs dumped on the user as "options."
The protocol is deliberately strict:
- Preserve the source URL and obtain captions or a transcript.
- Inspect the actual video at regular and event-based timestamps.
- Separate spoken claims, visible evidence, and inference.
- Follow named sources and sub-lines when they materially affect the method.
- Extract a workflow only after the source boundaries are clear.
- Add the lesson with timestamped evidence and anti-patterns.
Do not commit downloaded videos, full transcripts, or copyrighted source material. Commit derived notes and links.
python3 scripts/validate.pyThe validator checks manifests, skill frontmatter, required files, and local Markdown links using only the Python standard library.
Bring one of these:
- a concrete hook failure the current method misses;
- a source video with timestamped spoken and visual evidence;
- a better example with the receipt attached;
- a portability fix for an agent host.
Do not submit a list of generic templates with the niche nouns swapped. That is the exact disease this repo exists to treat.
MIT. Use it, remix it, make the opening disgusting.
