GitHub issues, pull requests, repos, code search, and Actions via the gh CLI. Use when the user mentions GitHub, an issue/PR number, a repo, a commit, or code review.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acedatacloud-ai-media:githubWhen to use
Trigger when the user wants to read or write something on GitHub — list / view / create / comment on issues or PRs, search code, view a repo, view CI runs, etc.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use the `gh` CLI for everything. The user's OAuth access token is exported
Use the gh CLI for everything. The user's OAuth access token is exported
as $GH_TOKEN; gh reads it automatically — gh auth status will say
"not logged in" because gh keeps no config file in the sandbox, but every
authenticated subcommand works regardless.
gh --help and gh <subcommand> --help are always current. When unsure,
read the help first instead of guessing flags.
gh issue, gh pr, gh repo, gh search, gh release, gh workflow,
gh run, gh status, gh project, gh label, gh secret,
gh variable, gh gist. Use these whenever they cover the task; they
output formatted text by default and structured JSON via
--json <fields> [--jq <expr>].
gh apigh api <endpoint> for REST, gh api graphql -f query='…' for GraphQL.
Useful when no first-class subcommand exists. Notable flags:
-X POST|PATCH|PUT|DELETE — override method (default GET, becomes
POST automatically when -f/-F is set).-f key=value — string field; -F key=value — JSON-typed field
(true/123/@file.json); both URL-encode for GET and JSON-encode
for body methods.-q '<jq>' — same as --jq. With a primitive top-level value (string
/ number) it prints the raw value (no quotes).-H 'Accept: application/vnd.github.raw' — fetch a file's raw bytes
instead of the JSON wrapper.--paginate — auto-walk Link: rel="next".gh status
gh issue list --repo OWNER/REPO --limit 20
gh issue list --repo OWNER/REPO --state all --limit 20 \
--json number,title,state,author,updatedAt,labels --jq '.[]'
gh issue view 123 --repo OWNER/REPO --comments
gh issue view 123 --repo OWNER/REPO --json title,body,comments \
--jq '{title, body, comments: [.comments[] | {author: .author.login, body, createdAt}]}'
gh issue create --repo OWNER/REPO --title "Bug: foo" --body "Repro steps…" --label bug
gh issue comment 123 --repo OWNER/REPO --body "LGTM"
gh issue close 123 --repo OWNER/REPO --comment "Fixed in #456"
gh search prs --assignee=@me --state=open --json number,title,repository,updatedAt
gh search prs --author=@me --state=open
gh pr view 456 --repo OWNER/REPO
gh pr diff 456 --repo OWNER/REPO
gh pr checks 456 --repo OWNER/REPO
gh pr comment 456 --repo OWNER/REPO --body "Please rebase on main."
gh pr review 456 --repo OWNER/REPO --approve --body "LGTM"
gh pr review 456 --repo OWNER/REPO --request-changes --body "See nits"
gh pr merge 456 --repo OWNER/REPO --squash --delete-branch
gh search code 'someFunction language:typescript' --limit 20 \
--json repository,path,url --jq '.[] | "\(.repository.nameWithOwner) \(.path)"'
gh api "repos/OWNER/REPO/contents/path/to/file.ts" \
-H 'Accept: application/vnd.github.raw'
gh api "repos/OWNER/REPO/commits?per_page=20" \
--jq '.[] | "\(.sha[0:7]) \(.commit.author.date) \(.commit.message | split("\n")[0])"'
gh workflow list --repo OWNER/REPO
gh workflow run ci.yaml --repo OWNER/REPO --ref main -f key=value
gh run list --repo OWNER/REPO --workflow ci.yaml --limit 5
gh run view <RUN_ID> --repo OWNER/REPO --log-failed
gh repo view OWNER/REPO
gh repo view OWNER/REPO --json description,url,stargazerCount,defaultBranchRef
gh api graphql -f query='
query($owner: String!, $repo: String!, $num: Int!) {
repository(owner: $owner, name: $repo) {
issue(number: $num) {
title
timelineItems(first: 50) {
nodes { __typename ... on CrossReferencedEvent { source { ... on PullRequest { number title state } } } }
}
}
}
}' -f owner=OWNER -f repo=REPO -F num=123
repo scope when they
authorized the connection at auth.acedata.cloud/user/connections.
A 404 on a repo you know exists usually means missing scope, not a
wrong URL.--json rejects a field name, gh prints the full list of valid
fields — re-read the error and pick from there.gh issue list --search and gh search issues use the GitHub search
syntax (is:open, assignee:@me, repo:owner/name, etc.). Use
gh search issues / gh search prs for cross-repo queries; use
gh issue list for one repo.gh api --paginate only works on endpoints that emit a Link header;
for cursor-paginated endpoints you have to follow pagination.next
yourself.npx claudepluginhub acedatacloud/skills --plugin acedatacloud-ai-toolsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.