| schema | 1.0 |
| name | creative-write |
| version | 1.0.0 |
| description | 通用創意內容生成引擎 — 支援多領域結構化創作工作流 |
| domain | creative |
| triggers | {"keywords":{"primary":["creative-write","創意寫作","內容生成"],"secondary":["寫作","生成內容","創作"]},"context_boost":["創作","寫作","內容"],"context_penalty":["code","api","database"],"priority":"high"} |
| dependencies | {"software-skills":[]} |
| author | creative-write-system |
Creative Write — 通用創意內容生成引擎
概述
本 Skill 是一個通用的創意內容生成引擎,支援多領域的結構化創作工作流。透過領域專用指引(domain guide),可適配不同類型的創意內容生成需求(小說、劇本、企劃等)。
核心原則
- 領域驅動 — 根據專案配置載入對應領域的寫作指引
- 記憶驅動 — 大量上下文注入確保內容一致性
- 結構化生成 — 按領域定義的層級(layers)逐單元生成
- 人類協作 — 關鍵節點提請人工審核
- 漸進式輸出 — 原始生成 + 潤色統一的兩階段流程
前置步驟(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 結構:
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: 前置檢查
- 確認專案配置已載入(
.creative/config.yaml)
- 確認狀態文件存在(
.creative/status.json)
- 根據領域的
paths 配置,確認規劃文件已存在:
- 單元列表(例如 novel: scene list)
- 上級大綱(例如 novel: chapter outline)
錯誤處理:
- 缺少配置 → 提示執行
/creative-init
- 缺少規劃 → 提示執行
/creative-plan
Step 2: 上下文收集(記憶注入)
根據 domain.yaml 中的 context_sources 和 write-guide.md 中的詳細規則,收集上下文:
通用上下文收集框架
按優先順序收集:
-
規劃上下文(必讀)
-
風格約束(必讀)
-
短期記憶(必讀)
-
登場元素(按需)
- 根據當前單元涉及的元素(角色、場景等)
- 使用 Grep 搜索知識庫
- Read 匹配的知識文件
-
領域設定(按需)
-
前序內容(按需)
- 如果不是首個單元,讀取前序內容的結尾
- 確保銜接自然
-
中期記憶(長篇需要)
- 如果內容規模超過閾值,讀取摘要文件
- 使用 Glob 找到所有摘要,讀取最近摘要
上下文組裝
將收集到的上下文按 write-guide.md 中定義的格式組裝成結構化提示。
Step 3: 逐單元生成(L4 層級)
根據 domain.yaml 中 layers.L4 的定義,逐單元生成內容。
生成流程
對規劃列表中的每個單元,依序執行:
- 確認單元設定 — 從規劃列表讀取當前單元的所有參數
- 組裝單元上下文 — 使用 Step 2 收集的資訊 + 前一單元的結尾
- 生成單元文本 — 根據 write-guide.md 中的寫作標準生成內容
- 寫入單元文件 — 使用 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 層級的合併和潤色。
合併流程
- 使用 Glob 收集所有 L4 單元文件
- 按單元編號排序
- 讀取所有單元內容
潤色工作
根據 write-guide.md 中 L5 層級的潤色標準執行:
- 單元間過渡優化
- 一致性檢查
- 節奏調整
- 開頭與結尾強化
輸出最終稿
使用 Write 寫入最終文件,格式根據 write-guide.md 定義。
字數統計
檢查總字數是否在 domain.yaml 定義的範圍內,如偏差過大則調整。
Step 5: 記憶更新 + 狀態更新
根據 write-guide.md 中的記憶更新規則:
短期記憶更新
使用 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 定義。寫作過程中如發現規劃不足,應暫停寫作並補充規劃,而非即興偏離規劃。