I post a reel, it gets 1,300 plays and 74 comments, and then I lose it. No transcript. No metrics snapshot. No record of what I said or how it performed. The Instagram app doesn't give you a searchable archive of your own content, and even if it did, it wouldn't give you the data in a form you can use.
I wanted every reel I post to land in my second brain as a structured markdown file: transcript, metrics, caption, date. And I wanted to pull other creators' reels the same way. I built two skills. Both work.
The Apify shortcut
My first instinct was to download the video and run Whisper locally. That works, but you still don't get metrics that way, and it's slow.
Apify's official Instagram Reel Scraper does everything in one API call. You pass it a reel URL or a creator handle, and it returns the caption, hashtags, view count, like count, comment count, share count, video duration, and a full audio transcript. The transcript is a paid add-on, billed per started minute of audio.
I ran it on one of my own reels to test. The reel was 43 seconds:
| Metric | Count |
|---|---|
| Views | 456 |
| Plays | 1,353 |
| Likes | 24 |
| Comments | 74 |
| Shares | 11 |
Total cost: $0.06. One call. The transcript came back clean.
The /ig-to-md skill
The Apify call is wrapped in a Claude Code skill called /ig-to-md. Two modes:
/ig-to-md https://www.instagram.com/reel/DXZVogqDLfh/
/ig-to-md @themattycartwright 10
The first pulls a single reel. The second pulls the N most recent reels from a creator. Each reel gets its own markdown file, named by date and a slug from the first few words of the caption or transcript.
No thumbnails. Instagram CDN links expire within 48 hours, so storing them is pointless.
The missing skills
Once I had the reel as a markdown file, the next step was sending it to raw/inbox/ in the brain vault, then running /second-brain-ingest to process it into wiki pages.
Except /second-brain-ingest didn't exist. Neither did /second-brain-query or /second-brain-lint. The setup skill (/second-brain) references all three in its docs, but they were missing from the installation.
The logic for all three operations was documented inside wiki-schema.md, a reference file bundled with the skill. Ingest, query, and lint are each written there as named operations with specific steps. What was missing were skill files that load the schema and trigger the right section.
I built all three. Each one checks that the working directory is a valid vault before doing anything.
Getting content into the vault
The last gap was a way to send content from a Claude session into the vault without leaving the session. I built /2brain for this.
It takes a file path, a URL, or the last file generated in the session. If the source isn't already markdown, it runs markitdown on it first. The output lands in raw/inbox/ at ~/Documents/brain/.
The full flow:
/ig-to-md @themattycartwright 10
/2brain
/second-brain-ingest
Ten reels, processed and ingested in three commands.
What's different about video sources
The ingest skill currently treats every source the same way. For a reel, the transcript is the primary content — the thing Claude should summarize and extract concepts from. For an article, the source text carries the weight.
The next piece is teaching the ingest skill to recognize source type from the file structure and adjust what it prioritizes. A reel file has a transcript section and a metrics table. An article has body prose. The wiki pages that come out should reflect that difference.
