# Creative Write

> 通用創意內容生成引擎 — 支援多領域結構化創作工作流

- Skill: `miles990/creative-write` (Agent Skill)
- Install (CLI): `npx skillmds@latest add miles990/creative-write`
- Raw SKILL.md: https://api.skillmd.com/api/skills/miles990/creative-write/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: miles990 (https://skillmd.com/u/miles990)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/miles990/creative-write

---


# Creative Write — 通用創意內容生成引擎

## 概述

本 Skill 是一個通用的創意內容生成引擎，支援多領域的結構化創作工作流。透過領域專用指引（domain guide），可適配不同類型的創意內容生成需求（小說、劇本、企劃等）。

## 核心原則

1. **領域驅動** — 根據專案配置載入對應領域的寫作指引
2. **記憶驅動** — 大量上下文注入確保內容一致性
3. **結構化生成** — 按領域定義的層級（layers）逐單元生成
4. **人類協作** — 關鍵節點提請人工審核
5. **漸進式輸出** — 原始生成 + 潤色統一的兩階段流程

---

## 前置步驟（Domain 載入）

### 1. 讀取專案配置

使用 Read 讀取 `.creative/config.yaml`，取得：
- `domain` 值（例如: novel, screenplay, plan）
- 專案基礎配置（類型、風格、目標字數等）

**如果配置不存在**：
```
錯誤：未找到 .creative/config.yaml

請先執行 /creative-init 初始化專案。
```

### 2. 計算路徑

從 Skill header 的 `Base directory` 計算 PLUGIN_ROOT：
- PLUGIN_ROOT = Base directory 去掉 `/skills/creative-write` 部分
- 例如: `/path/to/project/skills/creative-write` → `/path/to/project`

設定路徑變數：
- DOMAIN_DIR = `$PLUGIN_ROOT/shared/domains/{domain}/`
- PROJECT_ROOT = 專案根目錄（.creative/config.yaml 所在位置）

### 3. 載入領域配置

使用 Read 讀取 `$DOMAIN_DIR/domain.yaml`，取得：
- `layers` — 內容生成的層級定義（例如 L4: scene, L5: chapter）
- `paths` — 領域特定的檔案路徑映射
- `word_count` — 各單元的字數範圍
- `context_sources` — 上下文收集來源配置

範例 domain.yaml 結構：
```yaml
domain: novel
layers:
  L4:
    name: scene
    unit: 場景
    word_range: [1500, 3000]
  L5:
    name: chapter
    unit: 章節
    aggregation: merge_and_polish
paths:
  planning: planning/
  drafts: drafts/
  knowledge: knowledge/
  memory: memory/
context_sources:
  - type: planning
    priority: 1
  - type: memory
    priority: 2
  - type: knowledge
    priority: 3
```

### 4. 載入寫作指引

使用 Read 讀取 `$DOMAIN_DIR/write-guide.md`，取得：
- 上下文收集規則
- 單元生成標準
- 品質檢查清單
- 記憶更新格式

---

## 工作流程

### Step 1: 前置檢查

1. 確認專案配置已載入（`.creative/config.yaml`）
2. 確認狀態文件存在（`.creative/status.json`）
3. 根據領域的 `paths` 配置，確認規劃文件已存在：
   - 單元列表（例如 novel: scene list）
   - 上級大綱（例如 novel: chapter outline）

**錯誤處理**：
- 缺少配置 → 提示執行 `/creative-init`
- 缺少規劃 → 提示執行 `/creative-plan`

### Step 2: 上下文收集（記憶注入）

根據 domain.yaml 中的 `context_sources` 和 write-guide.md 中的詳細規則，收集上下文：

#### 通用上下文收集框架

按優先順序收集：

1. **規劃上下文**（必讀）
   - 讀取當前單元的規劃文件
   - 讀取上級結構文件

2. **風格約束**（必讀）
   - 讀取風格指南文件
   - 確保風格一致性

3. **短期記憶**（必讀）
   - 讀取最近生成單元的摘要
   - 確保連貫性

4. **登場元素**（按需）
   - 根據當前單元涉及的元素（角色、場景等）
   - 使用 Grep 搜索知識庫
   - Read 匹配的知識文件

5. **領域設定**（按需）
   - 搜索相關的領域專用設定
   - 讀取相關配置文件

6. **前序內容**（按需）
   - 如果不是首個單元，讀取前序內容的結尾
   - 確保銜接自然

7. **中期記憶**（長篇需要）
   - 如果內容規模超過閾值，讀取摘要文件
   - 使用 Glob 找到所有摘要，讀取最近摘要

#### 上下文組裝

將收集到的上下文按 write-guide.md 中定義的格式組裝成結構化提示。

---

### Step 3: 逐單元生成（L4 層級）

根據 domain.yaml 中 layers.L4 的定義，逐單元生成內容。

#### 生成流程

對規劃列表中的每個單元，依序執行：

1. **確認單元設定** — 從規劃列表讀取當前單元的所有參數
2. **組裝單元上下文** — 使用 Step 2 收集的資訊 + 前一單元的結尾
3. **生成單元文本** — 根據 write-guide.md 中的寫作標準生成內容
4. **寫入單元文件** — 使用 Write 寫入原始文件

#### 單元文件格式

根據 write-guide.md 中定義的格式，包含 YAML frontmatter 和正文。

#### Human Gate 框架

對於關鍵單元（根據 write-guide.md 定義的條件），使用 AskUserQuestion 請求審核：

