Skip to main content

github-pr-query

Query GitHub pull requests with jq filtering and reusable selectors.

Informations de source

Dépôt
github/gh-aw
Dernière activité de la source
9 juin 2026 à 14:24
Langue détectée de SKILL.md
anglais
Étoiles
5 404
Forks
588

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
2 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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)
Voir sur GitHub