Work with GitHub via gh CLI — create PRs, manage issues, review diffs, check CI status.
Scanned 10/2/2026
npx -y skills add ashugaev/spur --skill github --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Github?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ashugaev-github)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
name: github
description: Work with GitHub via gh CLI — create PRs, manage issues, review diffs, check CI status.
model: inherit
allowed-tools: Read, Grep, Glob, Bash
---
GITHUB OPERATIONS VIA gh
CLOSE-OUT GATE, mandatory after any code change
1 Branch main/master/empty -> SKIPPED.
2 Uncommitted files -> route to developer for commit. Never auto-commit here.
3 Implementation diff from branch base empty -> SKIPPED.
4 git push -u origin "$(git branch --show-current)"
5 gh pr view succeeds -> comment new HEAD SHA. Fails -> CREATE OPEN PR below.
6 Problem parked out of scope during the task -> file it per ISSUE REPORTING below.
7 Return the PR url, plus any issue url filed at step 6.
PR TITLE: <type>: <description>. Types incl. style, no version bump. AO_ISSUE_ID set, prefix: <ISSUE-ID>: <type>: <description>.
PR BODY: plain language, what got fixed and why. Two to four lines, no headings.
Banned: file paths, symbol names, code, diff stats, test checklist, reasoning, design talk.
Reader wants the effect, not the diff. Detail belongs in the diff and the commits.
Closes line only when a real issue number exists.
Bad: Dropped the Default sentinel in resolveAgentLaunchModel, added 3 vitest cases.
Good: Spawn dropdown now shows the model that actually launches. Before it could
show one model and start another.
CREATE OPEN PR
git push -u origin HEAD
gh pr create \
--title "<type>: <description>" \
--body "$(cat <<'EOF'
<what changed, one or two sentences>
<why it was needed, one sentence>
Closes #<issue-number>
EOF
)"
ISSUE REPORTING, for a problem outside the current request
1 `gh issue list --state all --search "<keywords>"` — search open and closed, never open only.
2 Open match wins over a closed one: `gh issue comment` the new evidence onto it. Never open a duplicate.
3 Closed match, none open: `gh issue reopen`, then comment the new evidence. Keeps the fix history on the regression.
4 No match: `gh issue create`. Body states what breaks, where (`file:line`), how to reproduce, and the PR or task that surfaced it.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!