关于 add-task
add-task 是一项将用户请求整理为分类任务草稿文件的技能,涵盖标题、依赖项、文件名和目录处理,适用于任务跟踪。
主要功能
- 01创建任务草稿文件
- 02生成行动导向标题
- 03分类任务类型
- 04识别任务依赖
- 05检查文件名及唯一性
适用场景
- 01记录新功能请求
- 02将错误报告整理为任务
- 03按状态整理任务文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ neolabhq/ context-engineering-kit --skill add-task安装后在 Claude Code 中输入/add-task确认已加载。
详细介绍
创建草稿任务文件
角色
你的角色是创建一个与用户请求完全一致的草稿任务文件。
目标
在 .specs/tasks/draft/ 中创建任务文件,包含:
- 清晰、以行动为导向的标题(动词 + 具体描述)
- 恰当的类型分类(feature/bug/refactor/test/docs/chore/ci)
- 正确的依赖项(如有)
- 保留用户意图的实用描述
- 正确的文件名
输入
- 用户输入:用户提供的任务描述/标题(作为参数传入)
- 目标目录:默认为
.specs/tasks/draft/
说明
1. 确保目录结构
运行文件夹创建脚本以创建任务目录并配置 gitignore:
bash ${CLAUDE_PLUGIN_ROOT}/scripts/create-folders.sh
这会创建:
.specs/tasks/draft/- 等待分析的新任务.specs/tasks/todo/- 准备实施的任务.specs/tasks/in-progress/- 正在处理的任务.specs/tasks/done/- 已完成的任务.specs/scratchpad/- 临时工作文件(已加入 gitignore).specs/analysis/- 任务分析.specs/reports/- 任务报告
备用方案:如果找不到脚本,或遇到其他问题,请手动创建目录结构,并将 .specs/scratchpad/ 添加到 .gitignore
2. 分析输入
-
解析用户请求:
- 提取核心任务目标
- 判断隐含类型(bug、feature、task)
- 列出此任务所依赖的任务文件
-
存在歧义时进行澄清(仅限确实不清楚的情况):
- 这是修复 bug 还是新增功能?
- 是否有相关任务或依赖项?(如果未提供,则假定没有)
3. 组织任务
-
创建以行动为导向的标题:
- 以动词开头:Add、Fix、Update、Implement、Remove、Refactor
- 具体但简洁
- 示例:
- “为登录表单添加验证”
- “修复用户服务中的空指针问题”
- “为 API 响应实现缓存”
-
确定类型:
类型 使用场景 feature新功能或新能力 bug某项功能已损坏或无法正常工作 refactor重构代码,但不改变行为 test添加或更新测试 docs仅修改文档 chore维护任务、依赖项更新 ciCI/CD 配置更改
4. 生成文件名
-
根据任务标题生成简短名称:
- 将标题转换为小写
- 用连字符替换空格
- 移除特殊字符
- 保持简洁(最多 3-5 个词)
- 示例:“Add validation to login form” ->
add-validation-login-form
-
组成文件名:
<short-name>.<issue-type>.md- 示例:
add-validation-login-form.feature.mdfix-null-pointer-user-service.bug.mdrestructure-auth-module.refactor.mdadd-unit-tests-api.test.mdupdate-readme.docs.mdupgrade-dependencies.chore.mdadd-github-actions.ci.md
- 示例:
-
检查唯一性:检查
.specs/tasks/draft/、.specs/tasks/todo/、.specs/tasks/in-progress/和.specs/tasks/done/中是否存在同名文件
5. 创建任务文件
使用 Write 工具在 .specs/tasks/todo/<short-name>.<issue-type>.md 创建文件:
---
title: <ACTION-ORIENTED TITLE>
depends_on: <list of task files that this task depends on>
---
## Initial User Prompt
{EXACT user input as provided}
## Description
// Will be filled in future stages by business analyst
约束
- 不要调用 plan skill - 工作流会处理后续阶段
- 不要在
.specs/tasks/draft/以外创建文件 - 不要修改现有任务文件
- 不要填写描述,只按任务文件中的要求填写
// ...占位符。 - 如果未提供依赖项,不要编写 depends_on 部分。
预期输出
返回给协调器:
- 任务文件路径:创建文件的完整路径(例如
.specs/tasks/todo/add-validation-login-form.feature.md) - 生成的标题:创建的、以行动为导向的标题
- 问题类型:
task、bug或feature
格式:
Created task file: .specs/tasks/draft/<name>.<type>.md
Title: <action-oriented title>
Type: <task|bug|feature>
Depends on: <list of task files that this task depends on>
成功标准
- 目录
.specs/tasks/draft/、.specs/tasks/todo/、.specs/tasks/in-progress/、.specs/tasks/done/均存在 - 在
.specs/tasks/draft/中创建任务文件,并遵循正确的命名约定(<name>.<type>.md) - 文件名在所有状态文件夹中唯一(不会覆盖现有文件)
- 如果提供了依赖项,Depends 部分应正确
- 标题以动作动词开头(Add、Fix、Implement、Update、Remove、Refactor)
- 类型分类正确,并体现在文件扩展名中(
.feature.md、.bug.md、.refactor.md、.test.md、.docs.md、.chore.md、.ci.md) - 在“Initial User Prompt”部分保留用户的原始输入
- Description 是空占位符
// Will be filled in future stages by business analyst
示例
测试任务(.specs/tasks/draft/add-unit-tests-auth.test.md):
---
title: Add unit tests for auth module
---
## Initial User Prompt
add tests for auth
## Description
// Will be filled in future stages by business analyst
带上下文的 Bug(.specs/tasks/draft/fix-login-timeout.bug.md):
---
title: Fix login timeout on slow connections
---
## Initial User Prompt
users getting 504 errors on slow wifi
## Description
// Will be filled in future stages by business analyst
功能请求(.specs/tasks/draft/implement-dark-mode.feature.md):
---
title: Implement dark mode toggle
---
## Initial User Prompt
add dark mode to settings page
## Description
// Will be filled in future stages by business analyst
评论
支持 Markdown