详细分析 ▾
运行时依赖
版本
发布 v0.2.1 — 见 https://github.com/niracler/skill/releases/tag/v0.2.1
安装命令
点击复制技能文档
项目级别的进度管理。操作 planning/schedules/.yaml 文件,追踪模块、里程碑和交付阶段。每个进度 YAML 围绕功能模块(而非任务或工单)组织,连接 Yunxiao 工作项和 OpenSpec 代码变更之间的桥梁。
前置条件
| 依赖项 | 类型 | 必需 | 备注 |
|---|---|---|---|
| 进度 YAML | 数据 | 是 | 工作区根目录下的 planning/schedules/.yaml |
| yunxiao skill | 技能 | 仅用于同步 | 使用 planning sync-yunxiao 前必须已安装 |
技能加载时不要验证前置条件。如果命令因缺少依赖项而失败,请逐步引导用户完成设置。
使用场景
- 用户询问项目进度、时间线或交付状态
- 用户想查看特定一周的计划内容
- 用户提到里程碑、截止日期或"还剩多少"
- 用户想更新模块状态或标记完成
- 用户想将 OpenSpec 变更关联到进度模块
- 用户需要创建新的项目进度
- 用户想将进度数据推送到 Yunxiao
模块状态状态机
planned --> in_progress --> done (终止状态)
+--> deferred --> planned / in_progress
允许的转换:planned -> in_progress、in_progress -> done、planned -> deferred、deferred -> planned、deferred -> in_progress。
禁止的转换:从 done 状态出发的任何转换。
模块类型
| 类型 | 描述 | 关键字段 |
|---|---|---|
feature | 有 UI 框架,前后端协调 | frames、design、figma、backend、frontend、priority |
infrastructure | 仅后端,无 UI | description |
references/yaml-schema.md。脚本
确定性操作由 scripts/planning.py 处理:
python3 /scripts/planning.py review # 显示进度
python3 /scripts/planning.py update --status done # 更新状态
python3 /scripts/planning.py link --change # 关联变更
python3 /scripts/planning.py week W3 # 显示周模块
所有命令输出 JSON 供 LLM 格式化。使用 --file 指定进度 YAML(如果存在多个)。
依赖项:pip install pyyaml
命令
planning init
为项目引导新的进度 YAML。这是交互式的(由 LLM 处理,而非脚本)。
步骤:
- 询问用户基本信息:
- 询问里程碑(至少需要一个)—— 每个里程碑的:id、标题、日期、类型、交付物
- 询问阶段(可选)—— 或根据时间线建议默认的月度划分
- 使用提供的结构创建
planning/schedules/.yaml,并设置空的modules: [] - 建议下一步:"手动添加模块,或描述你的功能列表,我会帮助你组织它们"
planning review
显示按阶段分组的整体进度。
步骤:
- 运行
python3 /scripts/planning.py review(如需要使用--file) - 为用户格式化 JSON 输出
- 按阶段显示:
## sylsmart schedule (current: W3)month-1: Framework (2/6 done, 33%)
V core-extraction infrastructure done V auth feature 14f done project-list feature 12f in_progress o project-overview feature 10f planned o common-dialogs feature 18f planned o core-regression infrastructure planned
图例:V done, * in_progress, o planned, - deferred
- 在模块列表之后,添加简短的风险与瓶颈部分(2-4 点):
design: partial 或 pending 的模块
- 标记后端容量过载的周(同一周内有多个 ready_week 目标)
- 注意任何完成率低的 14 天内里程碑
- 指出依赖尚未就绪的后端 API 的前端模块标志:
--week— 显示与该周相关的模块。如果满足以下任一条件,模块"相关":(1)weeks包含该周,(2)backend.ready_week等于该周,(3)frontend.mock_from等于该周。输出分为后端和前端部分,并显示依赖状态。--milestones— 显示里程碑进度和倒计时警告(如果 <= 14 天则高亮显示)
planning update --status
更新模块的状态。
python3 /scripts/planning.py update --status
脚本验证状态机转换并返回 JSON 结果。如果无效,会显示错误并列出允许的目标状态。
planning link --change
将 OpenSpec 变更关联到模块。
python3 /scripts/planning.py link --change
脚本验证变更存在,追加变更,并将 planned 自动转换为 in_progress。
planning sync-yunxiao
将未关联的模块推送到 Yunxiao 作为工作项。
前置条件: yunxiao skill 必须已安装并配置。
步骤:
- 读取 YAML,找到
yunxiao_id为空或缺失的模块 - 列出待创建模块,等待用户确认
- 使用 yunxiao skill 为每个模块创建工作项
- 将返回的工作项 ID 写回 YAML 的
yunxiao_id字段 - 报告结果;已有
yunxiao_id的模块会被跳过
常见错误
| 错误 | 原因 | 修复 |
|---|---|---|
| Module not found | 模块 id 拼写错误 | 运行 planning review 查看所有 id |
| Invalid status transition | 状态机违规 | 检查上述允许的转换 |
| Change not found | 名称不匹配 | 验证变更存在于 openspec/changes/ |
| No schedule files | 缺少 YAML | 运行 planning init 创建 |
| Yunxiao sync fails | yunxiao skill 未安装 | 先安装 yunxiao skill |