AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Novel Deconstruct

skill-qq-l-xx-novel-deconstruct-novel-deconstruct · by QQ-L-XX

拆书——对网络小说进行深度结构分析。输入番茄小说等平台的链接,自动抓取、解码、分析,输出七步骨架/冲突三层/人物弧光/对话技法/节奏控制等维度的拆书报告。触发词:拆书、拆解、分析这本小说、帮我看看这本书。

No reviews yet
0 installs
30 views
0.0% view→install

Install

$ agentstack add skill-qq-l-xx-novel-deconstruct-novel-deconstruct

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-qq-l-xx-novel-deconstruct-novel-deconstruct)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Novel Deconstruct? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Novel Deconstruct — 拆书技能

对网络小说进行系统性的写作技法分析。自动处理字体反爬、章节抓取、定量扫描、场景级深度拆解全流程。

检测流程

用户提供小说链接
├─ 番茄小说 (fanqienovel.com) → 字体解码 + API抓取
├─ 其他平台 → 通用网页抓取
└─ 用户直接粘贴文本 → 跳过抓取,直接分析

Step 1: 获取元数据

读取小说主页,提取:

  • 书名、作者、简介、题材标签、总字数、更新状态
  • 完整章节目录(含每章标题)
  • 章节总数 N

Step 2: 抓取正文

番茄小说

  1. 从主页 HTML (__INITIAL_STATE__ JSON) 提取 chapterListWithVolume
  2. 从 CSS 提取自定义字体 URL (woff2) → tools/decode_font.py 用 fontTools + ddddocr 建 PUA→汉字映射表
  3. 按采样策略批量请求 reader API (fanqienovel.com/reader/{itemId}),用映射表解码正文

采样策略

| 范围 | 策略 | 用途 | |------|------|------| | Ch 1-10 | 全文 | 开局分析(激励事件/人物引入/世界观建立) | | Ch 11-N | 每 N/8 章取1章 | 结构采样(幕转折/冲突升级/人物弧光) | | 最后10章 | 全文 | 结局分析(高潮/收束/主题落点) |

总计约 20-30 章。番茄免费章节通常仅前10章,后续章节可能需要登录 Cookie 或第三方镜像站。


Step 3: 定量扫描(必做,不可跳过)

对每章正文执行以下自动化扫描,输出数据表:

3.1 基础指标

| 指标 | 方法 | |------|------| | 字数 | len(re.sub(r'\s', '', body)) | | 段落数 | 按换行分割 | | 场景数 | 按空行/-//视角切换分割 | | 句均长 | 以 。!?;… 断句,取均值 | | 短句% | ≤15字的句子占比 | | 长句% | >25字的句子占比 | | 对话% | 含对话标记的段落占比 | | 了/段 | 「了」字总数 ÷ 段落数 |

3.2 疲劳词扫描(逐词计数,输出单章+总计)

按以下分类,使用 body.count(word) 逐词扫描:

| 类别 | 词表 | 阈值 | |------|------|------| | 副词 | 突然/忽然/猛然/竟然/居然/渐渐/逐渐/依旧/仍然/默默/微微 | 各≤3次/章 | | 动词模板 | 露出/陷入/涌起/泛起/浮现/充斥 | 各≤3次/章 | | 连接词 | 然而/不过/于是/随即/紧接着/与此同时 | 各≤4次/章 | | 身体模板 | 瞳孔一缩/身体一僵/倒吸一口凉气/呼吸一滞 | 各≤2次/章 | | 含混词 | 仿佛/宛如/好像/似乎 | 合计≤2次/500字 | | 「让」字 | 让/令/使 | 专项统计(指南禁止项) | | 「不是…而是…」 | 正则 不是.{0,20}而是 | ≤3次/章 |

3.3 情绪标签词扫描

搜索「悲伤/愤怒/恐惧/幸福/美丽/紧张/焦虑/难过/开心/害怕/兴奋/激动/失望/绝望」等词,区分对话中出现 vs 旁白中出现。旁白中出现即违规。

3.4 章标题风格聚类

将所有章节标题按风格分为五类:

  • 感官期:具象名词(食物名、动作、对话片段)
  • 事件期:情节节点(冲突、转折、新信息)
  • 状态期:心理/关系状态描述
  • 悬念期:省略号、对话片段、抽象概念
  • 收束期:短句、意象、情感落点

Step 4: 场景级深度拆解

前10章全文逐章逐场景执行以下分析:

4.1 每章输出

场景切分图(场景1/2/3…字数+POV+内容概要)
↓
关键段落逐段功能标注(激励事件/世界观渗透/人物引入/弧光推进/钩子)
↓
鸿沟检查(场景内人物期望 vs 世界实际反应)
↓
技法点评(冰山对话/以景写情/镜头感/倒叙/详略判断)
↓
章末钩子质量评估

