Agent skill

Webnovel Plan

by lujih in lujih/webnovel-writer-opencode

“基于总纲生成卷纲、时间线和章纲,并把新增设定增量写回现有设定集。”

— description from SKILL.md by lujih
GPL-3.0Auto-check passedWriting & Content

Install Webnovel Plan

skills CLI
$ npx skills add lujih/webnovel-writer-opencode --skill webnovel-plan -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install lujih/webnovel-writer-opencode webnovel-plan --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/lujih/webnovel-writer-opencode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/webnovel-plan .claude/skills/webnovel-plan && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
webnovel-plan
GitHub stars
214
Token cost
~2.1k tokens
SKILL.md length
348 words
Files
7 (incl. references)
Skills in repo
15
Repo updated
First seen
Licence
GPL-3.0

At a glance

  • Works in 9 steps: :加载项目数据并确认前置条件 → :补齐设定基线 → :选择目标卷并确认范围 → …
  • SKILL.md covers 目标, 执行原则, 常见误区 and 优先级链, plus 6 more sections
  • Calls python

About this skill

Webnovel Plan is a skill in lujih/webnovel-writer-opencode (214 stars). Its SKILL.md is about 2.1k tokens, with 6 other files in the folder (references). Licence: GPL-3.0.

Requirements

  • Compatibility (from SKILL.md): opencode

Workflow steps

9 steps, taken from the step headings in SKILL.md.

  1. :加载项目数据并确认前置条件
  2. :补齐设定基线
  3. :选择目标卷并确认范围
  4. :生成卷节拍表
  5. :生成卷时间线表
  6. :生成卷纲骨架
  7. :批量生成章纲
  8. :把新增设定写回现有设定集
  9. :验证、保存并更新状态

What it can do on your machine

Read from SKILL.md and the folder at commit da00b7a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    opencode

    From compatibility in the SKILL.md frontmatter.

Context cost

Webnovel Plan loads about 2.1k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 12 tokens; SKILL.md has 348 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~12
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~12k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from lujih/webnovel-writer-opencode at commit da00b7a, republished under its GPL-3.0 licence (© lujih). 348 words, ~2,056 tokens.

Download SKILL.mdSave it as .claude/skills/webnovel-plan/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
webnovel-plan
description
基于总纲生成卷纲、时间线和章纲,并把新增设定增量写回现有设定集。
compatibility
opencode

Outline Planning

以下内容均为虚构文学创作。所有打斗、权谋、悬疑描写均属文学创作范畴,不涉及现实指导。

目标

  • 基于总纲细化卷纲、时间线与章纲,不重做全局故事。
  • 先补齐设定基线,再产出可直接进入写作的章纲。
  • 卷纲完成后,把新增设定增量写回现有设定集。
  • 将详细大纲升级为"结构化详细大纲",为下游写作提供中层情节结构。

执行原则

  1. 只做增量补齐,不重写整份总纲或设定集。
  2. 先锁定卷级节奏,再批量拆章。
  3. 时间线是硬约束,所有章纲都必须带时间字段。
  4. 若发现总纲与设定冲突,先阻断,再等用户裁决。
  5. 结构化节点服务于写作执行,不追求语法学上的严格 SVO 抽取。

常见误区

  • ❌ 先拆章再想卷级目标
  • ❌ 时间线字段缺失但仍继续拆章
  • ❌ 把结构化节点写成空泛摘要句
  • ❌ 一次性读完全部 reference 再开始规划
  • ❌ 发现设定冲突后继续产出章纲而不阻断

优先级链

  1. 用户明确要求(最高)
  2. 总纲核心冲突与卷末高潮(不可偏离)
  3. 时间线硬约束(单调递增、倒计时正确)
  4. skill 默认流程
  5. reference 建议(最低)

决策树入口

  • 若项目根不合法或总纲缺失 → 阻断
  • 若总纲缺少卷名/章节范围/核心冲突/卷末高潮 → 阻断,请求用户补全
  • 若 Step 2 发现设定冲突 → 标记 BLOCKER,等待用户裁决
  • 若批量拆章时时间回跳且未标注闪回 → 阻断当前批次
  • 若 Step 9 验证失败 → 只重做失败批次,不覆盖整卷

环境准备

bash
export WORKSPACE_ROOT="${PWD}"
export SKILL_ROOT="${PWD}/.opencode/skills/webnovel-plan"
export SCRIPTS_DIR="${PWD}/.opencode/scripts"
export PROJECT_ROOT="$(python "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"
test -n "$PROJECT_ROOT" && test -f "${PROJECT_ROOT}/.webnovel/state.json" || { echo "❌ PROJECT_ROOT 解析失败"; exit 1; }

