Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Chapter Outliner

v3.0.0

章节大纲生成器 - 基于 15 节拍系统生成小说章节大纲。当需要根据故事大纲和章节号创建详细写作大纲时使用,支持字数分配、角色参考、风格注入。

0· 154·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for yuzhihui886/chapter-outliner.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Chapter Outliner" (yuzhihui886/chapter-outliner) from ClawHub.
Skill page: https://clawhub.ai/yuzhihui886/chapter-outliner
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install chapter-outliner

ClawHub CLI

Package manager switcher

npx clawhub@latest install chapter-outliner
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
high confidence
!
Purpose & Capability
The stated purpose (generate chapter outlines from local project files) matches the pure-Python local script (scripts/generate_outline.py). However, the repository also includes an LLM-backed script (scripts/generate_outline_llm.py) that calls an external LLM endpoint — this networked capability is not documented in SKILL.md nor declared in the skill metadata and therefore is disproportionate to the advertised local-outliner purpose.
!
Instruction Scope
SKILL.md describes local CLI usage and only lists Python, rich, and PyYAML as dependencies. It does not mention invoking a remote LLM, nor does it warn that outline.md, style.yml, characters/*.yml and chapters/index.yml will be sent to an external API. generate_outline_llm.py explicitly builds a prompt containing story, style, and character data and posts it to a remote service — that is out-of-scope relative to the SKILL.md instructions and gives the skill broad discretion to transmit user project data.
Install Mechanism
There is no install spec (instruction-only), so nothing is downloaded at install time. That lowers install risk. However, scripts include a runtime network call; also scripts/requirements.txt omits the 'requests' package (which the LLM script uses), indicating sloppy packaging/documentation that could cause surprises at runtime.
!
Credentials
Skill metadata declares no required environment variables, but generate_outline_llm.py requires DASHSCOPE_API_KEY (read from environment) to call the remote LLM. Requesting an API key for an external service is reasonable for an LLM-backed variant — but omitting this from the declared requirements and SKILL.md is a red flag. In addition, the code will transmit user project content to the external endpoint, meaning that providing that API key and running the LLM script grants the remote service access to potentially sensitive project files.
Persistence & Privilege
The skill does not request persistent privileges (always is false), does not modify other skills' configuration, and does not require system-wide config changes. It runs as a user-invoked CLI, so persistence/privilege concerns are low by themselves.
Scan Findings in Context
[uses-external-llm-endpoint] unexpected: generate_outline_llm.py posts to https://coding.dashscope.aliyuncs.com/v1/chat/completions. The SKILL.md and metadata do not declare any remote LLM usage or external endpoints.
[reads-env-DASHSCOPE_API_KEY] unexpected: The LLM script requires DASHSCOPE_API_KEY from the environment but the skill metadata declares no required env vars — this is a missing/undeclared secret requirement.
[network-call-requests-post] unexpected: The code uses requests.post to send prompt+project data to the remote service; sending project files externally is not described in SKILL.md and may constitute data exfiltration risk depending on user data sensitivity.
[missing-requirements-requests] unexpected: scripts/requirements.txt lists 'rich' and 'PyYAML' but omits 'requests', which is required by the LLM script. This mismatch suggests packaging/documentation issues.
What to consider before installing
This skill includes two code paths: a local generator (scripts/generate_outline.py) that operates on your local project files and is coherent with the README, and an LLM-backed script (scripts/generate_outline_llm.py) that will send your outline, style, and character data to a remote service (coding.dashscope.aliyuncs.com) and requires an environment variable DASHSCOPE_API_KEY. Before installing or running: 1) Treat the LLM script as an opt-in networked feature — do not run it unless you trust the remote service. 2) Ask the skill author to update SKILL.md and metadata to declare the DASHSCOPE_API_KEY requirement and to explain what data is sent, retention policy, and which model/service is used. 3) If you only want offline/local usage, use scripts/generate_outline.py and avoid running the LLM script; consider removing or sandboxing generate_outline_llm.py. 4) Run in an isolated environment (no access to sensitive files or secret env vars) if you must test the LLM script. 5) Verify and fix requirements.txt (add 'requests') and review network calls in the code. If the author provides a clear explanation and explicitly documents the API key and data handling, the concern could be resolved; absent that, do not supply sensitive project content or API credentials.

Like a lobster shell, security has layers — review code before you run it.

latestvk97b32nd9b49j9xtb84yq8c4h984vxnm
154downloads
0stars
6versions
Updated 1w ago
v3.0.0
MIT-0

Chapter Outliner - 章节大纲生成器

Overview

根据小说项目文件(outline.md, style.yml, characters/)和章节号,自动生成结构化的 15 节拍章节大纲,包含字数分配、角色参考和风格备注。

使用场景

  • 需要为具体章节创建详细写作大纲
  • 需要确保章节符合 15 节拍结构
  • 需要分配字数到各个节拍
  • 需要整合角色档案和风格配置

15 节拍系统

阶段节拍名称用途
铺垫1钩子吸引读者注意
2设定建立场景背景
3context提供上下文
转折4inciting引入冲突
5发展情节推进
6turning转折点
7转折方向变化
高潮8对抗矛盾激化
9发展高潮铺垫
10高潮冲突顶点
11转折高潮转折
结局12解决问题解决
13收尾情节收尾
14余韵情感延续
15结局章节结束

CLI 使用

# 基本用法
python3 scripts/generate_outline.py --book-dir projects/my-novel --chapter 1

# 指定字数
python3 scripts/generate_outline.py \
  --book-dir projects/my-novel \
  --chapter 5 \
  --word-count 5000

# 输出到文件
python3 scripts/generate_outline.py \
  --book-dir projects/my-novel \
  --chapter 10 \
  --output outlines/chapter-10.md

# 简写
python3 scripts/generate_outline.py -d ./project -c 5 -w 3000 -o output.md

参数说明

参数必填说明
--book-dir / -d小说项目目录路径
--chapter / -c章节编号
--word-count / -w目标字数(默认 3000)
--output / -o输出文件路径(缺省则只显示)

项目目录结构

projects/my-novel/
├── outline.md          # 故事大纲(可选)
├── style.yml           # 风格配置(可选)
├── characters/         # 角色档案(可选)
│   ├── 主角.yml
│   └── 配角.yml
└── chapters/
    └── outlines/       # 章节大纲输出

输出大纲格式

# 第 1 章 大纲

**字数目标**: 3000 字
**生成时间**: 2026-04-04 23:30:00

## 章节概述
[来自 outline.md 的章节摘要]

## 15 节拍大纲

### 1. 钩子 (铺垫)
**目标字数**: 135 字
**目的**: 建立场景和基础信息

第 1 节拍 - 待填充

### 2. 设定 (铺垫)
**目标字数**: 157 字
**目的**: 建立场景和基础信息

第 2 节拍 - 待填充

...

## 角色参考

### 林风
私家侦探,35 岁,冷静敏锐...

字数分配规则

阶段总占比说明
铺垫15%场景建立
转折20%冲突引入
高潮45%核心内容
结局20%收尾解决

依赖

  • Python 3.8+
  • rich (终端渲染)
  • PyYAML (配置文件解析)

安装依赖:

pip install -r scripts/requirements.txt

与其他技能集成

与 style-analyzer 集成

# 1. 分析参考文本风格
python3 ../style-analyzer/scripts/analyze_style.py \
  --input reference.txt \
  --output style.yml

# 2. 生成章节大纲(自动读取 style.yml)
python3 scripts/generate_outline.py \
  --book-dir projects/my-novel \
  --chapter 1

与 novel-writer 集成

# 1. 生成章节大纲
python3 scripts/generate_outline.py \
  --book-dir projects/my-novel \
  --chapter 5 \
  --output chapters/outlines/chapter-5.md

# 2. novel-writer 根据大纲生成正文

注意事项

  • 项目文件(outline.md, style.yml, characters/)均为可选
  • 缺少文件时会自动使用默认值
  • 输出 Markdown 可直接用于 novel-writer 输入
  • 15 节拍名称和阶段可自定义修改

Comments

Loading comments...