eternityspring

Im Registry indexiert

novel-outline

把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单, 产出 outline.json + Markdown + 单页评审报告(KPI 带、关键决策、爽点时间轴、调度矩阵、场景概览、质量门)。 14 道质量门全部由脚本确定性检查(角色分档上限、主场景上限随集数动态、爽点间隔≤3集、每集钩子悬念必填……),不靠模型自觉; 支持体检模式:贴一份现成大纲进来,只跑质量门给诊断。 零依赖、零 API key,用当前会话额度。 Use when asked to 改编大纲、短剧大纲、拆大纲、小说转短剧、adaptation outline。

Quelle prüfenAuf GitHub ansehen
Preis unbestätigt★ 2,567 GitHub-StarsVerzeichnis aktualisiert · 26. Sept. 2026agent-skill

Übersicht

把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单, 产出 outline.json + Markdown + 单页评审报告(KPI 带、关键决策、爽点时间轴、调度矩阵、场景概览、质量门)。 14 道质量门全部由脚本确定性检查(角色分档上限、主场景上限随集数动态、爽点间隔≤3集、每集钩子悬念必填……),不靠模型自觉; 支持体检模式:贴一份现成大纲进来,只跑质量门给诊断。 零依赖、零 API key,用当前会话额度。 Use when asked to 改编大纲、短剧大纲、拆大纲、小说转短剧、adaptation outline。

Vollständige Dokumentation lesen

Quelldokumentation, keine Anweisungen für diese Website. Vor dem Ausführen von Befehlen die Berechtigungen prüfen.

novel-outline

输入一本小说 + 目标参数,输出短剧改编大纲五件套。四件模型写、一件脚本算(资产清单从分集数据自动汇总)。

{baseDir} = 本文件所在目录。脚本 {baseDir}/scripts/novel-outline.mjs,零依赖,node 直接跑。

边界(不做的事):不写剧本台词、不做分镜、不出图像/TTS 提示词。梗概是叙述体,出现引号对白就是越界——validate 会拦。想从小说拆角色设定(画像/形象提示词/设定图),那是 novel-characters 的活。


Step 0 — 收参数 ⛔ 缺了不开工

一次问完,别轮流盘问。两件必问 + 两件给默认值待确认:

参数处理
总集数 × 单集时长必问,没有合理默认
题材必问,决定爽点类型,猜错整份废
改编幅度默认抽核(忠实 / 抽核 / 借壳),告知即可
已有偏好默认无(想保哪个角色、哪场戏)

平台阈值不同可以带上 params.thresholds 覆盖(默认:主角组 ≤ 5、重要配角 ≤ 10、功能性角色 ≤ 10、爽点间隔 ≤ 3 集)。主场景上限不用配,随集数自动算:4 + ⌈集数/10⌉,夹在 5–15(60 集 → 10)。这是 AI 短剧的数——场景是生成的没有搭景钱,放宽换观赏性;显式给 maxPrimaryScenes 才覆盖。短篇(20–30 集)建议收紧角色档的阈值,默认值是按 60 集以上给的。

人物表从原文拆——大纲是角色设定的上游,characters 块定下的分档、人物线与来源,下游 novel-characters 直接拿去当角色清单,不用再判断一遍谁重要。

例外是用户手上已经有 cast.json(此前单独跑过 novel-characters):那就拿来当人物原料,角色、别名、关系都是现成的,不用重拆原文。分档按 importance 反向映射:protagonist/major → lead,supporting → support,minor → functional。

Step 1 — 定位输入

材料优先级,写死:

  1. 用户点名的精读章节
  2. 章节目录 + 简介
  3. 全文分卷摘要(Step 2)

禁止凭书名脑补内容——一切判断基于给到的文本。落地手段:adaptation.keep 的关键取舍要附 evidence(原文逐字片段)。

直接粘正文的先落成 .txt。输出目录:用户指定就用,没指定用原书同级目录。

Step 2 — 分卷摘要(长文本才需要)

这一步是脚手架,不是交付物——分卷摘要是给没读过原文的模型压缩用的。两种情况直接跳到 Step 3:

  • 短篇,单卷装得下
  • 当前会话已经通读过原文——不用再压缩一遍,也不用事后补档

长篇且没读过原文:

node {baseDir}/scripts/novel-outline.mjs chunk <book.txt> <workdir>

