# Creative Status

> 創意專案狀態總覽與健康度檢查 — 通用框架

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

---


# 創意專案狀態總覽 Skill

展示創意專案的完整狀態、進度追蹤、品質分析與健康度檢查。支援多種創意領域（小說、劇本、遊戲等）。

## 指令格式

```
/creative-status [選項]
```

### 選項

- 無選項: 顯示總體狀態概覽
- `--chapters`: 顯示單元明細列表（章節、關卡、場景等）
- `--quality`: 顯示品質詳細分析
- `--memory`: 顯示記憶系統健康度
- `--health`: 執行文件系統健康檢查
- `--all`: 顯示完整報告

## 前置步驟（Domain 載入）

1. Read `.creative/config.yaml` → 取得 domain 值
2. 如果 config 不存在 → 提示 "非創意專案目錄，請執行 /creative-init"
3. 根據 Skill header 中的 `Base directory` 計算 PLUGIN_ROOT
   - PLUGIN_ROOT = Base directory 去掉 `/skills/creative-status` 部分
4. 設定 DOMAIN_DIR = $PLUGIN_ROOT/shared/domains/{domain}/
5. Read $DOMAIN_DIR/domain.yaml → 取得 paths 和 quality 定義
6. Read $DOMAIN_DIR/status-guide.md → 取得領域專用狀態顯示指引
7. 依指引執行下方工作流

## 執行流程

### 1. 環境檢查

```bash
# 確認在專案根目錄
if [ ! -d ".creative" ]; then
  echo "錯誤: 非創意專案目錄"
  exit 1
fi
```

### 2. 數據收集

#### 讀取核心文件

```
Read .creative/status.json
Read .creative/config.yaml
Read {domain.yaml 中 paths.planning.layers.L1 路徑}
```

#### 統計文件數量

```javascript
// 根據 domain.yaml 的 paths.planning.layers 定義統計
for (const [layerName, layerPath] of Object.entries(domain.paths.planning.layers)) {
  const pattern = layerPath.replace("{id}", "*")
  const count = glob(pattern).length
  stats[layerName] = count
}

// 統計已完成單元（草稿）
const draftPattern = domain.paths.output.drafts.final.replace("{id}", "*")
const draftCount = glob(draftPattern).length

// 統計品質報告
const qaPattern = domain.paths.quality.reports.replace("{id}", "*")
const qaCount = glob(qaPattern).length
```

#### 統計內容量度（字數、時長等）

```javascript
// 根據 domain.yaml 的 metrics 定義統計
const metricType = domain.metrics.primary // 例如 "word_count", "duration", "complexity"

// 總量
const draftFiles = glob(domain.paths.output.drafts.final.replace("{id}", "*"))
let totalMetric = 0
for (const file of draftFiles) {
  totalMetric += calculateMetric(file, metricType)
}

// 已發布量
const publishedFiles = glob(domain.paths.output.published.replace("{id}", "*"))
let publishedMetric = 0
for (const file of publishedFiles) {
  publishedMetric += calculateMetric(file, metricType)
}
```

### 3. 基礎狀態輸出（預設）

根據 domain-specific guide 中定義的格式輸出：

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  {metadata.title}
  {metadata.author}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 總體進度
  {進度條} {完成百分比}%

  {單元名稱}進度: {已完成數} / {總數} {單位}
  {量度名稱}: {已完成量} / {目標量}

📝 規劃狀態
  {根據 domain.paths.planning.layers 列出每一層的完成情況}

✍️  {執行階段名稱}狀態
  {根據 domain.paths.output 列出各階段完成情況}

🎯 品質保障
  {根據 domain.quality 定義列出品質統計}

⏭️  下一步建議
  {根據 guide 中定義的建議邏輯生成}
```

#### 建議生成邏輯

```javascript
// 根據 domain.paths.planning.layers 的完成度判斷
const layers = Object.keys(domain.paths.planning.layers)

for (const layer of layers) {
  if (!isLayerComplete(layer)) {
    return guide.suggestions.incomplete_layer(layer)
  }
}

// 如果規劃完成，檢查執行進度
if (draftCount < totalUnits) {
  return guide.suggestions.continue_execution(nextUnit)
}

