CommunityWriting & Editinggithub.com

717672878/novel-skills

14 web novel writing Codex Skill suite — from topic selection to full publication workflow

What is novel-skills?

This is a comprehensive skill suite for web novel (网文) creation, designed to support Codex-like AI agents. It provides a centralized memory and continuity system that acts as the foundation for all novel-writing tasks. The skill initializes a shared `_novel/` project directory, manages characters, world-building, plot progression, foreshadowing, materials, and taboo enforcement. It includes 14 individual skills covering the entire workflow from topic selection to publication, with scripts for pre-write validation, status reporting, revision logging, and character status updates. The suite ensures consistency across all novel elements, prevents setting conflicts, and maintains a version-controlled revision history. It is ideal for authors using AI agents like Codex, Claude Code, or Cursor to streamline web novel creation and maintain narrative continuity.

Works with~Claude Code✓Codex CLI~Cursor
npx skills add 717672878/novel-skills

Installed? Explore more Writing & Editing skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Novel Memory Core (网文创作记忆核心)

Overview

This is the central nervous system of the novel-writing skill ecosystem. Every other novel skill reads from and writes to the _novel/ directory created and maintained by this skill.

Project Structure

When you run init-novel (or on first use), this skill creates the following structure under the user's working directory:

_novel/                              # 项目根目录(所有 skill 共享)
├── MANIFEST.yaml                    # 项目元信息:书名、作者、类型、当前状态
├── CHANGELOG.md                     # 核心设定变更日志(版本留痕)
│
├── world/                           # 世界观设定
│   ├── _index.yaml                  # 世界观索引(力量体系、阵营、地理等类别清单)
│   ├── geography.md                 # 地理设定
│   ├── power-system.md              # 力量体系设定
│   ├── factions.md                  # 阵营/势力设定
│   ├── timeline.md                  # 时间线
│   └── rules.md                     # 世界规则(魔法/科技/社会等)
│
├── characters/                      # 人物管理
│   ├── _index.yaml                  # 人物索引(含当前状态摘要)
│   ├── _relationships.yaml          # 人物关系图谱
│   ├── _status.yaml                 # 人物实时状态表(每次更新自动刷新)
│   └── cards/                       # 单人人物卡
│       ├── char-001-张三.md
│       └── ...
│
├── plot/                            # 剧情管理
│   ├── outline.md                   # 全书大纲
│   ├── act-arcs.md                  # 卷/幕结构
│   ├── progress.yaml                # 剧情进度台账(每章状态、字数、日期)
│   └── beats/                       # 情节节拍卡
│       └── ...
│
├── chapters/                        # 章节管理
│   ├── _index.yaml                  # 章节索引(含每章人物出场、关键事件)
│   ├── ch-001.md                    # 第一章正文/章纲
│   └── ...
│
├── foreshadow/                      # 伏笔管理
│   ├── _master-list.yaml            # 伏笔状态总表(埋设位置→回收位置)
│   ├── _pending.yaml                # 待回收伏笔(自动生成)
│   └── _resolved.yaml               # 已回收伏笔(自动归档)
│
├── materials/                       # 素材库
│   ├── _used.yaml                   # 已用素材记录(防重复)
│   └── library/                     # 素材原文或引用
│       └── ...
│
├── forbidden/                       # 禁忌清单
│   └── _checklist.yaml              # 全局禁忌清单(强制执行)
│
└── _meta/                           # 元数据
    ├── revisions/                   # 核心设定修改留痕
    │   ├── rev-2026-07-19-001.md
    │   └── ...
    └── snapshots/                   # 阶段性快照
        └── ...

Workflow Instructions

Step 1: Initialize (首次使用)

python scripts/init-novel.py --dir <project-path>

Interactive mode: run without flags to answer prompts for novel name, genre, etc.

Step 2: Pre-Write Validation (每次创作前)

ALWAYS run this before writing any new content:

python scripts/validate.py --dir _novel

