← ClaudeAtlas

import-issuelisted

从 Issue 导入并创建任务
fitlab-ai/agent-infra · ★ 57 · AI & Automation · score 79
Install: claude install-skill fitlab-ai/agent-infra
# 导入 Issue 导入指定的 Issue 并创建任务。参数:issue 编号。 ## 行为边界 / 关键规则 - 本技能的唯一产出是 `task.md` - 不要编写或修改业务代码。仅做导入 - 执行本技能后,你**必须**立即更新任务状态 ## 执行流程 ### 1. 获取 Issue 信息 执行前先读取 `.agents/rules/issue-pr-commands.md`,并按其中的前置步骤完成认证和代码托管平台检测;随后按其中的 “读取 Issue” 命令获取 Issue 信息。 提取:issue 编号、标题、描述、标签。 任务标题直接使用 Issue 的原始标题(保持 Issue 标题的原始语言)。 ### 2. 检查已有任务 2.1 搜索 `.agents/workspace/active/` 中是否已有链接到此 Issue 的任务。 - 如果找到,**默认复用现有任务**(场景 A),不询问用户;在最终告知中明确「已复用现有任务 `{task-id}`,未重新导入」。若用户希望重新导入,需要先手动归档/删除已有任务再次执行本技能 - 如果未找到,继续执行 2.2 2.2 按 `.agents/rules/issue-pr-commands.md` 的“历史任务评论扫描”命令扫描 Issue 评论中的同步标记,查找可恢复的历史任务 ID。 该命令依赖步骤 1 已设置的 `$upstream_repo`。 退出码处理(pipeline 整体): - 退出 0 + 输出 `found=false`:按新 Issue 导入流程创建新任务 - 退出 0 + 输出 `found=true`:复用 `task_id` - 退出非 0(平台 API、认证、JSON 解析或任一段管道异常):视为 platform API 降级,向用户展示 stderr 后按新 Issue 导入流程继续,不阻塞导入 ### 3. 创建任务目录和文件 3.1 决定 task ID 和 `created_at`。 | 场景 | 触发条件 | task ID 来源 | created_at 来源 | 用户确认 | |---|---|---|---|---| | 场景 A | 2.1 命中本地任务 | 复用本地 ID | 本地保留 | 默认复用,不询问;告知用户已复用 | | 场景 B | 2.1 无命中 + 2.2 无候选 | `date +%Y%m%d-%H%M%S` 新建 | 当前时间 | 不需要 | | 场景 C | 2.1 无命中 + 2.2 有候选 | 自动复用最早候选 ID | 优先用远端 frontmatter 的 `created_at`,缺失时用当前时间 | 告知即可 | ```bash date +%Y%m%d-%H%M%S ``` 3.2 写入任务目录和 `task.md`。 - 创建目录:`.agents/workspace/active/{task-id}/` - 使用 `.agents/templates/task.md` 模板创建 `task.md` - 场景 C 优先沿用远端 frontmatter 中的 `type`、`workflow`、`branch`、`created_by`、`milestone`;缺失或损坏字段按 Issue 标签和当前规则重新推断 - `current_step` 始终写入 `requirement-analysis`,不要恢复为远端原 `current_step`