shuohao-skills
Five skills to turn a novel into a short drama: characters, adaptation outline, scenes and props, screenplay, storyboard
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Runs Node scripts and creates project files
- May call image generation through Codex
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/shuohao-skillsDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Assembled automatically, review before installing.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a claude-code -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .claude/skills
cp -R "$tmp/skills/novel-outline" .claude/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .claude/skills/novel-characters
cp -R "$tmp/skills/novel-art" .claude/skills/novel-art
cp -R "$tmp/skills/novel-script" .claude/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .claude/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a cursor -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .agents/skills
cp -R "$tmp/skills/novel-outline" .agents/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .agents/skills/novel-characters
cp -R "$tmp/skills/novel-art" .agents/skills/novel-art
cp -R "$tmp/skills/novel-script" .agents/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .agents/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a github-copilot -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .github/skills
cp -R "$tmp/skills/novel-outline" .github/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .github/skills/novel-characters
cp -R "$tmp/skills/novel-art" .github/skills/novel-art
cp -R "$tmp/skills/novel-script" .github/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .github/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a codex -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .agents/skills
cp -R "$tmp/skills/novel-outline" .agents/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .agents/skills/novel-characters
cp -R "$tmp/skills/novel-art" .agents/skills/novel-art
cp -R "$tmp/skills/novel-script" .agents/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .agents/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a gemini-cli -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .agents/skills
cp -R "$tmp/skills/novel-outline" .agents/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .agents/skills/novel-characters
cp -R "$tmp/skills/novel-art" .agents/skills/novel-art
cp -R "$tmp/skills/novel-script" .agents/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .agents/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .devin/skills
cp -R "$tmp/skills/novel-outline" .devin/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .devin/skills/novel-characters
cp -R "$tmp/skills/novel-art" .devin/skills/novel-art
cp -R "$tmp/skills/novel-script" .devin/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .devin/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Formerly Windsurf.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a cline -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .cline/skills
cp -R "$tmp/skills/novel-outline" .cline/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .cline/skills/novel-characters
cp -R "$tmp/skills/novel-art" .cline/skills/novel-art
cp -R "$tmp/skills/novel-script" .cline/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .cline/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a roo -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .roo/skills
cp -R "$tmp/skills/novel-outline" .roo/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .roo/skills/novel-characters
cp -R "$tmp/skills/novel-art" .roo/skills/novel-art
cp -R "$tmp/skills/novel-script" .roo/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .roo/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
A fork of Roo Code, same .roo folders.
Run in a terminal in the project folder
npx skills add eternityspring/shuohao-skills --skill novel-outline novel-characters novel-art novel-script novel-storyboard -a opencode -yThe skills tool installs the current version from the repository. Add the -g flag to use the skill in every project.
Without third-party tools, from commit ca1c30b
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .agents/skills
cp -R "$tmp/skills/novel-outline" .agents/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .agents/skills/novel-characters
cp -R "$tmp/skills/novel-art" .agents/skills/novel-art
cp -R "$tmp/skills/novel-script" .agents/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .agents/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .agents/skills
cp -R "$tmp/skills/novel-outline" .agents/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .agents/skills/novel-characters
cp -R "$tmp/skills/novel-art" .agents/skills/novel-art
cp -R "$tmp/skills/novel-script" .agents/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .agents/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Run in a terminal in the project folder
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/eternityspring/shuohao-skills.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skills/novel-outline/ /skills/novel-characters/ /skills/novel-art/ /skills/novel-script/ /skills/novel-storyboard/
git -C "$tmp" checkout ca1c30be78bde70fa84d3817453c71e0ef25b751
mkdir -p .agents/skills
cp -R "$tmp/skills/novel-outline" .agents/skills/novel-outline
cp -R "$tmp/skills/novel-characters" .agents/skills/novel-characters
cp -R "$tmp/skills/novel-art" .agents/skills/novel-art
cp -R "$tmp/skills/novel-script" .agents/skills/novel-script
cp -R "$tmp/skills/novel-storyboard" .agents/skills/novel-storyboardCommands for macOS and Linux, on Windows run them in Git Bash.
Clone the repository git clone https://github.com/eternityspring/shuohao-skills.git, enter the folder and run ./scripts/install.sh. The script detects Claude Code or Codex and symlinks all the skills.
Other ways from the author
git clone https://github.com/eternityspring/shuohao-skills.git
cd shuohao-skills
./scripts/install.shThe script detects Claude Code or Codex and symlinks all the skills. Flags: a skill name for one, --codex for Codex only, --uninstall to remove.
This is third-party code. Review the repository files before installing.
What it does
The set drives production of a short AI drama from a novel through five skills linked as a pipeline. novel-outline turns a novel into an adaptation plan: adaptation notes, a character table, a payoff table, per-episode synopses and an asset list. novel-characters builds a character set: portraits, image and voice prompts, reference sheets. novel-art assembles an art set of scenes and narrative props with consistency anchors and lighting variants. novel-script writes a scene-based screenplay with alternating action and dialogue, and lines grouped for voiceover. novel-storyboard produces a storyboard with hard segment-duration limits and generation prompts. Each skill checks its output with dozens of scripted quality gates, and the reports compose into a single html page. The scripts use only the Node standard library, with no npm dependencies and no API keys.
Who it is for. For creators of short AI dramas and video, screenwriters and artists working with generative pipelines.
Good fit when
- You need to turn a book into a short drama adaptation plan
- You need characters, scenes, props and prompts for image generation
- You need a scene-based screenplay and a storyboard with duration control
Not a fit when
- The task is not about short video or drama production
- You need finished footage rather than preparation materials and prompts
Example request
Turn this novel into a twenty-episode short drama adaptation planLimitations
Node 18 or newer is required; the scripts run without npm dependencies. The skills prepare materials and prompts but do not render video themselves. Image generation goes through the built-in imagegen in Codex; without it the image steps are skipped while the rest is still produced. The report interface defaults to Chinese, with an English variant enabled by the render --lang en flag. The storyboard prompts are tuned for a specific generation model.
How to disable. Run ./scripts/install.sh --uninstall to remove the symlinks, or delete the skill links from ~/.claude/skills/ and ~/.codex/skills/.
Security check
- Runs Node scripts and creates project files
- May call image generation through Codex
README in short
The README describes a short AI drama production pipeline of five skills: adaptation outline, characters, scene and prop art set, screenplay and storyboard. Each skill is self-contained in its own folder with a SKILL.md and can run on its own. The five stage reports compose into a single html page via an assembler script that does not touch the skills' code. Installation uses install.sh, which creates symlinks into the Claude Code or Codex directory, so a git pull applies without reinstalling. Node 18 or newer, no npm dependencies and no API keys. Apache-2.0 licensed.
SKILL.md
--- name: novel-outline version: 1.2.0 description: | 把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单, 产出 outline.json + Markdown + 单页评审报告(KPI 带、关键决策、爽点时间轴、调度矩阵、场景概览、质量门)。 14 道质量门全部由脚本确定性检查(角色分档上限、主场景上限随集数动态、爽点间隔≤3集、每集钩子悬念必填……),不靠模型自觉; 支持体检模式:贴一份现成大纲进来,只跑质量门给诊断。 零依赖、零 API key,用当前会话额度。 Use when asked to 改编大纲、短剧大纲、拆大纲、小说转短剧、adaptation outline。 allowed-tools: - Read - Write - Bash - Task - Glob runtimes: - claude-code - codex --- ## novel-outline 输入一本小说 + 目标参数,输出短剧改编大纲五件套。四件模型写、一件脚本算(资产清单从分集数据自动汇总)。
FAQ
Do I need an API key?
No. The skills run on the agent session quota, no API keys required, and the scripts use only the Node standard library.
Can I install just one skill?
Yes. Run ./scripts/install.sh with a skill name, for example ./scripts/install.sh novel-characters.
Related
Skills and CLI from HeyGen: the agent writes HTML compositions and renders them into MP4 videos, captions, motion graphics and decks
Blender MCP
MCP for Blender
An MCP server and Blender addon: the agent creates and edits objects, materials and scenes, pulls assets and runs Python in Blender
Official Remotion skills for making videos in React: compositions, animation, captions, maps and rendering
Agentic video studio for Claude Code, Cursor and Codex: script, voiceover, images, stock footage, music, subtitles and render