关于 github-issue-query
这是一项使用可选 jq 筛选查询 GitHub issue 的技能,可查询当前或指定仓库。默认返回数据结构和大小信息,便于先了解结果范围,再按需获取完整数据。
主要功能
- 01查询当前或指定仓库
- 02按状态和数量限制 issue
- 03用 jq 筛选 JSON 输出
- 04默认返回结构与数据大小
适用场景
- 01查询前检查 issue 数据结构
- 02查找符合条件的 issue
- 03从结果中提取指定字段
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ gh-aw --skill github-issue-query安装后在 Claude Code 中输入/github-issue-query确认已加载。
附带文件query-issues.sh
详细介绍
GitHub Issue 查询技能
使用内置的 jq 过滤功能高效查询 GitHub Issue。
重要提示:jq 参数为可选项
--jq 参数是可选的。如果不使用 --jq,此技能会返回架构和数据大小信息,而不是完整数据。
使用此功能可避免响应过大,并在进行定向查询前检查数据结构。
使用 --jq '.' 获取所有数据,或使用更具体的筛选表达式获取定向结果。
用法
使用此技能查询当前仓库或任何指定仓库中的 Issue。
基础查询(仅返回架构)
列出当前仓库中的 Issue:
./query-issues.sh
# Returns schema and data size, not full data
获取所有数据
获取所有 Issue 数据:
./query-issues.sh --jq '.'
指定仓库
查询特定仓库:
./query-issues.sh --repo owner/repo
使用 jq 过滤
使用 --jq 参数过滤和转换输出:
# Get only open issues
./query-issues.sh --jq '.[] | select(.state == "OPEN")'
# Get issue numbers and titles
./query-issues.sh --jq '.[] | {number, title}'
# Get issues by a specific author
./query-issues.sh --jq '.[] | select(.author.login == "username")'
# Get issues with specific label
./query-issues.sh --jq '.[] | select(.labels | map(.name) | index("bug"))'
# Count issues by state
./query-issues.sh --jq 'group_by(.state) | map({state: .[0].state, count: length})'
常用选项
--state:按状态筛选(open、closed、all)。默认值:open--limit:要获取的 Issue 数量上限。默认值:30--repo:仓库,格式为 owner/repo。默认值:当前仓库--jq:(可选)用于过滤或转换输出的 jq 表达式。如果省略,则返回架构信息
常见查询示例
查找评论较多的 Issue:
./query-issues.sh --jq '.[] | select(.comments.totalCount > 5) | {number, title, comments: .comments.totalCount}'
获取分配给某人的 Issue:
./query-issues.sh --jq '.[] | select(.assignees | length > 0) | {number, title, assignees: [.assignees[].login]}'
列出带标签的 Issue:
./query-issues.sh --jq '.[] | {number, title, labels: [.labels[].name]}'
获取项目看板分配情况:
./query-issues.sh --jq '.[] | {number, title, projects: [.projectItems.nodes[]? | .project?.url]}'
查找较早创建的 Issue(创建时间超过 30 天):
./query-issues.sh --jq '.[] | select(.createdAt < (now - 2592000 | strftime("%Y-%m-%dT%H:%M:%SZ")))'
输出格式
脚本默认输出 JSON,因此可以轻松通过管道传递给 jq 进行进一步处理。
要求
- 已完成身份验证的 GitHub CLI(
gh) - 用于过滤的
jq(大多数系统默认已安装)
评论
支持 Markdown