关于 sdd:add-task
sdd:add-task 根据用户请求创建任务草稿文件,负责分类任务、拟定行动导向的标题和文件名,并保留原始请求供后续阶段使用。
主要功能
- 01判断任务类型
- 02生成行动导向标题
- 03按约定生成文件名
- 04处理任务依赖
- 05记录原始请求
适用场景
- 01将功能请求登记为任务
- 02拟定缺陷修复任务
- 03准备文档或测试任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ neolabhq/ context-engineering-kit --skill sdd:add-task安装后在 Claude Code 中输入/sdd: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)
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 技能 - 后续阶段由工作流处理
- 不得在
.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