Analyse Issue 是一个面向 GitHub Issue 的分析技能,主要用途是根据 Issue 链接或编号,在本地代码库中定位并核实所报告的问题。
主要能力与工作流程
-
解析 Issue 输入:如果输入是 GitHub Issue URL,则提取 owner/repo 与 Issue 编号;如果只是编号,则默认使用当前仓库,除非用户指定了其他仓库;如果提供方不是 GitHub 或不清楚,会先请求澄清再继续。
-
校验本地仓库与 Issue 是否匹配:确认当前目录位于某个 git 仓库内(git rev-parse --show-toplevel);识别目标远端(优先 origin),并将 SSH/HTTPS 地址规范化为 owner/repo;如果 Issue URL 中的仓库与本地 owner/repo 不一致,会停止并请用户切换目录或确认目标仓库;如果没有远端或存在多个候选,会询问用户使用哪个仓库。
-
拉取 Issue 内容:优先使用 gh(如 gh issue view <num> --json title,body,labels,comments,author,createdAt,updatedAt;若提供 URL 则加 -R owner/repo)。回退方案包括使用 gh api 获取 repos/{owner}/{repo}/issues/{num} 及 comments 以获取更多字段;如果 gh 不可用但存在 GITHUB_TOKEN,则用 curl 调用 GitHub API;如果都不行,请用户粘贴 Issue 内容。至少捕获:标题、正文、标签、环境细节、复现步骤、预期/实际行为以及关键评论洞察。
-
分析代码库:把 Issue 转化为具体信号(关键词、错误信息、堆栈跟踪、配置项名称);使用 rg 定位相关代码、测试与配置;追踪执行路径:入口点 -> 核心逻辑 -> 依赖;识别可能的失败点:缺失检查、边界情况、错误假设、数据形状不匹配、并发/时序问题;在合适且安全的情况下运行聚焦测试,否则提出针对性测试来验证假设。
-
确认或限定 Issue:提供带文件引用与推理的证据;如果只能推理而无法运行测试,需说明假设与置信度;如果证据不足,列出所需的确切缺失信息。
-
输出结构化分析:包括 Issue 摘要(预期 vs 实际)、仓库匹配校验、证据(文件/函数)、根因假设或已确认原因、建议修复方案、问题或缺失数据、后续步骤(测试、日志、复现)。
输出约定
在用户语言明确时使用用户语言回复;中文提示默认使用中文。分析保持简洁,但需包含具体文件指向与证据。没有基于代码的证据或复现,不得声称已确认问题。
适用场景与限制
适用于需要从 Issue 出发快速在代码库中定位相关代码并形成有依据判断的场景。限制包括:需要本地存在对应 git 仓库才能进行仓库匹配与代码检索;拉取 Issue 依赖 gh、GITHUB_TOKEN 或用户手动粘贴;无法运行测试时只能给出带假设与置信度的推理。关于该技能的具体安装方式、收费与价格信息暂未提供。