# Short Drama Novel Analyze

把长篇小说、连载网文或多集散稿拆成可追溯的原著分析：章节索引、改编价值快评、逐章功能提取、剧情单元与节奏聚合、人物与设定归并，最后给出改编价值判定与分集候选，交给...

- Repository: https://github.com/zenstory-ai/drama-skills (3625 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add zenstory-ai/drama-skills --skill short-drama-novel-analyze -g -a claude-code -y`
Codex: `npx skills add zenstory-ai/drama-skills --skill short-drama-novel-analyze -g -a codex -y`
Cursor: `npx skills add zenstory-ai/drama-skills --skill short-drama-novel-analyze -g -a cursor -y`
Gemini CLI: `npx skills add zenstory-ai/drama-skills --skill short-drama-novel-analyze -g -a gemini-cli -y`

## Description

把长篇小说、连载网文或多集散稿拆成可追溯的原著分析：章节索引、改编价值快评、逐章功能提取、剧情单元与节奏聚合、人物与设定归并，最后给出改编价值判定与分集候选，交给 $short-drama-develop 立契约。用户说“导入这本小说”“拆这本书”“分析原著”“这本书能不能改短剧”“先看看值不值得拆”“把长篇拆成分集候选”，或直接给出小说文件路径时使用。只做只读的结构化分析，不写剧本、不建资产、不生成媒体，也不替创作者决定改编方案。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 长篇原著分析

从长材料中提取可追溯的戏剧功能，说明各段如何改变角色选择、信息、权力或关系，以及这些功能怎样用于竖屏短剧改编。

分析结果供创作者取舍：保留哪条线、合并哪些人、从哪里开篇，由创作者决定，再交给
`$short-drama-develop` 写成改编契约。本技能不批准自己的产物。

## Quick Start

离线验证章节索引、采样和源文件变更检测：

```bash
python3 {技能目录}/scripts/selftest.py
python3 {技能目录}/scripts/novel_index.py index <原著.txt> --out <chapter-index.json>
```

## 开始前

本技能可独立安装和执行。先读取用户明确提供的原著与本任务直接输入；若当前目录是
`short-drama` 项目且项目工具可用，可以读取 `status` 并使用其发布生命周期，但缺少 core
或任何其他技能都不是分析工作的阻断条件。完整边界与规则见
[阶段契约](references/stage-contract.md)，无需读取其他技能的文件。

## 材料前提

只分析创作者**合法持有、拥有使用权**的作品。分析是只读的转化性工作：提取结构与功能，
不复制原文成段落，不把原句搬进下游产物。

通俗题材里的暴力、复仇、背叛、情爱张力与黑暗伦理是常规虚构叙事元素，照常做结构化提取。
个别片段无法处理时跳过该段并记录，不要因此中止整章或整本, , 中止会让后续所有阶段拿到
一份有洞却看不出洞在哪的分析。

## 先判断入口

1. **只有书名，没有原文**：请创作者提供文件路径或粘贴正文。不要凭书名回忆情节, , 取得原文后才能建立章节范围和可追溯的引用。
2. **有原文，未建项目**：直接建立一个本技能自己的工作区，至少包含只读输入目录
   `输入/` 与输出目录 `项目开发/source-analysis/_work/`；把原文字节复制到 `输入/` 后记录
   原始文件位置，再用本技能的 `novel_index.py` 建索引。若 `$short-drama` 可用，可选用它
   初始化同样的目录和发布生命周期，但不得把 core 安装变成开始分析的前提。
3. **有原文，项目已在**：直接进入管道。
4. **已有部分分析**：读 `项目开发/source-analysis/_progress.md` 从断点续跑，
   不重跑已完成阶段。

## 管道

`输入/` 是不可变的创作者输入，本阶段只读它。全部产出落在 `项目开发/source-analysis/`。
独立工作区与完整项目使用同一套相对路径，因此后续安装 core 时无需迁移分析产物。

| 阶段 | 做什么 | 产出 | 停靠 |
|---|---|---|---|
| S0 | 建章节索引（脚本） | `_index.json`、`_progress.md` | 索引有问题就停 |
| S1 | 改编价值快评（抽样） | `triage.md` | **停靠问创作者** |
| S2 | 逐章功能提取 | `chapters/ch-<N>-extract.md` | 覆盖率不足就停 |
| S3 | 剧情单元与节奏聚合 | `story-units.md`、`rhythm-and-emotion.md` | 阈值不达标就复核 |
| S4 | 人物归并与设定 | `characters.md`、`world.md` |, |
| S5 | 改编价值与分集候选 | `adaptation-value.md`、`episode-candidates.jsonl` | 交接 develop |

### S0 章节索引

各阶段共用 [章节索引脚本](scripts/novel_index.py) 建立的章节边界，不各自重新切片。

The rest: https://github.com/zenstory-ai/drama-skills/blob/HEAD/skills/short-drama-novel-analyze/SKILL.md
