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

詳細

タスク再開スキル

プロジェクトルートの確認(必ず最初に確認)

  • 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 を修復する

コメント