Claude-skill-registry github-tools
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/github-tools" ~/.claude/skills/majiayu000-claude-skill-registry-github-tools && rm -rf "$T"
manifest:
skills/data/github-tools/SKILL.mdsource content
[H1][GITHUB-TOOLS]
<br>Dictum: Standardized invocation reduces agent errors.
Invokes gh CLI commands through Python wrapper.
[IMPORTANT] Zero-arg commands default to
state=open, limit=30. System auto-configures OAuth scopes.
# Zero-arg commands uv run .claude/skills/github-tools/scripts/gh.py issue-list uv run .claude/skills/github-tools/scripts/gh.py pr-list uv run .claude/skills/github-tools/scripts/gh.py run-list uv run .claude/skills/github-tools/scripts/gh.py workflow-list uv run .claude/skills/github-tools/scripts/gh.py label-list uv run .claude/skills/github-tools/scripts/gh.py release-list uv run .claude/skills/github-tools/scripts/gh.py cache-list uv run .claude/skills/github-tools/scripts/gh.py project-list uv run .claude/skills/github-tools/scripts/gh.py repo-view
[1][ISSUES]
uv run .claude/skills/github-tools/scripts/gh.py issue-list --state closed uv run .claude/skills/github-tools/scripts/gh.py issue-view --number 42 uv run .claude/skills/github-tools/scripts/gh.py issue-create --title "Bug report" --body "Details" uv run .claude/skills/github-tools/scripts/gh.py issue-comment --number 42 --body "Comment" uv run .claude/skills/github-tools/scripts/gh.py issue-close --number 42 uv run .claude/skills/github-tools/scripts/gh.py issue-edit --number 42 --title "New title" --labels "bug,urgent"
[2][PULL_REQUESTS]
uv run .claude/skills/github-tools/scripts/gh.py pr-list --state closed uv run .claude/skills/github-tools/scripts/gh.py pr-view --number 99 uv run .claude/skills/github-tools/scripts/gh.py pr-create --title "Feature" --body "Description" --base main uv run .claude/skills/github-tools/scripts/gh.py pr-diff --number 99 uv run .claude/skills/github-tools/scripts/gh.py pr-files --number 99 uv run .claude/skills/github-tools/scripts/gh.py pr-checks --number 99 uv run .claude/skills/github-tools/scripts/gh.py pr-merge --number 99 uv run .claude/skills/github-tools/scripts/gh.py pr-review --number 99 --event APPROVE --body "LGTM"
[3][WORKFLOWS]
uv run .claude/skills/github-tools/scripts/gh.py run-list --limit 10 uv run .claude/skills/github-tools/scripts/gh.py run-view --run-id 12345 uv run .claude/skills/github-tools/scripts/gh.py run-logs --run-id 12345 --failed uv run .claude/skills/github-tools/scripts/gh.py run-rerun --run-id 12345 uv run .claude/skills/github-tools/scripts/gh.py workflow-view --workflow ci.yml uv run .claude/skills/github-tools/scripts/gh.py workflow-run --workflow ci.yml --ref main
[4][SEARCH]
uv run .claude/skills/github-tools/scripts/gh.py search-repos --query "nx monorepo" --limit 10 uv run .claude/skills/github-tools/scripts/gh.py search-code --query "dispatch table" --limit 10 uv run .claude/skills/github-tools/scripts/gh.py search-issues --query "is:open label:bug" --limit 10
[5][DISCUSSIONS]
Queries
uv run .claude/skills/github-tools/scripts/gh.py discussion-list uv run .claude/skills/github-tools/scripts/gh.py discussion-list --category "D_kwDOCat123" --limit 10 --answered uv run .claude/skills/github-tools/scripts/gh.py discussion-view --number 42 uv run .claude/skills/github-tools/scripts/gh.py discussion-category-list uv run .claude/skills/github-tools/scripts/gh.py discussion-pinned
Lifecycle
uv run .claude/skills/github-tools/scripts/gh.py discussion-create --category-id "D_kwDOCat123" --title "Topic" --body "Content" uv run .claude/skills/github-tools/scripts/gh.py discussion-update --discussion-id "D_kwDOABC123" --title "New title" --body "Updated" uv run .claude/skills/github-tools/scripts/gh.py discussion-delete --discussion-id "D_kwDOABC123" uv run .claude/skills/github-tools/scripts/gh.py discussion-close --discussion-id "D_kwDOABC123" --reason RESOLVED uv run .claude/skills/github-tools/scripts/gh.py discussion-reopen --discussion-id "D_kwDOABC123"
Moderation
uv run .claude/skills/github-tools/scripts/gh.py discussion-lock --discussion-id "D_kwDOABC123" --reason SPAM uv run .claude/skills/github-tools/scripts/gh.py discussion-unlock --discussion-id "D_kwDOABC123"
Comments
uv run .claude/skills/github-tools/scripts/gh.py discussion-comment --discussion-id "D_kwDOABC123" --body "Comment" uv run .claude/skills/github-tools/scripts/gh.py discussion-comment --discussion-id "D_kwDOABC123" --body "Reply" --reply-to "DC_kwDOCmt456" uv run .claude/skills/github-tools/scripts/gh.py discussion-comment-update --comment-id "DC_kwDOCmt456" --body "Edited" uv run .claude/skills/github-tools/scripts/gh.py discussion-comment-delete --comment-id "DC_kwDOCmt456"
Answers
uv run .claude/skills/github-tools/scripts/gh.py discussion-mark-answer --comment-id "DC_kwDOCmt456" uv run .claude/skills/github-tools/scripts/gh.py discussion-unmark-answer --comment-id "DC_kwDOCmt456"
Labels
uv run .claude/skills/github-tools/scripts/gh.py discussion-add-label --discussion-id "D_kwDOABC123" --label-ids '["LA_kwDOLbl789"]' uv run .claude/skills/github-tools/scripts/gh.py discussion-remove-label --discussion-id "D_kwDOABC123" --label-ids '["LA_kwDOLbl789"]'
Reactions
uv run .claude/skills/github-tools/scripts/gh.py discussion-react --subject-id "D_kwDOABC123" --reaction THUMBS_UP
[NOTE] Get
discussion-id from discussion-view output id field. Get category-id from discussion-category-list. Get comment-id from comment nodes in discussion-view. Get label-ids from label-list (use node_id field). Reaction values: THUMBS_UP, THUMBS_DOWN, LAUGH, HOORAY, CONFUSED, HEART, ROCKET, EYES.
[6][PROJECTS_V2]
# View/List uv run .claude/skills/github-tools/scripts/gh.py project-view --project 1 uv run .claude/skills/github-tools/scripts/gh.py project-item-list --project 1 uv run .claude/skills/github-tools/scripts/gh.py project-field-list --project 1 # CRUD uv run .claude/skills/github-tools/scripts/gh.py project-create --title "Sprint 1" uv run .claude/skills/github-tools/scripts/gh.py project-close --project 1 uv run .claude/skills/github-tools/scripts/gh.py project-delete --project 1 # Items uv run .claude/skills/github-tools/scripts/gh.py project-item-add --project 1 --url "https://github.com/owner/repo/issues/42" uv run .claude/skills/github-tools/scripts/gh.py project-item-edit --id ITEM_ID --project-id PROJECT_NODE_ID --field-id FIELD_ID --single-select-option-id OPT_ID uv run .claude/skills/github-tools/scripts/gh.py project-item-delete --project 1 --id ITEM_ID uv run .claude/skills/github-tools/scripts/gh.py project-item-archive --project 1 --id ITEM_ID # Fields uv run .claude/skills/github-tools/scripts/gh.py project-field-create --project 1 --name "Priority" --data-type SINGLE_SELECT --single-select-options "High,Medium,Low"
[NOTE] Get
ITEM_ID, FIELD_ID from project-item-list/project-field-list. Get PROJECT_NODE_ID from project-view output id field. Field edit supports: --text, --number, --date, --single-select-option-id, --iteration-id.
[7][OTHER]
uv run .claude/skills/github-tools/scripts/gh.py release-view --tag v1.0.0 uv run .claude/skills/github-tools/scripts/gh.py api --endpoint "/repos/{owner}/{repo}/issues" --method GET
[8][OUTPUT]
Commands return:
{"status": "success|error", ...}.
| [INDEX] | [PATTERN] | [RESPONSE] |
|---|---|---|
| [1] | List commands | |
| [2] | View commands | |
| [3] | Mutation commands | |
| [4] | Search commands | |
| [5] | Diff commands | |