Field notes

Stop saving reels. Teach them to your agent.

Everyone has a saved folder full of reels they will never open again. I stopped saving them. Now I forward each one to my AI agent, and it turns the method inside into a skill it can use on real work. Here is how the pipeline works, plus the exact skill file so you can run it yourself.

By Akshit Raja Trial & AI ~5 min read

My friends and clients keep sending me reels. Someone explaining an AI hack, or a prompt trick that supposedly saves hours. The information is often genuinely good, and for years my response was always the same: save it, feel productive, never look at it again. Instagram says I have hundreds of saved posts. I could not name five of them.

So I changed where they go. When someone sends me a reel now, I forward it to my AI agent on Telegram and get on with my day. The agent watches the whole thing, works out what the video is actually teaching, and writes it down as a skill. A reel sitting in a saved folder does nothing. The same reel handed to an agent becomes something it can do.

First, what a skill is

Quick gloss if you have not worked with AI agents. An agent is an AI that can do real tasks on your computer, not just chat about them. Mine handles my content pipeline, my ad reports, and a growing pile of other jobs (I wrote about that setup in how I run my personal AI agent). A skill is a small text file that teaches the agent one method: when to use it and the exact steps. The agent keeps a folder of these and checks it whenever a new task comes in.

Think of a recipe box. The agent flips through the cards before it starts cooking. This pipeline adds a new card every time someone sends me a reel.

What happens when I forward one

The whole thing runs without me. Watch one reel go through it:

your agent · video-to-skill
Instagram
Telegram
Claude
the reel-to-skill pipeline
1
A reel lands
someone sends a tutorial
2
Forward it
to your agent. Job done.
3
👀
It watches
caption · audio · frames
4
🧠
Extracts the method
steps, numbers, pitfalls
SKILL.md saved
ready for the next task
🚫
teaser with no method?
it says so and skips
1A friend sends you a reel. Some AI trick or a marketing formula.
One reel through the pipeline. Coral is the agent working; gold is the honesty check; green is a saved skill.

The step people underestimate is the frames. Half the tutorial reels out there have music instead of narration, and the actual steps are written on screen as text overlays. An agent that only transcribes audio hears silence and concludes there is nothing to learn. So mine pulls a frame every few seconds and reads those too. On-screen text is content.

The other detail I care about is honesty. A lot of reels are lead magnets: the caption says "comment GROWTH and I'll send it over" and the video is a teaser for something gated. The first time my agent hit one of these, it noted in its log that the caption was bait, checked whether the method was still visible in the video itself, found that it was, and captured it anyway. When there is genuinely nothing inside, it tells me so and skips. A skill library full of hollow files is worse than no library.

It also never duplicates. Before writing anything, the agent checks its existing skills. If one already covers the topic, it updates that file instead, and only when the new method beats what is already written. That rule is what makes the library compound. My saved folder was where reels went to die. Now every forwarded reel makes the agent slightly more capable.

The skill file

Here is the exact skill, cleaned up so it works outside my setup. If you use Claude Code, save it as ~/.claude/skills/video-to-skill/SKILL.md and it triggers whenever you paste a video link and ask for a skill. Any agent that reads markdown skills can run it. Just adjust the folder path to wherever yours keeps them.

⬇️ yt-dlp downloads the video 🎞️ ffmpeg extracts the frames 🎙️ whisper or captions for audio 🕷️ apify only for Instagram

Three tools do the heavy lifting: yt-dlp for downloading, ffmpeg for frames, and any transcription you have (yt-dlp can often pull the platform's own captions for free, otherwise a local Whisper model works). Instagram blocks direct downloads, so for reels the skill falls back to Apify, a service that runs web scrapers for you. Or skip all of that and forward the raw video file to your agent directly. That path works everywhere.

video-to-skill/SKILL.md
download raw
---
name: video-to-skill
description: Turn a tutorial video (Instagram reel, YouTube Short, TikTok) into a reusable skill. Use when the user sends a video link or forwards a video file and asks to capture the method it teaches. Download it, read the caption, transcribe the audio, read the frames, then write a SKILL.md for the method.
---

# Video to skill

The user sends tutorial videos and wants the METHOD captured as a skill you can both reuse later. Extract the technique being taught. Do not just describe the video.

## 1. Get the video and caption

Try yt-dlp first. It handles YouTube, TikTok, X, and most other platforms:

    yt-dlp -o video.mp4 "<url>"

Instagram usually blocks direct downloads. Fall back to a scraper there, for example the Apify `instagram-scraper` actor via MCP: pass the reel URL with `resultsType: "reels"`, then download the `videoUrl` it returns. That link is a short-lived signed CDN URL, so quote it in the shell and re-run the scrape if you get a 403.

If the user forwarded the video file itself, use that file directly. Their message text is the caption. Ask for the original link only if you want it for the Source line (optional).

## 2. Transcribe the audio

Use whatever transcription you have available, in this order of preference:

1. Platform captions: `yt-dlp --write-auto-subs --skip-download "<url>"`
2. A local Whisper model (openai-whisper or faster-whisper CLI)
3. A hosted Whisper API

Empty output usually means a music-only video. That is fine. The method is probably in the on-screen text, so lean on the caption and the frames.

## 3. Read the frames

    mkdir -p frames && ffmpeg -y -i video.mp4 -vf fps=1/3 frames/f_%02d.jpg

Read 4 to 8 frames. Look for on-screen text (often the real content), steps being shown, app or UI demos, and before/after comparisons. If the transcript says "look here" or "as you can see", grab a frame at that exact moment too:

    ffmpeg -y -ss <mm:ss> -i video.mp4 -frames:v 1 frames/cue.jpg

## 4. Extract the method

Combine caption + transcript + frames into the technique being taught:

- the core claim or principle
- the concrete steps, formula, or settings
- the specific numbers, examples, and phrasings used
- when it applies, and when it does not

Quality gate: many reels are lead magnets. The caption says "comment WORD and I'll send it over" and the video itself is a teaser. If the method is visible in the video anyway, capture it. If the video teaches nothing actionable (entertainment, a meme, a pure teaser), tell the user that instead of writing a hollow skill.

## 5. Write the skill

Create `~/.claude/skills/<topic-name>/SKILL.md`. Name it after the topic (`3-second-hooks`, `pricing-psychology`), never after "video" or "reel".

Check existing skills first. If one already covers this topic, update it only if the new method is better than what is already written, and note in the file what changed and why. Never write a duplicate.

- Frontmatter: `name`, plus a `description` that states when to use it.
- Body: the actionable playbook. Steps, examples, pitfalls.
- End with a `## Source` section: video URL, creator @username, date captured.
- Save the full transcript to `references/transcript.md` in the same folder.

## 6. Confirm

Tell the user the skill name and a 2-line summary of the method captured. Delete the downloaded video and frames afterwards.

## Failure modes

- Download blocked or private account: ask the user to forward the raw video file into the chat.
- Music-only audio: the caption and frames carry the method.
- Signed CDN link expired (403): re-run the scrape for a fresh one.

Send this to the reel-forwarder in your life

This post exists because people kept sending me reels and I kept losing them. If that sounds familiar, take the skill and point your agent at the next one that shows up in your chats. And if you would rather watch than read, I made a 46-second version of this on YouTube.

I build agents in public

I share what I am wiring up next, what breaks, and what actually saves me time. Get it in your inbox.