Back to Free Stuff

Free Guide

The 4 Secret Content
Weapons

The tools quietly running behind the curtain at every creator who's growing fast right now. Not generic AI advice. The actual stack. Setup for each one, plus the meta-prompt that builds the fourth weapon for you.

Section 1

Why This Stack, And Why Now

I started posting on Instagram a few weeks ago. In the last seven days my following doubled. That's not a flex about the absolute number, the number is small. It's a flex about the slope.

The reason it doubled isn't that I posted more. It's that I stopped guessing. Every video I record now starts with a hook that's already been proven somewhere else, on a topic I know is moving this week, with structure pulled from creators who've already won at this.

The four tools below are how that works. They're not new. They're not secret in the literal sense. But almost no one is wiring them together, and the people who are aren't talking about it. So that's what this guide does. It walks through each tool, exactly how I use it, and then the meta-prompt that turns the fourth one into a Claude skill that does the writing for you.

Each weapon is useful on its own. Together they collapse the loop from "what should I post?" to "press record" into about ten minutes a day.

01 Research Engine

Last 30 Days

What did the internet say about X this month?

A free Claude Code skill that pulls every post, video, transcript, and comment about any topic from the last 30 days across Reddit, X, YouTube, TikTok, Hacker News, GitHub, Polymarket, and more. Synthesizes the result into a brief ranked by actual engagement, not editorial curation.

02 The Scraper

Apify

Pull anything off any social platform

A marketplace of pre-built scrapers (called Actors) for Instagram, TikTok, YouTube, X, LinkedIn, and basically every site that matters. Point one at a competitor handle and it returns every post, hook, caption, view count, like, and comment as structured data. No code.

03 The Memory

Supabase

Free database your AI can query

A free Postgres database with a Claude-friendly MCP. Once your scraped data lives here, Claude can run SQL queries against it on demand. Top hooks of the week, outliers above 3x average, hook patterns by topic. The data goes from frozen JSON to a living intelligence layer.

04 The Writer

A Custom Hook Skill

Hooks mined from real winners, not invented

Your own Claude Code skill that pulls proven hook frameworks from Kallaway, Hormozi, Isenberg, and friends, then adapts them to your topic. Optionally queries the Supabase data from weapon 3 for live competitor signal. You stop guessing what to open with.

Weapon 1

The Last 30 Days Skill

Built by Matt VanHorn. Free Claude Code skill. It does one thing extremely well: research any topic across the last 30 days of the internet and rank the results by what people actually engaged with, not what an editor decided mattered.

You give it a topic. It pulls from Reddit (with comments), X, YouTube transcripts, TikTok, Hacker News, GitHub, Polymarket, Instagram Reels, Threads, Pinterest, Bluesky. Then it merges duplicate stories across platforms and synthesizes the result into a brief ranked by real engagement.

This is your idea engine. Before you write a single hook, you ask Last 30 Days what's moving. The answer is no longer "what do I think is interesting." The answer is data.

Setup

1

Install the plugin

Inside Claude Code, run:

/plugin marketplace add mvanhorn/last30days-skill

Restart Claude Code. The skill is registered globally.

2

Optional add-ons

Reddit, Hacker News, Polymarket, and GitHub work out of the box with no keys. For more coverage you can add: brew install yt-dlp for full YouTube transcripts, a ScrapeCreators key (10,000 free calls) for TikTok and Instagram, browser login for X. Skip these on day one, add them when you want more depth.

3

Run your first query

Try one of these:

/last30days Claude Code skills
/last30days Sora 2 vs Veo 3
/last30days AI agent frameworks

You get a synthesized brief with citations. Every claim is linked back to the post or video that made it. No invented context.

How I actually use it

Sunday night I run two or three queries on whatever I'm thinking about for the week ("Anthropic Claude 4.7 launch," "AI agents shipped this month"). I pin the briefs into my Obsidian vault. By Monday I have five video ideas that I know are already moving on the internet. Zero guessing.

Weapon 2

Apify

Apify is a marketplace of pre-built scrapers. They call them Actors. There's an Actor for Instagram, an Actor for TikTok, an Actor for YouTube, an Actor for X, an Actor for basically anything you'd want to pull off the internet at scale.

