From webnovel-writer
Reviews webnovel chapter quality using checker agents and generates reports. Activates on chapter review requests or /webnovel-review invocation.
npx claudepluginhub lingfengqaq/webnovel-writer --plugin webnovel-writerThis skill is limited to using the following tools:
- Claude Code 的“工作区根目录”不一定等于“书项目根目录”。常见结构:工作区为 `D:\wk\xiaoshuo`,书项目为 `D:\wk\xiaoshuo\凡人资本论`。
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Dynamically discovers and combines enabled skills into cohesive, unexpected delightful experiences like interactive HTML or themed artifacts. Activates on 'surprise me', inspiration, or boredom cues.
Generates images from structured JSON prompts via Python script execution. Supports reference images and aspect ratios for characters, scenes, products, visuals.
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-review" ]; then
echo "ERROR: 未设置 CLAUDE_PLUGIN_ROOT 或缺少目录: ${CLAUDE_PLUGIN_ROOT}/skills/webnovel-review" >&2
exit 1
fi
export SKILL_ROOT="${CLAUDE_PLUGIN_ROOT}/skills/webnovel-review"
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)"
目标:让
/webnovel-resume能基于真实断点恢复。即使 workflow_manager 出错,也只记录警告,审查继续。
推荐(bash):
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" workflow start-task --command webnovel-review --chapter {end} || true
Step 映射(必须与 workflow_manager.py get_pending_steps("webnovel-review") 对齐):
Step 记录模板(bash,失败不阻断):
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" workflow start-step --step-id "Step 1" --step-name "加载参考" || true
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" workflow complete-step --step-id "Step 1" --artifacts '{"ok":true}' || true
必读:
cat "${SKILL_ROOT}/../../references/shared/core-constraints.md"
建议(Full 或需要时):
cat "${SKILL_ROOT}/../../references/shared/cool-points-guide.md"
cat "${SKILL_ROOT}/../../references/shared/strand-weave-pattern.md"
可选:
cat "${SKILL_ROOT}/references/common-mistakes.md"
cat "${SKILL_ROOT}/references/pacing-control.md"
cat "$PROJECT_ROOT/.webnovel/state.json"
调用约束:
Task 工具调用审查 subagent,禁止主流程直接内联审查结论。Core:
consistency-checkercontinuity-checkerooc-checkerreader-pull-checkerFull 追加:
high-point-checkerpacing-checker保存到:审查报告/第{start}-{end}章审查报告.md
报告结构(精简版):
# 第 {start}-{end} 章质量审查报告
## 综合评分
- 爽点密度 / 设定一致性 / 节奏控制 / 人物塑造 / 连贯性 / 追读力
- 总评与等级
## 修改优先级
- 🔴 高优先级(必须修改)
- 🟠 中优先级(建议修改)
- 🟡 低优先级(可选优化)
## 改进建议
- 可执行的修复建议
审查指标 JSON(用于趋势统计):
{
"start_chapter": {start},
"end_chapter": {end},
"overall_score": 48,
"dimension_scores": {
"爽点密度": 8,
"设定一致性": 7,
"节奏控制": 7,
"人物塑造": 8,
"连贯性": 9,
"追读力": 9
},
"severity_counts": {"critical": 1, "high": 2, "medium": 3, "low": 1},
"critical_issues": ["设定自相矛盾"],
"report_file": "审查报告/第{start}-{end}章审查报告.md",
"notes": ""
}
注意:此处只生成审查指标 JSON;落库见 Step 5。
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index save-review-metrics --data '@review_metrics.json'
将审查报告记录写回 state.json.review_checkpoints,用于后续追踪与回溯(依赖 update_state.py --add-review):
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" update-state -- --add-review "{start}-{end}" "审查报告/第{start}-{end}章审查报告.md"
如发现 critical 问题(severity_counts.critical > 0 或 critical_issues 非空),必须使用 AskUserQuestion 询问用户:
若用户选择 A:
Edit 对对应章节文件做最小修复,并建议重新运行一次 /webnovel-review 验证若用户选择 B:
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" workflow start-step --step-id "Step 8" --step-name "收尾" || true
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" workflow complete-step --step-id "Step 8" --artifacts '{"ok":true}' || true
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" workflow complete-task --artifacts '{"ok":true}' || true