← All skills
instagram-reels
82 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By kortix-ai/CompanyOS (GitHub) · coding · 20,708 stars · scanned at commit be1a87d
Build and run an automated Instagram Reels pipeline on Kortix: topic and fact check, hook-first script, text-to-speech narration with word timestamps (ElevenLabs, or Sarvam Bulbul for Indian languages), AI images, a 1080x1920 render with animated captions inside Instagram's safe zones, machine QA plus frame review, and publishing through the Instagram connector (container -> poll -> publish) with duplicate protection. Use when a user wants to make Reels, post short vertical videos to Instagram …
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this. Expected for a coding skill.
Found in 17 places.
Show 14 more
- packages/starter/templates/marketplace/skills/instagram-reels/SKILL.md, line 92
python3 scripts/image.py "<brand style prefix>, <subject + composition>, vertical, subject centred, no text" work/shot-01.png --aspect 9:16 --quality medium - packages/starter/templates/marketplace/skills/instagram-reels/SKILL.md, line 101
python3 scripts/render_short.py work/render.json - packages/starter/templates/marketplace/skills/instagram-reels/SKILL.md, line 116
python3 scripts/qa.py out/reel.mp4 --max 90 --frames out/qa-frames - packages/starter/templates/marketplace/skills/instagram-reels/SKILL.md, line 131
python3 scripts/ig_publish.py reel --media out/reel.mp4 --caption-file out/caption.txt --cover out/cover.jpg \ - packages/starter/templates/marketplace/skills/instagram-reels/scripts/kx.py, line 5
r = subprocess.run(["kortix", *args, "--json"], capture_output=True, text=True, timeout=timeout) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/qa.py, line 9
r = subprocess.run(a, capture_output=True, text=True) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/qa.py, line 15
p = json.loads(subprocess.check_output(["ffprobe", "-v", "error", "-show_streams", "-show_format", "-of", "json", f])) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/qa.py, line 18
decode = subprocess.run(["ffmpeg", "-v", "error", "-i", f, "-f", "null", "-"], capture_output=True, text=True).stderr.strip() - packages/starter/templates/marketplace/skills/instagram-reels/scripts/qa.py, line 25
subprocess.run(["ffmpeg", "-v", "error", "-y", "-i", f, "-vf", "fps=1", f"{frames}/s%03d.png"], check=True) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/render_short.py, line 18
def run(*a): subprocess.run(a, check=True) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 33
return float(subprocess.check_output(["ffprobe", "-v", "error", "-show_entries", "format=duration", - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 49
subprocess.run(["ffmpeg", "-v", "error", "-y", "-f", "lavfi", "-i", "anullsrc=r=44100:cl=mono", - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 56
subprocess.run(["ffmpeg", "-v", "error", "-y", "-i", mp3, "-ar", "44100", "-ac", "1", wav], check=True) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 64
subprocess.run(["ffmpeg", "-v", "error", "-y", "-f", "concat", "-safe", "0", "-i", f"{out}/concat.txt",
Sends data to these websites: api.elevenlabs.io
This is disclosed by the author in the skill's SKILL.md or README.
Found in 8 places.
Show 5 more
- packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 10
import base64, json, os, re, subprocess, sys, urllib.request - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 13
req = urllib.request.Request( - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 18
return json.load(urllib.request.urlopen(req, timeout=120)) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 38
req = urllib.request.Request("https://api.elevenlabs.io/v1/voices", headers={"xi-api-key": os.environ["ELEVENLABS_API_KEY"], "User-Agent": "curl/8"}) - packages/starter/templates/marketplace/skills/instagram-reels/scripts/tts.py, line 39
for v in json.load(urllib.request.urlopen(req, timeout=60))["voices"]:
Can call paid AI services billed to you
The author does not mention this.
Found in 4 places.
Show 1 more
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'instagram-reels' ] || [ -L ~/.agents/skills/'instagram-reels' ]; then echo 'A skill folder named instagram-reels already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/kortix-ai/CompanyOS' "$d" && git -C "$d" checkout --quiet 'be1a87d15c955ff2663f81d6a512bba5ee7caf33' -- 'packages/starter/templates/marketplace/skills/instagram-reels' && mkdir -p ~/.agents/skills && cp -R "$d"/'packages/starter/templates/marketplace/skills/instagram-reels' ~/.agents/skills/'instagram-reels' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'instagram-reels' ~/.claude/skills/'instagram-reels' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for kortix-ai/CompanyOS shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/kortix-ai/CompanyOS/)
Score history
| Date | Version | Score |
|---|
| 2026-11-14 | be1a87d | 82 |
| 2026-11-10 | 43fc65a | 82 |