python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" placeholder-scan --format text

若本次规划会直接落到具体章节,还必须先刷新 Story System runtime 合同:

bash
# genre 从 state.json 的初始化配置快照读取;写前主链真源是 .story-system 合同树。
# 必须先从详细大纲解析真实 CHAPTER_GOAL,禁止传 {章纲目标} / 第N章章纲目标 这类占位文本。
GENRE="$(python -X utf8 -c "import json,sys; s=json.load(open('${PROJECT_ROOT}/.webnovel/state.json',encoding='utf-8')); print(s.get('project_info',{}).get('genre',''))")"

python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" \
  story-system "${CHAPTER_GOAL}" --genre "${GENRE}" --chapter {chapter_num} --persist --emit-runtime-contracts --format both

生成后必须把 .story-system/MASTER_SETTING.json、.story-system/volumes/、 .story-system/chapters/、.story-system/reviews/ 视为后续写作主链输入。 规划开始/结束都运行 placeholder-scan;plan 阶段发现占位先警告并补齐相关文件,进入写章前不得保留当前章相关实体的 [待...] / 暂名 / {占位}。 每卷规划完成后,只向 大纲/总纲.md 渐进追加下一卷概要与本卷新增/承接伏笔,不在 init 阶段预填 V2-V20 空表。 规划完成后写回必须来自显式结构化文件 大纲/第{volume_id}卷-总纲写回.json,禁止从卷纲自由文本推断伏笔或开放环。

引用加载策略

md 必读
StepTriggerReference
Step 4alwaystemplates/output/大纲-卷节拍表.md
Step 5alwaystemplates/output/大纲-卷时间线.md
Step 6always../../references/genre-profiles.md
Step 6always../../references/shared/strand-weave-pattern.md
章纲拆分always../../references/outlining/plot-signal-vs-spoiler.md
md 按需
StepTriggerReference
Step 6需要爽点设计../../references/shared/cool-points-guide.md
Step 6/7需要冲突设计references/outlining/conflict-design.md
Step 7需要追读力分析../../references/reading-power-taxonomy.md
Step 7需要章纲细化references/outlining/chapter-planning.md
Step 6/7特定题材节奏references/outlining/genre-volume-pacing.md
CSV 检索
StepTrigger检索命令
卷级规划alwayspython -X utf8 "${SCRIPTS_DIR}/reference_search.py" --skill plan --table 场景写法 --query "卷级结构 叙事功能"
章纲拆分新增角色出现... --skill plan --table 命名规则 --query "角色命名" --genre {题材}

执行流程

Step 1:加载项目数据并确认前置条件

必须加载:

bash
# 项目配置/投影状态(兼容读取,不作为写后事实真源)
cat "$PROJECT_ROOT/.webnovel/state.json"

# 总纲(全局蓝图)
cat "$PROJECT_ROOT/大纲/总纲.md"

# 题材(来自 init 配置快照,后续 CSV 检索和裁决匹配依赖此值)
GENRE="$(python -X utf8 -c "import json; s=json.load(open('${PROJECT_ROOT}/.webnovel/state.json',encoding='utf-8')); print(s.get('project_info',{}).get('genre',''))")"

已有卷的剧情状态(跨卷规划时必须加载):

若已有已完成卷(.webnovel/summaries/ 下有文件),加载以下数据感知已写内容:

bash
# 最近 5 章摘要(了解剧情走向)
for ch in $(seq $((START_CH - 5)) $((START_CH - 1))); do
  cat "$PROJECT_ROOT/.webnovel/summaries/ch$(printf '%04d' $ch).md" 2>/dev/null
done

# 核心角色当前状态
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" \
  knowledge query-entity-state --entity "{protagonist_id}" --at-chapter {上一卷最后章}

# 核心关系当前状态
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" \
  knowledge query-relationships --entity "{protagonist_id}" --at-chapter {上一卷最后章}

# 活跃伏笔(跨卷未回收的伏笔)
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" \
  memory-contract get-open-loops

CSV 创作参考(卷级规划时按需检索):

bash
python -X utf8 "${SCRIPTS_DIR}/reference_search.py" --skill plan --table 爽点与节奏 --query "{卷级核心冲突}" --genre "${GENRE}"
python -X utf8 "${SCRIPTS_DIR}/reference_search.py" --skill plan --table 桥段套路 --query "{卷级核心冲突}" --genre "${GENRE}"

按需读取(设定集):

  • 设定集/世界观.md
  • 设定集/力量体系.md
  • 设定集/主角卡.md
  • 设定集/反派设计.md
  • .webnovel/idea_bank.json

