通过工具操作史诗、故事、缺陷、冲刺与看板,覆盖创建搜索转换全流程。
项目管理工具集成是一项面向实际任务的技能,主要用于通过项目管理工具集成操作工作项的全生命周期,从史诗拆分到冲刺执行,覆盖创建、搜索、状态转换与看板管理;Agent平台 : 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等);
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
通过项目管理工具集成操作工作项的全生命周期,从史诗拆分到冲刺执行,覆盖创建、搜索、状态转换与看板管理。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="your_api_key_here"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。
create_issue 创建史诗:type=Epic,含 summary、descriptionlink_issues 将故事关联到史诗:link type=Epic-Storyupdate_issue 更新史诗状态与字段输入: 用户提供史诗管理所需的指令和必要参数。 处理: 按照skill规范执行史诗管理操作,遵循单一意图原则。
create_issue 创建故事:type=Story,含 summary、description、priority、assigneeget_issue 读取故事详情,含评论、附件、子任务输入: 用户提供故事管理所需的指令和必要参数。 处理: 按照skill规范执行故事管理操作,遵循单一意图原则。
create_issue 创建缺陷:type=Bug,含 priority、environment、steps to reproducelink_issues 关联缺陷到故事或史诗:link type=Blocks/Is Blocked By输入: 用户提供缺陷管理所需的指令和必要参数。 处理: 按照skill规范执行缺陷管理操作,遵循单一意图原则。
create_issue 创建子任务:type=Subtask,parent=父故事key输入: 用户提供子任务管理所需的指令和必要参数。
create_sprint 创建冲刺:name、startDate、endDate、goaladd_to_sprint 将工作项加入冲刺get_sprint_issues 获取冲刺内所有工作项,maxResults: 50 默认返回前50条输入: 用户提供冲刺管理所需的指令和必要参数。 处理: 按照skill规范执行冲刺管理操作,遵循单一意图原则。
get_board_issues 获取看板工作项,按状态列分组move_issue_in_board 调整工作项在看板中的顺序输入: 用户提供看板管理所需的指令和必要参数。 处理: 按照skill规范执行看板管理操作,遵循单一意图原则。 输出: 返回看板管理的执行结果,包含操作状态和输出数据。
search_issues 使用 JQL 查询:jql="project = PROJ AND status = Open ORDER BY priority DESC"=、!=、>、<、IN、NOT IN、AND、ORassignee = currentUser()、sprint in openSprints()maxResults: 50 控制返回数量,大结果集需分页link_issues 建立关联:type=Blocks、Is Blocked By、Relates To、Duplicate、Epic-Story输入: 用户提供工作项关联所需的指令和必要参数。 处理: 按照skill规范执行工作项关联操作,遵循单一意图原则。 输出: 返回工作项关联的执行结果,包含操作状态和输出数据。
transition_issue 转换工作项状态:issue_key + transition_id输出: 返回状态转换的执行结果,包含操作状态和输出数据。
get_user 查询用户信息:username、displayName、emailget_project 查询项目信息:key、name、lead、issue typesget_all_projects 列出所有可访问项目处理: 按照skill规范执行用户与项目管理操作,遵循单一意图原则。 输出: 返回用户与项目管理的执行结果,包含操作状态和输出数据。
执行结果以Markdown格式返回,包含操作状态(成功/失败)、处理摘要和具体输出数据。失败时返回错误码和错误信息,便于定位问题。
输出格式操作,处理输入数据并返回结果输出格式相关配置参数进行设置本skill还覆盖以下能力场景: 通过工具操作史诗、冲刺与看板、覆盖创建搜索转换、全流程、通过项目管理工具、集成操作工作项全、生命周期、状态转换与用户管、工作流转换与字段、适用于独立开发者、企业团队和自动化、工作流场景。这些能力在上述核心功能中均有对应处理逻辑。
本skill覆盖源skill的以下能力点:
| 源能力点 | 支持状态 | 实现方式 |
|---|---|---|
| Unassign | 支持 | 通过核心功能实现对应能力 |
| Draft ticket content | 支持 | 通过核心功能实现对应能力 |
| Who am I | 支持 | 通过核心功能实现对应能力 |
| Intent | 支持 | 通过核心功能实现对应能力 |
输入: 用户提供源能力映射所需的指令和必要参数。 处理: 按照skill规范执行源能力映射操作,遵循单一意图原则。 输出: 返回源能力映射的执行结果,包含操作状态和输出数据。
本skill涉及以下领域术语: mcp__atlassian__gettransitionsforjiraissue, 不适用于超出本技, backend, triggers, before, workflows, list, safety, 相关功能时使用, mcp__atlassian__getvisiblejiraprojects, mcp__atlassian__addcommenttojiraissue, supports, operation, mcp__atlassian__lookupjiraaccountid, atlassian
处理: 按照skill规范执行领域术语操作,遵循单一意图原则。 输出: 返回领域术语的执行结果,包含操作状态和输出数据。
| 场景 | 输入 | 输出 |
|---|---|---|
| 创建史诗 | 标题+描述 | Epic 工作项 key(如 PROJ-123) |
| 冲刺规划 | 工作项列表+冲刺名 | 冲刺 ID + 工作项加入结果 |
| JQL搜索 | JQL语句 | 匹配工作项列表(maxResults 50) |
| 状态转换 | issue_key + 目标状态 | 转换结果 + 更新后状态 |
| 依赖分析 | 工作项key | Blocks/Is Blocked By 关联图 |
不适用于:项目管理工具配置(工作流设计、字段schema)、报表仪表盘搭建、跨实例迁移。
get_project 确认目标项目 key 与可用 issue typecreate_issue 创建工作项,填 summary、type、prioritylink_issues 建立史诗-故事-子任务层级与依赖关系create_sprint + add_to_sprint 规划冲刺search_issues 配合 JQL 跟踪进度transition_issue 推进工作流状态-W30: 命令参数,用于指定操作选项结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,参考错误处理章节获取恢复步骤。
-W30: 命令参数,用于指定操作选项-W30: 命令参数,用于指定操作选项-W30: 命令参数,用于指定操作选项-W30: 命令参数,用于指定操作选项-W30: 命令参数,用于指定操作选项-W30: 命令参数,用于指定操作选项-W30: 命令参数,用于指定操作选项-W30: 命令参数,用于指定操作选项// 创建史诗
{
"fields": {
"project": {"key": "PROJ"},
"summary": "用户认证模块",
"issuetype": {"name": "Epic"},
"priority": {"name": "High"}
}
}
// 返回: {"key": "PROJ-100"}
// 创建故事并关联史诗
{
"fields": {
"project": {"key": "PROJ"},
"summary": "实现JWT登录接口",
"issuetype": {"name": "Story"},
"priority": {"name": "Medium"},
"customfield_10001": "PROJ-100" // Epic Link
}
}
// 返回: {"key": "PROJ-101"}
输入: "查找 PROJ 项目中所有未关闭的高优先级缺陷" JQL: project = PROJ AND issuetype = Bug AND priority in (Highest, High) AND status != Closed ORDER BY created DESC maxResults: 50 输出: 匹配的缺陷列表,含 key、summary、status、assignee
// 创建冲刺
{
"name": "Sprint 2026-W30",
"startDate": "2026-07-21",
"endDate": "2026-08-04",
"goal": "完成用户认证与权限管理"
}
// 返回: {"id": 42, "state": "Future"}
// 将故事加入冲刺
add_to_sprint(sprintId=42, issues=["PROJ-101", "PROJ-102", "PROJ-103"])
// 转换 PROJ-101 从 Open 到 In Progress
transition_issue("PROJ-101", "11") // 11 = In Progress 的 transition_id
// 返回: {"status": "In Progress", "assignee": "张三"}
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| API token 无效(401 Unauthorized) | token 过期或权限不足 | 重新生成 API token,确认用户对目标项目有读写权限 |
| Issue key 不存在(404 Not Found) | key 拼写错误或已删除 | 用 search_issues 验证 key 是否存在,检查拼写 |
| 工作流转换被拒(过渡非法) | 当前状态不允许直接转到目标状态 | 查询工作流定义,确认合法转换路径,如 Open 不能直接到 Done |
| 自定义字段 customfield ID 错误 | 不同实例字段 ID 不同 | 用 get_issue 读取已有工作项,反查 Epic Link 等字段的 customfield ID |
| 冲刺已关闭无法添加工作项 | 冲刺状态为 Closed | 创建新冲刺或激活已关闭冲刺(需管理员权限) |
| JQL 语法错误(400 Bad Request) | 操作符或函数拼写错误 | 检查 JQL 语法,确认字段名与操作符合法,用 IN 替代多个 OR |
| 超出 maxResults 限制 | 默认50条不够 | 分页查询,用 startAt 参数偏移,或缩小 JQL 范围 |
A: 斐波那契数列避免虚假精度。3 与 4 的差异难以区分,但 3 与 5 的差异明确。这迫使团队做粗粒度估算,避免陷入精确错误的陷阱。
maxResults: 50 不够时如何获取全部结果?A: 用分页:第一次 startAt=0, maxResults=50,第二次 startAt=50, maxResults=50,依此类推。或缩小 JQL 范围,按时间或状态分段查询。
A: 用 get_issue 读取工作项,响应中的 transitions 字段列出所有可用转换及其 ID。不同项目、不同状态的 transition_id 不同,不能硬编码。
A: 自定义字段 ID 在创建实例时自动生成,不同实例的 Epic Link 可能是 customfield_10001 或 customfield_10014。用 get_issue 读取含史诗关联的工作项,反查实际字段 ID。
link_issues 的 Blocks 与 Is Blocked By 有何区别?A: 方向相反。A Blocks B 表示 A 阻塞 B(B 等 A 完成);A Is Blocked By B 表示 A 被 B 阻塞(A 等 B 完成)。建立关联时需明确方向,否则依赖图会反。
A: create_sprint 时指定 startDate 与 endDate,可设为14天或7天。建议团队统一周期,避免不同冲刺长度影响速率(burndown)对比。