home / skills / microck / ordinary-claude-skills / pre-write-checklist

pre-write-checklist skill

/skills_all/pre-write-checklist

This skill enforces a pre-write checklist to load all core files, ensuring consistent long-form writing and preventing AI context loss.

This is most likely a fork of the pre-write-checklist skill from wordflowlab
npx playbooks add skill microck/ordinary-claude-skills --skill pre-write-checklist

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
12.5 KB
---
name: pre-write-checklist
description: "Activates automatically before chapter writing to enforce the 9-item mandatory file reading checklist - prevents AI focus degradation in long-form fiction by ensuring all context is loaded before each writing session"
allowed-tools: Read, Grep
---

# 写作前强制检查清单

## 核心功能

**解决AI长篇失焦问题** - 这是Novel Writer Skills v1.0的核心创新。

### 问题根源

用户反馈:使用novel-writer创作,前30章质量很好,但30章后AI开始:
- 忘记前文设定
- 角色性格不一致
- 情节重复或矛盾
- 忽略创作宪法的原则

**根本原因**:长对话导致AI遗忘早期context,即使specification.md写得再详细也会被忘记。

### 解决方案

**每次写作前强制重读所有关键文件** → AI重新加载完整context → 保持一致性

---

## 9项强制检查清单

每次执行`/write`命令时,必须先完成此检查清单:

```markdown
📋 写作前检查清单(必须完成):

✓ 1. memory/constitution.md - 创作宪法
✓ 2. memory/style-reference.md - 风格参考(如有)
✓ 3. stories/*/specification.md - 故事规格
✓ 4. stories/*/creative-plan.md - 创作计划
✓ 5. stories/*/tasks.md - 当前任务
✓ 6. spec/tracking/character-state.json - 角色状态
✓ 7. spec/tracking/relationships.json - 关系网络
✓ 8. spec/tracking/plot-tracker.json - 情节追踪(如有)
✓ 9. spec/tracking/validation-rules.json - 验证规则(如有)

📊 上下文加载状态:✅ 完成
```

---

## 工作原理

### 自动触发时机

1. **用户执行 `/write` 命令**
2. **本Skill自动激活**
3. **强制执行检查清单**
4. **输出确认报告**
5. **然后才开始写作**

### 执行流程

```
用户: /write 第10章

         ↓

[pre-write-checklist 自动激活]

         ↓

步骤1:读取 memory/constitution.md
步骤2:读取 memory/style-reference.md(如有)
步骤3:读取 stories/*/specification.md
步骤4:读取 stories/*/creative-plan.md
步骤5:读取 stories/*/tasks.md
步骤6:读取 spec/tracking/character-state.json
步骤7:读取 spec/tracking/relationships.json
步骤8:读取 spec/tracking/plot-tracker.json(如有)
步骤9:读取 spec/tracking/validation-rules.json(如有)

         ↓

输出确认:
📋 写作前检查清单(已完成):
✓ 1-9 所有文件已读取
📊 上下文加载状态:✅ 完成

关键信息摘要:
- 创作原则:[从constitution提取]
- 当前任务:[从tasks.md提取]
- 主要角色:[从character-state提取]
- 情节进度:[从plot-tracker提取]

         ↓

开始写作第10章...
```

---

## 输出格式

### 标准输出(所有文件存在)

```markdown
📋 写作前检查清单(已完成):

✓ 1. memory/constitution.md - 创作宪法
   → 核心原则:[列出2-3条关键原则]

✓ 2. memory/style-reference.md - 风格参考
   → 风格要点:[提取关键风格要求]

✓ 3. stories/xxx/specification.md - 故事规格
   → 故事类型:[言情/悬疑/历史等]
   → P0元素:[必须包含的元素]

✓ 4. stories/xxx/creative-plan.md - 创作计划
   → 当前阶段:[第X卷/第X章]
   → 本章目标:[情节/情感目标]

✓ 5. stories/xxx/tasks.md - 当前任务
   → 待写章节:[第X章]
   → 任务状态:[pending/in_progress]

✓ 6. spec/tracking/character-state.json - 角色状态
   → 主要角色:[列出角色名和当前状态]

✓ 7. spec/tracking/relationships.json - 关系网络
   → 核心关系:[主角与谁的关系变化]

✓ 8. spec/tracking/plot-tracker.json - 情节追踪
   → 活跃线索:[当前进行中的情节线]

✓ 9. spec/tracking/validation-rules.json - 验证规则
   → 自动修复:[启用/禁用]

📊 上下文加载状态:✅ 完成(加载9个文件,约XXXX tokens)

🎯 准备写作第X章...
```

