Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Zoen-DEV/repurpose-youtube-video/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through everything needed to get the skill running: cloning the repository into the location Claude Code expects, installing the Python packages that power extraction and image overlays, and wiring up your Blotato credentials so posts can actually be published.

Prerequisites

Before you begin, make sure you have the following:
  • Claude Code installed and running (official guide)
  • Python 3.9+ available in your PATH
  • A Blotato account on a plan that includes API access and visual generation
  • At least one LinkedIn or Instagram account connected in Blotato

Setup

1

Clone into your Claude Code skills folder

Claude Code automatically loads skills placed in ~/.claude/skills/. Clone the repository directly into that location:
git clone https://github.com/Zoen-DEV/repurpose-youtube-video.git ~/.claude/skills/repurpose-youtube-video
2

Install Python dependencies

Install the three required packages:
python -m pip install yt-dlp youtube-transcript-api Pillow
What each package does:
  • yt-dlp — extracts video metadata (title, description, tags, chapters, channel name) without requiring a YouTube API key.
  • youtube-transcript-api — fetches the video transcript, also without an API key. The skill uses the transcript to write faithful, data-accurate post copy.
  • Pillow — renders text overlays on the AI-generated images. LinkedIn posts get a hook overlay on a 4:5 image; Instagram posts get title or carousel overlays. If Pillow fails to import, the skill warns you and publishes the clean image without any overlay.
The Blotato HTTP client uses only Python’s built-in urllib — no additional HTTP library is needed.Custom fonts (optional): image_overlay.py resolves fonts in this order: the OVERLAY_FONT_PATH environment variable, then font.ttf / font-bold.ttf placed next to the script in the scripts/ directory, then common system fonts (Arial, Helvetica, DejaVu, Liberation), and finally a bitmap fallback. To use your own typeface, copy the .ttf file to ~/.claude/skills/repurpose-youtube-video/scripts/font-bold.ttf (and optionally font.ttf for regular weight), or set OVERLAY_FONT_PATH to the full path of your font file.
3

Configure Blotato credentials

Get your API key from https://my.blotato.com/settings/api, then copy the example .env file and fill it in:
cd ~/.claude/skills/repurpose-youtube-video
cp .env.example .env
nano .env
Your .env should look like this:
.env
BLOTATO_API_KEY=your_api_key_here
BLOTATO_LINKEDIN_ACCOUNT_ID=            # optional — leave blank first time
BLOTATO_INSTAGRAM_ACCOUNT_ID=           # optional — leave blank first time
FREEPIK_API_KEY=your_freepik_key_here   # optional — only needed for AI visuals
You can leave the account ID fields empty for now — the skill will look up your connected accounts on first run and tell you which IDs to add.Where to place the .env file: The credential loader (bc.load_config()) searches two locations in order:
  1. Current working directory (CWD) — the folder from which Claude Code was launched.
  2. Skill root~/.claude/skills/repurpose-youtube-video/.env as a fallback.
For most users, the simplest approach is option 2: put .env directly in the skill root. Clone the repo, fill in the file, done. If you manage multiple projects with different API keys or want to keep credentials strictly outside the cloned repository, create a separate workspace folder, place your .env there, and always launch Claude Code from that folder — it will take priority over the skill-root file.
4

Connect social accounts in Blotato

In the Blotato dashboard, go to your account settings and connect your LinkedIn and/or Instagram profiles.If you left BLOTATO_LINKEDIN_ACCOUNT_ID or BLOTATO_INSTAGRAM_ACCOUNT_ID blank in your .env, the skill will call the Blotato API on first run to list your connected accounts. If only one account is found for a platform, it is used automatically. If multiple accounts are connected, the skill prints the available IDs and asks you to add the correct one to .env before running again.
The .env file is listed in .gitignore, but always run git status before any git push to confirm it does not appear as a modified or new file. A leaked API key in a public commit is a serious security incident.

Build docs developers (and LLMs) love