This checks:

  • All referenced characters exist in characters/_index.yaml
  • All mentioned factions/locations exist in world/_index.yaml
  • Character status is up to date
  • No taboo items from forbidden/_checklist.yaml are violated
  • No foreshadowing conflicts (same seed planted twice without resolution)
  • No material reuse violations from materials/_used.yaml
  • Character relationship consistency (A→B matches B→A)
  • Timeline consistency (no date conflicts)

If validation fails, fix issues before proceeding.

Step 3: Status Snapshot (查看当前状态)

python scripts/status-report.py --dir _novel [--type summary|full|character|foreshadow|plot]

Default is summary. This gives a quick overview of:

  • Current chapter progress
  • Active character statuses
  • Pending foreshadowing count
  • Recent setting changes
  • Upcoming deadlines (if any)

Step 4: Log Changes (核心设定修改留痕)

Whenever a core setting is modified (world rule, character background, power system, etc.), ALWAYS log the change:

python scripts/log-revision.py --dir _novel --subject "<changed-item>" --summary "<what changed>" --reason "<why>"

This creates a dated revision record in _meta/revisions/ and appends to CHANGELOG.md.

Step 5: Update Character Status (人物状态更新)

After writing each chapter, run:

python scripts/update-status.py --dir _novel --chapter <chapter-number>

This automatically:

  • Updates characters/_status.yaml (location, HP/injury, mental state, power level, relationships)
  • Updates plot/progress.yaml (chapter complete, word count, key events)
  • Updates materials/_used.yaml (scenes/elements used in this chapter)
  • Checks foreshadow/_pending.yaml for resolved foreshadowing and auto-archives

Data Format Conventions

All skills in the ecosystem follow these conventions:

_index.yaml (人物/世界观索引)

items:
  - id: char-001
    name: 张三
    type: character  # or faction|location|power-system
    status: active   # active|inactive|deceased|hidden
    tags: [主角, 火系]
    ref: characters/cards/char-001-张三.md

_relationships.yaml

relationships:
  - from: char-001
    to: char-002
    type: 师徒        # 师徒|宿敌|恋人|盟友|君臣|etc.
    description: 张三在第三卷收李四为徒
    chapter-set: 30
    status: current   # current|past|broken

_status.yaml (人物实时状态)

char-001:
  name: 张三
  location: 天云城
  hp: 85             # 0-100 或具体描述
  mental: 平稳        # 平稳|焦虑|愤怒|崩溃|etc.
  power-level: 筑基中期
  cultivation: 75%    # 突破进度
  inventory: [玄火剑, 疗伤丹x3]
  tags: [受伤恢复中, 关键线索持有者]
  last-updated: ch-030

_master-list.yaml (伏笔总表)

foreshadows:
  - id: fs-001
    seed: 张三的玉佩来历不明
    planted-at: ch-005
    category: 身世
    importance: core   # core|major|minor
    expected-resolve: ch-080~ch-100
    status: pending    # pending|resolved|abandoned
    resolved-at: null
    notes: 暗示张三与上古宗门有关

forbidden/_checklist.yaml

taboos:
  - category: 设定
    rule: 力量体系不允许出现现代科技
    severity: fatal    # fatal|warning|soft
    detail: 除非特殊世界观,否则不得引入枪械/电子设备
  - category: 人物
    rule: 主角不能同时拥有两个以上金手指
    severity: warning

materials/_used.yaml

used-materials:
  - id: mat-001
    description: 悬崖遇险获传承
    first-used: ch-012
    reuse-count: 0
    category: 桥段
    notes: 经典奇遇桥段,避免重复使用

Critical Rules

  1. Always validate before writing — never skip Step 2.
  2. Always log core setting changes — never modify a character/world setting without logging.
  3. Update status after every chapter — stale status = invalidates all dependent skills.
  4. The _novel/ directory is the single source of truth — all skills must read from here.
  5. NEVER manually edit _meta/revisions/ or _meta/snapshots/ — use the provided scripts.
  6. Taboo list is enforced by the validator with fatal severity — violations block writing.

Related Skills