```
關鍵單元審核請求

單元：{unit_description}
類型：{critical_type}
字數：{word_count} 字

摘要：{brief_summary}

請審核以下要點：
{review_checklist from write-guide.md}

請回覆：
- "確認" 保留當前版本
- "修改 [具體說明]" 調整特定部分
- "重寫" 重新生成此單元
```

---

### Step 4: 合併潤色（L5 層級）

所有 L4 單元生成後，進行 L5 層級的合併和潤色。

#### 合併流程

1. 使用 Glob 收集所有 L4 單元文件
2. 按單元編號排序
3. 讀取所有單元內容

#### 潤色工作

根據 write-guide.md 中 L5 層級的潤色標準執行：
- 單元間過渡優化
- 一致性檢查
- 節奏調整
- 開頭與結尾強化

#### 輸出最終稿

使用 Write 寫入最終文件，格式根據 write-guide.md 定義。

#### 字數統計

檢查總字數是否在 domain.yaml 定義的範圍內，如偏差過大則調整。

---

### Step 5: 記憶更新 + 狀態更新

根據 write-guide.md 中的記憶更新規則：

#### 短期記憶更新

使用 Edit 更新短期記憶文件，添加新生成單元的摘要。

#### 知識庫更新（如有變化）

如果生成內容中有新元素或元素狀態變化：
- 使用 Edit 更新對應的知識庫文件

#### 狀態文件更新

使用 Edit 更新 `.creative/status.json`，記錄：
- 已完成的單元/章節
- 當前進度
- 總字數
- 最後更新時間

#### 時間線更新

使用 Edit 更新 `.creative/timeline.md`，記錄重要事件。

#### 觸發摘要生成

如果達到摘要生成閾值，提示用戶執行 `/creative-memory summarize`。

---

## 參數處理

### 基礎調用

```
/creative-write
```
自動寫作下一個未完成的單元組（根據 status.json 判斷）。

### 指定單元組

```
/creative-write {unit-group-id}
```
寫作指定的單元組（例如 novel: `chapter-005`）。如果已存在，詢問是否覆蓋。

### 指定子單元

```
/creative-write {unit-group-id} {sub-unit-id}
```
只寫作特定子單元（例如 novel: `chapter-005 scene-003`）。適用於重寫。

### 續寫模式

```
/creative-write --continue
```
如果上次寫作中斷，從中斷處繼續。

### 自動品質檢查

```
/creative-write {unit-group-id} --auto-check
```
寫作完成後自動觸發 `/creative-check {unit-group-id}`。

---

## 錯誤處理

### 規劃文件不存在

```
錯誤：找不到 {unit-group-id} 的規劃文件。

請先執行 /creative-plan 生成規劃，或手動創建：
{expected_planning_path}
```

### 前序單元未完成

如果要求寫作單元 N 但單元 N-1 尚未完成：

```
提醒：{previous_unit} 尚未完成（status: 未開始）

建議：
1. 先完成 {previous_unit} 以確保連貫性
2. 如果確定要跳過，請回覆 "跳過"（可能影響連貫性）
```

### 寫作中斷恢復

如果檢測到部分單元已生成但未完成最終稿：

```
檢測到 {unit-group-id} 寫作中斷。

已完成單元：{completed_list}（共 {total_count} 個單元）
未完成單元：{pending_list}

是否從 {next_unit} 繼續？
- "繼續" 從中斷處續寫
- "重新開始" 刪除已有單元，重新寫作
```

### 字數異常

根據 domain.yaml 的字數範圍，如果單元字數異常：
- 超標：考慮拆分或精簡
- 不足：增加細節或展開內容

---

## 輸出路徑

輸出路徑由 domain.yaml 的 `paths` 配置和 write-guide.md 定義，框架本身不硬編碼路徑。

通用模式：
- L4 原始單元：`{paths.drafts}/{unit-group-id}/{sub-unit-id}-raw.md`
- L5 最終稿：`{paths.drafts}/{unit-group-id}/{unit-group-id}-final.md`
- 短期記憶：`{paths.memory}/recent-{units}.md`
- 狀態文件：`.creative/status.json`
- 時間線：`.creative/timeline.md`

---

## 範例互動流程

```
用戶: /creative-write chapter-003

Claude:
[載入 domain: novel]
[讀取 novel/domain.yaml 和 novel/write-guide.md]
開始寫作第 3 章。

[執行上下文收集]
[讀取場景列表、章節大綱、風格指南、短期記憶]
[搜索登場角色、世界觀設定]

第 3 章共 6 個場景，預計字數 12000-15000 字。
開始場景擴寫...

---

場景 1/6：{scene_title}（字數: 2100）✓
場景 2/6：{scene_title}（字數: 2400）✓
場景 3/6：{scene_title}（字數: 1800）✓

⚠️ 場景 4 為關鍵場景，請求審核...
[等待用戶確認]

用戶: 確認

場景 4/6：{scene_title}（字數: 2800）✓
場景 5/6：{scene_title}（字數: 1600）✓
場景 6/6：{scene_title}（字數: 1900）✓

開始章節潤色...

第 3 章寫作完成！

總字數：12,700 字
單元數：6 個
品質自檢：通過

已更新：
- {paths.drafts}/chapter-003/chapter-003-final.md
- {paths.memory}/recent-scenes.md
- .creative/status.json
- .creative/timeline.md

下一步建議：
- /creative-write chapter-004 繼續寫作
- /creative-check chapter-003 進行品質檢查
- /creative-status 查看整體進度
```

---

**最後提醒**：本 Skill 是通用框架，實際寫作標準和品質要求由領域專用的 write-guide.md 定義。寫作過程中如發現規劃不足，應暫停寫作並補充規劃，而非即興偏離規劃。

