Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
npx skills add wudanwt/spec-task-skill
Or install specific skill: npx add-skill https://github.com/wudanwt/spec-task-skill
# Description
OpenSpec 任务生命周期管理。触发词:「开始任务」「开始做」「新任务」「执行任务」「完成任务」「结束任务」「归档任务」「任务完成」「任务状态」。自动维护项目根目录的"任务清单.md"文件,记录任务开始/完成时间、效率指标,并提供阶段流转提示。
# SKILL.md
name: spec-task
description: OpenSpec 任务生命周期管理。触发词:「开始任务」「开始做」「新任务」「执行任务」「完成任务」「结束任务」「归档任务」「任务完成」「任务状态」。自动维护项目根目录的"任务清单.md"文件,记录任务开始/完成时间、效率指标,并提供阶段流转提示。
Spec Task
基于 OpenSpec 的任务生命周期管理 skill,将 proposal → apply → archive 三阶段封装为统一的任务流程,并自动维护任务清单与效率指标。
任务生命周期
开始任务 ──▶ proposal 阶段 ──▶ 记录到任务清单.md ──▶ 用户审批
│ │
▼ ▼
评估复杂度 初始化交互轮次
│
▼
完成归档 ◀── archive 阶段 ◀── 验证完成 ◀── apply 阶段
│ │
▼ ▼
计算效率得分 累计交互轮次
更新任务清单.md 记录返工次数
效率指标体系
核心指标
| 指标 | 定义 | 采集方式 | 意义 |
|---|---|---|---|
| 任务复杂度 | 任务预估难度 1-5 星 | proposal 阶段 AI 评估 | 效率计算权重 |
| 交互轮次 | 完成任务的对话次数 | 每次用户消息 +1 | 越少越高效 |
| 返工次数 | 重新修改的次数 | 验证失败/审批拒绝 +1 | 越少质量越高 |
| 代码变更量 | 新增/删除的代码行数 | 归档时 git diff --stat |
量化工作量 |
| 效率得分 | 综合效率评分 | 公式计算 | 统一衡量标准 |
效率得分公式
效率得分 = min(100, 基准分 × (标准轮次 / 实际轮次) × (1 - 返工次数 × 0.1))
复杂度基准参数:
| 复杂度 | 星级 | 基准分 | 标准交互轮次 |
|---|---|---|---|
| 1 | ⭐ | 60 | 3 轮 |
| 2 | ⭐⭐ | 70 | 5 轮 |
| 3 | ⭐⭐⭐ | 80 | 8 轮 |
| 4 | ⭐⭐⭐⭐ | 90 | 12 轮 |
| 5 | ⭐⭐⭐⭐⭐ | 100 | 16 轮 |
返工惩罚:每次返工扣 10%(如 1 次返工,乘以 0.9)
效率等级:
- 🟢 优秀:≥ 80 分(高效完成,超预期)
- 🟡 良好:60-79 分(正常效率)
- 🔴 待改进:< 60 分(需要复盘改进)
计算示例:3星任务、8轮交互、0返工 → min(100, 80×(8/8)×1) = 80 分(优秀)
触发方式
自然语言触发(包含以下任意关键词即触发):
| 阶段 | 触发词 | 示例 |
|---|---|---|
| 开始任务 | 开始任务、新任务、创建任务、开始做、开始 xxx | "开始任务:添加登录功能"、"开始做用户认证" |
| 执行任务 | 执行任务、继续任务、开始实现、审批通过 | "执行任务 add-auth"、"开始实现这个功能" |
| 完成任务 | 完成任务、结束任务、归档任务、任务完成、完成了 | "完成任务 xxx"、"任务完成了" |
| 查看状态 | 任务状态、查看任务、任务清单、效率报告 | "查看任务状态" |
显式命令触发:
- /spec-task start <描述> - 开始新任务
- /spec-task apply <change-id> - 执行已审批的任务
- /spec-task complete <change-id> - 归档已验证的任务
- /spec-task status - 查看所有任务状态
工作流程
阶段 0:需求分析(可选预处理)
在开始任务前,可调用 requirements-analysis skill 进行专业需求分析:
触发条件(满足任意一条即触发):
- 用户明确说"分析需求"或"需求分析"
- 需求描述模糊(少于 20 字或缺少明确目标)
- 任务复杂度预估 ≥ ⭐⭐⭐⭐
触发方式:
- 自动触发:"开始任务:xxx"(系统判断需要分析时)
- 手动触发:"分析需求:xxx" 或 "需求分析:xxx"
- 跳过分析:"快速开始任务:xxx"
需求分析流程:
1. 5W2H 澄清 - 全面理解需求背景
2. 用户故事拆解 - 转化为可执行的用户故事
3. INVEST 检验 - 确保用户故事质量
4. MoSCoW 排序 - 确定优先级和 MVP 范围
5. 验收标准定义 - Given-When-Then 格式
输出:
- 生成 requirements.md 文件
- 作为后续 proposal 的输入基础
- 用户故事自动映射到 tasks.md
详细方法论参考 requirements-analysis skill。
阶段 1:开始任务 (Start)
当用户说"开始任务"或类似触发语时:
- 判断是否需要需求分析
- 检查需求描述清晰度
- 复杂任务建议先进行需求分析
-
用户可选择跳过
-
调用 openspec-proposal 工作流
- 按照
.agent/workflows/openspec-proposal.md的步骤执行 - 如有 requirements.md,基于其内容创建 proposal
-
创建
proposal.md,tasks.md,design.md(如需)和 spec deltas -
评估任务复杂度
- 根据任务范围、技术难度、影响面评估 1-5 星
-
评估标准:
- ⭐ 简单修改,单文件,无风险
- ⭐⭐ 小功能,2-3 文件,低风险
- ⭐⭐⭐ 中等功能,多文件,需测试
- ⭐⭐⭐⭐ 复杂功能,跨模块,需设计
- ⭐⭐⭐⭐⭐ 大型变更,架构级,高风险
-
记录到任务清单
- 在项目根目录创建或更新
任务清单.md -
添加新任务条目,包含:
- change-id、任务摘要
- 开始时间
- 复杂度评分
- 交互轮次初始值
- 状态:
待审批
-
提示用户下一步
- 告知用户 proposal 已创建
- 提示:"请审阅 proposal,审批后说'执行任务
'"
阶段 2:执行任务 (Apply)
当用户说"执行任务"或审批通过后:
- 检测任务状态
- 读取
任务清单.md确认任务存在且状态为待审批 -
验证 proposal 已通过审批
-
调用 openspec-apply 工作流
- 按照
.agent/workflows/openspec-apply.md的步骤执行 -
依次完成
tasks.md中的任务项 -
更新效率指标
- 状态更新为:
执行中→待验证 - 累计交互轮次(每次用户消息 +1)
-
如有验证失败需返工,返工次数 +1
-
提示用户下一步
- 告知用户实现已完成
- 提示:"请验证功能,确认后说'完成任务
'"
阶段 3:完成归档 (Complete/Archive)
当用户说"完成任务"或"归档任务"时:
- 检测任务状态
-
读取
任务清单.md确认任务存在且状态为待验证 -
调用 openspec-archive 工作流
- 按照
.agent/workflows/openspec-archive.md的步骤执行 -
归档 change 并更新 specs
-
采集最终指标
- 执行
git diff --stat统计代码变更量 - 记录最终交互轮次
- 统计返工次数(以下情况各算 1 次返工):
- 用户反馈 bug 需要修复
- 用户指出问题需要修改已完成的代码
- 测试/验证失败需要返回修复
- API 500 错误或运行时错误需要修复
-
注意:正常的迭代优化(如"添加更多功能")不算返工
-
计算效率得分
效率得分 = (复杂度 × 100) / (交互轮次 × (1 + 返工次数 × 0.5)) -
根据得分确定效率等级(🟢/🟡/🔴)
-
更新任务清单
- 将任务从"进行中"移动到"已完成"
- 记录完成时间、耗时
- 记录所有效率指标和最终得分
-
更新效率统计汇总表
-
输出任务完成摘要
-
展示任务完成信息和效率得分
-
同步到 Team Skill Platform(自动执行)
- 检查配置文件
<skill-dir>/.sync_config.json中的 email 和 password - 如配置有效(非占位符),执行同步:
bash cd <skill-dir> && python sync.py -f <project>/任务清单.md - 同步成功提示:「✅ 已同步到 Team Skill Platform」
- 未配置则跳过:「ℹ️ 未配置平台凭据,已跳过同步」
- 注意:
<skill-dir>是当前 SKILL.md 所在目录
任务清单.md 格式
# 任务清单
## 📊 效率统计
| 指标 | 本周 | 本月 | 累计 |
|------|------|------|------|
| 完成任务数 | 3 | 12 | 45 |
| 平均效率得分 | 42.5 | 38.2 | 40.1 |
| 首次通过率 | 66.7% | 75% | 71.1% |
---
## 进行中
- [ ] **add-user-auth** - 添加用户认证功能
- 开始时间: 2026-01-21 21:30
- 状态: 待审批
- 复杂度: ⭐⭐⭐ (3/5)
- 交互轮次: 2
- Proposal: [proposal.md](openspec/changes/add-user-auth/proposal.md)
- [/] **fix-login-bug** - 修复登录验证问题
- 开始时间: 2026-01-21 14:00
- 状态: 执行中
- 复杂度: ⭐⭐ (2/5)
- 交互轮次: 6
- 返工次数: 0
- Proposal: [proposal.md](openspec/changes/fix-login-bug/proposal.md)
---
## 已完成
- [x] **improve-search** - 优化搜索性能
- 开始时间: 2026-01-20 10:00
- 完成时间: 2026-01-20 15:30
- 耗时: 5.5 小时
- 复杂度: ⭐⭐⭐ (3/5)
- 交互轮次: 8
- 返工次数: 1
- 代码变更: +120 / -45
- **效率得分: 25.0** 🟡
- Proposal: [proposal.md](openspec/changes/archive/improve-search/proposal.md)
状态检测与提示
每次对话开始时,如果项目存在 任务清单.md:
- 检测当前状态
- 读取任务清单,识别进行中的任务
-
检查每个任务的当前阶段
-
智能提示
- 如有
待审批任务 → "有待审批的 proposal:,审批后可说'执行任务 '" - 如有
执行中任务 → "任务正在执行中,当前交互轮次:N" - 如有
待验证任务 → "任务待验证,确认后可说'完成任务 '"
辅助操作
查看任务状态
当用户说"查看任务状态"或"任务清单"时:
- 读取并展示 任务清单.md 的内容
- 按状态分组显示
- 突出显示效率统计和需要用户操作的任务
取消任务
当用户说"取消任务
- 从 任务清单.md 中移除该任务
- 可选:删除对应的 openspec/changes/
- 需要用户确认
效率报告
当用户说"效率报告"或"查看效率统计"时:
- 展示效率统计汇总表
- 按时间维度(本周/本月/累计)展示趋势
- 识别效率瓶颈并给出改进建议
注意事项
- 任务清单位置:始终在项目根目录的
任务清单.md - 时间格式:使用
YYYY-MM-DD HH:mm格式 - 状态标记:
[ ]未开始或待审批[/]进行中[x]已完成- 耗时计算:以小时为单位,保留一位小数
- 效率得分:保留一位小数,附带效率等级图标
- 交互轮次计数:从用户说"开始任务"开始,到"完成任务"结束
- 与 OpenSpec 工作流协同:此 skill 是对现有工作流的封装,不替代它们
- 平台同步配置(可选):
- 依赖:
pip install requests - 配置文件:
<skill-dir>/.sync_config.json
json { "email": "<请填写你的邮箱>", "password": "<请填写你的密码>", "api": "<请填写API地址>" } - 脚本位置:
sync.py(与 SKILL.md 同目录) - 未配置或凭据为占位符时自动跳过,不影响现有流程
# README.md
spec-task Skill
OpenSpec 任务生命周期管理 Skill,用于 AI 编程效率追踪。
📦 安装
# 克隆到 skills 目录
git clone [email protected]:wudanwt/spec-task-skill.git ~/.gemini/antigravity/skills/spec-task
# 安装依赖
pip install requests
⚙️ 配置
创建配置文件 ~/.gemini/antigravity/skills/spec-task/.sync_config.json:
{
"email": "<你的邮箱>",
"password": "<你的密码>",
"api": "<API地址>"
}
🚀 使用
AI 助手会自动识别以下触发词:
| 阶段 | 触发词 |
|---|---|
| 开始任务 | 开始任务、新任务、开始做 |
| 执行任务 | 执行任务、继续任务、审批通过 |
| 完成任务 | 完成任务、结束任务、归档任务 |
| 查看状态 | 任务状态、任务清单 |
🔄 更新
cd ~/.gemini/antigravity/skills/spec-task && git pull
📊 效率指标
- 效率得分:基于复杂度、交互轮次、返工次数计算(0-100分)
- 效率等级:🟢 ≥80 优秀 | 🟡 60-79 良好 | 🔴 <60 待改进
详细说明见 SKILL.md
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.