mcpField
G
github-discussion-query

github-discussion-query

github.com/github开发5.5k56 次安装今天更新
代码仓库

关于 github-discussion-query

用于查询当前或指定 GitHub 仓库讨论区的技能。脚本默认返回架构和数据大小信息,也可通过可选的 jq 表达式筛选数据或获取完整内容。

主要功能

  1. 01查询当前或指定仓库
  2. 02默认查看架构和数据大小
  3. 03使用 jq 筛选和转换结果
  4. 04限制讨论数量
  5. 05输出 JSON 以便后续处理

适用场景

  1. 01按类别或作者列出讨论
  2. 02查找未获答复或近期更新的讨论
  3. 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