Skip to content
Agentmart
Submit a tool

webnovel-write

产出可发布章节。单章撰写,三模式:默认/--fast/--minimal。批量模式请用 webnovel-batch。

Skill by ricky-theseus

IndexedGPL-3.0★ 76
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/ricky-theseus-webnovel-write

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

产出可发布章节。单章撰写,三模式:默认/--fast/--minimal。批量模式请用 webnovel-batch。

Use cases: writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/webnovel-write

Tools it pre-approves 7

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Read
  • Write
  • Edit
  • Grep
  • Bash
  • Agent
  • AskUserQuestion

What's inside

Skill name
webnovel-write
Description
产出可发布章节。单章撰写,三模式:默认/--fast/--minimal。批量模式请用 webnovel-batch。
License
GPL-3.0
Allowed tools
Read, Write, Edit, Grep, Bash, Agent, AskUserQuestion
Instructions
443 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves any shell command

Agent Skills spec issues

  • name: "webnovel-write" does not match folder "write"

Files (14)

  • SKILL.md
  • evals.json · evals/
  • anti-ai-guide.md · references/
  • chapter-structure-guide.md · references/
  • polish-guide.md · references/
  • style-adapter.md · references/
  • style-variants.md · references/
  • combat-scenes.md · references/writing/
  • desire-description.md · references/writing/
  • dialogue-writing.md · references/writing/
  • emotion-psychology.md · references/writing/
  • genre-hook-payoff-library.md · references/writing/
  • scene-description.md · references/writing/
  • typesetting.md · references/writing/

SKILL.md (first lines)

# 写章流程

## 目标

产出可发布章节到 `正文/第{NNNN}章-{title}.md`。默认 2500-3500 字,用户/大纲另有要求时从之。

**前置加载**:写章/审查前必须先 `skill("webnovel-craft")` 加载工艺约束。`webnovel-craft` 定义跨书通用强标准(句长、句式、感官、情绪、五维度),本书 `设定集/行文约束集.md` 只追加本书特殊约束。

## 模式

| 模式 | 流程 |
|------|------|
| 默认 | Step 1→2→3→4→5→6 |
| `--fast` | Step 1→2→3(轻量)→4→5→6 |
| `--minimal` | Step 1→2→3(写 no-review artifact)→4(仅排版)→5→6 |

批量模式(多章自动推进至卷末)请使用 `/webnovel-batch N`。`--stream` 已迁移至 webnovel-batch。

### 模式隔离

- **默认 / `--fast` / `--minimal`**:同步执行。主对话直跑全链路,单章完成即返回。

### 批量模式 → 见 `webnovel-batch` skill

`--stream` 批量架构已独立为 `webnovel-batch` 技能,此处不再维护。功能:主对话启动串行循环,逐章派发独立撰写 agent + 持久审查 agent,后台运行、断点续跑。命令:`/webnovel-batch N`。

## 硬规则

- 禁止并步、跳步、伪造审查
- 必须使用 `Agent` 工具调用指定 subagent;不得用主流程口头代替 subagent 输出
- 审查只跑一轮;blocking issue 定点修复或经用户裁决后才进 Step 4/5
- 失败只补跑失败步骤,不回退
- 参考资料按步骤按需加载

## 优先级

用户要求 > 状态机硬门槛 > 项目约束(总纲/设定/记忆)> skill 流程 > reference 建议

## CSV 检索(Step 2 按需)

```bash
python -X utf8 "${SCRIPTS_DIR}/reference_search.py" --skill write --table {表名} --query "{关键词}" --genre {题材}
```

触发条件:新角色→命名规则,战斗→场景写法,多角色对话→写作技法,情感描写→写作技法,高频桥段→场景写法。

## 执行流程

### 准备:预检

