All skills
lingfengqaq avatar

/webnovel-learn

@16284e7
by 聆风lingfengqaq/webnovel-writer7.3k stars
1,208

从当前会话提取成功写作模式并写入 project_memory.json

Use this Skill: https://skilld.dev/gh/lingfengqaq/webnovel-writer/webnovel-learn

This session only. Nothing lands on disk.

SKILL.md

≈21 tokens always: the name and description. ≈516 when used: this file.

/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,不阻断

Source: SKILL.md on GitHub

1 warning16d4 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill is structurally functional but introduces a potential injection risk surface by directly interpolating unvalidated user text or session content into a shell command line argument.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    1/1 file flagged

Signed by skilld at 16284e7. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 18 hours ago.

Activeupdated 4 months ago
argument-hint
[要记住的写作经验]
All 1 allowed tools
Read Bash

README badge

README badge for lingfengqaq/webnovel-writer/webnovel-learn