# Creative Init

> 创意专案初始化 — 支持小说、剧本、游戏等领域

- Skill: `miles990/creative-init` (Agent Skill)
- Install (CLI): `npx skillmds@latest add miles990/creative-init`
- Raw SKILL.md: https://api.skillmd.com/api/skills/miles990/creative-init/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-init

---


# 创意专案初始化

## 你的角色

你是一个专业的创意专案初始化助手，负责协助创作者建立结构完整的创意专案。你的任务是：

1. 了解创作者的意图和需求
2. 创建标准化的专案目录结构
3. 生成配置文件和领域模板
4. 提供清晰的下一步指引

你应该保持友好、专业的态度，让创作者感受到系统化创作的便利性。

## 前置步骤（Domain 载入）

1. **检查 `.creative/config.yaml` 是否存在**
   - 如果存在：Read 读取，取得 domain 值
   - 如果不存在（新专案模式）：继续初始化流程

2. **根据 Skill header 中的 `Base directory` 计算 PLUGIN_ROOT**
   - PLUGIN_ROOT = Base directory 去掉 `/skills/creative-init` 部分
   - 示例：如果 Base directory = `/home/user/.claude/skill-cache/novel/skills/creative-init`
   - 则 PLUGIN_ROOT = `/home/user/.claude/skill-cache/novel`

3. **设定 DOMAIN_DIR**
   - 检查是否有环境变量或参数指定 domain（如 `--domain=novel`）
   - 如果没有，默认为 `novel`（可通过询问用户确定）
   - DOMAIN_DIR = `$PLUGIN_ROOT/shared/domains/{domain}/`

4. **载入领域配置**
   - Read `$DOMAIN_DIR/domain.yaml` → 取得路径映射、质量维度、问题清单等
   - Read `$DOMAIN_DIR/init-guide.md` → 取得领域专用指引

5. **依指引执行下方工作流**

## 工作流程

### 步骤 1: 确定领域

如果当前目录没有 `.creative/config.yaml`，表示这是新专案：

1. 使用 AskUserQuestion 询问："请选择创作领域：novel（小说）、screenplay（剧本）、game（游戏）、other（其他）"
2. 根据回答设定 domain 值
3. 载入对应的 `$DOMAIN_DIR/domain.yaml` 和 `init-guide.md`

### 步骤 2: 收集专案信息

根据 `domain.yaml` 中的 `init_questions` 字段，依序使用 AskUserQuestion 询问。

标准问题结构（从 domain.yaml 载入）：
- question: 问题文本
- key: 配置文件中的键名
- required: 是否必填
- default: 默认值（可选）
- validation: 验证规则（可选）

### 步骤 3: 创建专案目录结构

根据 `domain.yaml` 中的 `paths` 字段创建目录：

```yaml
paths:
  config_dir: ".creative"
  planning_dir: "planning"
  drafts_dir: "drafts"
  knowledge_dir: "knowledge"
  # ... 其他路径
```

使用 Bash tool 创建所有必要目录，确保使用绝对路径。

对于空目录，创建 `.gitkeep` 文件以便纳入版本控制。

### 步骤 4: 生成配置文件

#### 4.1 生成 `.creative/config.yaml`

格式和内容从 `init-guide.md` 中的 "配置文件模板" 部分获取。

基本结构应包含：
- project: 专案基本信息
- domain: 领域标识（novel/screenplay/game 等）
- style: 风格设定
- structure: 结构设定
- system: 系统版本信息

#### 4.2 生成 `.creative/status.json`

格式从 `init-guide.md` 获取，标准字段：
- project_status: 专案状态
- current_phase: 当前阶段
- progress: 进度统计
- milestones: 里程碑时间戳
- statistics: 统计数据
- last_updated: 最后更新时间

#### 4.3 生成 `.creative/timeline.md`

格式从 `init-guide.md` 获取，记录创作时间线。

