# Dev Task

> 开发任务管理 Skill。当用户说"开始开发任务"、"开始新任务"、"继续开发"、"执行开发任务"或类似表达时触发。提供完整的任务进度追踪、Change Budget控制和文档维护流程。适用于需要按进度执行开发工作的场景。

- Skill: `gszyboy/dev-task` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gszyboy/dev-task`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gszyboy/dev-task/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Finance & Business
- Author: gszyboy (https://skillmd.com/u/gszyboy)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gszyboy/dev-task

---


# 开发任务管理

## 触发时机

当用户表达以下意图时触发此 Skill：
- "开始开发任务"
- "开始新任务"
- "继续开发"
- "执行开发任务"
- "开始编程"
- "继续当前任务"

## 工作流程

### 第一步：读取进度

首先读取 `docs/progress.json` 了解当前状态：

1. 找到 `status: "in_progress"` 的任务作为当前任务
2. 如果没有进行中的任务，从 `pending` 任务中取第一个
3. 如果所有任务都已完成，提示用户
4. 如果 progress.json 不存在，从 `docs/development-plan.md` 生成

### 第二步：确认任务

根据读取的进度，确认当前任务：

- **当前任务**：[任务名称]
- **阶段**：[阶段名称]
- **任务描述**：[描述]

#### 检查是否有新需求

如果用户提到"新需求"、"新增功能"等，先评估影响程度：

| 影响程度 | 含义 | 处理方式 |
|----------|------|----------|
| **轻微** | 不影响现有功能和工作流 | 直接在 CHANGELOG.md 记录，继续开发 |
| **中等** | 需要新增任务或调整计划 | 更新 progress.json，添加新任务 |
| **重大** | 影响项目核心架构或方向 | 暂停，讨论后再继续 |

如果影响程度为"中等"或"重大"，先与用户确认后再继续。

### 第三步：执行开发

#### Change Budget（强制）
- 修改文件数：≤ 3
- 修改行数：≤ 80
- 不引入新依赖
- 不修改任务范围之外的文件
- 不创建新目录（除非确实需要）
- 不重构未涉及的文件

#### 开发原则
1. 简单优先，不提前抽象
2. 先让功能跑起来，再优化
3. 只有代码重复 3 次以上才抽取公共部分

#### 流程
1. 确认任务范围
2. 如果涉及后端，先确认 API 结构
3. 实现
4. 简单验证

### 第四步：如果 AI 想做更多

如果 AI 说"我顺便..."、"我优化了..."、"我重构了..."，立即：
1. /undo 撤销
2. 只做任务要求的事

### 第五步：完成后更新进度

任务完成后，更新 `docs/progress.json`：

1. 将当前任务 `status` 改为 `"completed"`
2. 设置 `completedAt` 为完成时间（ISO 8601 格式：`2026-03-22T14:00:00Z`）
3. 记录 `files` 为修改的文件列表
4. 从 `pending` 任务中取第一个，设置为 `in_progress`
5. 更新 `lastUpdated` 时间戳
6. 更新 `metadata` 统计

#### 更新示例

```json
{
  "lastUpdated": "2026-03-22T15:30:00Z",
  "phases": {
    "1": {
      "tasks": [
        {
          "id": 1,
          "status": "completed",
          "completedAt": "2026-03-22T15:30:00Z",
          "files": ["src/api/user.ts", "src/views/Login.vue"]
        },
        {
          "id": 2,
          "status": "in_progress",
          "startedAt": "2026-03-22T15:30:00Z"
        }
      ]
    }
  }
}
```

### 第六步：文档维护

#### 发现问题时

如果开发过程中发现问题或需要调整，在 `docs/CHANGELOG.md` 中追加记录：

```markdown
### [日期] 变更 #N

**发现**：[问题描述]
**调整**：[处理方式]
**影响**：[影响范围]
```

如果 CHANGELOG.md 不存在，创建它。

#### 有技术决策时

如果做出了重要的技术决策，在 `docs/decisions.md` 中记录：

```markdown
## [日期] 决策：XXX

**问题**：XXX
**选项**：
- A：XXX
- B：XXX
**决策**：选择 A
**原因**：XXX
```

如果 decisions.md 不存在，创建它。

## 完成后

1. 列出修改的文件
2. 确认在 Change Budget 范围内
3. 说明功能是否验证通过
4. 确认 progress.json 已更新
5. 确认 CHANGELOG.md 已更新（如有变更）

### Git 提交建议

💡 建议执行以下命令提交代码：

```bash
git add .
git commit -m "[type]: 简短描述"
```

类型可选：`feat` | `fix` | `docs` | `style` | `refactor` | `perf` | `test` | `chore`

如果本次改动较大或有风险，可以只添加提示，延迟提交。