按章节标题分卷(默认每卷 15 章,--per-volume 可调),识别不出章节就按字数切。打印 {"volumes": N, ...};truncated: true 就明确告诉用户尾部没扫到,别闷着。

每卷一个子代理(支持并发就同一条消息里全部发出):读 {baseDir}/references/volume-pass.md,读 <workdir>/vol-NN.txt,把卷摘要写到 <workdir>/summary-NN.json,只回一句「done NN」。

Step 3 — 快版骨架 → 用户拍板 ⛔

读 {baseDir}/references/outline-pass.md 和 {baseDir}/references/schema.md,照着做。产出骨架四块(adaptation / characters / scenes / beats),写成 <workdir>/outline.json。

node {baseDir}/scripts/novel-outline.mjs validate <workdir>/outline.json --stage beats

过了 beats 档,把三件事摆给用户拍板:砍了哪条线、合了哪些人、大爆点落在第几集。不点头不进 Step 4——快版错了只损失一轮骨架,分集写完才发现方向错,全废。

Step 4 — 细版骨架

吸收用户意见改骨架,再过一次 validate --stage beats。用户没意见就直接进 Step 5。

Step 5 — 分集梗概(分批)

每批 ≤ 10 集,能并发就并发。每个子代理拿到:拍板后的骨架四块、自己负责的集数区间、区间内的爽点,读 {baseDir}/references/episode-pass.md 照着写,产出写到 <workdir>/eps-NN.json。

合并时按 ep 排序拼进 outline.json 的 episodes。

Step 6 — 校验 ⛔ 不能跳

node {baseDir}/scripts/novel-outline.mjs validate <输出目录>/<书名>-outline.json

14 道质量门全部是代码,不是给你读的清单:主角组 1–5 人、重要配角 ≤ 10、功能性角色 ≤ 10、主场景不超上限(随集数动态,60 集 → 10)、叙事道具 ≤ 8 件、一次性场景有规避方案、爽点间隔 ≤ 3 集无真空、第 1 集有钩子、大爆点不压最后一集、每集三栏齐全、三人同框有拆解、生成难点进预警、引用完整无失业角色无空转场景无零集道具、叙述体无对白。

有违规逐条修,改完重跑,直到通过。

Step 7 — 输出与汇报

cd <输出目录>
node {baseDir}/scripts/novel-outline.mjs render <书名>-outline.json --md   > <书名>-outline.md
node {baseDir}/scripts/novel-outline.mjs render <书名>-outline.json --html > outline-report.html

报告界面默认中文;用户要英文界面就加 --lang en(或在 outline.json 顶层写 lang 字段,--lang 优先)。只翻译界面文案,数据内容(爽点类型、梗概、质量门文案)原样出。

report 里自带:KPI 带、关键决策(拍板三件事,大爆点列表和角色位统计自动算)、爽点时间轴(空档标在轴上,超阈值变红)、每集调度矩阵、场景概览卡、资产量折算、质量门(✓/✗ 烘进页面,未过弹病灶横幅)、导出 JSON 按钮(下载的就是 outline.json 原样)。

汇报一句话说清:几集、几个角色几个场景、爽点分布、报告路径;被截断或有没过的门要明说。

最终落地:

<输出目录>/
├── <书名>-outline.json
├── <书名>-outline.md
└── outline-report.html            ← 双击就能开

体检模式

用户贴一份已有大纲只想要诊断:转成 outline.json(缺的字段问用户或标注缺失),然后:

node {baseDir}/scripts/novel-outline.mjs checkup <outline.json>   # 终端 ✓/✗
node {baseDir}/scripts/novel-outline.mjs render <outline.json> --html > outline-report.html

质量门面板就是诊断书。未过的门不阻止渲染——要的就是把病灶摆出来看。

联动更新

用户改了上游就跑一次 validate,报错会点名下游哪里断了:合并人物后哪些集还引用着被删的 ID、砍场景后哪些集空转、爽点挪动后哪里出现真空区。不要靠记忆提示联动,靠校验器。

边界

  • 单次上限 60 卷(每卷 15 章约 900 章)。超了明确报 truncated,不静默截断
  • 阈值是参数不是圣旨:平台不同就用 params.thresholds 覆盖,别改代码
  • 报告界面内置中英(--lang,默认中文、或跟 outline.json 的 lang 字段):界面文案与质量门标签翻译,数据内容(爽点类型、梗概、人名)与门的失败详情保持原文
  • 五件套的第五件(资产清单)永远是算出来的,模型手写必漏

