Skip to main content

github-pr-query

Query GitHub pull requests with jq filtering and reusable selectors.

Informações da origem

Repositório
github/gh-aw
Última atividade na origem
9 de junho de 2026 às 14:24
Idioma detectado do SKILL.md
inglês
Estrelas
5.404
Forks
588

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
2 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
github-pr-query
description
Query GitHub pull requests with jq filtering and reusable selectors.
# GitHub Pull Request Query Skill Query GitHub pull requests efficiently with built-in jq filtering. ## Important: jq Parameter is Optional The `--jq` parameter is **optional**. Without `--jq`, this skill returns **schema and data size information** instead of full data. Use this to avoid oversized responses and inspect structure before targeted queries. Use `--jq '.'` to get all data, or use a more specific filter for targeted results. ## Usage Use this skill to query pull requests from the current repository or any specified repository. ### Basic Query (Returns Schema Only) To list pull requests from the current repository: ```bash ./query-prs.sh # Returns schema and data size, not full data ``` ### Get All Data To get all PR data: ```bash ./query-prs.sh --jq '.' ``` ### With Repository To query a specific repository: ```bash ./query-prs.sh --repo owner/repo ``` ### With jq Filtering Use the `--jq` argument to filter and transform the output: ```bash # Get only open PRs ./query-prs.sh --jq '.[] | select(.state == "open")' # Get PR numbers and titles ./query-prs.sh --jq '.[] | {number, title}' # Get PRs by a specific author ./query-prs.sh --jq '.[] | select(.author.login == "username")' # Get merged PRs from last week ./query-prs.sh --jq '.[] | select(.mergedAt != null)' # Count PRs by state ./query-prs.sh --jq 'group_by(.state) | map({state: .[0].state, count: length})' ``` ### Common Options - `--state`: Filter by state (open, closed, merged, all). Default: open - `--limit`: Maximum number of PRs to fetch. Default: 30 - `--repo`: Repository in owner/repo format. Default: current repo - `--author`: Filter PRs by author login - `--app`: Filter PRs by GitHub App author - `--search`: Apply GitHub issue/PR search syntax - `--jq`: (Optional) jq expression for filtering/transforming output. If omitted, returns schema info ### Example Queries **Find large PRs (many changed files):** ```bash ./query-prs.sh --jq '.[] | select(.changedFiles > 10) | {number, title, changedFiles}' ``` **Get PRs awaiting review:** ```bash ./query-prs.sh --jq '.[] | select(.reviewDecision == "REVIEW_REQUIRED") | {number, title, author: .author.login}' ``` **Get PRs authored by GitHub Actions app activity context:** ```bash ./query-prs.sh --app github-actions --jq '.[] | {number, title, author: .author.login}' ``` **Find in-scope review feedback (team/collaborator + trusted automation):** ```bash # Trusted automation is matched by login; humans are matched by association. ./query-prs.sh --jq \ '.[] | {number, title, reviews: [.reviews[]? | select(.author.login == "github-actions[bot]" or .author.login == "app/github-copilot" or .authorAssociation == "MEMBER" or .authorAssociation == "OWNER" or .authorAssociation == "COLLABORATOR")] }' ``` **Ignore external review feedback:** ```bash ./query-prs.sh --jq \ '.[] | {number, title, external_reviews: [.reviews[]? | select(.authorAssociation == "CONTRIBUTOR" or .authorAssociation == "FIRST_TIME_CONTRIBUTOR" or .authorAssociation == "FIRST_TIMER" or .authorAssociation == "NONE")] }' ``` **List PRs with their labels:** ```bash ./query-prs.sh --jq '.[] | {number, title, labels: [.labels[].name]}' ``` ## Output Format The script outputs JSON by default, making it easy to pipe through jq for additional processing. ## Requirements - GitHub CLI (`gh`) authenticated - `jq` for filtering (installed by default on most systems)
Ver no GitHub