mcpField
W
webnovel-learn

webnovel-learn

github.com/lingfengqaqCreative & media7.7k577 installsUpdated 6d ago
Repository

About webnovel-learn

webnovel-learn is a skill for capturing reusable writing practices in a novel project's memory. It helps authors categorize techniques such as hooks, pacing, dialogue, and payoffs, then appends them through the project script.

Key features

  1. 01Extracts reusable writing patterns
  2. 02Classifies practices by type
  3. 03Associates patterns with the current chapter
  4. 04Checks for exact duplicate records
  5. 05Appends memory through the project script

Use cases

  1. 01Recording an effective opening hook
  2. 02Saving pacing or dialogue techniques
  3. 03Adding an approved writing approach to project memory

Install

Copy the command and run it in a terminal.

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

After installing, type/webnovel-learnin Claude Code to confirm it loaded.

Details

From the project 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,不阻断

Comments

Markdown supported