### 部分文件缺失时

```markdown
📋 写作前检查清单(部分完成):

✓ 1. memory/constitution.md - 创作宪法
✓ 2. ⚠️ memory/style-reference.md - 不存在(可选文件,跳过)
✓ 3. stories/xxx/specification.md - 故事规格
✓ 4. stories/xxx/creative-plan.md - 创作计划
✓ 5. stories/xxx/tasks.md - 当前任务
✓ 6. spec/tracking/character-state.json - 角色状态
✓ 7. spec/tracking/relationships.json - 关系网络
✓ 8. ⚠️ spec/tracking/plot-tracker.json - 不存在(可选文件,跳过)
✓ 9. ⚠️ spec/tracking/validation-rules.json - 不存在(可选文件,跳过)

📊 上下文加载状态:✅ 完成(加载6个必须文件 + 0个可选文件)

💡 建议:运行 `/track-init` 初始化完整追踪系统
```

### 关键文件缺失时(阻止写作)

```markdown
📋 写作前检查清单(失败):

✓ 1. memory/constitution.md - 创作宪法
✓ 2. memory/style-reference.md - 风格参考
❌ 3. stories/xxx/specification.md - **文件不存在**
❌ 4. stories/xxx/creative-plan.md - **文件不存在**
❌ 5. stories/xxx/tasks.md - **文件不存在**

⛔ 错误:缺少必需文件,无法继续写作

必须先完成:
1. 运行 `/constitution` 创建创作宪法
2. 运行 `/specify` 定义故事规格
3. 运行 `/plan` 制定创作计划
4. 运行 `/tasks` 分解任务清单

然后才能执行 `/write`

这是seven-step methodology的推荐流程。
```

---

## 与Commands集成

### `/write` 命令

**必须先执行检查清单,才能写作**:

```yaml
执行顺序:
1. pre-write-checklist(本Skill)→ 读取所有文件
2. 输出确认报告
3. 检查setting-detector → 是否需要激活知识库
4. 开始实际写作
```

### `/analyze` 命令

分析时也建议执行检查清单:

```yaml
分析前先确保context完整:
1. pre-write-checklist → 重新加载所有文件
2. 基于最新状态执行分析
```

### `/track` 命令

追踪更新后触发检查清单:

```yaml
更新流程:
1. 用户修改tracking文件
2. 运行 `/track` 更新
3. pre-write-checklist → 重新读取验证
```

---

## 文件重要性分类

### 必须文件(缺失则阻止写作)

```
1. memory/constitution.md - 创作原则
3. stories/*/specification.md - 故事规格
4. stories/*/creative-plan.md - 创作计划
5. stories/*/tasks.md - 当前任务
6. spec/tracking/character-state.json - 角色状态
7. spec/tracking/relationships.json - 关系网络
```

**逻辑**:没有这些文件,AI不知道:
- 要遵循什么原则
- 故事是关于什么的
- 当前写到哪里了
- 角色是谁、什么状态

### 可选文件(缺失时警告但允许继续)

```
2. memory/style-reference.md - 风格参考
8. spec/tracking/plot-tracker.json - 情节追踪
9. spec/tracking/validation-rules.json - 验证规则
```

**逻辑**:这些文件增强质量,但不是最低要求:
- style-reference:某些用户不用/book-internalize
- plot-tracker:简单故事可能不需要
- validation-rules:非必需的自动化

---

## 防失焦机制

### 问题场景

```
第1章写作:
- AI记得所有设定
- 质量很好

第10章写作:
- 对话已经很长
- AI开始遗忘第1章的设定

第30章写作:
- 完全忘记早期设定
- 角色性格走样
- 情节自相矛盾
```

