项目状态管理
智能检测当前项目状态,根据状态提供可用操作,支持随时修改大纲和内容。
触发条件
当用户表达以下意图时自动触发:
- •"查看状态"
- •"当前进度"
- •"项目情况"
- •"可以修改什么"
- •"现在能做什么"
执行流程
Step 1: 检测当前项目
bash
cd /Users/zouguangyuan/repos/banana-slides-skill/.claude
[ -f "../.env" ] && source ../.env
python3 skills/project-status/project_status.py --project ${PROJECT_ID} --actions
Step 2: 状态检测与可用操作
根据检测到的状态,展示可用操作:
code
📊 项目状态
项目ID: ${PROJECT_ID}
标题: ${TITLE}
当前状态: ${STATUS}
页数: ${PAGE_COUNT}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 可用操作:
${根据状态显示可用操作}
⏳ 待完成:
${根据状态显示下一步}
Step 3: 状态对应的可用操作
| 状态 | 可修改 | 可执行 |
|---|---|---|
draft | - | 生成大纲 |
outline_generated | 大纲 | 生成内容、修改大纲 |
descriptions_generated | 大纲、内容 | 生成图片、修改大纲/内容 |
completed | 大纲、内容、图片 | 导出、全部修改 |
状态详情
draft (草稿)
code
📊 项目状态: 草稿
项目ID: ${PROJECT_ID}
标题: ${TITLE}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 可用操作:
• 生成大纲 → 说「生成大纲」
⏳ 待完成:
1. 生成大纲
2. 生成内容描述
3. 生成图片
4. 导出
outline_generated (大纲已生成)
code
📊 项目状态: 大纲已生成
项目ID: ${PROJECT_ID}
标题: ${TITLE}
页数: ${PAGE_COUNT}
当前大纲:
1. ${第1页标题}
2. ${第2页标题}
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 可用操作:
• 修改大纲 → 说「增加一页XX」「删掉第X页」「调整结构」
• 继续生成 → 说「继续」或「生成内容」
⏳ 待完成:
1. ✓ 生成大纲
2. 生成内容描述
3. 生成图片
4. 导出
descriptions_generated (内容已生成)
code
📊 项目状态: 内容已生成
项目ID: ${PROJECT_ID}
标题: ${TITLE}
页数: ${PAGE_COUNT}
页面内容:
● 第 1 页: 封面
● 第 2 页: ${标题}
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 可用操作:
• 修改大纲 → 说「增加一页XX」(会重新生成内容)
• 修改内容 → 说「第X页内容改成XX」
• 继续生成 → 说「继续」或「生成图片」
⏳ 待完成:
1. ✓ 生成大纲
2. ✓ 生成内容描述
3. 生成图片
4. 导出
completed (已完成)
code
📊 项目状态: 已完成
项目ID: ${PROJECT_ID}
标题: ${TITLE}
页数: ${PAGE_COUNT}
页面状态:
● 第 1 页: 封面 (有图片)
● 第 2 页: ${标题} (有图片)
...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 可用操作:
• 修改大纲 → 说「增加一页XX」(会重新生成)
• 修改内容 → 说「第X页内容改成XX」(会重新生成图片)
• 修改图片 → 说「第X页背景换成XX」
• 导出 → 说「导出」或「下载」
📁 输出目录: slides_output/${PROJECT_ID}/
修改操作的联动
修改内容后,需要提示用户后续步骤:
| 修改类型 | 影响 | 提示 |
|---|---|---|
| 修改大纲 | 内容和图片需重新生成 | "大纲已修改,需要重新生成内容吗?" |
| 修改内容 | 该页图片需重新生成 | "内容已修改,需要重新生成第X页图片吗?" |
| 修改图片 | 无 | "图片已更新" |
快速操作示例
code
用户: 查看状态
Claude: [显示当前状态和可用操作]
用户: 第3页标题改成"技术架构"
Claude: ✅ 已修改第3页大纲
📊 当前状态: outline_generated
需要重新生成内容吗?
• 说「继续」重新生成内容
• 继续修改其他页面
用户: 继续
Claude: [触发 generate-content]
批量查看
查看特定页面详情:
bash
python3 skills/project-status/project_status.py --project ${PROJECT_ID} --page ${PAGE}
查看所有页面摘要:
bash
python3 skills/project-status/project_status.py --project ${PROJECT_ID} --all