Instructions for using the `gh` command to query and inspect GitHub state safely.
This skill provides instructions for using the GitHub CLI (gh) to query,
inspect, and search GitHub state (issues, pull requests, repositories) for the
Carbon project.
[!IMPORTANT] AI assistants MUST NOT use the
ghtool to modify any GitHub project state. Do NOT run commands that create, edit, delete, label, comment on, or merge issues, pull requests, releases, or any other resources.
listviewsearchstatusapi (Only with GET requests)createeditdeletemergereopenclosecommentlabelThe gh tool interacts with a default repository when run within a local check
out. For this project, the default repository is expected to be
carbon-language/carbon-lang.
To verify the current default repository configuration:
gh repo view
The output should indicate the repository is carbon-language/carbon-lang.
If the default repository is misconfigured (for example, pointing to a personal fork or a different repository), the human operator must correct it.
[!IMPORTANT] AI Assistants MUST NOT attempt to mutate
ghconfiguration or run commands that change the default repository (such asgh repository set-default).
Instruct the human operator to run the following command to select the correct default repository:
gh repo set-default
The operator will be prompted to select the correct repository (e.g.,
carbon-language/carbon-lang) from the available remotes.
gh issue listgh issue view <number>gh issue search "<query>"
gh issue search "crash" --state opengh pr listgh pr view <number>gh pr diff <number>gh pr statusgh search code "<query>"gh search repos "<query>"For queries that are not supported by standard gh commands, you can use the
gh api command to query the GitHub REST or GraphQL APIs.
Query the REST API using paths relative to the API root.
List contributors:
gh api repos/carbon-language/carbon-lang/contributors
List issue comments:
gh api repos/carbon-language/carbon-lang/issues/<issue_number>/comments
For complex queries, use GraphQL to fetch exactly the data needed.
Get repository information:
gh api graphql -f query='
query {
repository(owner: "carbon-language", name: "carbon-lang") {
description
stargazerCount
}
}
'
Use the --paginate flag to automatically fetch all pages of results.
gh api --paginate repos/carbon-language/carbon-lang/issues
Use --json to request JSON output, and --jq or --template to filter or
format the results.
List PR titles and authors:
gh pr list --json title,author --jq '.[] | "\(.title) by \(.author.login)"'
Format with Go templates:
gh issue list --template '{{range .}}{{.number}} - {{.title}}{{"\n"}}{{end}}'