### 解决机制

```
每次写作前:
- 强制重读所有核心文件
- 重新加载完整context
- 像写第1章一样对待第30章

结果:
- 第30章质量 ≈ 第1章质量
- 一致性保持
- 不再失焦
```

### 效果对比

| 对比维度 | 无检查清单 | 有检查清单 |
|---------|----------|----------|
| 第1-10章 | ✓ 质量好 | ✓ 质量好 |
| 第11-30章 | ⚠️ 开始不稳定 | ✓ 保持稳定 |
| 第31-50章 | ❌ 明显失焦 | ✓ 依然稳定 |
| 第51+章 | ❌ 严重失焦 | ✓ 长期稳定 |

---

## 配置选项

### 调整严格度

**默认:严格模式**(推荐)
```
"使用严格检查清单模式"
→ 缺少必需文件则阻止写作
```

**宽松模式**(不推荐)
```
"使用宽松检查清单模式"
→ 允许跳过部分文件(不推荐,可能失焦)
```

### 自定义检查项

如果你有额外的重要文件:

```
"检查清单请额外包含:
- spec/knowledge/worldbuilding/magic-system.md
- spec/knowledge/characters/protagonist-profile.md"
```

---

## 性能优化

### Token消耗

```
每次写作的额外token成本:

9个文件读取:
- constitution.md:~200 tokens
- specification.md:~500 tokens
- creative-plan.md:~300 tokens
- tasks.md:~150 tokens
- character-state.json:~200 tokens
- relationships.json:~150 tokens
- 其他:~200 tokens

总计:约1700 tokens/次写作

收益:
- 避免失焦导致的重写(节省数万tokens)
- 保持质量一致(用户满意度)
- 长篇项目的可持续性
```

**ROI极高**:1700 tokens换来长期稳定质量。

### 缓存策略

```
同一写作会话中:
第1次写作:读取所有文件(1700 tokens)
第2次写作(1小时内):检查文件是否修改
- 未修改:使用缓存(0 tokens)
- 已修改:重新读取(部分tokens)
```

---

## 常见问题

### Q: 每次写作都要读这么多文件,会不会很慢?

**A**: 不会。
- 文件读取很快(毫秒级)
- token消耗合理(~1700 tokens)
- 换来的是长期质量保证

**对比**:
- 不用检查清单:第30章质量差 → 用户要求重写10章 → 浪费数万tokens
- 用检查清单:每章+1700 tokens → 50章也只+85000 tokens → 但质量稳定

### Q: 我能跳过检查清单吗?

**A**: 技术上可以,但**强烈不推荐**。

```
"跳过检查清单,直接写作"
→ AI会警告:"不推荐,可能导致失焦"
→ 但会尊重你的选择
```

**后果自负**:30章后失焦了别说我没提醒你😊

### Q: 某些文件我确实没有怎么办?

**A**: 分两种情况:

**必需文件缺失**(constitution、specification等):
→ 阻止写作,提示先运行对应命令创建

**可选文件缺失**(style-reference、plot-tracker):
→ 警告但允许继续,建议后续创建

### Q: 检查清单和setting-detector的关系?

**A**: 互补工作:

```
pre-write-checklist:
- 加载项目特定文件(你的故事数据)

setting-detector:
- 加载通用知识库(类型惯例、写作技巧)

两者结合 = 完整context:
你的故事设定 + 类型专业知识
```

### Q: 100章的长篇小说也要每次都读吗?

**A**: 是的,而且**更需要**。

```
长篇小说的挑战:
- 设定更复杂
- 角色更多
- 情节线更多
- AI更容易忘记

检查清单的作用:
- 确保第100章和第1章质量一致
- 防止角色性格突变
- 防止情节自相矛盾

这是长篇小说质量保证的基石。
```

---

## 最佳实践

### 1. 保持文件更新

检查清单只能确保AI读取文件,但文件内容要准确:

```
✓ 角色状态变化 → 更新 character-state.json
✓ 关系变化 → 更新 relationships.json
✓ 新情节线 → 更新 plot-tracker.json
```

