---
schema: "1.0"
name: creative-plan
version: "1.0.0"
description: 創意專案規劃系統 — 支援多層級規劃工作流（宏觀結構 / 分段大綱 / 細節列表）
domain: creative
triggers:
  keywords:
    primary: [creative-plan, 創意規劃, 結構規劃, 分層規劃]
    secondary: [大綱規劃, 分段規劃, 細節規劃]
  context_boost: [規劃, 大綱, 結構, 創意]
  context_penalty: [code, api, database]
  priority: high
dependencies:
  software-skills: []
author: ai-creative-system
---

# 創意專案規劃 Skill

## 概述

本 Skill 提供通用的創意專案分層規劃工作流，支援多種創意領域（小說、劇本、遊戲、影片等）。根據領域配置動態載入規劃指引，在關鍵決策點設置人類審核閘門。

## 核心原則

- **結構先行**: 先建立穩固的宏觀結構，再逐層細化
- **人類在環**: 在每個層級完成後請求用戶審核
- **連貫性**: 確保各層級之間的邏輯連貫
- **可追溯性**: 所有規劃決策可追溯到配置文件
- **領域感知**: 根據不同領域使用對應的規劃策略

## 前置步驟（Domain 載入）

1. 使用 Read 讀取 `.creative/config.yaml` 取得專案配置
   - 如果配置不存在，提示用戶執行 `/creative-init`
   - 從配置中提取 `domain` 值（例如：novel, screenplay, game）

2. 計算 PLUGIN_ROOT 路徑
   - 從 Skill header 中的 `Base directory` 取得當前路徑
   - PLUGIN_ROOT = Base directory 去掉 `/skills/creative-plan` 部分
   - 例如：`/Users/user/.claude/skill-cache/novel/skills/creative-plan` → `/Users/user/.claude/skill-cache/novel`

3. 設定 DOMAIN_DIR 路徑
   - DOMAIN_DIR = `$PLUGIN_ROOT/shared/domains/{domain}/`
   - 例如：domain=novel → `/Users/user/.claude/skill-cache/novel/shared/domains/novel/`

4. 使用 Read 讀取領域配置
   - 讀取 `$DOMAIN_DIR/domain.yaml` 取得 layers 定義和路徑映射
   - 讀取 `$DOMAIN_DIR/plan-guide.md` 取得領域專用規劃指引

5. 使用 Read 檢查 `.creative/status.json` 了解當前進度

## 工作流程

基於 domain.yaml 中定義的 layers，依序執行各層級規劃：

### 層級迭代邏輯

對於 domain.yaml 中定義的每個 layer（L1, L2, L3...）：

1. **檢查前置條件**
   - 如果該層級依賴前序層級（例如 L2 依賴 L1），檢查前序層級是否已完成
   - 從 status.json 讀取當前進度

2. **讀取領域指引**
   - 從 plan-guide.md 讀取該層級的具體規劃規則
   - 包括輸入要求、輸出格式、質量標準

3. **收集輸入**
   - 如果該層級是起始層級（L1），使用 AskUserQuestion 收集用戶的創意想法
   - 如果是後續層級，使用 Read 讀取前序層級的輸出作為輸入
   - 根據 guide 中的要求，決定需要詢問用戶的具體問題

4. **執行規劃**
   - 根據 guide 中的規則生成該層級的內容
   - 確保符合 domain.yaml 中定義的輸出路徑格式
   - 應用領域專用的結構模式（例如小說的五幕結構）

5. **批量生成策略**（適用於 L2, L3 等細粒度層級）
   - 從 guide 中讀取批量大小建議（例如每 10 個單位一組）
   - 使用 Read 讀取前序內容確保連貫性
   - 每次生成一批單位（章節、場景、段落等）

6. **寫入輸出**
   - 根據 domain.yaml 的 path_patterns 決定輸出路徑
   - 使用 Write 寫入生成的內容
   - 遵循 guide 中定義的文件格式

7. **質量檢查**
   - 執行 guide 中定義的該層級質量檢查清單
   - 確保輸出符合字數要求、結構完整性等標準

8. **人類審核閘門**
   - 使用 AskUserQuestion 請求用戶審核
   - 根據 guide 中定義的審核問題模板
   - 等待用戶回覆：確認 / 修改 / 重新規劃

9. **更新狀態**
   - 使用 Edit 更新 `.creative/status.json`
   - 記錄完成的層級、批次、最後更新時間

### 連貫性保證

在生成每個單位（章節、場景等）時：

1. 使用 Read 讀取相鄰單位的內容（前後 2-3 個單位）
2. 根據 guide 中的連貫性規則檢查：
   - 內容銜接是否流暢
   - 元素（角色、設定等）使用是否一致
   - 伏筆、線索的鋪設和回收

### 知識庫同步

