name: webnovel-review description: 使用审查 Agent 评估章节质量,生成报告并写回审查指标。
reviewer 生成结构化问题列表与审查报告。index.db,并把审查记录写回 state.json。save-review-metrics 未跑)overall_score 或审查结论blocking=true 硬门槛.webnovel/state.json → 阻断blocking=true issue → 进入 Step 6 用户裁决export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
export SKILL_ROOT="${CLAUDE_PLUGIN_ROOT}/skills/webnovel-review"
export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT}/scripts"
export PROJECT_ROOT="$(python "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"
要求:
PROJECT_ROOT 必须包含 .webnovel/state.json| Trigger | Reference |
|---|---|
| always | references/shared/core-constraints.md |
| always | references/review-schema.md |
| Trigger | Reference |
|---|---|
| 审查涉及爽点或钩子分析 | references/shared/cool-points-guide.md |
| 审查涉及多线交织 | references/shared/strand-weave-pattern.md |
| blocking issue 需用户决策 (Step 6) | references/review/blocking-override-guidelines.md |
| Trigger | 检索命令 |
|---|---|
| ai_flavor issue ≥ 3 | python -X utf8 "${SCRIPTS_DIR}/reference_search.py" --skill review --query "AI味 反例 替换" |
cat "${PROJECT_ROOT}/.webnovel/state.json"
要求:
必须通过 Task 调用 reviewer,禁止主流程伪造结论。
输入:
chapterchapter_fileproject_rootscripts_dir输出约束:
evidenceoverall_score中间产物约定:
${PROJECT_ROOT}/.webnovel/tmp/review_results.json${PROJECT_ROOT}/.webnovel/tmp/review_metrics.json报告保存到:审查报告/第{chapter_num}章审查报告.md
报告结构:
标准文件流:
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" review-pipeline \
--chapter {chapter_num} \
--review-results "${PROJECT_ROOT}/.webnovel/tmp/review_results.json" \
--metrics-out "${PROJECT_ROOT}/.webnovel/tmp/review_metrics.json" \
--report-file "审查报告/第{chapter_num}章审查报告.md"
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" index save-review-metrics \
--data "@${PROJECT_ROOT}/.webnovel/tmp/review_metrics.json"
要求:
review-pipeline 生成的 review_metrics.json 必须可直接写入 review_metrics 表blocking=true 为准先写回审查记录:
python "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" update-state -- --add-review "{chapter_num}-{chapter_num}" "审查报告/第{chapter_num}章审查报告.md"
如存在任意 blocking=true 问题,必须使用 AskUserQuestion 询问用户:
若用户选择立即修复:
若用户选择稍后处理:
reviewer 输出结构化问题 JSON。review_metrics 已写入 index.db。state.json。