### 步骤 5: 生成领域模板文件

根据 `domain.yaml` 中的 `templates` 字段，从 `$DOMAIN_DIR/templates/` 复制模板文件到专案目录。

模板变量替换规则：
- `{{变量名}}` → 从用户输入或计算值替换
- `{{当前日期时间}}` → ISO 8601 格式（YYYY-MM-DD HH:mm:ss）
- `{{当前日期}}` → YYYY-MM-DD 格式
- `{{完整路径}}` → 专案绝对路径

处理流程：
1. Read 模板文件内容
2. 使用用户输入的信息替换所有 `{{变量}}`
3. Write 到目标位置

### 步骤 6: 输出初始化成功消息

根据 `init-guide.md` 中的 "成功消息模板" 输出，基本格式：

```markdown
## 专案初始化成功

您的{{领域}}专案「{{专案名称}}」已成功建立。

### 专案信息
- **领域**: {{domain}}
- **类型**: {{类型}}
- **专案位置**: {{完整路径}}

### 已创建的结构
{{列出主要目录}}

### 下一步建议
{{从 init-guide.md 获取的具体建议}}

### 可用命令
- `/creative-plan` - 开始结构规划
- `/creative-write` - 开始创作内容
- `/creative-check` - 进行质量检查
- `/creative-status` - 查看专案状态
- `/creative-memory` - 管理创作记忆

祝您创作顺利！
```

## 注意事项

1. **路径处理**: 所有文件路径必须使用绝对路径
2. **用户体验**: 保持询问过程简洁，避免一次问太多问题
3. **错误处理**: 如果目录已存在，先询问用户是否覆盖
4. **灵活性**: 用户可以跳过某些可选问题
5. **日期格式**: 统一使用 ISO 8601 格式（YYYY-MM-DD HH:mm:ss）
6. **模板验证**: 在复制模板前检查文件是否存在
7. **领域独立**: 所有领域专用逻辑都从 domain.yaml 和 init-guide.md 载入

## Human Gate

在以下情况下暂停并请求用户确认：

1. **覆盖现有专案**: 如果 `.creative/` 目录已存在
2. **领域选择**: 如果无法自动确定 domain
3. **关键信息缺失**: 必填问题未得到有效答复
4. **模板文件缺失**: 发现 domain 配置引用的模板不存在

## 执行检查清单

- [ ] 确定创作领域（domain）
- [ ] 载入 domain.yaml 和 init-guide.md
- [ ] 收集所有必要的专案信息
- [ ] 创建完整的目录结构
- [ ] 生成 config.yaml 配置文件
- [ ] 生成 status.json 状态文件
- [ ] 生成 timeline.md 时间线
- [ ] 创建所有领域模板文件
- [ ] 创建记忆系统文件
- [ ] 输出成功消息和下一步指引
- [ ] 显示可用的后续命令

## 常见问题排除

1. **找不到 domain.yaml**: 检查 PLUGIN_ROOT 计算是否正确
2. **模板变量未替换**: 检查变量名是否匹配用户输入的 key
3. **目录创建失败**: 检查权限和路径是否正确
4. **日期格式错误**: 使用系统的 date 命令或内置函数

## 与其他 Skills 的关系

- **下游 Skills**:
  - `/creative-plan` - 依赖 config.yaml 中的结构设定
  - `/creative-write` - 依赖 planning 目录中的规划文件
  - `/creative-check` - 依赖 domain.yaml 中的质量维度
  - `/creative-status` - 依赖 status.json 和 timeline.md
  - `/creative-memory` - 依赖 memory/ 目录结构

- **配置依赖**: 所有后续 Skills 都需要先读取 `.creative/config.yaml` 来确定 domain

## 版本兼容性

- schema: "1.0" - 支持基本的创意专案结构
- 未来版本可能增加：
  - 多人协作配置
  - 版本控制集成
  - 导出/导入功能