如果 guide 中定義了知識庫管理規則：

1. 在生成過程中識別新元素（新角色、新設定等）
2. 根據 domain.yaml 的 knowledge_base 路徑寫入對應文件
3. 使用 guide 中定義的知識庫文件格式

## 特殊命令處理

### 指定單位處理

當用戶指定具體單位（例如 `/creative-plan unit-005`）：

1. 解析用戶指定的層級和單位編號
2. 使用 Read 讀取該單位所屬層級的前序內容
3. 使用 Read 讀取相鄰單位確保連貫性
4. 只生成或更新指定的單位

### 重新規劃特定部分

當用戶要求重新規劃某部分（例如 `/creative-plan section-3-revise`）：

1. 使用 Read 讀取當前結構
2. 使用 AskUserQuestion 詢問修改需求
3. 只修改指定部分的結構
4. 檢查對其他部分的影響
5. 標記受影響的單位需要重新生成

### 批量生成模式

當用戶要求批量生成（例如 `/creative-plan batch-generate 10`）：

1. 從 status.json 讀取當前進度
2. 生成接下來 N 個單位（N 由用戶指定或使用 guide 的預設值）
3. 每生成完一個單位後更新狀態
4. 完成批次後統一請求審核

## 質量檢查框架

在每個層級完成後執行通用檢查：

### 結構完整性
- [ ] 所有必要欄位都已填寫
- [ ] 層級之間的引用正確
- [ ] 輸出路徑符合規範

### 內容連貫性
- [ ] 與前序單位銜接流暢
- [ ] 元素使用一致
- [ ] 無邏輯矛盾

### 格式規範
- [ ] 符合 guide 定義的格式
- [ ] 文件元數據完整
- [ ] 路徑命名正確

### 領域專用檢查
- [ ] 執行 guide 中定義的領域專用檢查清單

## 狀態管理

使用 `.creative/status.json` 追蹤規劃進度：

```json
{
  "project_name": "專案名稱",
  "domain": "領域類型",
  "status": {
    "layer1": {
      "completed": true,
      "last_updated": "ISO8601 時間戳",
      "approved": true
    },
    "layer2": {
      "total_units": 50,
      "completed_units": 20,
      "last_unit": 20,
      "last_updated": "ISO8601 時間戳",
      "approved_batches": [1, 2]
    }
  },
  "next_action": "下一步建議"
}
```

## 錯誤處理

### 配置文件不存在
如果 `.creative/config.yaml` 不存在，告知用戶需要先執行 `/creative-init` 初始化專案。

### 領域配置缺失
如果 domain.yaml 或 plan-guide.md 不存在，報錯並提示檢查 Skill 安裝。

### 前序層級未完成
如果用戶跳過前序層級直接要求後續層級，提示必須先完成前序層級。

### 順序錯誤
如果用戶要求生成第 N 單位但第 N-1 單位尚未完成，詢問是否：
- 先完成前序單位
- 跳過生成（可能影響連貫性）

## 最佳實踐

1. **漸進式生成**: 不要一次生成所有單位，給用戶審核和調整的機會
2. **保持一致性**: 頻繁參考宏觀結構和前序單位
3. **文檔完整性**: 確保每個輸出文件都包含必要的元數據
4. **用戶溝通**: 在關鍵決策點使用清晰的提問
5. **版本記錄**: 在文件中記錄生成時間和配置版本
6. **領域專精**: 嚴格遵循 guide 中的領域專用規則

## 輸出路徑映射

根據 domain.yaml 的 path_patterns 動態決定：

- 配置：`.creative/config.yaml`, `.creative/status.json`
- 規劃輸出：根據各層級的 path_pattern
- 知識庫：根據 knowledge_base 配置
- 狀態檔案：`.creative/status.json`

## 範例互動流程

```
用戶: /creative-plan

Claude:
[讀取 .creative/config.yaml]
[載入 domain.yaml 和 plan-guide.md]
我將開始創意專案規劃。領域：小說，目前狀態：未開始

首先進行 L1 宏觀結構規劃。根據小說領域指引，我需要了解...
[顯示 guide 中定義的問題]

用戶: [回答創意想法]

Claude:
[根據 guide 生成 L1 結構]
[寫入對應路徑]
L1 宏觀結構已生成完畢，請審核...
[顯示 guide 中定義的審核問題]

用戶: 確認

Claude:
[開始 L2 規劃]
開始生成第 1-10 個單位...
[根據 guide 逐個生成]
第 1-10 單位生成完畢，請審核...

[繼續流程...]
```

---

**最後提醒**: 本 Skill 是創意輔助工具，AI 生成的規劃是起點而非終點。鼓勵用戶在每個審核點提出修改意見，讓規劃更符合個人創意願景。領域專用的詳細規則請參考 `shared/domains/{domain}/plan-guide.md`。