You pick the Actor that matches your platform. You point it at a list of competitor handles or URLs. It runs, it scrapes, it gives you back structured JSON. Every post, every caption, every view count, every comment, every like. As data, not screenshots.

This is the part that 99% of creators are sleeping on. They scroll competitor profiles manually and try to remember what they saw. Apify gives you that data in a spreadsheet so you can actually query it.

Setup

1

Sign up

Free account at apify.com. Free tier gives you $5 of credit a month, which is enough for a few thousand posts depending on the Actor.

2

Pick your Actor

Search the Apify Store for your platform. The ones I run weekly: Instagram Scraper by apify, TikTok Scraper by clockworks, YouTube Channel Scraper by streamers. Read the README. Most of them take a list of usernames or URLs and spit out a dataset.

3

Install the Apify MCP into Claude Code

This is the part that makes the whole thing automated. Inside Claude Code, run:

claude mcp add -s user apify -- npx -y @apify/actors-mcp-server

Set your Apify API token as an env var when prompted. Now Claude can call any Actor directly. You say "scrape the last 30 reels from these five Instagram accounts" and Claude runs it for you.

4

Pick your competitors

Make a list of 5 to 15 accounts in your niche who are crushing it. Mix of direct competitors (people teaching what you teach) and aspirational creators a few rungs up. Save the list in a text file. This is your tracking roster.

Cost reality check

A typical Instagram scrape of 15 accounts and their last 30 posts each runs me about $0.50 to $1.50. I run it once a week. That's $5 a month for a constant stream of competitive intelligence. The free tier credit covers most of it.

Weapon 3

Supabase

You scraped a bunch of data with Apify. Now where does it live? If the answer is "a JSON file on my desktop," you're going to forget about it within a week.

Supabase is a free, hosted Postgres database. It also has an MCP that connects directly to Claude Code. Once your scraped data is in Supabase, Claude can query it on demand. Top hooks of the last 7 days. Outliers above 3x average. Hook patterns by topic. Posts that hit at 5pm versus 9am. Whatever you want to ask, Claude writes the SQL and gets you an answer.

This is the layer that turns scraped data into a living intelligence engine. The data stops being frozen and starts being interrogable.

Setup

1

Create a free account

Sign up at supabase.com. No credit card. Free tier gives you 500MB of database storage which is enough for tens of thousands of rows of post data.

2

Create a project, grab the project ref

Click New Project. Pick a region close to you. Wait two minutes. Once it's up, go to Settings, General, copy the Reference ID. Looks something like abcdefgh1234.

3

Wire the Supabase MCP into Claude Code

Run this command, replacing YOUR_REF with the project ref you copied:

claude mcp add --transport http -s user supabase "https://mcp.supabase.com/mcp?project_ref=YOUR_REF&read_only=true"

Restart Claude Code. The first time you run a Supabase query, a browser opens for OAuth. After that it's silent.

4

Have Claude build your tables

You don't need to write SQL. Tell Claude:

Using the Supabase MCP, create two tables:
1. competitors (id, handle, platform, follower_count, last_scraped)
2. posts (id, competitor_id, url, caption, hook_first_line,
   view_count, like_count, comment_count, posted_at, transcript,
   hook_category, outlier_score)

Make competitor_id a foreign key. Add an index on posted_at and
on outlier_score for fast queries.

Claude writes the migration, applies it, and confirms. You're now the proud owner of a content intelligence database.

5

Pipe Apify into Supabase

Tell Claude to take the last Apify scrape result and insert it into the posts table, deduping by URL. Claude writes the script, runs it, confirms the row count. Now every weekly Apify run loads straight into Supabase. The pipeline is one command: scrape, store, done.

What you can ask once it's wired up

  • "What were the 10 highest-performing reels across my tracked accounts this week?"
  • "Show me every post that performed at 3x or more above its account's average."
  • "What hook category is over-indexing for views right now?"
  • "Cluster the top 50 hooks of the last 30 days into 5 patterns. Give me one example per pattern."

Weapon 4

A Custom Hook Writer Skill

This is the one I'm most asked about, and the one I'll show you how to build instead of handing you mine. Yours should be tuned to your niche, your voice, and your competitors. A copy of mine wouldn't fit you, and honestly, building it yourself is where the unlock happens.