阻断条件:

  • 总纲缺少卷名、章节范围、核心冲突或卷末高潮
Step 2:补齐设定基线

目标:让设定集从骨架模板进入"可规划、可写作"的状态。

必须补齐:

  • 设定集/世界观.md:世界边界、社会结构、关键地点用途
  • 设定集/力量体系.md:境界链、限制、代价与冷却
  • 设定集/主角卡.md:欲望、缺陷、初始资源与限制
  • 设定集/反派设计.md:小/中/大反派层级与镜像关系

硬规则:

  • 只增量补齐,不清空、不重写整文件
  • 发现冲突时先列出冲突并阻断
Step 3:选择目标卷并确认范围

必须确认:

  • 卷名
  • 章节范围
  • 核心冲突
  • 是否存在特殊要求,例如视角、情感线、题材偏移
Step 4:生成卷节拍表

执行前加载模板:

bash
cat "${SKILL_ROOT}/../../templates/output/大纲-卷节拍表.md"

硬要求:

  • 必须填写中段反转;若确实没有,写"无(理由:...)"
  • 危机链至少 3 次递增
  • 卷末新钩子必须能落到最后一章的章末未闭合问题

输出文件:大纲/第{volume_id}卷-节拍表.md

Step 5:生成卷时间线表

执行前加载模板:

bash
cat "${SKILL_ROOT}/../../templates/output/大纲-卷时间线.md"

硬要求:

  • 必须明确时间体系
  • 必须明确本卷时间跨度
  • 有倒计时事件时必须列出并标记 D-N

输出文件:大纲/第{volume_id}卷-时间线.md

Step 6:生成卷纲骨架

必须加载:

bash
cat "${SKILL_ROOT}/../../references/genre-profiles.md"
cat "${SKILL_ROOT}/../../references/shared/strand-weave-pattern.md"

按需加载:

bash
cat "${SKILL_ROOT}/../../references/shared/cool-points-guide.md"
cat "${SKILL_ROOT}/references/outlining/conflict-design.md"
cat "${SKILL_ROOT}/references/outlining/genre-volume-pacing.md"
cat "$PROJECT_ROOT/.webnovel/idea_bank.json"

卷纲必须明确:

  • 卷摘要
  • 关键人物与反派层级
  • Strand 分布
  • 爽点密度规划
  • 伏笔规划
  • 约束触发规划

跨卷一致性检查(非首卷时必须执行):

  • 上一卷未回收的伏笔必须出现在新卷的伏笔规划中(继续推进或标记回收)
  • 角色关系变化必须延续(不能当上一卷没发生过)
  • 主角能力/境界必须承接(不能回退也不能跳级,除非有剧情解释)
Step 7:批量生成章纲

批次规则:

  • 默认按 10章/批
  • 复杂题材或多线并进时可降到 8章/批
  • 简单升级流可放宽到 12章/批
  • 不建议单批超过 12章

按需加载:

bash
cat "${SKILL_ROOT}/../../references/reading-power-taxonomy.md"
cat "${SKILL_ROOT}/references/outlining/chapter-planning.md"

每章必须包含:

  • 目标
  • 阻力
  • 代价
  • 时间锚点
  • 章内时间跨度
  • 与上章时间差
  • 倒计时状态
  • 爽点
  • Strand
  • 反派层级
  • 视角/主角
  • 关键实体
  • 本章变化
  • 章末未闭合问题
  • 钩子
  • 章节起点(CBN)
  • 推进节点(CPNs)
  • 章节终点(CEN)
  • 必须覆盖节点
  • 本章禁区
结构化节点规范

节点格式:主体 | 动作/变化 | 对象/结果。详细规范见 references/outlining/structured-nodes.md。

核心规则:每章 1 CBN + 2-4 CPN + 1 CEN,相邻章节 CEN→CBN 逻辑承接,必须覆盖节点最多 4 个,禁区不超过 5 条。

输出文件:大纲/第{volume_id}卷-详细大纲.md

Step 8:把新增设定写回现有设定集

输入来源:

  • 卷节拍表
  • 卷时间线表
  • 卷详细大纲
  • 现有设定集文件

写回规则:

  • 只增量补充相关段落
  • 新角色写入角色卡或角色组
  • 新势力、地点、规则写入世界观或力量体系
  • 新反派层级写入反派设计

硬规则:

  • 若发现与总纲或既有设定冲突,标记 BLOCKER 并停止后续更新
Step 9:验证、保存并更新状态