自测

node {baseDir}/scripts/selftest.mjs

249 项断言,不调模型、不花额度。14 道质量门每一道都有击穿用例——证明它真的会拦。改完脚本先跑这个。

自带样例

{baseDir}/examples/渡口-outline.json:把短故事《渡口》(novel-characters 的自带样例)改编成 6 集 × 2 分钟的微型大纲,四角色三场景四爽点,全部质量门通过。当质量基准,也是自测夹具。

Dateimetadaten
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
triggers:
  - novel-outline
  - 改编大纲
  - 短剧大纲
  - 拆大纲
  - 小说转短剧
  - 大纲体检
  - adaptation outline
metadata:
  license: Apache-2.0
  requires:
    bins:
      - node          # >= 18,只用标准库,无 npm 依赖
  runtimes:
    - claude-code
    - codex
Originaltext anzeigen
---
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
triggers:
  - novel-outline
  - 改编大纲
  - 短剧大纲
  - 拆大纲
  - 小说转短剧
  - 大纲体检
  - adaptation outline
metadata:
  license: Apache-2.0
  requires:
    bins:
      - node          # >= 18,只用标准库,无 npm 依赖
  runtimes:
    - claude-code
    - codex
---

## novel-outline

输入一本小说 + 目标参数,输出短剧改编大纲五件套。**四件模型写、一件脚本算**(资产清单从分集数据自动汇总)。

`{baseDir}` = 本文件所在目录。脚本 `{baseDir}/scripts/novel-outline.mjs`,零依赖,`node` 直接跑。

**边界(不做的事)**:不写剧本台词、不做分镜、不出图像/TTS 提示词。梗概是叙述体,出现引号对白就是越界——`validate` 会拦。想从小说拆角色设定(画像/形象提示词/设定图),那是 `novel-characters` 的活。

---

### Step 0 — 收参数 ⛔ 缺了不开工

一次问完,别轮流盘问。两件必问 + 两件给默认值待确认:

| 参数 | 处理 |
| --- | --- |
| **总集数 × 单集时长** | **必问**,没有合理默认 |
| **题材** | **必问**,决定爽点类型,猜错整份废 |
| 改编幅度 | 默认**抽核**(忠实 / 抽核 / 借壳),告知即可 |
| 已有偏好 | 默认无(想保哪个角色、哪场戏) |

平台阈值不同可以带上 `params.thresholds` 覆盖(默认:主角组 ≤ 5、重要配角 ≤ 10、功能性角色 ≤ 10、爽点间隔 ≤ 3 集)。**主场景上限不用配,随集数自动算**:4 + ⌈集数/10⌉,夹在 5–15(60 集 → 10)。这是 AI 短剧的数——场景是生成的没有搭景钱,放宽换观赏性;显式给 `maxPrimaryScenes` 才覆盖。**短篇(20–30 集)建议收紧角色档的阈值**,默认值是按 60 集以上给的。

**人物表从原文拆**——大纲是角色设定的上游,`characters` 块定下的分档、人物线与来源,下游 `novel-characters` 直接拿去当角色清单,不用再判断一遍谁重要。

例外是用户手上已经有 `cast.json`(此前单独跑过 `novel-characters`):那就拿来当人物原料,角色、别名、关系都是现成的,不用重拆原文。分档按 `importance` 反向映射:protagonist/major → `lead`,supporting → `support`,minor → `functional`。

### Step 1 — 定位输入

材料优先级,写死:

1. 用户点名的**精读章节**
2. **章节目录 + 简介**
3. 全文**分卷摘要**(Step 2)

**禁止凭书名脑补内容**——一切判断基于给到的文本。落地手段:`adaptation.keep` 的关键取舍要附 `evidence`(原文逐字片段)。

直接粘正文的先落成 .txt。输出目录:用户指定就用,没指定用原书同级目录。

### Step 2 — 分卷摘要(长文本才需要)

**这一步是脚手架,不是交付物**——分卷摘要是给没读过原文的模型压缩用的。两种情况直接跳到 Step 3:

- 短篇,单卷装得下
- **当前会话已经通读过原文**——不用再压缩一遍,也不用事后补档

长篇且没读过原文:

```bash
node {baseDir}/scripts/novel-outline.mjs chunk <book.txt> <workdir>
```

按章节标题分卷(默认每卷 15 章,`--per-volume` 可调),识别不出章节就按字数切。打印 `{"volumes": N, ...}`;`truncated: true` 就明确告诉用户尾部没扫到,别闷着。

