用途
该技能用于在用户明确要求提交、创建或提出 GitHub issue 时,生成一份简短、体面、他人无需追问即可接手的 issue。它明确限定:绝不针对用户只是顺带提及的问题创建 issue,提交必须是被明确要求的。
主要能力
- 生成结构克制的 issue:一段引导段落,加上最多三个简短小节。
- 标题使用祈使句,点明最终状态并体现子系统,例如“Retry transient upload failures in the worker”,而非“Bug in upload”。
- 正文可包含“What should happen”“What happens now”“Where to look”等小节;若没有真实内容则省略对应小节,且不得添加清单、范围表、验证块或“Conclusion”等额外结构。
- 可借助子代理收集上下文,避免自己通读代码库消耗写作所需上下文。
- 在创建前展示目标仓库(通过 gh repo view --json nameWithOwner,visibility,若为公开则明确说明 PUBLIC)、确切标题和正文,等待用户确认。
- 支持一次处理多个 issue:先分组,同一函数、同一根因或可一次编辑完成的合并为一个 issue,不同子系统或不同原因保持独立;创建前展示映射与数量,循环创建并打印每个 URL。
使用方式
需要已安装 gh、已完成认证,并处于有 GitHub 远程地址的仓库中。若 gh auth status 失败,停止并提示运行 gh auth login。
收集上下文时,可启动一到两个 Explore 代理,要求返回紧凑答案:问题位于哪些文件和函数、代码当前行为、值得指出的 file:line,并说明返回简短摘要而非文件转储。通常一个代理足以回答“X 在哪里、做什么”;仅当 issue 跨越两个不相关领域时才加第二个。若用户已提供文件和错误,可完全跳过子代理。若仍有未知信息,则留空,绝不编造行号、错误字符串或复现步骤。
写作时,标题放入 --title。正文先经 humanize 技能处理再展示。引导段落应像向同事解释问题。避免使用“delve”“leverage”“robust”“seamless”“crucial”“comprehensive”等词,避免破折号、弯引号或项目符号内的加粗伪标题。如实报告严重程度。不得添加 AI 署名。不要硬换行,GitHub 会软换行,因此每段为一行。
创建命令示例:
gh issue create --title "Retry transient upload failures in the worker" --body-file <scratch>/issue-body.md
--repo owner/name only if they targeted a different repo; --label only if they asked
创建后打印 gh 返回的 URL。
适用场景
- 用户明确要求提交、创建或提出 GitHub issue。
- 需要生成一份他人可直接接手、无需追问的 issue。
- 一次需要创建多个 issue,且可先分组再创建。
限制
- 绝不针对用户仅顺带提及的问题创建 issue。
- issue 是公开且难以撤销的,必须仅在明确要求下操作。
- 创建前必须展示目标仓库、标题和正文并等待确认。
- 不得编造行号、错误字符串或复现步骤。
- 不得添加超出规定的小节,不得添加 AI 署名。
- 需要 gh 已认证且仓库有 GitHub 远程地址;认证失败时须停止并提示 gh auth login。