All skills
lingfengqaq avatar

/webnovel-query

@5b92faf
by 聆风lingfengqaq/webnovel-writer7.3k stars
1,208

查询项目设定、角色、力量体系、势力、伏笔等信息。支持紧急度分析与金手指状态查询。

Use this Skill: https://skilld.dev/gh/lingfengqaq/webnovel-writer/webnovel-query

This session only. Nothing lands on disk.

SKILL.md

≈34 tokens always: the name and description. ≈1.3k when used: this file. ≈5.1k more on demand in 3 files.

Information Query Skill

Use when

用户询问关于故事设定、角色、力量体系、势力、伏笔、金手指、节奏等项目内信息时触发。

项目根保护

export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-$PWD}"
export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT}/scripts"
export SKILL_ROOT="${CLAUDE_PLUGIN_ROOT}/skills/webnovel-query"
export PROJECT_ROOT="$(python "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"
  • PROJECT_ROOT 必须包含 .webnovel/state.json
  • 禁止在 ${CLAUDE_PLUGIN_ROOT}/ 下读取或写入项目文件

查询分类 → 最窄工具

先识别查询类型,再用下表最窄工具。不默认全量加载,只在综合 / 跨多类型查询时用 memory-contract load-context。

查询类型 关键词 最窄工具
角色历史状态 某角色在第N章时 / 时间点状态 / 境界变化 knowledge query-entity-state
实体关系 关系 / 敌友 / 师徒 / 阵营归属 knowledge query-relationships
世界规则 力量规则 / 设定铁律 / 境界体系约束 memory-contract query-rules
伏笔 / open loop 伏笔 / 紧急伏笔 / 未闭合悬念 memory-contract get-open-loops
综合 / 复杂 跨多类型、需要时间线 + 长期记忆联合 memory-contract load-context
静态设定 角色卡 / 力量体系 / 世界观 / 势力 / 标签格式 Grep + Read 设定集

引用加载策略

按查询类型按需加载,先识别再加载。路径说明:references/ 指 skill 私有 skills/webnovel-query/references/;../../references/ 指共享 references。

查询类型 Reference 实际路径
数据流 / 优先级 数据流规范 ${SKILL_ROOT}/references/system-data-flow.md
伏笔分析 伏笔分析 ${SKILL_ROOT}/references/advanced/foreshadowing.md
节奏分析 Strand 模式 ${SKILL_ROOT}/../../references/shared/strand-weave-pattern.md
格式查询 标签规范 ${SKILL_ROOT}/references/tag-specification.md

不得同时加载两个以上 reference,除非用户请求明确跨多类型。

查询流程

  1. 识别查询类型:按「查询分类 → 最窄工具」表匹配关键词。

  2. 按优先级定位写前真源(写前真源 → 写后真源 → 投影层):

    1. .story-system/MASTER_SETTING.json - 全书主设定(题材、调性、核心禁忌)
    2. .story-system/volumes/*.json - 卷级合同(本卷目标、节奏策略)
    3. .story-system/chapters/*.json - 章级合同(本章焦点、动态上下文)
    4. latest accepted .story-system/commits/chapter_XXX.commit.json - 写后事实(已发布章节的定稿状态)
    5. memory-contract 系列查询 - 记忆编排结果(长期记忆、伏笔、时间线)
    6. .webnovel/state.json / index.db - 投影层(仅 fallback / read-model,类比网文后台的"角色卡"、"章节列表")

    优先级说明:

    • 写前真源(1-3):作者开写前必须遵守的"大纲、设定、禁区"
    • 写后真源(4):已发布章节的"定稿状态",不可篡改
    • 投影层(5-6):从写后真源自动生成的"查询视图",方便快速检索
  3. 调用最窄工具检索:按类型只调用所需命令,不默认全量 load-context。

# 角色历史状态:某实体在指定章节时的状态
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" knowledge query-entity-state --entity "{entity_id}" --at-chapter {N}

# 实体关系:某实体在指定章节时的所有关系
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" knowledge query-relationships --entity "{entity_id}" --at-chapter {N}

# 世界规则
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" memory-contract query-rules --chapter {chapter_num}

# 伏笔 / open loop
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" memory-contract get-open-loops

# 仅综合 / 复杂查询:需要时间线 + 长期记忆联合时才用
python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" memory-contract load-context --chapter {chapter_num}

静态设定(角色卡 / 力量体系 / 世界观 / 标签格式)直接用 Grep 定位行号再 Read 取片段,不经 memory-contract。

  1. 格式化输出:按下方模板输出。

输出格式

# 查询结果:{关键词}

## 概要
- **匹配类型**: {type}
- **数据源**: {实际命中的真源 / 投影层}
- **匹配数量**: X 条

## 详细信息
{结构化数据,含文件路径和行号}

## 数据一致性检查
{state.json 与静态文件的差异,若无差异则省略}

边界与失败恢复

  • 只读操作,不修改任何项目文件
  • 若数据源缺失,明确告知用户缺少什么文件
  • 若查询无匹配,返回空结果并建议检查范围
  • 若 .story-system/ 合同与 accepted commit 缺失,必须显式说明当前查询已降级到 legacy fallback

Source: SKILL.md on GitHub

1 warning16d4 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill is designed to query metadata and configuration for web novel projects by reading project files and executing a local Python script. It is generally safe but possesses an indirect prompt injection surface because it processes untrusted project data without explicit sanitization or boundary markers.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer6mo

    1/4 files flagged

Signed by skilld at 5b92faf. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 18 hours ago.

Activeupdated 4 months ago
argument-hint
[查询词,如 角色名/伏笔/境界]
All 1 allowed tools
Read Grep Bash

README badge

README badge for lingfengqaq/webnovel-writer/webnovel-query