Some of my AI tools need to run on the Mac mini as well as my desktop, because a button on a web page has to be able to start them. This repo is the home for those: one self-contained folder per skill, linked into Claude Code on whichever machine it's installed on.
The skills
| Skill | What it does |
|---|---|
ytindex | Turns a YouTube video into a searchable, timestamped transcript plus its metadata and comments. Questions about the video are answered with links straight to the right moment (&t=). Uses captions when a video has them, and local Whisper when it doesn't. |
vidblog | The worker behind the ๐ button on home. It indexes a queued video, has Claude write a readable post from the transcript, and files it back to the page. |
Design choices
- Claude runs headless with no tools at all for vidblog. The transcript goes in on stdin, and the post comes back as JSON checked against a schema. The model can't touch the machine, and a stray quote can't break the output.
- Data never goes in the repo. Each skill keeps its data in a folder beside the checkout, so the server's auto-deploy always sees a clean working tree.
- One worker at a time with a lock that can't go stale: a lock older than the longest possible run is cleared. The page rebuild every 15 minutes restarts any job a reboot interrupted.
- Data flows back nightly. A timer copies videos indexed on the server into my desktop's library, adding only, never deleting.