Information Query Skill
Project Root Guard(必须先确认)
-
Claude Code 的“工作区根目录”不一定等于“书项目根目录”。常见结构:工作区为 D:\wk\xiaoshuo ,书项目为 D:\wk\xiaoshuo\凡人资本论 。
-
必须先解析真实书项目根(必须包含 .webnovel/state.json ),后续所有读写路径都以该目录为准。
-
禁止在插件目录 ${CLAUDE_PLUGIN_ROOT}/ 下读取或写入项目文件
环境设置(bash 命令执行前):
export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
if [ -z "${CLAUDE_PLUGIN_ROOT}" ] || [ ! -d "${CLAUDE_PLUGIN_ROOT}/skills/webnovel-query" ]; then echo "ERROR: 未设置 CLAUDE_PLUGIN_ROOT 或缺少目录: ${CLAUDE_PLUGIN_ROOT}/skills/webnovel-query" >&2 exit 1 fi export SKILL_ROOT="${CLAUDE_PLUGIN_ROOT}/skills/webnovel-query"
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: 识别查询类型
- Step 2: 加载对应参考文件
- Step 3: 加载项目数据 (state.json)
- Step 4: 确认上下文充足
- Step 5: 执行查询
- Step 6: 格式化输出
Reference Loading Levels (strict, lazy)
-
L0: 先识别查询类型,不预加载全部参考。
-
L1: 所有查询仅加载基础数据流规范。
-
L2: 仅按查询类型加载对应专题参考。
L1 (minimum)
- system-data-flow.md
L2 (conditional by query type)
-
伏笔查询:foreshadowing.md
-
节奏查询:strand-weave-pattern.md
-
标签格式查询:tag-specification.md
Do not load two or more L2 files unless the user request clearly spans multiple query types.
Step 1: 识别查询类型
关键词 查询类型 需加载
角色/主角/配角 标准查询 system-data-flow.md
境界/筑基/金丹 标准查询 system-data-flow.md
伏笔/紧急伏笔 伏笔分析 foreshadowing.md
金手指/系统 金手指状态 system-data-flow.md
节奏/Strand 节奏分析 strand-weave-pattern.md
标签/实体格式 格式查询 tag-specification.md
Step 2: 加载对应参考文件
所有查询必须执行:
cat "${SKILL_ROOT}/references/system-data-flow.md"
伏笔查询额外执行:
cat "${SKILL_ROOT}/references/advanced/foreshadowing.md"
节奏查询额外执行:
cat "${SKILL_ROOT}/../../references/shared/strand-weave-pattern.md"
标签格式查询额外执行:
cat "${SKILL_ROOT}/references/tag-specification.md"
Step 3: 加载项目数据
cat "$PROJECT_ROOT/.webnovel/state.json"
Step 4: 确认上下文充足
检查清单:
-
查询类型已识别
-
对应参考文件已加载
-
state.json 已加载
-
知道在哪里搜索答案
如有缺失 → 返回对应 Step
Step 5: 执行查询
标准查询
关键词 搜索目标
角色/主角/配角 主角卡.md, 角色库/
境界/实力 力量体系.md
宗门/势力 世界观.md
物品/宝物 物品库/
地点/秘境 世界观.md
伏笔紧急度分析
三层分类(来自 foreshadowing.md):
-
核心伏笔: 主线剧情 - 权重 3.0x
-
支线伏笔: 配角/支线 - 权重 2.0x
-
装饰伏笔: 氛围/细节 - 权重 1.0x
紧急度公式:
紧急度 = (已过章节 / 目标章节) × 层级权重
状态判定:
-
🔴 Critical: 超过目标 OR 核心 >20 章
-
🟡 Warning: >80% 目标 OR 支线 >30 章
-
🟢 Normal: 计划范围内
快速分析:
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" status -- --focus urgency
金手指状态
输出包含:
-
基本信息(名称/类型/激活章节)
-
当前等级和进度
-
已解锁技能及冷却
-
待解锁技能预览
-
升级条件
-
发展建议
Strand 节奏分析
快速分析:
python "${SCRIPTS_DIR}/webnovel.py" --project-root "$PROJECT_ROOT" status -- --focus strand
检查警告:
-
Quest >5 连续章
-
Fire >10 章未出现
-
Constellation >15 章未出现
Step 6: 格式化输出
查询结果:{关键词}
📊 概要
- 匹配类型: {type}
- 数据源: state.json + 设定集 + 大纲
- 匹配数量: X 条
🔍 详细信息
1. Runtime State (state.json)
{结构化数据}
Source: .webnovel/state.json (lines XX-XX)
2. 设定集匹配结果
{匹配内容,含文件路径和行号}
⚠️ 数据一致性检查
{state.json 与静态文件的差异}