mcpField
W
webnovel-learn

webnovel-learn

github.com/lingfengqaq创意与媒体7.7k577 次安装6 天前更新
代码仓库

关于 webnovel-learn

webnovel-learn 是将写作经验整理并追加到项目记忆中的技能,面向希望在网文项目中复用有效写法的作者。它把经验归类为钩子、节奏、对话、兑现等模式,并通过项目脚本写入记录。

主要功能

  1. 01提取可复用写作模式
  2. 02按类型归类经验
  3. 03关联当前章节编号
  4. 04检查完全重复的记录
  5. 05通过脚本追加项目记忆

适用场景

  1. 01记录有效的开篇钩子写法
  2. 02保存节奏或对话经验
  3. 03将读者认可的写法加入项目记忆

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lingfengqaq/webnovel-writer --skill webnovel-learn

安装后在 Claude Code 中输入/webnovel-learn确认已加载。

详细介绍

来自项目 README

/webnovel-learn

Project Root Guard(必须先确认)

  • 必须在项目根目录执行(需存在 .webnovel/state.json)
  • 用统一入口解析项目根,避免写错目录:
export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT:?}/scripts"
export PROJECT_ROOT="$(python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"

目标

提取可复用的写作模式(钩子/节奏/对话/微兑现等),追加到 .webnovel/project_memory.json。

执行流程

  1. 读取 "$PROJECT_ROOT/.webnovel/state.json" 的 progress.current_chapter 作为当前章节号;缺失则用 source_chapter: null,不阻断。
  2. 解析用户输入(/webnovel-learn 后的经验文本;为空则取本次对话中用户认可的写法),归类 pattern_type(hook/pacing/dialogue/payoff/emotion/format/other,无法归类用 other)。
  3. 调用 project-memory add-pattern 写入,不得手写或拼接 JSON:
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" project-memory add-pattern \
  --pattern-type "{pattern_type}" \
  --description "{用户输入或提炼后的完整描述}" \
  --category "{分类,可空}" \
  --importance "{high|medium|low}"

约束

  • 不删除旧记录,仅追加。
  • 追加前扫描已有 patterns;pattern_type + description 完全相同则跳过并告知用户,部分相似不去重。
  • 禁止使用 Write 或手工编辑 .webnovel/project_memory.json。

成功标准

  • project_memory.json 存在且格式合法,新 pattern 已追加到 patterns 数组。
  • 输出包含 status: success 和完整 learned 对象。

失败恢复

故障恢复方式
project_memory.json 不存在脚本自动初始化 {"patterns": []} 后继续
JSON 解析失败不写入脏数据,告知用户文件损坏并建议手动修复
state.json 缺失无法取章节号用 source_chapter: null,不阻断

评论

支持 Markdown