关于 github-discussion-query
用于查询当前或指定 GitHub 仓库讨论区的技能。脚本默认返回架构和数据大小信息,也可通过可选的 jq 表达式筛选数据或获取完整内容。
主要功能
- 01查询当前或指定仓库
- 02默认查看架构和数据大小
- 03使用 jq 筛选和转换结果
- 04限制讨论数量
- 05输出 JSON 以便后续处理
适用场景
- 01按类别或作者列出讨论
- 02查找未获答复或近期更新的讨论
- 03提取指定讨论字段
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ gh-aw --skill github-discussion-query安装后在 Claude Code 中输入/github-discussion-query确认已加载。
附带文件query-discussions.pyquery-discussions.sh
详细介绍
GitHub 讨论查询技能
使用内置的 jq 过滤功能高效查询 GitHub 讨论。
重要提示:jq 参数为可选项
--jq 参数可选。如果不使用 --jq,此技能会返回架构和数据大小信息,而非完整数据。
使用此功能可避免响应过大,并在进行定向查询前检查数据结构。
使用 --jq '.' 获取所有数据,或使用更具体的筛选器获取定向查询结果。
用法
使用此技能查询当前仓库或任何指定仓库中的讨论。
基本查询(仅返回架构)
列出当前仓库中的讨论:
./query-discussions.sh
# Returns schema and data size, not full data
获取所有数据
获取所有讨论数据:
./query-discussions.sh --jq '.'
指定仓库
查询特定仓库:
./query-discussions.sh --repo owner/repo
使用 jq 过滤
使用 --jq 参数过滤并转换输出:
# Get discussion numbers and titles
./query-discussions.sh --jq '.[] | {number, title}'
# Get discussions by a specific author
./query-discussions.sh --jq '.[] | select(.author.login == "username")'
# Get discussions in a specific category
./query-discussions.sh --jq '.[] | select(.category.name == "Ideas")'
# Get answered discussions
./query-discussions.sh --jq '.[] | select(.answer != null)'
# Count discussions by category
./query-discussions.sh --jq 'group_by(.category.name) | map({category: .[0].category.name, count: length})'
常用选项
--limit:要获取的讨论数量上限。默认值:30--repo:采用 owner/repo 格式的仓库。默认值:当前仓库--jq:(可选)用于过滤或转换输出的 jq 表达式。省略时返回架构信息
查询示例
查找评论较多的讨论:
./query-discussions.sh --jq '.[] | select(.comments.totalCount > 5) | {number, title, comments: .comments.totalCount}'
获取未得到答复的讨论:
./query-discussions.sh --jq '.[] | select(.answer == null) | {number, title, category: .category.name}'
列出带有标签的讨论:
./query-discussions.sh --jq '.[] | {number, title, labels: [.labels[].name]}'
按类别查找讨论:
./query-discussions.sh --jq '.[] | select(.category.name == "Q&A") | {number, title, author: .author.login}'
获取最近更新的讨论:
./query-discussions.sh --jq 'sort_by(.updatedAt) | reverse | .[0:10] | .[] | {number, title, updatedAt}'
输出格式
脚本默认输出 JSON,便于通过管道传递给 jq 进行额外处理。
要求
- 已完成身份验证的 GitHub CLI(
gh) - 用于过滤的
jq(大多数系统默认已安装)
评论
支持 Markdown