SuperAPI AI 工具集

github-issues

部署与运维

查看项目

更新于 10-16 08:20

技能介绍

用途

该技能面向 GitHub 仓库的 Issue 管理,覆盖创建、搜索、分类(triage)、指派、评论、关闭与重新打开等常见操作。每个操作都先给出 gh CLI 的用法,再给出 curl 调用 GitHub REST API 的回退方案。

主要能力

  • 查看与筛选 Issue:列出 Issue、按状态或标签筛选、按指派人筛选、按关键词搜索、查看单个 Issue 详情。
  • 创建 Issue:支持指定标题、正文、标签和指派人;推荐在创建功能类 Issue 前先搜索已有 Issue、检查仓库标签、引用相关 Issue,避免重复。
  • 管理 Issue:添加或移除标签、指派人员、发表评论、关闭(可指定原因)与重新打开。
  • 关联 PR:在 PR 正文中使用 Closes #42、Fixes #42、Resolves #42 等关键词,合并后自动关闭对应 Issue;也可用 gh issue develop 从 Issue 创建分支。
  • 分类工作流:列出待分类 Issue、阅读并归类、应用标签与优先级、指派负责人、必要时添加分类备注。
  • 批量操作:结合 shell 脚本对带特定标签的 Issue 批量关闭等。

使用方式

前置条件:已通过 GitHub 认证(参见 github-auth 技能);位于带有 GitHub 远程仓库的 git 仓库内,或显式指定仓库。

技能提供一段初始化脚本,用于判断使用 gh 还是 git 回退,并从环境变量、~/.hermes/.env 或 ~/.git-credentials 中获取 GITHUB_TOKEN,同时从 git remote 解析出 OWNER 与 REPO。

常用命令示例:

  • 列出 Issue:gh issue list;按标签:gh issue list --state open --label "bug";按指派人:gh issue list --assignee @me;搜索:gh issue list --search "authentication error" --state all;查看:gh issue view 42。
  • 创建 Issue:gh issue create --title "..." --body "..." --label "bug,backend" --assignee "username";长正文建议写入临时 markdown 文件并使用 --body-file。
  • 编辑标签:gh issue edit 42 --add-label "priority:high,bug";移除:gh issue edit 42 --remove-label "needs-triage"。
  • 指派:gh issue edit 42 --add-assignee username 或 @me。
  • 评论:gh issue comment 42 --body "...";含反引号或多行内容时建议使用 --body-file。
  • 关闭与重开:gh issue close 42、gh issue close 42 --reason "not planned"、gh issue reopen 42。
  • 从 Issue 创建分支:gh issue develop 42 --checkout。

curl 回退方案覆盖对应的 REST 端点,例如 GET /repos/{o}/{r}/issues、POST /repos/{o}/{r}/issues、POST /repos/{o}/{r}/issues/N/labels、POST /repos/{o}/{r}/issues/N/assignees、POST /repos/{o}/{r}/issues/N/comments、PATCH /repos/{o}/{r}/issues/N、GET /search/issues?q=... 等。

技能还提供 Bug 报告模板与功能请求模板,以及创建功能类 Issue 前的推荐流程:搜索已有 Issue、检查仓库标签、引用父级或相关 Issue、优先更新已有 Issue 而非重复创建、创建后立即验证标题、标签、URL 与渲染后的正文。

适用场景

  • 日常仓库维护与缺陷跟踪。
  • 功能需求收集与分类。
  • 团队协作中的指派与进度评论。
  • 将 Issue 与 PR 关联以自动关闭。
  • 对带特定标签的 Issue 执行批量操作。

限制

  • 需要已认证的 GitHub 访问权限。
  • 需要位于带 GitHub 远程仓库的 git 仓库内,或显式指定仓库。
  • 使用 curl 回退时需要 GITHUB_TOKEN。
  • 资料未提供收费、价格、平台支持范围或效果保证等信息。