The skill does one job: when you say "write me hooks for a video about X," it pulls proven hook frameworks from a curated knowledge base, optionally queries the Supabase data you just set up for live competitor signal, and gives you 5 hook variants. Each variant traces back to a real framework from a real creator. You stop inventing from nothing.

The frameworks come from creators who teach hooks for a living: Brendan Kane (One Million Followers, structured hook taxonomy), Connor Kallaway (the 3-step formula: context lean, scroll-stop interjection, contrarian snapback), Alex Hormozi (value density in the first three seconds), Greg Isenberg (modern viral patterns), Codie Sanchez (identity-validation hooks), MrBeast (retention engineering).

You don't have to read all of their books and watch all of their videos. The meta-prompt below tells Claude Code to pull their teaching content for you, synthesize the patterns into framework files, and then build the skill that uses them.

How the skill works in practice

1

You give it a topic

"Write me hooks for a video about using Claude Code to automate cold email outreach. Audience: founders who hate selling."

2

It loads the framework library

Reads every framework file in ~/.claude/skills/hook-writer/frameworks/. The library is the menu it picks from.

3

It queries Supabase for live signal

If your Supabase competitor data is connected, the skill pulls top performers in the same topic area. These are real-time and niche-specific, so they outweigh library frameworks when they exist.

4

It gives you 5 variants

Each one shows the framework it came from, the adapted hook, the text overlay, the visual, and which enhancers it layers in. You pick one, press record.

The meta-prompt that builds the skill

Open Claude Code in any folder. Paste the prompt below. Claude will scaffold the skill folder, fetch the teaching content from the named creators, synthesize it into framework files, and build the SKILL.md. It pauses to check in with you twice along the way so you can shape the framework library before it gets baked in.

The hook writer meta-prompt

You are going to bootstrap a Claude Code skill called `hook-writer` for me. This skill is going to write data-grounded short-form hooks for me on demand.

The whole thing has to follow this principle: **I am not inventing hooks from nothing. I am mining proven frameworks from creators who have already won, and remixing them onto my topics.** Every hook the skill produces must be traceable back to a real framework from a real high-performing post. No invented content. No generic templates.

You are going to do this in five phases. Stop and check in with me after Phase 2 and Phase 4. Don't skip ahead.

---

## Phase 1: Set up the skill folder

Create the following structure inside my Claude Code skills folder (`~/.claude/skills/hook-writer/`):

```
hook-writer/
├── SKILL.md
├── frameworks/
│   ├── kallaway-3-step.md
│   ├── hormozi-hooks.md
│   ├── isenberg-patterns.md
│   ├── kane-stop-the-scroll.md
│   └── _frameworks-index.md
├── transcripts/
│   └── (raw YouTube transcripts go here for reference)
└── examples/
    └── proven-hooks.md
```

If `~/.claude/skills/` doesn't exist yet, create it. If `hook-writer/` already exists, ask me before overwriting.

---

## Phase 2: Ingest the framework knowledge

You're going to populate the `frameworks/` folder by pulling the actual teaching content from creators who teach hooks for a living. Don't write the frameworks from your training data. Pull them from real source material so the skill is grounded in what these creators actually said.

Use the `/last30days` skill (or any web fetch tool you have) to find and transcribe video content from these specific creators. Search YouTube and the open web for their hook-teaching videos:

1. **Brendan Kane**, author of "One Million Followers." Search "Brendan Kane hook formula" and "Brendan Kane stop the scroll." He has a structured hook taxonomy. Capture it.
2. **Alex Hormozi**. Search "Alex Hormozi hooks", "Alex Hormozi short form content", "Hormozi attention." He talks about the value-density of the first three seconds. Capture his specific phrasings.
3. **Greg Isenberg**. Search "Greg Isenberg viral hooks", "Greg Isenberg short form playbook." Capture his hook patterns.
4. **Kallaway (Connor Kallaway)**. Search "Kallaway hook formula" and "Kallaway 3-step hook." His architecture is: context lean, then scroll-stop interjection, then contrarian snapback. This is the spine. Capture every nuance you can find.
5. **Codie Sanchez**. Search "Codie Sanchez content hooks." She's strong on identity-validation hooks. Capture them.
6. **MrBeast**. Search "MrBeast retention hooks" and "MrBeast first 30 seconds." He doesn't teach hooks directly but his openers are reverse-engineerable.

