GitHub Issue Creator 是一个用于创建 GitHub Issue 的技能,来源于 google-gemini/gemini-cli。它的目标是在用户请求创建 GitHub Issue 时,生成符合仓库标准并使用合适模板的高质量 Issue。
用途 该技能适用于需要按照仓库既有规范提交 GitHub Issue 的场景。它会根据请求内容判断 Issue 类型,例如 bug 报告、功能请求或其他类别,并据此选择对应的模板。
主要能力
- 识别 Issue 类型:判断请求属于 bug 报告、功能请求还是其他类别。
- 定位模板:在 .github/ISSUE_TEMPLATE/ 目录中查找 Issue 模板,包括 bug_report.yml、feature_request.yml、website_issue.yml;如果没有找到相关的 YAML 模板,则在同一目录中查找 .md 模板。
- 读取模板:读取所识别模板文件的内容,以了解需要填写的字段。
- 起草内容:起草 Issue 的标题和正文/字段。如果使用 YAML 模板(表单),则为模板中定义的每个 id 准备对应的值;如果使用 Markdown 模板,则严格遵循其结构。
- 默认标签:除非用户明确要求不加,否则始终包含“🔒 maintainer only”标签。
- 创建 Issue:使用 gh CLI 创建 Issue。
- 验证:确认 Issue 创建成功,并向用户提供链接。
使用方式 创建 Issue 时,技能强调先将起草好的描述/正文写入临时文件,再通过 --body-file 参数提交,以避免多行 Markdown 或复杂文本带来的 shell 转义和格式问题。对于 Markdown 模板或简单正文,流程为:将起草内容写入临时文件;使用 gh issue create --title "Succinct title" --body-file <temp_file_path> --label "🔒 maintainer only" 创建 Issue;然后删除临时文件。对于 YAML 模板(表单),gh issue create 支持 --body-file,但 YAML 表单通常期望通过标志传入键值对以绕过交互式提示;不过,对于长文本字段,若要确保格式保留,最可靠的非交互方式是在表单已转换为标准正文时使用 --body 或 --body-file,或者对 YAML 表单使用 --field 标志。资料还提到,对于使用 YAML 表单的 gemini-cli 仓库,如果自动化不要求基于特定字段提交,通常可以将内容作为单个正文提交。
适用场景 该技能适用于需要按照仓库模板和规范创建 GitHub Issue 的场合,尤其是希望自动匹配 bug 报告、功能请求等模板,并保持标题清晰、内容完整、标签一致的情况。
限制 资料未提供关于收费、价格、平台支持范围、具体效果或额外使用步骤的信息。该技能依赖仓库中存在 .github/ISSUE_TEMPLATE/ 目录及相应模板;如果模板缺失,其行为可能受限。创建 Issue 依赖 gh CLI 的可用性。