webnovel-resume について
webnovel-resume は、小説プロジェクトで中断したタスクを検出し、復旧するスキルです。プロジェクトのルートとワークフロー状態を確認し、未完成の内容を自動で続けず、ユーザーの選択を求めます。
主な機能
- 01実際の書籍プロジェクトルートの確認
- 02必要に応じた復旧手順の読み込み
- 03中断したワークフローの検出
- 04復旧方法とリスクの提示
- 05ユーザー確認後のクリーンアップやロールバック
活用シーン
- 01中断した章の執筆タスクの復旧
- 02中断箇所と完了済み手順の確認
- 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
詳細
タスク再開スキル
プロジェクトルートの確認(必ず最初に確認)
- 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)"
ワークフローチェックリスト
コピーして進捗を記録します:
任务恢复进度:
- [ ] 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: 继续任务 (可选)
参照ファイルの読み込みレベル(厳守・必要時のみ)
- L0:中断からの再開が必要だと確認できるまで、参照ファイルを読み込みません。
- L1:再開プロトコルのメインファイルのみを読み込みます。
- L2:データの整合性を確認する場合に限り、データ仕様を読み込みます。
L1(最小限)
L2(条件付き)
- system-data-flow.md(状態フィールド/再開方針を確認する必要がある場合のみ)
Step 1: 再開プロトコルを読み込む(必ず実行)
cat "${SKILL_ROOT}/references/workflow-resume.md"
基本原則(読み込み後に適用):
- 賢い続きを禁止:コンテキストが失われるリスクが高いため
- 検出してから再開すること:中断箇所を推測しない
- ユーザーの確認が必須:自動で再開しない
Step 2: データ仕様を読み込む
cat "${SKILL_ROOT}/references/system-data-flow.md"
Step 3: コンテキストが十分であることを確認する
チェックリスト:
- 再開プロトコルを理解している
- Step の難易度分類を把握している
- 状態構造を理解している
- 「削除してやり直す」対「賢く続きを書く」の原則が明確になっている
不足がある場合 → 該当する 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 対応