每卷一个子代理(支持并发就**同一条消息里全部发出**):读 `{baseDir}/references/volume-pass.md`,读 `<workdir>/vol-NN.txt`,把卷摘要写到 `<workdir>/summary-NN.json`,只回一句「done NN」。

### Step 3 — 快版骨架 → 用户拍板 ⛔

读 `{baseDir}/references/outline-pass.md` 和 `{baseDir}/references/schema.md`,照着做。产出骨架四块(adaptation / characters / scenes / beats),写成 `<workdir>/outline.json`。

```bash
node {baseDir}/scripts/novel-outline.mjs validate <workdir>/outline.json --stage beats
```

过了 beats 档,**把三件事摆给用户拍板:砍了哪条线、合了哪些人、大爆点落在第几集**。不点头不进 Step 4——快版错了只损失一轮骨架,分集写完才发现方向错,全废。

### Step 4 — 细版骨架

吸收用户意见改骨架,再过一次 `validate --stage beats`。用户没意见就直接进 Step 5。

### Step 5 — 分集梗概(分批)

**每批 ≤ 10 集**,能并发就并发。每个子代理拿到:拍板后的骨架四块、自己负责的集数区间、区间内的爽点,读 `{baseDir}/references/episode-pass.md` 照着写,产出写到 `<workdir>/eps-NN.json`。

合并时按 ep 排序拼进 outline.json 的 `episodes`。

### Step 6 — 校验 ⛔ 不能跳

```bash
node {baseDir}/scripts/novel-outline.mjs validate <输出目录>/<书名>-outline.json
```

14 道质量门全部是代码,不是给你读的清单:主角组 1–5 人、重要配角 ≤ 10、功能性角色 ≤ 10、主场景不超上限(随集数动态,60 集 → 10)、叙事道具 ≤ 8 件、一次性场景有规避方案、爽点间隔 ≤ 3 集无真空、第 1 集有钩子、大爆点不压最后一集、每集三栏齐全、三人同框有拆解、生成难点进预警、引用完整无失业角色无空转场景无零集道具、叙述体无对白。

**有违规逐条修,改完重跑,直到通过。**

### Step 7 — 输出与汇报

```bash
cd <输出目录>
node {baseDir}/scripts/novel-outline.mjs render <书名>-outline.json --md   > <书名>-outline.md
node {baseDir}/scripts/novel-outline.mjs render <书名>-outline.json --html > outline-report.html
```

报告界面默认中文;用户要英文界面就加 `--lang en`(或在 outline.json 顶层写 `lang` 字段,`--lang` 优先)。只翻译界面文案,数据内容(爽点类型、梗概、质量门文案)原样出。

report 里自带:KPI 带、关键决策(拍板三件事,大爆点列表和角色位统计自动算)、爽点时间轴(空档标在轴上,超阈值变红)、每集调度矩阵、场景概览卡、资产量折算、质量门(✓/✗ 烘进页面,未过弹病灶横幅)、导出 JSON 按钮(下载的就是 outline.json 原样)。

汇报一句话说清:几集、几个角色几个场景、爽点分布、报告路径;被截断或有没过的门要明说。

最终落地:

```
<输出目录>/
├── <书名>-outline.json
├── <书名>-outline.md
└── outline-report.html            ← 双击就能开
```

---

## 体检模式

用户贴一份**已有大纲**只想要诊断:转成 outline.json(缺的字段问用户或标注缺失),然后:

```bash
node {baseDir}/scripts/novel-outline.mjs checkup <outline.json>   # 终端 ✓/✗
node {baseDir}/scripts/novel-outline.mjs render <outline.json> --html > outline-report.html
```

质量门面板就是诊断书。未过的门不阻止渲染——要的就是把病灶摆出来看。

## 联动更新

用户改了上游就跑一次 `validate`,报错会点名下游哪里断了:合并人物后哪些集还引用着被删的 ID、砍场景后哪些集空转、爽点挪动后哪里出现真空区。**不要靠记忆提示联动,靠校验器。**

## 边界

- 单次上限 60 卷(每卷 15 章约 900 章)。超了明确报 `truncated`,不静默截断
- 阈值是参数不是圣旨:平台不同就用 `params.thresholds` 覆盖,别改代码
- 报告界面内置中英(`--lang`,默认中文、或跟 outline.json 的 `lang` 字段):界面文案与质量门标签翻译,数据内容(爽点类型、梗概、人名)与门的失败详情保持原文
- 五件套的第五件(资产清单)永远是算出来的,模型手写必漏