4.2 场景切分规则

  • 空行、单独成段的 -//... = 场景边界
  • POV 人物切换 = 场景边界
  • 时间/空间跳跃 = 场景边界
  • 单场景章(如Ch4/Ch7)标记为情感高潮章

4.3 鸿沟检查方法

对每个场景回答三个问题:

  1. 人物的期望是什么?
  2. 世界实际给出了什么反应?
  3. 两者之间是否有裂缝(反应 ≠ 期望)?

无裂缝 → 标记「无效场景」。

4.4 冰山对话检查

摘录每章最核心的对话段落,检查:

  • 人物说出来的话(水上1/8)vs 真正的意图(水下7/8)
  • 是否通过回避/犹豫/沉默/过度否认来传递水下信息
  • 有没有人物直接说出自己的真实意图(= 违规)

Step 5: 逐章价值变化追踪

建立 10章 × 6维度 的变化矩阵:

| 维度 | 检查方法 | |------|---------| | 处境变化 | 人物外部处境的正↔负转换(安全↔危险/富有↔贫穷等) | | 关系变化 | 人物间关系的正↔负转换(亲近↔疏远/信任↔怀疑等) | | 认知变化 | 人物对世界/他人/自己的理解的正↔负转换 | | 情绪方向 | 本章主导情绪的起→落方向 | | 钩子类型 | 信息悬念/情感悬念/情境悬念/情感收束 | | 核心规律 | 每章是否至少一个维度发生可感知变化? |


Step 6: 结构层分析

6.1 七步骨架

对照 story-craft-reference.md,逐步骤标注在正文/章节目录中的对应位置。

6.2 激励事件

  • 定位精确章节/段落
  • 检查是否在故事前四分之一处
  • 验证双欲望设计(自觉+不自觉)
  • 检查是否发生在读者面前(非幕后)

6.3 幕结构切分

基于章节标题和内容转折点,将全书切分为 6-8 幕,每幕标注:

  • 起止章节 + 章节数
  • 核心冲突 + 转折节点
  • 对抗力量等级(对立面/矛盾体/反讽)

6.4 冲突三层缠绕验证

选取关键章节,验证三层冲突是否同时推进且互相缠绕。


Step 7: 输出报告

报告保存到 {用户桌面}/拆书_{书名}/ 或用户指定目录。

报告结构(18章标准模板)

一、作品档案
二、七步骨架分析
三、激励事件分析
四、鸿沟推进机制
五、冲突三层法则
六、对抗力量升级路径
七、叙事视角分析
八、对话分析(冰山对话 + 镜头感)
九、句式与文风分析
十、人物塑造分析(主角面具/真相/弧光 + 群像功能)
十一、节奏分析(节奏图 + 章末钩子检查)
十二、逐章定量扫描(基础指标表 + 疲劳词扫描 + 情绪标签词扫描)
十三、逐章逐场景深度拆解(Ch1-10,每章场景切分+功能标注+鸿沟检查+技法点评)
十四、逐章价值变化追踪(6维矩阵)
十五、八幕结构全景(基于全本章节标题)
十六、章标题风格演变(五阶段聚类)
十七、结构总评(优势 + 可改进)
十八、拆书结论(评分表 + 一句话总结)

评分维度

| 维度 | 满分 | |------|------| | 选题 | ★★★★★ | | 结构 | ★★★★★ | | 人物 | ★★★★★ | | 对话 | ★★★★★ | | 文笔 | ★★★★★ | | 世界观 | ★★★★★ | | 商业性 | ★★★★★ |


工具脚本

| 脚本 | 用途 | |------|------| | tools/decode_font.py | 番茄字体解码:下载woff2 → fontTools解析cmap → ddddocr OCR识别 → 输出映射JSON | | tools/fetch_novel.py | 批量章节抓取:读取章节列表 → 采样 → 逐章请求+解码 → 保存TXT |

依赖

pip install fonttools brotli Pillow ddddocr requests

分析参照

本技能分析时参照以下理论框架:

  • AI写作规范指南 V3.0(麦基《故事》+ 许荣哲《小说课》+ 布兰德《成为作家》)
  • awesome-novel-skill 的 story-craft-reference.md(七步骨架/三番四震/鸿沟机制/人物弧光等)
  • awesome-novel-skill 的 chapter-quality-checklist.md(15项验收标准)
  • awesome-novel-skill 的 common-rules.md(疲劳词阈值/句式规则/镜头感对话/以景写情/活人感)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.