必须通过以下检查:

  • 节拍表存在且非空
  • 时间线表存在且非空
  • 详细大纲存在且非空
  • 每章时间字段齐全
  • 时间线单调递增
  • 倒计时推进正确
  • 新设定已回写到现有设定集
  • BLOCKER=0
  • 有节点时,相邻章节 CEN -> CBN 无明显逻辑冲突
  • 有节点时,每章必须覆盖节点不超过 4 个

验证全部通过后,生成显式结构化写回文件:

json
{
  "next_volume_anchor": {
    "volume": 2,
    "chapters_range": "51-100",
    "volume_name": "下一卷卷名",
    "core_conflict": "下一卷核心冲突",
    "volume_end_climax": "下一卷卷末高潮"
  },
  "foreshadow_writeback": [
    {"content": "本卷规划明确新增的伏笔", "buried_chapter": "第10章", "payoff_chapter": "", "level": "卷级"}
  ],
  "open_loop_writeback": [
    {"content": "本卷结束后仍持续开放的问题", "buried_chapter": "", "payoff_chapter": "", "level": "持续开放环"}
  ]
}

只允许写入规划过程中显式列出的结构化伏笔/开放环;不要把自由文本里的暗示整理进去。随后执行最小总纲写回:

bash
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" master-outline-sync \
  --volume {volume_id} \
  --writeback-file "大纲/第{volume_id}卷-总纲写回.json" \
  --format text

该步骤只允许更新 大纲/总纲.md 的 V+1 卷名 / 核心冲突 / 卷末高潮与伏笔表,不得生成下一卷详细大纲、节拍表、时间线或章纲。

更新状态:

bash
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" update-state -- \
  --volume-planned {volume_id} \
  --chapters-range "{start}-{end}"

硬失败条件

  • 节拍表不存在或为空
  • 中段反转缺失且未给出理由
  • 时间线表不存在或为空
  • 详细大纲不存在或为空
  • 任一章节缺少时间字段
  • 时间回跳且未标注闪回
  • 倒计时算术冲突
  • 与总纲核心冲突或卷末高潮明显冲突
  • 存在 BLOCKER 未裁决

恢复规则

  1. 只重做失败批次,不覆盖整卷文件。
  2. 最后一个批次无效时,只删除并重写该批次。
  3. 仅在全部验证通过后更新状态。

© lujih, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (references) in .opencode/skills/webnovel-plan of lujih/webnovel-writer-opencode.

  • SKILL.md
  • references/outlining/chapter-planning.md
  • references/outlining/conflict-design.md
  • references/outlining/genre-volume-pacing.md
  • references/outlining/outline-structure.md
  • references/outlining/plot-frameworks.md
  • references/outlining/structured-nodes.md

Open the folder on GitHubat commit da00b7a

Compare with similar skills

Webnovel Plan next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Webnovel Plan compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Webnovel Plan this skilllujih/webnovel-writer-opencode214—~2.1kAutomated safety check: PassGPL-3.0
Socialcoreyhaines31/marketingskills54k4 repos~4.5kAutomated safety check: PassMIT
HumanizerAzure-Samples/interview-coach-agent-framework17237 repos~5.8kAutomated safety check: PassMIT
Avoid AI Writingconorbronsdon/avoid-ai-writing4.9k3 repos~8.1kAutomated safety check: PassMIT
JavaScript Concept Fact Checkerleonardomso/33-js-concepts67k1 repos~5kAutomated safety check: PassMIT
User-Facing Text Cleanupguillaumemeyer/watermarks-remover24k—~3.5kAutomated safety check: PassMIT

Similar skills

  • Social

    coreyhaines31/marketingskills

    When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, or Facebook, or wants to do social listening and engagement triage.

    54k GitHub starsUsed in 4 repos~4.5k tokens
    Writing & ContentAuto-check passed
  • Humanizer

    Azure-Samples/interview-coach-agent-framework

    Official

    Remove signs of AI-generated writing from text. An agent skill from Azure-Samples/interview-coach-agent-framework.

    172 GitHub starsUsed in 37 repos~5.8k tokens
    Writing & ContentAuto-check passed
  • Avoid AI Writing

    conorbronsdon/avoid-ai-writing

    Audit and rewrite content to remove AI writing patterns ("AI-isms").

    4.9k GitHub starsUsed in 3 repos~8.1k tokens
    Writing & ContentAuto-check passed
  • JavaScript Concept Fact Checker

    leonardomso/33-js-concepts

    Verifies the technical accuracy of JavaScript concept pages by checking code examples, MDN and ECMAScript claims and external links through a five-phase method.

    67k GitHub starsUsed in 1 repo~5k tokens
    Writing & ContentAuto-check passed
  • User-Facing Text Cleanup

    guillaumemeyer/watermarks-remover

    Audits prose for invisible Unicode characters and rewrites it while keeping facts, citations, code and required disclosures unchanged and the writer's voice intact.

    24k GitHub stars~3.5k tokensUpdated today
    Writing & ContentAuto-check passed
  • Install Anti Slop

    trycompai/crm

    Install and configure the anti-slop Oxlint plugin in a local TypeScript or JavaScript repository.

    11k GitHub starsUsed in 1 repo~881 tokens
    Writing & ContentAuto-check passed

