Edu Math Video
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a math problem (数学题, geometry, algebra, functions, motion/行程 problems), from a problem screenshot…
Create AI-narrated film/drama commentary videos via CLI. An agent skill from NarratorAI-Studio/narrator-ai-cli.
$ npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install NarratorAI-Studio/narrator-ai-cli narrator-ai-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/NarratorAI-Studio/narrator-ai-cli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills .claude/skills/narrator-ai-cli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "narrator-ai-cli" agent skill from https://github.com/NarratorAI-Studio/narrator-ai-cli/tree/main/.claude/skills into .claude/skills/narrator-ai-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrator-ai-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/NarratorAI-Studio/narrator-ai-cli/tree/main/.claude/skillsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install NarratorAI-Studio/narrator-ai-cli narrator-ai-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NarratorAI-Studio/narrator-ai-cli.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills .agents/skills/narrator-ai-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "narrator-ai-cli" agent skill from https://github.com/NarratorAI-Studio/narrator-ai-cli/tree/main/.claude/skills into .agents/skills/narrator-ai-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrator-ai-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install NarratorAI-Studio/narrator-ai-cli narrator-ai-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NarratorAI-Studio/narrator-ai-cli.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills .cursor/skills/narrator-ai-cli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "narrator-ai-cli" agent skill from https://github.com/NarratorAI-Studio/narrator-ai-cli/tree/main/.claude/skills into .cursor/skills/narrator-ai-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrator-ai-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/NarratorAI-Studio/narrator-ai-cli.git --path .claude/skills--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install NarratorAI-Studio/narrator-ai-cli narrator-ai-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NarratorAI-Studio/narrator-ai-cli.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills .gemini/skills/narrator-ai-cli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "narrator-ai-cli" agent skill from https://github.com/NarratorAI-Studio/narrator-ai-cli/tree/main/.claude/skills into .gemini/skills/narrator-ai-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrator-ai-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install NarratorAI-Studio/narrator-ai-cli narrator-ai-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/NarratorAI-Studio/narrator-ai-cli.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills .github/skills/narrator-ai-cli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "narrator-ai-cli" agent skill from https://github.com/NarratorAI-Studio/narrator-ai-cli/tree/main/.claude/skills into .github/skills/narrator-ai-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrator-ai-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install NarratorAI-Studio/narrator-ai-cli narrator-ai-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/NarratorAI-Studio/narrator-ai-cli.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills .opencode/skills/narrator-ai-cli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "narrator-ai-cli" agent skill from https://github.com/NarratorAI-Studio/narrator-ai-cli/tree/main/.claude/skills into .opencode/skills/narrator-ai-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "narrator-ai-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
narrator-ai-cliCreate AI-narrated film/drama commentary videos via CLI. An agent skill from NarratorAI-Studio/narrator-ai-cli.
Narrator AI CLI is an agent skill from NarratorAI-Studio/narrator-ai-cli. Create AI-narrated film/drama commentary videos via CLI. Two workflow paths (Original & Adapted narration), 93 movies, 146 BGM tracks, 63 dubbing voices in 11 languages, 90+ narration templates. Use when creating narration videos, film commentary, short drama dubbing, or video production.
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files.
It sits in Media & Creative, covering Text to speech and voice. It works with Python. The repository describes itself as: AI 解说大师 — CLI 客户端;用于终端调用视频解说生成 API. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2d8bb14. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
openapi.jieshuo.cnceex7z9m67.feishu.cnFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Narrator AI CLI loads about 3.7k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 735 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from NarratorAI-Studio/narrator-ai-cli at commit 2d8bb14, republished under its MIT licence (© NarratorAI-Studio). 735 words, ~3,742 tokens.
.claude/skills/narrator-ai-cli/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.You have access to narrator-ai-cli, a CLI tool for the Narrator AI video narration API.
Always use --json flag for all commands to get structured output you can parse.
The CLI must be configured before use. Check with:
narrator-ai-cli config showIf not configured, set up with:
narrator-ai-cli config set app_key <app_key>Server defaults to https://openapi.jieshuo.cn — no need to configure.
Need an app_key or help with setup? Contact us to get started:
--json for all commands. Parse the JSON output to extract values for next steps.narrator-ai-cli task query <task_id> --json until status is 2 (success) or 3 (failed).generate-writing's task_order_num (NOT clip-data's)fast-clip-data's task_order_numid and type — pass id as dubbing, pass type as dubbing_type. They are two separate fields.negative_oss_key to the same value as video_oss_key in episodes_data.Before starting any workflow, you need to help the user make the following choices. Present the options and let the user decide. Do NOT pick for them.
ASK: "请选择工作流路径:"
ASK: "解说风格:使用预置模板还是自定义学习?"
Option A: Pre-built template (recommended, 90+ templates across 12 genres)
narrator-ai-cli task narration-styles --json
# or filter: narrator-ai-cli task narration-styles --genre <genre> --jsonShow the list to user, let them pick one. The id field is the learning_model_id.
Option B: Custom learning (popular-learning task, Standard Path only)
Requires user to provide a reference video + SRT. The output learning_model_id is used in generate-writing.
ASK: "电影素材:使用预置素材还是自己上传的文件?"
Option A: Pre-built materials (93 movies ready to use)
narrator-ai-cli material list --json
# or search: narrator-ai-cli material list --search "<movie_name>" --json
# or filter: narrator-ai-cli material list --genre <genre> --jsonShow results to user. Each entry has video_id and srt_id.
video_id as video_oss_key AND negative_oss_keysrt_id as srt_oss_keyOption B: User's uploaded files
narrator-ai-cli file list --json
# or search: narrator-ai-cli file list --search "<keyword>" --json
# or transfer by link: narrator-ai-cli file transfer --link "<url>" --jsonUser picks video and SRT files from their cloud storage.
ASK: "背景音乐:使用预置BGM还是自己上传的音频?"
Option A: Pre-built BGM (146 tracks)
narrator-ai-cli bgm list --json
# or search: narrator-ai-cli bgm list --search "<keyword>" --jsonShow results to user. The id field is the bgm parameter value.
Option B: User's uploaded audio
narrator-ai-cli file list --jsonUser picks an audio file. Use its file_id as the bgm parameter.
ASK: "配音角色:请选择配音语言和角色"
# First show available languages
narrator-ai-cli dubbing languages --json
# Then list voices for chosen language
narrator-ai-cli dubbing list --lang <language> --json
# Or filter by genre recommendation
narrator-ai-cli dubbing list --tag <genre_tag> --jsonShow results to user. From the selected voice:
id field → pass as dubbing parametertype field → pass as dubbing_type parameterThere is no "custom upload" option for dubbing — always pick from the pre-built list.
(Users can create custom voices via voice-clone task separately.)
ASK: "是否需要应用视觉模板?(可选步骤)"
narrator-ai-cli task templates --jsonname field goes into template_name list.popular-learning(optional) -> generate-writing -> clip-data -> video-composing -> magic-video(optional)Based on Decision 2:
# Option A: Pre-built template (recommended)
narrator-ai-cli task narration-styles --json
# -> user picks one -> learning_model_id = selected item's "id"
# Option B: Custom learning
narrator-ai-cli task create popular-learning --json -d '{
"video_srt_path": "<srt_file_id from material or file list>",
"video_path": "<video_file_id from material or file list>"
}'
# Poll until done -> extract learning_model_id from results# 2a. Search movie info (for confirmed_movie_json / story_info)
narrator-ai-cli task search-movie "<movie_name>" --json
# Show 3 results to user, let them pick one
# 2b. Get source files (based on Decision 3)
# Option A: narrator-ai-cli material list --search "<movie_name>" --json
# Option B: narrator-ai-cli file list --json
# -> user picks video and SRT files
# 2c. Create task
narrator-ai-cli task create generate-writing --json -d '{
"learning_model_id": "<from step 1>",
"learning_srt": "",
"native_video": "",
"native_srt": "",
"playlet_name": "<movie_name>",
"playlet_num": "1",
"target_platform": "抖音",
"vendor_requirements": "",
"task_count": 1,
"target_character_name": "<ASK user for main character name>",
"story_info": "",
"episodes_data": [{"video_oss_key": "<video_id>", "srt_oss_key": "<srt_id>", "negative_oss_key": "<video_id>", "num": 1}]
}'
# Poll -> extract task_order_num and results.file_ids[0]# 3a. Get BGM (based on Decision 4)
# Option A: narrator-ai-cli bgm list --json -> user picks -> bgm = selected "id"
# Option B: narrator-ai-cli file list --json -> user picks audio -> bgm = selected "file_id"
# 3b. Get dubbing voice (Decision 5)
# narrator-ai-cli dubbing list --lang <lang> --json -> user picks
# -> dubbing = selected "id", dubbing_type = selected "type"
# 3c. Create task
narrator-ai-cli task create clip-data --json -d '{
"order_num": "<task_order_num from step 2>",
"bgm": "<from Decision 4>",
"dubbing": "<id from Decision 5>",
"dubbing_type": "<type from Decision 5>"
}'
# Poll -> extract results.file_ids[0]IMPORTANT: order_num is from step 2 (generate-writing), NOT step 3 (clip-data).
narrator-ai-cli task create video-composing --json -d '{
"order_num": "<task_order_num from step 2 (generate-writing)>",
"bgm": "<same bgm as step 3>",
"dubbing": "<same dubbing as step 3>",
"dubbing_type": "<same dubbing_type as step 3>"
}'
# Poll -> extract video URLs from resultsBased on Decision 6:
# List visual templates
narrator-ai-cli task templates --json
# -> user picks template name
# Apply template
narrator-ai-cli task create magic-video --json -d '{
"task_id": "<task_id from step 4>",
"template_name": ["<selected template name>"]
}'search-movie -> fast-writing -> fast-clip-data -> video-composing -> magic-video(optional)# Get narration style template (Decision 2)
narrator-ai-cli task narration-styles --json
# -> user picks one -> learning_model_id
# Search movie info (required for target_mode=1)
narrator-ai-cli task search-movie "<movie_name>" --json
# -> show 3 results, user picks one -> confirmed_movie_jsonASK user to choose a mode:
confirmed_movie_json from search-movie.episodes_data[{srt_oss_key, num}].episodes_data[{srt_oss_key, num}].# Mode 1 example (most common):
narrator-ai-cli task create fast-writing --json -d '{
"learning_model_id": "<from Decision 2>",
"target_mode": "1",
"playlet_name": "<movie_name>",
"model": "flash",
"language": "Chinese (中文)",
"perspective": "third_person",
"confirmed_movie_json": <user-selected search result>
}'
# Mode 2/3 example:
narrator-ai-cli task create fast-writing --json -d '{
"learning_model_id": "<from Decision 2>",
"target_mode": "2",
"playlet_name": "<movie_name>",
"episodes_data": [{"srt_oss_key": "<srt_file_id>", "num": 1}]
}'
# Poll -> extract task_id and results.file_ids[0]# 2a. Get BGM (Decision 4)
# Option A: narrator-ai-cli bgm list --json -> user picks
# Option B: narrator-ai-cli file list --json -> user picks audio
# 2b. Get dubbing voice (Decision 5)
# narrator-ai-cli dubbing list --lang <lang> --json -> user picks
# 2c. Get source files (Decision 3)
# Option A: narrator-ai-cli material list --search "<movie_name>" --json
# Option B: narrator-ai-cli file list --json
# 2d. Create task
narrator-ai-cli task create fast-clip-data --json -d '{
"task_id": "<task_id from step 1>",
"file_id": "<results.file_ids[0] from step 1>",
"bgm": "<from Decision 4>",
"dubbing": "<id from Decision 5>",
"dubbing_type": "<type from Decision 5>",
"episodes_data": [{"video_oss_key": "<video_id>", "srt_oss_key": "<srt_id>", "negative_oss_key": "<video_id>", "num": 1}]
}'
# Poll -> extract task_order_numIMPORTANT: In 原创文案 path, order_num comes from fast-clip-data's task_order_num.
narrator-ai-cli task create video-composing --json -d '{
"order_num": "<task_order_num from step 2 (fast-clip-data)>",
"bgm": "<same bgm as step 2>",
"dubbing": "<same dubbing as step 2>",
"dubbing_type": "<same dubbing_type as step 2>"
}'
# Poll -> extract video URLs from resultsBased on Decision 6:
narrator-ai-cli task templates --json
# -> user picks template
narrator-ai-cli task create magic-video --json -d '{
"task_id": "<task_id from step 3>",
"template_name": ["<selected template name>"]
}'# Voice Clone — clone a voice from audio sample
narrator-ai-cli task create voice-clone --json -d '{"audio_file_id": "<file_id from file list>"}'
# Text to Speech — convert text using cloned voice
narrator-ai-cli task create tts --json -d '{"voice_id": "<id>", "audio_text": "text"}'# Account
narrator-ai-cli user balance --json
# Tasks
narrator-ai-cli task list --json
narrator-ai-cli task list --status 2 --type 9 --json # filter: status 0-4, type 1-10
narrator-ai-cli task query <task_id> --json
narrator-ai-cli task budget --json -d '{...}' # estimate points
narrator-ai-cli task verify --json -d '{...}' # verify materials
# Writing management
narrator-ai-cli task get-writing --task-id <id> --file-id <id> --json
narrator-ai-cli task save-writing --json -d '{"task_id":"...", "file_id":"...", "content":[{"type":"解说","text":"..."}]}'
# Files (user's uploaded files)
narrator-ai-cli file list --json
narrator-ai-cli file list --search "<keyword>" --json
narrator-ai-cli file upload ./file.mp4 --json
narrator-ai-cli file transfer --link "<url>" --json # transfer by HTTP/Baidu/PikPak link
narrator-ai-cli file info <file_id> --json
narrator-ai-cli file download <file_id> --json
narrator-ai-cli file storage --json
narrator-ai-cli file delete <file_id> --json
# Pre-built Resources
narrator-ai-cli task narration-styles --json # 90+ narration style templates
narrator-ai-cli task narration-styles --genre <g> --json
narrator-ai-cli material list --json # 93 pre-built movies (video + SRT)
narrator-ai-cli material list --genre <g> --json
narrator-ai-cli material list --search "<name>" --json
narrator-ai-cli material genres --json
narrator-ai-cli bgm list --json # 146 pre-built BGM tracks
narrator-ai-cli bgm list --search "<name>" --json
narrator-ai-cli dubbing list --json # 63 pre-built dubbing voices
narrator-ai-cli dubbing list --lang <lang> --json
narrator-ai-cli dubbing list --tag <tag> --json
narrator-ai-cli dubbing languages --json
narrator-ai-cli dubbing tags --json
narrator-ai-cli task templates --json # visual templates (magic-video)
narrator-ai-cli task search-movie "<name>" --json # movie info search
# All pre-built resources can be previewed at:
# https://ceex7z9m67.feishu.cn/wiki/WLPnwBysairenFkZDbicZOfKnbc0 = init1 = in_progress2 = success (done, extract results)3 = failed (check error_message_slug)4 = cancelled10001 = failed (generic)10004 = invalid app key10009 = insufficient balance — notify the user:⚠️ 账户余额不足,请联系客服充值或获取 App Key:
📧 Email: merlinyang@gridltd.com10010 = task not found60000 = retryable error (retry the operation)© NarratorAI-Studio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills of NarratorAI-Studio/narrator-ai-cli.
Open the folder on GitHubat commit 2d8bb14
Narrator AI CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Narrator AI CLI this skillNarratorAI-Studio/narrator-ai-cli | 137 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Edu Math Videowy51ai/edulab | 1.4k | — | ~2.5k | Automated safety check: Notes | Apache-2.0 | |
| Book Video Factorybytec-ai/book-video-factory | 322 | — | ~1.4k | Automated safety check: Notes | None | |
| AI Text To Speechgodot-fun/gai | 182 | — | ~2k | Automated safety check: Pass | MIT | |
| Iflytek Voiceclone Ttsiflytek/iFly-Skills | 209 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| U2 TtsLeoYeAI/openclaw-master-skills | 2.2k | — | ~4.7k | Automated safety check: Notes | MIT |
wy51ai/edulab
A skill your agent uses when asked to make an explainer / walkthrough video (讲解视频、解题视频、例题精讲、微课) for a math problem (数学题, geometry, algebra, functions, motion/行程 problems), from a problem screenshot…
bytec-ai/book-video-factory
通用的多账号图书短视频生产工作流。用于用户希望建立图书号项目目录、配置账号级片头/声音/BGM/视觉规范,或只提供一本书后依次完成资料研究、口播稿、分镜、图片、配音、字幕、预览与成片导出。适用于新建工作区、批量管理多个账号、继续已有单书任务和检查生产状态;不绑定特定研究、图片、TTS、转录或视频渲染供应商。
godot-fun/gai
Zero-shot text-to-speech with voice cloning via IndexTTS2 (index-tts).
iflytek/iFly-Skills
A skill your agent uses when user asks to clone a voice, train a custom voice model, or synthesize speech with a cloned voice.
LeoYeAI/openclaw-master-skills
Text-to-speech conversion using UniSound's TTS WebSocket API for generating high-quality Chinese Mandarin audio from text.
harry0703/MoneyPrinterTurbo
Installs and runs MoneyPrinterTurbo to turn a topic or script into a finished short video with voice-over, subtitles, stock footage and music.
Works with
Categories
Create AI-narrated film/drama commentary videos via CLI. An agent skill from NarratorAI-Studio/narrator-ai-cli. Narrator AI CLI is an agent skill from NarratorAI-Studio/narrator-ai-cli. Create AI-narrated film/drama commentary videos via CLI.
Narrator AI CLI fits situations like: creating narration videos; film commentary; short drama dubbing; video production.
Run `npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a claude-code`. Or copy the skill folder (.claude/skills in NarratorAI-Studio/narrator-ai-cli) into .claude/skills/narrator-ai-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a codex`. Or copy the skill folder (.claude/skills in NarratorAI-Studio/narrator-ai-cli) into .agents/skills/narrator-ai-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NarratorAI-Studio/narrator-ai-cli --skill narrator-ai-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/narrator-ai-cli, .gemini/skills/narrator-ai-cli, .github/skills/narrator-ai-cli and .opencode/skills/narrator-ai-cli in your project.
SKILL.md names no scripts, command-line tools or credentials: Narrator AI CLI is instructions for the agent only. Our summary lists: A credential in NARRATOR_APP_KEY.
SKILL.md names 2 domains. In commands or code: openapi.jieshuo.cn and ceex7z9m67.feishu.cn; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Narrator AI CLI is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Narrator AI CLI: Edu Math Video (wy51ai/edulab, 1.4k stars), Book Video Factory (bytec-ai/book-video-factory, 322 stars), AI Text To Speech (godot-fun/gai, 182 stars) and Iflytek Voiceclone Tts (iflytek/iFly-Skills, 209 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
NarratorAI-Studio (a GitHub organization) maintains it in NarratorAI-Studio/narrator-ai-cli, which has 137 GitHub stars. The repository was last updated on July 27, 2026.
Source: NarratorAI-Studio/narrator-ai-cli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.