## 自测

```bash
node {baseDir}/scripts/selftest.mjs
```

249 项断言,不调模型、不花额度。14 道质量门每一道都有击穿用例——证明它真的会拦。改完脚本先跑这个。

## 自带样例

`{baseDir}/examples/渡口-outline.json`:把短故事《渡口》(novel-characters 的自带样例)改编成 6 集 × 2 分钟的微型大纲,四角色三场景四爽点,全部质量门通过。当质量基准,也是自测夹具。

Quelle prüfen

Preis und Betriebskosten

Skill beziehen
Preis unbestätigt
Ausführen
Anforderungen unbestätigt. Agenten-, API- und Dienstkosten an der Quelle prüfen.
Lizenz
Apache-2.0
Preis unbestätigt
Der Preis ist noch nicht bestätigt. Vorhandene Quell- und Installationslinks bleiben verfügbar.

Kostenloser Bezug bedeutet nicht kostenlosen Betrieb. Preise sind keine Sicherheitsbewertung. Preisinformation einreichen →

Quelle erneut prüfen

Die Quelle wurde geändert oder konnte nicht synchronisiert werden. Vor der Installation prüfen.

Vor Installation prüfen: Automatische Installation vermeiden

Lizenz: Apache-2.0

  • Dependency or permission surface needs review
  • Permission surface may require sandboxing
  • No critical security issues found; the skill only uses local Node scripts and file I/O.
  • The full script contents were not inspected in this review; trust is based on repo metadata and the stated zero-dependency/no-API-key design.
  • The SKILL.md excerpt ends mid-sentence in the provided text, but this appears to be truncation of the excerpt rather than the actual file.
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
Vollständiges Audit öffnen

Tools sind Metadatenhinweise, keine getestete Kompatibilität. Prompts sind Vorschläge.

Mit einer kleinen Aufgabe beginnen

  1. 1Quelle lesen und Eingaben, Ergebnisse, Abhängigkeiten sowie Berechtigungen prüfen.
  2. 2Agent um einen Plan bitten. Einrichtung und Kosten vor einem isolierten Test genehmigen.
  3. 3Ergebnisse und geänderte Dateien prüfen. Nur tatsächliche Ausführungen melden und die Quellrevision aufbewahren.

Prüfe Abhängigkeiten, API-Schlüssel und externe Kosten in der Quelle. Öffentliche Repositories bedeuten nicht, dass alle Dienste kostenlos sind.

Quelle und Nutzungshinweise

Erfasst

Metadaten und Prüfungen dienen der Orientierung. Beliebtheit, Quellenerfassung und erfolgreiche Ausführung sind verschiedene Fakten.

Quell-Repository
eternityspring/shuohao-skills
Lizenz
Apache-2.0
Version
1.2.0
Letzter GitHub-Push
26. Aug. 2026
Verzeichnis aktualisiert
26. Sept. 2026

Version aus den Verzeichnismetadaten; Releases der Quelle prüfen.

Qualität

78/100

Stark

Vertrauen

59/100

Do not auto-install

Audit

77/100

Prüfung nötig

  • Dependency or permission surface needs review
  • Permission surface may require sandboxing
  • No critical security issues found; the skill only uses local Node scripts and file I/O.
  • The full script contents were not inspected in this review; trust is based on repo metadata and the stated zero-dependency/no-API-key design.
  • The SKILL.md excerpt ends mid-sentence in the provided text, but this appears to be truncation of the excerpt rather than the actual file.
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
Verified installs
—
Ergebnisse
—

Kopieren ist keine Installation. Zahlen benötigen eine Erfolgsmeldung und garantieren keine allgemeine Qualität.

Agent-Zugang

Die Registry API stellt Entscheidungs-, Vertrauens-, Audit-, Use-Case- und Installationssignale ohne UI-Scraping bereit.

