Display the complete status, progress tracking, quality analysis, and health check of a creative project. Supports multiple creative domains (novels, scripts, games, etc.).
Command Format
/creative-status [選項]
Options
- No options: Display overall status overview
--chapters: Display unit detail list (chapters, levels, scenes, etc.)--quality: Display detailed quality analysis--memory: Display memory system health--health: Execute file system health check--all: Display full report
Prerequisite Steps (Domain Loading)
- Read
.creative/config.yaml→ Get domain value - If config does not exist → Prompt "Not a creative project directory, please run /creative-init"
- Based on the
Base directoryin the Skill header, calculate PLUGIN_ROOT- PLUGIN_ROOT = Base directory with the
/skills/creative-statuspart removed
- PLUGIN_ROOT = Base directory with the
- Set DOMAIN_DIR = $PLUGIN_ROOT/shared/domains/{domain}/
- Read $DOMAIN_DIR/domain.yaml → Get paths and quality definitions
- Read $DOMAIN_DIR/status-guide.md → Get domain-specific status display guidelines
- Execute the workflow below according to the guidelines
Execution Flow
1. Environment Check
# 確認在專案根目錄
if [ ! -d ".creative" ]; then
echo "錯誤: 非創意專案目錄"
exit 1
fi
2. Data Collection
Read core files
Read .creative/status.json
Read .creative/config.yaml
Read {domain.yaml 中 paths.planning.layers.L1 路徑}
Count files
// 根據 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
Count content metrics (word count, duration, etc.)
// 根據 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. Basic Status Output (Default)
Output in the format defined in the domain-specific guide:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
{metadata.title}
{metadata.author}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 總體進度
{進度條} {完成百分比}%
{單元名稱}進度: {已完成數} / {總數} {單位}
{量度名稱}: {已完成量} / {目標量}
📝 規劃狀態
{根據 domain.paths.planning.layers 列出每一層的完成情況}
✍️ {執行階段名稱}狀態
{根據 domain.paths.output 列出各階段完成情況}
🎯 品質保障
{根據 domain.quality 定義列出品質統計}
⏭️ 下一步建議
{根據 guide 中定義的建議邏輯生成}
Suggested generation logic
// 根據 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. Unit Details (--chapters)
Output a detailed table in the format defined in the domain-specific guide.
// 讀取所有單元狀態
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 Details (--quality)
Output the quality analysis in the format defined in the domain-specific guide.
// 讀取所有品質報告
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 Health (--memory)
Output the memory system status in the format defined in the domain-specific guide.
// 統計知識庫規模
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 Check (--health)
Execute the system health check according to the check items defined in the domain-specific guide.
// 檢查目錄結構完整性
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 輸出健康檢查報告
Error Handling
若 .creative/ 不存在:
"錯誤: 當前目錄不是創意專案"
"提示: 執行 /creative-init 初始化專案"
若 config.yaml 缺少 domain:
"錯誤: 配置文件缺少 domain 定義"
若 domain.yaml 不存在:
"錯誤: 不支援的 domain: {domain}"
"支援的 domain: {列出 shared/domains/ 下的目錄}"
若 status-guide.md 不存在:
"警告: 缺少領域專用指引,使用通用格式"
若 status.json 損壞:
"警告: 狀態文件損壞,嘗試重建"
若無任何數據:
"提示: 專案尚未初始化,執行 /creative-init 開始"
Usage Examples
Example 1: Quick status view
User: /creative-status
Example 2: View unit details
User: /creative-status --chapters
Example 3: Quality analysis
User: /creative-status --quality
Example 4: Full report
User: /creative-status --all