More from lujih/webnovel-writer-opencode

All 15 skills in this repo
  • Webnovel Init

    lujih/webnovel-writer-opencode

    深度初始化网文项目。通过分阶段交互收集完整创作信息,生成可直接进入规划与写作的项目骨架与约束文件. An agent skill from lujih/webnovel-writer-opencode.

    214 GitHub stars~2.8k tokensUpdated 2 days ago
    Auto-check passed
  • Webnovel Query

    lujih/webnovel-writer-opencode

    查询项目设定、角色、力量体系、势力、伏笔等信息。支持紧急度分析与金手指状态查询. An agent skill from lujih/webnovel-writer-opencode.

    214 GitHub stars~846 tokensUpdated 2 days ago
    Auto-check passed
  • Webnovel Write Batch

    lujih/webnovel-writer-opencode

    连续写作多章。当用户要求多章写作时必须使用此 skill. An agent skill from lujih/webnovel-writer-opencode.

    214 GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check passed
  • Webnovel Export

    lujih/webnovel-writer-opencode

    将网文正文导出为 Markdown/TXT/EPUB/HTML/DOCX/PDF 格式。立即使用此 skill 当用户说:导出、导出小说、导出章节、生成电子书、导出 TXT、导出 Markdown、导出 EPUB、导出 HTML、导出 Word、导出 PDF、下载小说、输出正文。

    214 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check passed
  • Webnovel Heal

    lujih/webnovel-writer-opencode

    修复问题章节——诊断、清理脏实体、重审查、重提交。触发:章节断裂、OOC偏离、设定矛盾修复. An agent skill from lujih/webnovel-writer-opencode.

    214 GitHub stars~524 tokensUpdated 2 days ago
    Auto-check passed
  • Webnovel Publish

    lujih/webnovel-writer-opencode

    将小说章节自动发布到国内主流小说平台(番茄等)。触发条件:"发布小说"、"发布章节"、"上传到番茄"、"自动发布"、"清理草稿"、"发布草稿"。

    214 GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed

Questions about Webnovel Plan

How do I install Webnovel Plan in Claude Code?

Run `npx skills add lujih/webnovel-writer-opencode --skill webnovel-plan -a claude-code`. Or copy the skill folder (.opencode/skills/webnovel-plan in lujih/webnovel-writer-opencode) into .claude/skills/webnovel-plan in your project. Claude Code loads it when a task matches its description.

How do I install Webnovel Plan in Codex?

Run `npx skills add lujih/webnovel-writer-opencode --skill webnovel-plan -a codex`. Or copy the skill folder (.opencode/skills/webnovel-plan in lujih/webnovel-writer-opencode) into .agents/skills/webnovel-plan in your project. Codex loads it when a task matches its description.

Can I use Webnovel Plan in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lujih/webnovel-writer-opencode --skill webnovel-plan -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/webnovel-plan, .gemini/skills/webnovel-plan, .github/skills/webnovel-plan and .opencode/skills/webnovel-plan in your project.

What does Webnovel Plan need to run?

Going by SKILL.md and its folder, Webnovel Plan needs the command-line tools its instructions call (python). Compatibility (from SKILL.md): opencode.

Does Webnovel Plan access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Webnovel Plan safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Webnovel Plan use?

Webnovel Plan is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Webnovel Plan use?

About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.5k tokens, read only when the agent opens those files.

What are the alternatives to Webnovel Plan?

Skills that share tags, products or a category with Webnovel Plan: Social (coreyhaines31/marketingskills, 54k stars), Humanizer (Azure-Samples/interview-coach-agent-framework, 172 stars), Avoid AI Writing (conorbronsdon/avoid-ai-writing, 4.9k stars) and JavaScript Concept Fact Checker (leonardomso/33-js-concepts, 67k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Webnovel Plan?

lujih (a GitHub user) maintains it in lujih/webnovel-writer-opencode, which has 214 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 6, 2026.

Source: lujih/webnovel-writer-opencode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.