Guide · Agent skill
How to use the KrillinAI Subtitle Generator agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The krillinai-subtitle skill teaches an AI agent to run the KrillinAI command-line tool and produce subtitle files for a video. It is written for people who want translated or bilingual subtitles for their own videos, or for transcribing lecture recordings they have the right to process. By the end of this guide you will know what the skill does, how to install it, how to ask for subtitles in plain language, and what to check after a run.
Quick start
- 1Install the KrillinAI CLI. Make sure the KrillinAI CLI binary is installed and set KRILLINAI_CLI and KRILLINAI_CWD as described in the CLI contract.
- 2Download and unzip the skill. Download the krillinai-subtitle ZIP from this page and unzip it so SKILL.md sits in a krillinai-subtitle folder.
- 3Place the skill folder. Copy it to ~/.claude/skills/ for personal use or to .claude/skills/ in your project, or upload it under Settings → Capabilities → Skills.
- 4Configure the CLI. Read skills/krillinai-cli/references/cli-contract.md and add any API keys your AI and translation services need.
- 5Make a request. Ask the agent in plain language for subtitles, naming the video, source language, target language and output type.
- 6Verify the output. Confirm the terminal JSON has "ok": true, then open krillinai_manifest.json and check the listed SRT files.
What an agent skill is and what this one does
An agent skill is a folder containing a SKILL.md file. The file gives an AI agent instructions for one kind of task. This skill covers the subtitle stage of the KrillinAI workflow.
Given a YouTube, Bilibili, or local video, the agent first tries to download the platform's existing captions. If none exist, it falls back to speech transcription with Whisper. It can then produce translated subtitles, bilingual subtitles, and a short-form mixed subtitle file.
- Platform captions are used first when available (--caption-source any).
- Whisper transcription is used as the fallback, or forced with --caption-source whisper.
- Outputs include origin_language_srt.srt, target_language_srt.srt, bilingual_srt.srt and short_origin_mixed_srt.srt.
- The original video is kept when --prepare-video is requested, for later render stages.
What you need before installing
The skill only orchestrates the KrillinAI CLI. It cannot work alone, so the KrillinAI CLI binary must already be installed on your machine. The skill finds it through the KRILLINAI_CLI and KRILLINAI_CWD environment variables.
The CLI configuration is described in skills/krillinai-cli/references/cli-contract.md. That configuration may require API keys for AI and translation services; the skill file itself does not specify which keys. URL inputs need network access that yt-dlp can use.
- KrillinAI CLI binary, with KRILLINAI_CLI and KRILLINAI_CWD set
- The krillinai-cli reference file for configuration
- API keys for AI and translation services, if your CLI setup requires them
- Network access for YouTube, Bilibili or other yt-dlp supported links
- Whisper transcription capability, local or configured through the CLI
Install the skill from ZIP
Download the ZIP for krillinai/OpenCreator skills/krillinai-subtitle from this page and unzip it. The package contains a single file, SKILL.md.
For a personal install, place the folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder. Claude picks up the skill from these locations.
In the Claude apps, you can instead upload the skill under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/krillinai-subtitle/
- Project: .claude/skills/krillinai-subtitle/ inside your project
- Claude apps: Settings → Capabilities → Skills, then upload
Ask for subtitles in plain language
You do not need to name the skill or type a command. Describe the video and the result you want, for example a Chinese translation of an English YouTube video, with a bilingual file. The agent should match the request to this skill's description and then read the CLI contract before running anything.
Be specific about the source language, the target language, and whether you need bilingual or short-form output. If you have a local file, give its absolute path, since the skill accepts local:/abs/path/video.mp4 or a path the CLI accepts.
- "Make English subtitles for this YouTube link and translate them to Simplified Chinese as a bilingual SRT."
- "Transcribe this lecture at /abs/path/lecture.mp4 in Japanese and give me the origin-language SRT."
- "Create subtitles for this Bilibili video, and a short vertical mixed subtitle file."
The command the agent runs
The skill runs the KrillinAI subtitle command from the CLI working directory. Source and target language, the task directory, caption source, and the video-preparation flag are all set in the command. The agent substitutes your input and working directory.
- --origin-lang sets the source language, such as en, zh or ja.
- --target-lang sets the target language, such as zh_cn.
- --workdir sets a dedicated task directory.
- --caption-source any prefers platform captions; whisper forces transcription.
- --prepare-video requires the original video for later render stages.
- --bilingual-top=true puts the target language on top in bilingual SRT.
- --subtitle-style-file merges a JSON subtitle-style override.
- --dry-run validates the command without downloads or AI calls.
(cd "$KRILLINAI_CWD" && "$KRILLINAI_CLI" subtitle "<input>" \
--origin-lang en \
--target-lang zh_cn \
--workdir "$WORKDIR" \
--caption-source any \
--prepare-video)Check the results
A successful real run should print terminal JSON with "ok": true. The agent should then confirm that krillinai_manifest.json exists under the work directory and read output paths from it. A dry run does not write a manifest or output files, so it only proves the command shape is valid.
Spot-check the bilingual file for correct line ordering and the short mixed file for readability. If you asked for video preparation, the origin_video output should exist and be non-empty.
- Terminal JSON shows "ok": true
- krillinai_manifest.json exists in --workdir
- bilingual_srt.srt lines are in the expected order
- short_origin_mixed_srt.srt is readable
- origin_video.mp4 is non-empty when --prepare-video was requested
Safety notes: scripts and network
This skill runs scripts and uses the network. It fetches media from the internet via yt-dlp and may call external download and AI services. Only process videos you have permission to use. The skill is not suitable for a fully offline workflow.
Use a dedicated --workdir for each task so outputs and intermediate files stay together. Review the CLI configuration in the reference file before adding API keys.
- Use only videos you own or have permission to process.
- Expect network calls to download and AI services.
- Keep each task in its own work directory.
What people use it for
- Translating a creator's English YouTube video into Simplified Chinese with a bilingual SRT.
- Localizing a marketing video for another language audience using target-language and bilingual outputs.
- Transcribing a lecture recording you have rights to, using Whisper when no platform captions exist.
- Producing a short vertical mixed-language subtitle file from an existing local video.
Frequently asked questions
Do I need to install KrillinAI before this skill works?
Yes. The skill only orchestrates the KrillinAI CLI and cannot work alone. The CLI binary location is set through the KRILLINAI_CLI and KRILLINAI_CWD environment variables.
Is the krillinai-subtitle skill free, and what is its licence?
The skill is licensed under Apache-2.0. The source file does not state pricing for the KrillinAI CLI or for any AI or translation services it may call, so check those separately.
Where do I put the skill so Claude can use it?
Unzip it into ~/.claude/skills/ for personal use or into a project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.
Does it work offline?
No. The skill may call external download and AI services, and URL inputs need network access that yt-dlp can use. It is not meant for a fully offline workflow.
What happens if a YouTube video has no captions?
With --caption-source any, the agent uses platform captions first and falls back to Whisper transcription when none exist.
Can I use it on videos I do not own?
Only use it on videos you have permission to process. The skill fetches media from the internet via yt-dlp, so downloading or re-subtitling copyrighted material without permission is not an appropriate use.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
This skill suits creators, marketers and students who want translated, bilingual or short-form subtitles and already have the KrillinAI CLI set up. If you need an offline workflow, do not have the CLI, or cannot use the video legally, choose a different tool.
Download the skill