mcpField
W
webnovel-resume

webnovel-resume

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

关于 webnovel-resume

webnovel-resume 是用于检测并恢复小说项目中断任务的技能,适合需要安全接续工作流的创作者。它要求先确认项目根目录、检查中断状态,并由用户选择恢复方式,禁止自动续写半成品。

主要功能

  1. 01确认真实书项目根目录
  2. 02按需加载恢复协议与数据规范
  3. 03检测工作流中断状态
  4. 04展示恢复选项及风险
  5. 05经用户确认后清理或回滚

适用场景

  1. 01恢复中断的章节写作任务
  2. 02检查任务中断位置与已完成步骤
  3. 03在清理重来或 Git 回滚间作出选择

安装

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

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

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

附带文件references/system-data-flow.mdreferences/workflow-resume.md

详细介绍

来自项目 README

Task Resume Skill

Project Root Guard(必须先确认)

  • Claude Code 的“工作区根目录”不一定等于“书项目根目录”。常见结构:工作区为 D:\wk\xiaoshuo,书项目为 D:\wk\xiaoshuo\凡人资本论。
  • 必须先解析真实书项目根(必须包含 .webnovel/state.json),后续所有读写路径都以该目录为准。

环境设置(bash 命令执行前):

export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"

if [ -z "${CLAUDE_PLUGIN_ROOT}" ] || [ ! -d "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-resume" ]; then
  echo "ERROR: 未设置 CLAUDE_PLUGIN_ROOT 或缺少目录: ${CLAUDE_PLUGIN_ROOT}/skills/webnovel-resume" >&2
  exit 1
fi
export SKILL_ROOT="${CLAUDE_PLUGIN_ROOT}/skills/webnovel-resume"

if [ -z "${CLAUDE_PLUGIN_ROOT}" ] || [ ! -d "${CLAUDE_PLUGIN_ROOT}/scripts" ]; then
  echo "ERROR: 未设置 CLAUDE_PLUGIN_ROOT 或缺少目录: ${CLAUDE_PLUGIN_ROOT}/scripts" >&2
  exit 1
fi
export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT}/scripts"

export PROJECT_ROOT="$(python "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"

Workflow Checklist

Copy and track progress:

任务恢复进度:
- [ ] Step 1: 加载恢复协议 (cat "${SKILL_ROOT}/references/workflow-resume.md")
- [ ] Step 2: 加载数据规范 (cat "${SKILL_ROOT}/references/system-data-flow.md")
- [ ] Step 3: 确认上下文充足
- [ ] Step 4: 检测中断状态
- [ ] Step 5: 展示恢复选项 (AskUserQuestion)
- [ ] Step 6: 执行恢复
- [ ] Step 7: 继续任务 (可选)

Reference Loading Levels (strict, lazy)

  • L0: 不加载任何参考,直到确认存在中断恢复需求。
  • L1: 只加载恢复协议主文件。
  • L2: 仅在数据一致性检查时加载数据规范。
L1 (minimum)
L2 (conditional)

Step 1: 加载恢复协议(必须执行)

cat "${SKILL_ROOT}/references/workflow-resume.md"

核心原则(读取后应用):

  • 禁止智能续写: 上下文丢失风险高
  • 必须检测后恢复: 不猜测中断点
  • 必须用户确认: 不自动恢复

Step 2: 加载数据规范

cat "${SKILL_ROOT}/references/system-data-flow.md"

Step 3: 确认上下文充足

检查清单:

  • 恢复协议已理解
  • Step 难度分级已知
  • 状态结构已理解
  • "删除重来" vs "智能续写" 原则已明确

如有缺失 → 返回对应 Step

Step 难度分级(来自 workflow-resume.md)

Step难度恢复策略
Step 1⭐直接重新执行
Step 1.5⭐重新设计
Step 2A⭐⭐删除半成品,重新开始
Step 2B⭐⭐继续适配或回到 2A
Step 3⭐⭐⭐用户决定:重审或跳过
Step 4⭐⭐继续润色或删除重写
Step 5⭐⭐重新运行(幂等)
Step 6⭐⭐⭐检查暂存区,决定提交/回滚

Step 4: 检测中断状态

python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" workflow detect

输出情况:

  • 无中断 → 结束流程,通知用户
  • 检测到中断 → 继续 Step 5

Step 5: 展示恢复选项(必须执行)

展示给用户:

  • 任务命令和参数
  • 中断时间和已过时长
  • 已完成步骤
  • 当前(中断)步骤
  • 剩余步骤
  • 恢复选项及风险等级

示例输出:

🔴 检测到中断任务:

任务:/webnovel-write 7
中断位置:Step 2 - 章节内容生成中

已完成:
  ✅ Step 1: 上下文加载

未完成:
  ⏸️ Step 2: 章节内容(已写1500字)
  ⏹️ Step 3-7: 未开始

恢复选项:
A) 删除半成品,从Step 1重新开始(推荐)
B) 回滚到Ch6,放弃Ch7所有进度

请选择(A/B):

Step 6: 执行恢复

选项 A - 删除重来(推荐):

python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" workflow cleanup --chapter {N} --confirm
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" workflow clear

选项 B - Git 回滚:

git -C "$PROJECT_ROOT" reset --hard ch{N-1:04d}
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" workflow clear

Step 7: 继续任务(可选)

如用户选择立即继续:

/{original_command} {original_args}

特殊场景

Step 6 中断(成本高)
恢复选项:
A) 重新执行双章审查(成本:~$0.15)⚠️
B) 跳过审查,继续下一章(可后续补审)
Step 4 中断(部分状态)
⚠️ state.json 可能部分更新

A) 检查并修复 state.json
B) 回滚到上一章(安全)
长时间中断(>1小时)
⚠️ 中断已超过1小时

上下文丢失风险高
建议重新开始而非续写

禁止事项

  • ❌ 智能续写半成品内容
  • ❌ 自动选择恢复策略
  • ❌ 跳过中断检测
  • ❌ 不验证就修复 state.json

评论

支持 Markdown