Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ai-answer/contentrepurposesystem/short-formnpx skills add AI-Answer/ContentRepurposeSystem --skill short-formgit clone --depth 1 https://github.com/AI-Answer/ContentRepurposeSystemWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ai-answer/contentrepurposesystem/short-form)<a href="https://agentmods.dev/skills/ai-answer/contentrepurposesystem/short-form"><img src="https://agentmods.dev/badge/skills/ai-answer/contentrepurposesystem/short-form.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00094 | $0.01766 |
| Opus 5 | $0.00047 | $0.00883 |
| Sonnet 5 | $0.00019 | $0.00353 |
| Haiku 4.5 | $0.00009 | $0.00177 |
Grade A, and why
short-form scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 195 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Short-Form Repurposing Engine
Turn a long-form YouTube video into 3-5 short-form clips optimized for Reels, Shorts, and TikTok. Identifies the most clip-worthy moments, generates platform-specific hooks and captions, and provides timestamps for editing.
When This Skill Activates
Activate when the user wants to:
- Create Reels, Shorts, or TikTok clips from a YouTube video
- Repurpose long-form content into short-form
- Identify the best clips from a video
- Generate captions and hooks for short-form content
Example triggers:
- "Create shorts from my latest video"
- "Repurpose this for short-form"
- "What are the best clips from this video?"
/short-formor/short-form <youtube-url>
Pipeline
Step 1 — Get the Transcript
If the user provided a YouTube URL, use it.
If the user said "latest video", auto-detect:
yt-dlp --flat-playlist --playlist-end 1 --print url --print title "https://www.youtube.com/channel/YOUR_CHANNEL_ID/videos"
Confirm with user: "Found your latest video: [TITLE]. Pulling clips from this one."
Fetch transcript using these methods in order:
Method 1 — Apify:
node "${CLAUDE_PLUGIN_ROOT}/skills/content-cascade/scripts/fetch-transcript-apify.js" "<youtube-url>"
Method 2 — youtube-transcript:
node "${CLAUDE_PLUGIN_ROOT}/skills/content-cascade/scripts/fetch-transcript.js" "<youtube-url>"
Method 3 — yt-dlp subtitles:
yt-dlp --write-sub --sub-lang en-orig --skip-download --sub-format json3 -o "$TEMP/yt-transcript" "<youtube-url>"
Fall back to --write-auto-sub --sub-lang en if en-orig unavailable.
Parse json3:
node -e "
const fs = require('fs');
const path = require('path');
const dir = process.env.TEMP;
const file = fs.readdirSync(dir).find(f => f.startsWith('yt-transcript') && f.endsWith('.json3'));
if (!file) { console.error('No subtitle file found'); process.exit(1); }
const data = JSON.parse(fs.readFileSync(path.join(dir, file), 'utf8'));
const text = data.events.filter(e => e.segs).map(e => e.segs.map(s => s.utf8 || '').join('')).join(' ').replace(/\n/g, ' ').replace(/\\s+/g, ' ').trim();
console.log(text);
"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 195 lines · 94 tokens per session scan A 9e0f742cac04
short-form is a skill published in the GitHub repository AI-Answer/ContentRepurposeSystem (12 stars, last pushed 2mo ago), licensed MIT. It adds 94 tokens to every session and 1,766 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
wechat-article-writer
公众号/自媒体全流程。根据用户表述自动匹配:撰写文章、封面图、正文插图、风格提取。支持多种写作风格。当用户提到写公众号、技术博客、公众号封面、正文插图、步骤图、演示图、流程示意、分析写作风格、克隆文风、模仿爆款、提取风格时使用。详见 reference 目录。.
openstoryline-use
Use this skill when OpenStoryline is already installed and the user wants to start the local MCP/Web services, create or continue a session, send editing instructions, perform multi-turn re-editing, and verify rendered video outputs, as well as Chinese requests like “启动 OpenStoryline”, “把 OpenStoryline 跑起来”, “用…
gemini-watermark-remover
Remove visible Gemini image watermarks from local image files by calling the project's CLI. Use when the user wants an agent to clean one or more local Gemini-generated images and save de-watermarked output files.
ltx-director
Drive the LTX Director (Timeline) node. Its Add Image/Text/Audio buttons are DOM-only and cannot be clicked by an agent; edit the hidden timelinedata JSON widget instead. Load when a workflow contains LTXDirector / LTXDirectorGuide / PromptRelayEncodeTimeline, or when asked to add, move, retime, or remove timeline…
wan-multitalk
Build WAN MultiTalk audio-driven talking-avatar / lip-sync video workflows. MeiGen-AI MultiTalk on WAN 2.1 14B I2V via kijai WanVideoWrapper (portrait + audio → lip-synced video).
baocut
BaoCut-only operator for the installed bcut CLI and .bcut projects. Implicitly trigger only when the request explicitly names BaoCut or bcut, targets a .bcut project or BaoCut Subtitle Studio, or continues a BaoCut workflow already established in the conversation. Do not trigger solely for generic audio or video…