The best skill you'll install this month
It's 11pm on a Saturday and I have 47 tabs open.
Reddit. X. YouTube. Hacker News. Three of them are review videos I'm half-watching at 2x.
Two are Reddit threads I've already read but bookmarked again because I might quote them.
One is a YouTube comments section I scrolled into and forgot why. I have a Sunday newsletter due in 7 hours and I still don't have a single specific number, quote, or story that anyone hasn't already seen.
My wife walks in. "Why do you have so many tabs open."
I don't have a good answer.
That was almost every Saturday night for the last 18 months. Until I built the system I'm about to walk you through.
Now my Monday morning looks like this:
my computer pulls the last 30 days of Reddit, X, YouTube, Hacker News, TikTok, Instagram, Polymarket, Threads, Pinterest, Bluesky, and the open web on the topics I care about.
It scores everything by what real humans actually engaged with. Then it helps me turn each brief into a newsletter intro, a section for my other newsletter, 6 tweets, and 2 scripts for a YT video
One Monday morning. 20+ pieces of content. Zero tabs. ok, still some tabs, who am I kidding...
If that sounds like something you want, here is the exact build. Read time: roughly 10 minutes. Setup time after that: one afternoon, MAX.
This was killing me
The bottleneck was never writing. I can write. The bottleneck was knowing what to write ABOUT.
Every newsletter I write needs to be grounded in something real that actually happened this week.
Not a recycled blog post from October. idk, I just want to write it fresh.. Every tweet needs a specific number or a real quote.
Every sales call needs me to know what's hot in the potential clients industry RIGHT NOW.
You can't fake that. Nor do yu want to try... The only way to get it is to dig. Reddit. X. YouTube transcripts. HN threads. TikTok captions.
That's a lot of tabs.
Then I found /last30days. Thank you @coreyganim
What /last30days actually is
Open-source skill built by a guy named Mike Van Horn. Runs in Claude Code, which is the command-line version of Claude. (Different from the Claude desktop app. Stay with me here.)
You type a topic. The skill fires search agents.
Reddit comments scored by upvotes.
X posts scored by likes.
YouTube transcripts mined for the five quotable sentences in a 45-minute video.
HN by points.
TikTok captions.
GitHub releases.
Brave web search.
Perplexity.
Bluesky.
Threads.
Pinterest.
Instagram.
All of it. Scored by real engagement. Combined and merged across sources so the same story doesn't show up three times. THEN, aggregated into one clean HTML brief at the end.
The first time I ran it I closed most of my tabs... not all, but most
The source is at mvanhorn/last30days-skill on GitHub.
Step 1: Get Claude Code
This whole system runs in Claude Code. The terminal version of Claude.
If you've never used Terminal before, don't get scerrred. You're about to copy and paste like six things. That's all.
Open Terminal (Cmd+Space, type Terminal, hit Enter). Paste this:
curl -fsSL https://claude.ai/install.sh | bash
That installs the CLI. Then type:
claude
It'll open a chat session that looks weirdly similar to the Claude app, except it lives in your terminal. Log in with the Claude account you already have. If you've got Pro or Max, your usage runs against that. No new credit card.
That's the hardest step of the whole build and it just happened. You're 10% in.
Step 2: Install the skill
Inside Claude Code, paste this:
/plugin marketplace add mvanhorn/last30days-skill Then this:
/plugin install last30days@last30days-skill
Type /exit to quit. Open Terminal again. Type claude to relaunch. The skill is loaded.
If you skipped the restart and tried to run it without restarting, you'd get "Unknown skill: last30days" and assume the whole thing is broken. Restart it. Trust me. (I learned this one the hard way.)
Step 3: Wire up the sources
Out of the box, four sources work for free with zero setup: Reddit (with top comments), Hacker News, Polymarket, GitHub.
That's already maybe 60% of the value. If you just want to try it on free mode first, skip to Step 4.
For the full firehose (X, YouTube, TikTok, Instagram, Threads, Pinterest, Brave web search, Perplexity, Bluesky), you need a handful of API keys. None of them cost much. Most are free.
Sign up for these in browser tabs:
X / Twitter. Just log into x.com in your default browser. No key. The skill reads your browser session.
ScrapeCreators (scrapecreators.com). 10,000 free calls. One key unlocks TikTok, Instagram, Threads, Pinterest, and YouTube comments.
Brave Search (brave.com/search/api). 2,000 free queries a month.
OpenRouter (openrouter.ai). Pay-as-you-go, costs pennies. Unlocks Perplexity grounded web search.
Bluesky (bsky.app/settings/app-passwords). Free app password. The post-Twitter layer.
For YouTube transcripts you also need a tool called yt-dlp. Paste this in Terminal:
brew install yt-dlp
Then drop your API keys into your shell config. In Terminal: open -e ~/.zshrc
That opens a file called .zshrc in TextEdit. (You probably never knew this file existed. That's fine.) Paste this block at the bottom and fill in your actual keys between the empty quotes:
export SCRAPECREATORS_API_KEY=""
export BRAVE_API_KEY=""
export OPENROUTER_API_KEY=""
export BLUESKY_HANDLE="yourhandle.bsky.social"
export BLUESKY_APP_PASSWORD="" export
INCLUDE_SOURCES="tiktok,instagram,threads,pinterest,youtube_comments,tiktok_comments"
export LAST30DAYS_MEMORY_DIR="$HOME/Documents/Last30Days"
Save. Close TextEdit. Back in Terminal:
source ~/.zshrc
That reloads your config with all the keys live.
Restart Claude Code one more time so it picks up the new env vars. You now have access to 14 different sources, all wired up, all scored.
Step 4: Run your first brief
In Claude Code:
/last30days [your topic here] --emit=html
The --emit=html part tells the skill to save a self-contained styled HTML brief. Opens in any browser. Looks like a real magazine article. You can drop it in Slack, send it to a client, share it on Twitter. Whatever.
A run takes 5 to 10 minutes. You'll watch the agents do their thing Reddit. X. YouTube. TikTok. Brave. Perplexity. There will be red errors flying past. 429s. 403s. Don't STRESSS. Those are rate limits and paywalls. The skill handles them and keeps going.
The first time I ran it I picked "Claude Sonnet 4.6 release reactions" because it's a topic I cared about. Brief came back in 8 minutes. 7 reaction clusters. Sentiment breakdown. Real quotes from Cursor's co-founder, GitHub, Fireship, Rakuten. The complete timeline of Anthropic's April quality crisis. A comp table of Sonnet vs GPT-5.5 vs Gemini. 47 source links.
I sat there for a second.
Then I closed my tabs.
Step 5: This is legit stupid
A brief is great. But a brief sitting in a folder is just a PDF you'll forget about.
The real cool thing is what you do with it.
I take each brief into Cowork (the desktop/agent version of Claude). I've already got skills in there for: my newsletter voice, my tweet style, my AI Brief newsletter format, my video content engine, etc.
Each of those skills knows how to write in a specific voice and format.
So I bundled a new skill on top of all of them. I drag a brief in. I type /last30days. Five minutes later I have:
- A newsletter intro in my voice
- 6 tweets, three in my voice
- A full section for my AI Brief newsletter
- 3 short-form video hooks for IG, TikTok, and Shorts
- 2 short-form scripts
- I could go on and on...
One brief in. 20+ content assets out.
Is that overkill? Yes. Is it amazing? Also yes.
You can build your own version. Write out:
What you publish each week
The voice each thing is in
The format each thing follows
Save it as a markdown file called SKILL.md. Package it. Install it. Done. (I'm being slightly hand-wavy about the "package it" part because the specifics depend on which Claude product you're using, but the idea is real and it's not hard.)
If you only ever use Step 1 through Step 4, you've already saved yourself 4 hours a week. Step 5 is the part that turns a research tool into a content engine.
Step 6: Make it run itself
Once you've done it manually a few times, automate the trigger.
Cowork has a built-in scheduler. You set it to fire a message every Monday at 9am with your standing research topics pre-loaded as copy-paste commands. You run them in Claude Code while you make coffee. By 10am the briefs are sitting in your Documents folder. You shred them through lunch. You ship the rest of the week.
I have three schedules running:
Every Monday at 9am. 4 standing AI topics for my main content.
Every Wednesday at 9am. 5 topics for a short-form pipeline.
First Monday of every month at 9am. 7 vertical operator briefs (accounting, legal, home services, restaurants, healthcare, real estate, mid-market ops). Each one is potentially an issue of my AI Brief newsletter.
That's 16 briefs every month. Roughly 320 individually-scored pieces of source content per month. From the perspective of "what's happening in my world," I am ridiculously over-prepared. And I touch none of it manually anymore.
The whole thing runs while I'm at the gym or feeding my kids breakfast.
What people actually do with this
Three stories from my last 30 days. These are the use cases that sold me harder than anything else.
Before a podcast: 5 minutes of prep beats an hour of LinkedIn stalking
Before recommending a tool: I no longer guess
Now when a prospect mentions they're considering a tool, I run it.
The math
Old Sunday: tons of tabs, 4 hours, 2 weak pieces of content. Repeat next week.
New Monday: 1 hour of brief runs. 2 hours of shredding. 20+ pieces of content across every channel I publish on. All grounded in what real humans engaged with this month.
Final notes:
A handful of things I learned the hard way so you don't have to.