For each creator:
- Fetch the top 2-3 videos where they explicitly teach hooks
- Save the raw transcript to `transcripts/[creator-name].md`
- Synthesize their teaching into a clean framework file at `frameworks/[creator-name].md`. Each framework file should contain:
  - A one-line summary of their philosophy
  - The named patterns they teach (e.g., "The Curiosity Gap," "The Specificity Hook")
  - The exact swappable mad-lib structure for each pattern (e.g., `"{Tool} just killed {Role}"` or `"Most {identity} have never heard of {thing}"`)
  - 2-3 examples of the pattern in the wild

After all six are populated, create `frameworks/_frameworks-index.md` that lists every named pattern across all creators with a one-line tag (e.g., `news-fomo`, `cold-data-drop`, `assumption-subvert`, `tool-killed-role`, `cult-hop`). This is the menu the skill will pull from.

**Stop here. Show me the index and ask if I want to add more creators or edit any patterns before continuing.**

---

## Phase 3: Encode the architecture and enhancers

Create two more files inside `frameworks/`:

### `frameworks/_architecture.md`

Encode Kallaway's 3-step formula compressed for short-form:

1. **Context lean.** Reference a truth or pain the viewer already believes. They lean in.
2. **Scroll-stop interjection.** A single stunning line that interrupts ("but," "except," "however").
3. **Contrarian snapback.** Go opposite direction of the lean. Leaves the loop open.

In short-form (under 3 seconds spoken), all three steps compress into one to two sentences. Note that explicitly.

### `frameworks/_enhancers.md`

Encode the five enhancers that get layered on top of any hook:

1. **Visual hook.** What's on screen must reinforce the spoken hook. Mute test: if sound is off, would the visual still stop the scroll?
2. **Identity validation.** Make the viewer think "that's me," not "this might apply to me." Recognition over consideration.
3. **Cult hopping.** Reference a name, brand, or community with a dedicated following (e.g., "If you're already in the Claude ecosystem"). One per hook max.
4. **Compress speed to value.** Every word between hook and first a-ha point must earn its slot. Cut "in this video I'll show you" filler.
5. **Staccato rhythm.** Short. Punchy. Mountain range of sentence lengths, not a wall of text.

---

## Phase 4: Build the SKILL.md

Now create the main skill file at `~/.claude/skills/hook-writer/SKILL.md`. Use this exact structure:

```markdown
---
name: hook-writer
description: Generates data-grounded short-form hook variants by pulling proven frameworks from a curated knowledge base of top creators (Kallaway, Hormozi, Isenberg, Kane, Sanchez, MrBeast) and adapting them to the user's topic. Triggered by "write me hooks", "hook for [topic]", or "/hook-writer".
allowed-tools: Read, Bash, Glob, Grep
---

# Hook Writer

You write short-form hooks the way Noe writes them: mine winning frameworks from the framework library, adapt them to the user's topic, never invent from nothing.

## Step 1: Gather the query

Ask (or infer):
1. **TOPIC.** What is the video about? Specific. "Claude Code for cold email" beats "AI stuff."
2. **PLATFORM.** TikTok, Reels, or both?
3. **AUDIENCE / IDENTITY.** Who is the viewer? ("AI-curious creators," "non-technical founders," etc.)

If the user gave you enough, skip the question. Don't bog down.

## Step 2: Load the frameworks

Read every file in `frameworks/` (this folder). The `_frameworks-index.md` is your menu. The named pattern files are the source of truth.

## Step 3: Pull from competitor data (if available)

If a Supabase MCP is connected and a `competitors` or `posts` table exists, query for:
- The top 10 posts in the same topic area sorted by `outlier_score` or `view_count`
- The first-line hooks from those posts
- The hook category for each (if classified)

Use these as ADDITIONAL reference material. They beat library frameworks when available because they're real-time and niche-specific.

If no Supabase data is available, work entirely from the framework library. That is fine.

## Step 4: Write 5 variants

For each variant:

```
VARIANT [N]: [Pattern Name]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Framework: [the swappable mad-lib, e.g. "{Tool} just killed {Role}"]
Adapted hook: [the actual line for this topic]
Text overlay: [what appears on screen]
Visual: [what's on camera during the hook]
Enhancers used: [list which of the 5 enhancers this hook layers in]

Source: [creator name, framework file]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

Cover at least 4 different pattern types across the 5 variants. Don't ship 5 variants of the same pattern.

## Step 5: Voicing pass

Before delivering, check each adapted hook against:
1. Kallaway 3-step (compressed). Does it lean, interrupt, snap back?
2. Mute test. Would the visual stop the scroll on its own?
3. Staccato. Read it out loud. Does it have a heartbeat?

Fix any variant that fails. Don't deliver a weak one to fill the slot.

## Step 6: Deliver

Output the 5 variants. After delivery, ask:
- Which one do you want to record?
- Want me to also write the script body? (Hand off to /short-form-script-writer if it exists.)

## Guardrails

- **Never invent a source.** Every variant must trace to a framework file or a real database row. If you can't cite it, don't ship it.
- **Cross-niche frameworks get remixed, not copy-pasted.** "I gave $1M to a stranger" doesn't land for AI content. The pattern "{I gave {extreme thing} to {unlikely subject}}" remixed as "{I gave my entire job to a Claude agent}" does.
- **Prefer outlier score over similarity.** A 5x outlier from a slightly different topic beats a 1.2x outlier on the exact topic. Proven performance trumps topical closeness.
```

After you write SKILL.md, show it to me and let me review before continuing.

---

## Phase 5: Test the skill end-to-end

Once SKILL.md is approved, run a test.

Trigger the skill with a sample query: **"Write me 5 hooks for a video about using Claude Code to automate cold email outreach. Audience: founders who hate selling."**

Walk through the steps. Show me the output. If any variant fails the voicing pass, regenerate just that one.

Then ask me what to refine in the framework files based on the test output. Iteration here is the difference between a skill I'll use daily and one that sits in the folder unused.

---

## Notes for you (Claude)

- This skill becomes more powerful the more frameworks live in `frameworks/`. Treat it as a living library. Anytime I find a new hook breakdown video I want added, I'll tell you "add this to my hook frameworks" and you'll fetch the transcript, synthesize the patterns, and update the index.
- If I have a Supabase database of competitor content (from a separate scraping pipeline), wire the skill to query it. The skill should work with OR without that database. The framework library alone is enough to ship Day 1.
- The whole point of this skill is to never sit down to record and have to think of a hook from scratch. The hook is always already mined. I just press record.

Why building it yours matters

A copy-pasted skill from someone else's niche will give you copy-pasted-feeling hooks. The skill becomes valuable the moment you swap a creator out (add someone in your niche who teaches hooks well), tell it to scrap a framework that doesn't fit your audience, and feed it your own competitor data via Supabase. Within a couple of iterations it sounds like you, not me.

The Loop

How The Four Run Together

Each weapon is useful on its own. But the reason this stack feels different is what happens when they hand off to each other. Here's a normal Monday for me with all four wired up.

Step 1: Research

I run two or three Last 30 Days queries on topics I'm thinking about for the week. ("Claude Code skills shipped this month," "AI agents that actually work.") I get back briefs ranked by real engagement. I pick three threads to make videos about.

Step 2: Scrape

I tell Claude to run an Apify Instagram scrape on my 12 tracked accounts. Five minutes later, the latest 30 reels from each account are sitting in my Supabase posts table.

Step 3: Query

I ask Claude: "What hook patterns are over-indexing this week?" Claude runs SQL against the posts table and gives me three patterns that are pulling above-average views right now.

Step 4: Write

I run the hook-writer skill: "Write me 5 hooks for a video about Claude Code skills." The skill pulls library frameworks, layers in the pattern signal from my Supabase query, and gives me 5 variants with sources cited. I pick one. I press record.

Total time, end to end: about 20 minutes. What used to be hours of scrolling, second-guessing, and writing from blank-page-staring is now a four-step pipeline that runs largely on its own.

The output is hooks I would never have written cold, on topics I know are moving, with structure pulled from creators who've already won. That's the loop. That's why my following doubled.

Work with Me

Need AI to actually work for your business?

I help businesses cut through the AI hype and build the workflows, automations, and systems that actually move the needle. Direct, hands-on, no fluff.

Work with me