```bash
export WORKSPACE_ROOT="${CLAUDE_PROJECT_DIR:-${OPENCODE_PROJECT_DIR:-$PWD}}"
export CLAUDE_PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-${OPENCODE_PLUGIN_ROOT:-}}"
export SCRIPTS_DIR="${CLAUDE_PLUGIN_ROOT:?}/scripts"
export SKILL_ROOT="${CLAUDE_PLUGIN_ROOT:?}/skills/webnovel-write"

python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" preflight
export PROJECT_ROOT="$(python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${WORKSPACE_ROOT}" where)"

python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" placeholder-scan --format text
```

### 准备:刷新合同树

genre 从 `.webnovel/state.json` 的初始化配置快照读取,用于刷新合同树;写前主链真源仍是 `.story-system/` 合同。调用 story-system 前必须先从详细大纲解析真实本章目标,禁止传 `{章纲目标}`、`第N章章纲目标` 等占位 query。

```bash
GENRE="$(python -X utf8 -c "import json,sys; s=json.load(open('${PROJECT_ROOT}/.webnovel/state.json',encoding='utf-8')); pi=s.get('project_info',{}); print(pi.get('genre') or s.get('project',{}).get('genre',''))")"

python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" \
  story-system "${CHAPTER_GOAL}" --genre "${GENRE}" --chapter {chapter_num} --persist --emit-runtime-contracts --format both

python -X utf8 "${SCRIPTS_DIR}/webnovel.py" --project-root "${PROJECT_ROOT}" \
  write-gate --chapter {chapter_num} --stage prewrite --format json
```

必备文件:`MASTER_SETTING.json`(调性/禁忌)、`volume_{NNN}.json`(卷级节奏)、`chapter_{NNN}.review.json`(必须节点/禁区)。缺失则阻断。

`chapter_{NNN}.json` 必须优先检查顶层 `chapter_directive`。`chapter_focus` 只能来自 `chapter_directive.goal` 或真实 query,不得从 `dynamic_context` 的参考摘要继承。

写作任务书排序必须固定为:
1. 本章硬性约束:`chapter_directive.goal/time_anchor/chapter_span/countdown/chapter_end_open_question`
2. CBN/CPNs/CEN 与 `must_cover_nodes`
3. 本章禁区:`forbidden_zones`,违反即不通过
4. 风格指引:reasoning、主角卡 OOC 警戒、anti_patterns
5. 场景写法补充:`dynamic_context`,仅作风格参考,不能覆盖章纲约束

### Step 1:context-agent 生成写作任务书

必须使用 `Agent` 工具调用 `context-agent`,不得由主流程自行整理任务书。

Use the Agent tool to run `webnovel-writer:context-agent`.

Task:
- chapter={chapter_num}
- project_root=${PROJECT_ROOT}
- scripts_dir=${SCRIPTS_DIR}
- storage_path=${PROJECT_ROOT}/.webnovel
- state_file=${PROJECT_ROOT}/.webnovel/state.json(projection/read-model,仅兼容读取)
- 先 research,再按 本章硬性约束 → CBN/CPNs/CEN → 本章禁区 → 风格指引 → dynamic_context 补充参考 的顺序输出五段写作任务书。
- 上下文不足时返回 blocker。

产物:一份写作任务书,能独立支撑 Step 2 起草。

调用后主流程必须记录 `SubagentRun` 汇总(仅供最终报告使用):

```json
{
  "name": "context-agent",
  "user_label": "整理写作依据",
  "status": "completed | partial | failed | skipped",
  "problems": [],
  "auto_handled": [],
  "needs_user_action": false,
  "duration_ms": 0,
  "outputs": []
}
```

From ricky-theseus/DaisyWriter, GPL-3.0.

More from ricky-theseus/DaisyWriter

Signals

Stars
76
Forks
5
Open issues
0
Last commit (this folder)
Jul 8, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
GPL-3.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ricky-theseus

Cite this page

webnovel-write skill. Agent Mart. https://agentmart.dev/skills/ricky-theseus-webnovel-write (last updated 2026-10-24)