oaustegard/claude-jjithub-and-spoke/ghi
Claude Code and agent skill by oaustegard/claude-jjithub-and-spoke
- community
Checking that the SKILL.md file is still in the repository.
Use this skill when working with GitHub Issues on any spoke from CCotw — list, view, create, comment, close, reopen, edit. Triggers include: "address issue N", "open an issue", "comment on issue N", "close issue N", "list open issues on <repo>", or any github.com/<owner>/<repo>/issues URL. Wraps the bundled `ghi` CLI (stdlib-only Python at `bin/ghi`). Auth is read from `$GH_TOKEN` — set in `.env`, sourced by `boot.sh`.
Install
npx vskill@latest install oaustegard/claude-jjithub-and-spoke/ghiSKILL.md
ghi — GitHub Issues CLI skill
boot.sh symlinks the bundled bin/ghi onto $PATH and runs a sanity probe at session start. If command -v ghi finds it and ghi auth status reports your login, you're set — no per-skill bootstrap needed.
Commands
--body falls back to stdin, so multi-line bodies are easy:
Do NOT install gh
This hub is intentionally gh-free. If ghi doesn't expose the surface you need:
- File an issue on
claude-jj-and-spokerather than working around
with gh, raw curl, or a one-off Python script.
- PRs are out of scope here by design — this hub uses jj's compare-URL
hand-off, not GitHub PR records. See CLAUDE.md.
If you find yourself reaching for apt-get install gh, pip install PyGithub, or curl -H 'Authorization: ...' https://api.github.com/... — stop. That's the trap this skill exists to prevent.
Canonical "address issue N" flow
Output format
Plain text by default: one line per issue for list (number, state, title, author, labels, URL); full body + comments for view. --json emits raw GitHub API JSON for piping into jq.
list filters PRs out of the results — GitHub's /repos/.../issues endpoint returns both, but this is an issue-only tool.
Auth
ghi reads $GH_TOKEN on every call. Classic PAT. The token never appears on stdout or in any saved config.
If a call returns 401: the token is missing, revoked, or expired. Don't retry blindly — surface the error to the user. The first thing to check isn't the token itself; it's whether User-Agent made it onto the request. GitHub returns 401 for missing-UA before it returns 401 for a bad token. ghi always sets User-Agent: ghi/<version>, so if you're debugging a 401, it's the token.
When to stop and ask
- A write op would touch a repo the user doesn't own and you have no
clear instruction to act there.
- An
issue closewould close an issue you didn't open and the
resolution isn't obvious from context.
- Repeated 401s after sourcing
.env— confirmGH_TOKENis set
correctly, don't shotgun retries.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/ghi/SKILL.md
Popularity
- Repository stars
- 1
- Repository forks
- 1
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/oaustegard/claude-jjithub-and-spoke/ghi)