Back to Skills

task-executor

verified

执行 task-breakdown 创建的子任务。 从任务清单文件中读取并执行 waiting 或 failed 状态的子任务,执行完成后更新状态。 当用户需要执行项目路径 .claude/tasks/ 中的任务清单时使用该 skill。

View on GitHub

Marketplace

cc-plugins

GmwEnterprise/cc-plugins

Plugin

coding-helper

Repository

GmwEnterprise/cc-plugins

plugins/coding-helper/skills/task-executor/SKILL.md

Last Verified

January 23, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/GmwEnterprise/cc-plugins/blob/main/plugins/coding-helper/skills/task-executor/SKILL.md -a claude-code --skill task-executor

Installation paths:

Claude
.claude/skills/task-executor/
Powered by add-skill CLI

Instructions

## 前置准备
 
执行 verify-tasks.py 验证用户提供的任务清单路径是否有效:

```bash
python3 scripts/verify-tasks.py <task-file.yml>
```

输出说明:
- OK:有效且存在未完成任务
- DONE:所有任务已完成,直接结束对话即可
- ERROR:文件格式错误或不存在,结束对话并提示用户

确认任务清单有效后,在项目路径中创建文件 `.claude/tasks/task-ralph.yml`,内容按以下格式填写:

```yml
tasks: ./.claude/tasks/2026-01-01-12-xxx.yml  # 任务清单文件项目相对路径
```

## 子任务执行流程

### 1. 确认任务文件

首先确认要执行的任务清单文件:
- 检查项目路径中 `./.claude/tasks/` 目录下的 `.yml` 文件
- 如果有多个任务文件,使用 `AskUserQuestion` 询问用户要执行哪个任务
- 如果用户直接指定了任务文件路径,则使用该文件

### 2. 读取下一个子任务

使用 `read-task.py` 脚本读取下一个 waiting 或 failed 状态的子任务:

```bash
python3 scripts/read-task.py <task-file.yml>
```

该脚本会:
- 按顺序查找子任务,优先返回 `state: waiting` 的任务(新任务)
- 如果没有 `waiting` 状态的任务,则返回 `state: failed` 的任务(重试失败任务)
- 读取任务后立即将其状态更新为 `running`,避免重复读取
- 返回子任务信息(JSON 格式),按顺序包括:
  1. `description`: 总体任务描述
  2. `completed`: 已完成任务列表(简要描述,从上往下顺序)
  3. `task_key`: 当前待执行任务的键名(如 01-create-model)
  4. `task`: 当前待执行任务的描述
  5. `location`: 涉及的文件/目录列表
  6. `failed_reason`: 失败原因(仅当任务状态为 failed 时存在)

**任务状态说明:**
- **waiting**: 新任务,首次执行
- **failed**: 之前执行失败的任务,需要根据失败原因进行修复
- **running**: 当前正在执行的任务(脚本会自动设置)
- **done**: 已完成的任务

**如果没有 waiting 或 failed 状态的子任务:**
- 输出提示信息:所有子任务已完成
- 退出执行流程

### 3. 执行子任务

根据读取到的子任务信息执行任务:

**解析任务信息:**
- 仔细阅读 `task` 字段中的任务描述
- 查看 `location` 字段了解涉及的文件范围
- 理解 `description` 字段中的总体目标

**执行任务:**
- 按照任务描述完成具体的代码编写、修改或其他操作
- 使用 `Read` 工具阅读相关文件
- 使用 `Write` 或 `Edit` 工具修改文件
- 遵循项目现有的代码风格和架构模式
- 如果需求不够清晰,使用 `AskUserQuestion` 询问用户

**处理失败任务:**
- 如果读取到的是 `failed` 状态的任务,会附带 `failed_reason` 字段
- 仔细阅读失败原因,分析问题所在
- 根据失败原因调整执行策略,修复问题
- 修复后重新执行任务,确保问题已解决

**注意事项:**
- 只执行当前子任务,不要跳到其他任务
- 如果发现任务依赖未完成的前置任务,告知用户
- 保持代码简洁,只做任务要求的内容
- 完成后确认代码可以正常工作

### 4. 更新任务状态

任务执行完成后,使用 `update-task.py` 脚本更新状态:

**成功完成时:**
```bash
python3 scripts/update-task.py <task-file.yml> <task-key> done
```

**执行失败时:**
```bash
python3 scripts/update-task.py <task-file.yml> <task-key> failed "失败原因描述"
```

失败原因应该清晰说明:
- 什么导致了失败
- 需要用户提供什么信息或资源
- 或者有什么前置条件未满足

### 5. 执行结束

完成一个子任务后:
- 输出完成信息,包括任务键名和任务摘要
- 结束对话
- 之后如果用户主

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3553 chars