### 2. 定期运行 `/track`

```
建议频率:每5-10章运行一次 `/track`
作用:
- 更新tracking文件
- 验证一致性
- 发现潜在问题
```

### 3. 重要变更后手动触发

```
如果你手动修改了关键文件:
"请重新执行检查清单,重新加载所有文件"

确保AI看到最新状态。
```

### 4. 与consistency-checker配合

```
pre-write-checklist(写前):
- 加载所有context
- 准备写作

consistency-checker(写中/写后):
- 监控一致性
- 发现矛盾
```

双重保障 = 最高质量。

---

## 技术实现

### 文件读取顺序

```
优先级排序(重要的先读):
1. constitution(最高原则)
2. specification(故事核心)
3. creative-plan(技术方案)
4. tasks(当前任务)
5. character-state(角色数据)
6. relationships(关系数据)
7. plot-tracker(情节追踪)
8. validation-rules(验证规则)
9. style-reference(风格参考)
```

### 错误处理

```
文件不存在:
→ 必需文件:阻止写作,提示创建
→ 可选文件:警告,允许继续

文件格式错误:
→ JSON解析失败:显示错误,建议修复
→ Markdown格式问题:尽力读取,标记问题

文件过大:
→ 超过10000行:警告(可能影响性能)
→ 建议拆分文件
```

---

## 总结

pre-write-checklist是Novel Writer Skills v1.0的**核心创新**:

✓ 解决AI长篇失焦问题
✓ 强制重读关键文件
✓ 确保context完整性
✓ 保持质量长期稳定
✓ 适合专业作者长篇创作

**30章后不再失焦 = 长期竞争力** 🎯

---

**本Skill版本**: v1.0
**最后更新**: 2025-10-18
**核心问题**: 解决30章后AI失焦
**配合**: write.md, setting-detector, consistency-checker

Overview

This skill enforces a nine-item pre-write reading checklist automatically before every chapter-writing session. It reloads core project files so the AI retains story context, prevents drift, and preserves character and plot consistency across long-form fiction. It runs before /write, /analyze, and after tracking updates.

How this skill works

On activation (typically when the user issues /write), the skill reads nine key files in a prioritized order: constitution, specification, creative plan, tasks, character state, relationships, plot tracker, validation rules, and optional style reference. It outputs a concise confirmation report listing which files were loaded, highlights extracted essentials (principles, current task, main characters, plot progress), and blocks writing if required files are missing. A session cache reduces repeated token cost by skipping unchanged files.

When to use it

  • Before every /write command to guarantee full context
  • Before /analyze to ensure analysis uses current state
  • After /track updates to validate tracking changes
  • When returning to a long-running project after extended pauses
  • When preparing critical chapters where consistency matters most

Best practices

  • Keep the listed files accurate and up to date (character-state, relationships, tasks)
  • Run /track every 5–10 chapters to synchronize tracking files
  • Use strict mode for long novels; only use relaxed mode for rapid prototyping
  • Manually re-run the checklist after any direct edits to core files
  • Pair with a consistency checker during or after drafting for double assurance

Example use cases

  • Writing chapter 30+ of a multi-arc novel to prevent character drift
  • Switching from one POV to another and ensuring all relationship changes are loaded
  • Performing a story-wide analysis that must reflect the latest tracking data
  • Recovering a stalled project: reload constitution and plan before resuming
  • Automated pipelines where /write must be gated until context is verified

FAQ

What happens if a required file is missing?

The skill blocks writing and returns actionable instructions to create the missing files (constitution, specification, plan, tasks, or tracking files).

Does reading files every time consume a lot of tokens?

Typical cost is around 1.7k tokens per full check, but caching within a short session avoids repeated reads unless files changed, yielding a good ROI versus costly rewrites later.

Can I skip the checklist?

You can, but it’s strongly discouraged. Skipping increases risk of forgetting early setup and causes inconsistency in later chapters.

How strict should I set the checklist?

Default strict mode is recommended for long-form projects. Use a relaxed mode only for fast drafts or experiments, knowing it raises the chance of context drift.