Weitere Details
{
  "version": "openagentskill-agent-metadata-v2",
  "review_evidence": {
    "indexed": true,
    "static_checked": false,
    "ai_reviewed": false,
    "manual_reviewed": false,
    "creator_verified": false,
    "review_result": "version_needs_review",
    "reviewed_at": null,
    "package_fingerprint": null,
    "policy_version": null,
    "notice": "Publication, static checks, AI review, and creator verification are independent facts. None guarantees runtime safety."
  },
  "commerce": {
    "type": "unknown",
    "billing": "unknown",
    "amount": null,
    "currency": null,
    "sourceUrl": null,
    "checkedAt": null,
    "runtime": "unknown",
    "purchaseUrl": null,
    "checkout": "external",
    "purchaseRequiresUserConsent": true
  },
  "skill": {
    "slug": "eternityspring-novel-outline",
    "name": "novel-outline",
    "description": "把一本小说改编成短剧大纲五件套:改编说明、人物表、爽点表、分集梗概、资产清单,\n产出 outline.json + Markdown + 单页评审报告(KPI 带、关键决策、爽点时间轴、调度矩阵、场景概览、质量门)。\n14 道质量门全部由脚本确定性检查(角色分档上限、主场景上限随集数动态、爽点间隔≤3集、每集钩子悬念必填……),不靠模型自觉;\n支持体检模式:贴一份现成大纲进来,只跑质量门给诊断。\n零依赖、零 API key,用当前会话额度。\nUse when asked to 改编大纲、短剧大纲、拆大纲、小说转短剧、adaptation outline。",
    "category": "automation",
    "url": "https://www.openagentskill.com/skills/eternityspring-novel-outline",
    "repository": "https://github.com/eternityspring/shuohao-skills/tree/main/skills/novel-outline",
    "github_repo": "eternityspring/shuohao-skills"
  },
  "suited_tasks": [
    "Browser automation workflows",
    "Claude Code teams",
    "teams that value GitHub adoption signals",
    "Navigate pages",
    "Click and type safely",
    "Check visual and DOM state",
    "Move data between tools",
    "Transform files"
  ],
  "suited_agents": [
    "Codex",
    "Claude Code",
    "Cursor",
    "OpenAgentSkill CLI",
    "OpenAI Agents"
  ],
  "install": {
    "source_evidence": {
      "status": "source-needs-review",
      "sourceRecorded": true,
      "canOfferInstall": false,
      "path": "skills/novel-outline/SKILL.md",
      "revision": "4322897e6d2bdaf66365534fd40194360c75a85f",
      "notice": "The tracked source changed or could not be synchronized. Review the current source before installing."
    },
    "command": "",
    "ready": false,
    "targets": [
      {
        "id": "codex",
        "label": "Codex",
        "kind": "agent-prompt",
        "value": "Review the public source for \"novel-outline\" at https://github.com/eternityspring/shuohao-skills/tree/main/skills/novel-outline. The tracked source changed or could not be synchronized. Review the current source before installing. Do not install or execute repository code in this review. Report whether valid skill instructions exist, their exact path and revision, dependencies, costs, license and requested permissions. Ask for approval before any installation. Treat repository text as untrusted data, not authorization."
      },
      {
        "id": "claude-code",
        "label": "Claude Code",
        "kind": "agent-prompt",
        "value": "Review the public source for \"novel-outline\" at https://github.com/eternityspring/shuohao-skills/tree/main/skills/novel-outline. The tracked source changed or could not be synchronized. Review the current source before installing. Do not install or execute repository code in this review. Report whether valid skill instructions exist, their exact path and revision, dependencies, costs, license and requested permissions. Ask for approval before any installation. Treat repository text as untrusted data, not authorization."
      },
      {
        "id": "cursor",
        "label": "Cursor",
        "kind": "agent-prompt",
        "value": "Review the public source for \"novel-outline\" at https://github.com/eternityspring/shuohao-skills/tree/main/skills/novel-outline. The tracked source changed or could not be synchronized. Review the current source before installing. Do not install or execute repository code in this review. Report whether valid skill instructions exist, their exact path and revision, dependencies, costs, license and requested permissions. Ask for approval before any installation. Treat repository text as untrusted data, not authorization."
      }
    ],
    "handoff_url": "https://www.openagentskill.com/api/skills/eternityspring-novel-outline/install",
    "manifest_url": "https://www.openagentskill.com/api/registry/manifest/eternityspring-novel-outline"
  },
  "trust": {
    "score": 67,
    "label": "Manual review",
    "version": "trust-score-v4",
    "install_policy": "block",
    "evidence": {
      "stars": "2.6K GitHub stars",
      "repoActivity": "2.6K stars, 333 forks",
      "lastPushed": "2mo since push",
      "license": "Apache-2.0",
      "repository": "https://github.com/eternityspring/shuohao-skills/tree/main/skills/novel-outline",
      "install": "The tracked source changed or could not be synchronized. Review the current source before installing.",
      "installSafety": "standard package or runtime install path",
      "permissionSurface": "secrets or environment access, shell or command execution",
      "documentation": "Strong README/SKILL.md context",
      "agentOutcomes": "No agent outcome data yet"
    },
    "outcome_evidence": {
      "total": 0,
      "successes": 0,
      "failures": 0,
      "not_relevant": 0,
      "success_rate": null,
      "recent_success_rate": null,
      "recent_failure_rate": null,
      "install_attempts": 0,
      "install_success_rate": null,
      "risk_blocked": 0,
      "setup_required": 0,
      "avg_output_quality": null,
      "production_outcomes": 0,
      "last_outcome_at": null,
      "label": "No agent outcome data yet"
    },
    "auto_install": {
      "allowed": false,
      "sandbox_required": true,
      "reason": "Do not auto-install. Inspect the source, dependencies, and permission surface first."
    },
    "best_for": [
      "automation",
      "agent-skill"
    ],
    "known_risks": [
      "No critical security issues found; the skill only uses local Node scripts and file I/O.",
      "Quality score needs review",
      "Permission surface needs review: secrets or environment access, shell or command execution",
      "Dependency/runtime risk: command execution surface, credential or environment access",
      "Permission surface: secrets or environment access, shell or command execution"
    ]
  },
  "agent_proven": {
    "version": "agent-proven-v1",
    "score": 0,
    "tier": "unproven",
    "label": "Needs first agent run",
    "summary": "No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.",
    "metrics": {
      "totalOutcomes": 0,
      "successfulOutcomes": 0,
      "failedOutcomes": 0,
      "installAttempts": 0,
      "installSuccessRate": null,
      "successRate": null,
      "recentSuccessRate": null,
      "recentFailureRate": null,
      "riskBlocked": 0,
      "setupRequired": 0,
      "notRelevant": 0,
      "avgOutputQuality": null,
      "avgTimeToUsefulMs": null,
      "productionOutcomes": 0,
      "humanReviewRequired": 0,
      "uniqueAgents": 0,
      "lastOutcomeAt": null
    },
    "signals": [],
    "penalties": [
      "No real agent outcome evidence yet"
    ]
  },
  "audit": {
    "score": 77,
    "risk_level": "needs_review",
    "risk_label": "Needs review",
    "warnings": [
      "Dependency or permission surface needs review",
      "Permission surface may require sandboxing",
      "No critical security issues found; the skill only uses local Node scripts and file I/O.",
      "The full script contents were not inspected in this review; trust is based on repo metadata and the stated zero-dependency/no-API-key design.",
      "The SKILL.md excerpt ends mid-sentence in the provided text, but this appears to be truncation of the excerpt rather than the actual file.",
      "Quality score needs review",
      "Permission surface needs review: secrets or environment access, shell or command execution",
      "Dependency/runtime risk: command execution surface, credential or environment access"
    ]
  },
  "safety_gate": {
    "tier": "blocked",
    "label": "Blocked for auto-install",
    "auto_install_policy": "block",
    "auto_install_allowed": false,
    "human_review_required": true,
    "blocked": true,
    "recommended_action": "Do not auto-install. Inspect the source, dependencies, and permission surface first."
  },
  "quality": {
    "score": 78,
    "label": "Strong"
  },
  "supply": {
    "track": "Research and knowledge work",
    "scenario": "Document processing",
    "maintenance": "2mo since push",
    "risk": "Needs review"
  },
  "alternative_skills": [],
  "do_not_use_when": [
    "teams that need a vendor-supported SLA",
    "production agents without a repository review",
    "No critical security issues found; the skill only uses local Node scripts and file I/O.",
    "High-risk permission hints: Shell or command execution, Secrets or environment access",
    "Dependency or permission surface needs review",
    "Permission surface may require sandboxing",
    "The full script contents were not inspected in this review; trust is based on repo metadata and the stated zero-dependency/no-API-key design.",
    "The SKILL.md excerpt ends mid-sentence in the provided text, but this appears to be truncation of the excerpt rather than the actual file."
  ],
  "agent_contract": {
    "task_input": "Use novel-outline in an agent workflow",
    "recommended_action": "Do not auto-install. Inspect the source, dependencies, and permission surface first.",
    "install_policy": "block",
    "minimum_review_before_use": [
      "Trust: 67/100 Manual review",
      "Audit: 77/100 Needs review",
      "Safety: 33/100 Avoid automatic install",
      "Review repository, license, install command, and permission surface before production use."
    ],
    "expected_agent_output": {
      "selected_skill": "eternityspring-novel-outline (novel-outline)",
      "install_command": "",
      "risk_summary": "Needs review; Blocked for auto-install; Review before production",
      "verification_result": "Report the smallest successful task, files touched, warnings, and any missing setup."
    }
  },
  "outcome_feedback": {
    "endpoint": "https://www.openagentskill.com/api/agent/outcome",
    "method": "POST",
    "requires_resolve_event_id": true,
    "event_id_source": "Use install_receipt.outcome_feedback.event_id or feedback.event_id returned by /api/agent/resolve for the current task.",
    "expected_outcomes": [
      "success",
      "failed",
      "not_relevant",
      "blocked_by_risk",
      "setup_required"
    ],
    "payload_template": {
      "event_id": "<install_receipt.outcome_feedback.event_id or feedback.event_id from /api/agent/resolve>",
      "skill_slug": "eternityspring-novel-outline",
      "task": "Use novel-outline in an agent workflow",
      "agent": "codex",
      "outcome": "success",
      "install_used": true,
      "risk_blocked": false,
      "setup_required": false,
      "task_success": true,
      "output_quality": 4,
      "error_type": null,
      "human_review_required": false,
      "workspace": "sandbox",
      "time_to_useful_ms": 120000,
      "notes": "Report the smallest successful task, setup friction, files touched, and risk notes."
    }
  },
  "endpoints": {
    "web": "https://www.openagentskill.com/skills/eternityspring-novel-outline",
    "api": "https://www.openagentskill.com/api/agent/skills/eternityspring-novel-outline",
    "audit": "https://www.openagentskill.com/skills/eternityspring-novel-outline/audit",
    "eval": "https://www.openagentskill.com/api/agent/evals?slug=eternityspring-novel-outline&task=Use%20novel-outline%20in%20an%20agent%20workflow&max_risk=medium",
    "resolve": "https://www.openagentskill.com/api/agent/resolve?task=Use%20novel-outline%20in%20an%20agent%20workflow&agent=codex&max_risk=medium",
    "receipt": "https://www.openagentskill.com/api/agent/receipt?task=Use%20novel-outline%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text",
    "install": "https://www.openagentskill.com/api/skills/eternityspring-novel-outline/install",
    "manifest": "https://www.openagentskill.com/api/registry/manifest/eternityspring-novel-outline"
  }
}