// 如果執行完成，檢查品質
if (qaCount < draftCount) {
  return guide.suggestions.run_quality_check()
}

// 如果有未解決問題
if (unresolvedIssues > 0) {
  return guide.suggestions.fix_issues()
}

// 全部完成
return guide.suggestions.ready_to_publish()
```

### 4. 單元明細（--chapters）

根據 domain-specific guide 中定義的格式輸出詳細表格。

```javascript
// 讀取所有單元狀態
const units = loadAllUnits(domain)

// 根據 guide 中定義的表格格式輸出
for (const unit of units) {
  const planningStatus = checkPlanningStatus(unit, domain)
  const executionStatus = checkExecutionStatus(unit, domain)
  const qualityStatus = checkQualityStatus(unit, domain)
  const metric = calculateUnitMetric(unit, domain)
  const score = getQualityScore(unit)

  printUnitRow(unit.id, unit.title, planningStatus, executionStatus, qualityStatus, metric, score)
}
```

### 5. 品質詳情（--quality）

根據 domain-specific guide 中定義的格式輸出品質分析。

```javascript
// 讀取所有品質報告
const reports = glob(domain.paths.quality.reports.replace("{id}", "*"))
const scores = []
const issues = {}

for (const reportPath of reports) {
  const report = readQualityReport(reportPath, domain)
  scores.push(report.overall_score)

  // 統計各類問題
  for (const issue of report.issues) {
    issues[issue.type] = (issues[issue.type] || 0) + 1
  }
}

// 計算各維度平均
const dimensions = domain.quality.dimensions
const dimensionScores = {}
for (const dim of dimensions) {
  dimensionScores[dim.name] = calculateAverageDimension(reports, dim.name)
}

// 根據 guide 輸出品質趨勢圖、維度分數、問題統計
```

### 6. 記憶健康度（--memory）

根據 domain-specific guide 中定義的格式輸出記憶系統狀態。

```javascript
// 統計知識庫規模
const knowledgeStats = {}
for (const [category, path] of Object.entries(domain.paths.knowledge)) {
  knowledgeStats[category] = glob(path + "/*.md").length
}

// 檢查覆蓋率
const coverageStats = checkKnowledgeCoverage(domain)

// 檢查更新狀態
const lastUpdate = getLastUpdateTime(domain.paths.knowledge)
const needsUpdate = checkNeedsUpdate(domain)

// 根據 guide 輸出記憶健康度報告
```

### 7. 健康檢查（--health）

根據 domain-specific guide 中定義的檢查項目執行系統健康檢查。

```javascript
// 檢查目錄結構完整性
const requiredDirs = extractAllPaths(domain.paths)
const missingDirs = []
for (const dir of requiredDirs) {
  if (!exists(dir)) {
    missingDirs.push(dir)
  }
}

// 檢查必要文件存在
const requiredFiles = [
  ".creative/status.json",
  ".creative/config.yaml",
  domain.paths.planning.layers.L1
]
const missingFiles = checkMissingFiles(requiredFiles)

// 檢查孤立文件
const orphanedFiles = findOrphanedFiles(domain)

// 檢查命名規範
const namingIssues = checkNamingConventions(domain)

// 根據 guide 輸出健康檢查報告
```

## 錯誤處理

```
若 .creative/ 不存在:
  "錯誤: 當前目錄不是創意專案"
  "提示: 執行 /creative-init 初始化專案"

若 config.yaml 缺少 domain:
  "錯誤: 配置文件缺少 domain 定義"

若 domain.yaml 不存在:
  "錯誤: 不支援的 domain: {domain}"
  "支援的 domain: {列出 shared/domains/ 下的目錄}"

若 status-guide.md 不存在:
  "警告: 缺少領域專用指引，使用通用格式"

若 status.json 損壞:
  "警告: 狀態文件損壞，嘗試重建"

若無任何數據:
  "提示: 專案尚未初始化，執行 /creative-init 開始"
```

## 使用範例

### 範例 1: 快速查看狀態

```
User: /creative-status
```

### 範例 2: 查看單元明細

```
User: /creative-status --chapters
```

### 範例 3: 品質分析

```
User: /creative-status --quality
```

### 範例 4: 完整報告

```
User: /creative-status --all
```