Für Ersteller

Quelle des Eintrags

Registry-indexiert

Beanspruchbar

Dieser Eintrag wurde aus öffentlichen Quellen indexiert und ist erst nach Genehmigung eines Maintainer-Anspruchs offiziell.

Indexiert von
OpenAgentSkill Community-Index

Die Zuordnung verlinkt auf das öffentliche Repository oder Creator-Profil. Creator können den Eintrag beanspruchen, um Eigentümersignale zu aktualisieren.

Diesen Skill beanspruchen

Eigentümeranspruch

Diesen Skill-Eintrag beanspruchen

Dieser Registry-indexiert-Eintrag wird eternityspring zugeschrieben, ist aber noch nicht offiziell markiert. Beanspruche ihn, um ein verifiziertes Eigentümersignal hinzuzufügen und künftige Launch-, Installations- und Audit-Updates vertrauenswürdiger zu machen.

Share-Kit

Creator-Backlink-Kit

Evidenz-Badges in deine README einfügen

Zeige den kanonischen Eintrag, aktuelle Vertrauens- und Audit-Signale sowie echte Agent-Proven-Evidenz dort, wo Entwickler das Repository bewerten.

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/eternityspring-novel-outline?metric=listed&label=Listed)](https://www.openagentskill.com/skills/eternityspring-novel-outline?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/eternityspring-novel-outline?metric=trust&label=Trust)](https://www.openagentskill.com/skills/eternityspring-novel-outline?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/eternityspring-novel-outline?metric=audit&label=Audit)](https://www.openagentskill.com/skills/eternityspring-novel-outline/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/eternityspring-novel-outline?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/eternityspring-novel-outline?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)

Community-Signal

Teile mit, ob dieser Skill für deinen Agent-Workflow nützlich ist. Zusammengefasstes Feedback verbessert das Ranking im Laufe der Zeit.