productivityby nousresearch
GitHub Issues Management
nousresearch/github-issues
Create, triage, label, assign GitHub issues via gh or REST.
What it changes
Passed 14 of 19 test cases with the skill, and 14 of 19 without it.
Without skill73%
With skill73%
Checks it passed that the model alone missed
- Passes bug,backend to the --label flag.
- Includes the flag --reason "not planned".
- Uses gh issue create with --title, --body, --label, and --assignee flags.
2 fixed14 passed either way4 still failing2 broke
- Pass-rate lift
- 0 pp
- Tokens
- +262%
- Agent turns
- 0%
- Response time
- -25%
Model gemini-3.6-flashMeasured 8/17/2026v216 of 22 cases passed with skill · 19 comparable
See it in action
One of 2 test cases the skill fixed. Same model, same prompt, with and without the skill.
PromptClose issue #42 and indicate that it was closed because it is not planned.
What was checked, without and with the skill| Checked | Without skill | With skill |
|---|
| Executes gh issue close 42. | Passed | Passed |
|---|
| Includes the flag --reason "not planned". | Missed | Passed |
|---|
What's inside
The instructions your model reads when the skill loads.
SKILL.md357 lines3 files
GitHub Issues Management
Create, search, triage, and manage GitHub issues. Each section shows gh first, then the curl fallback.
Prerequisites
- Authenticated with GitHub (see
github-auth skill)
- Inside a git repo with a GitHub remote, or specify the repo explicitly
Setup
if command -v gh &>/dev/null && gh auth status &>/dev/null; then
AUTH="gh"
else
AUTH="git"
if [ -z "$GITHUB_TOKEN" ]; then
if _hermes_env="${HERMES_HOME:-$HOME/.hermes}/.env"; [ -f "$_hermes_env" ] && grep -q "^GITHUB_TOKEN=" "$_hermes_env"; then
GITHUB_TOKEN=$(grep "^GITHUB_TOKEN=" "$_hermes_env" | head -1 | cut -d= -f2 | tr -d '\n\r')
elif grep -q "github.com" ~/.git-credentials 2>/dev/null; then
GITHUB_TOKEN=$(uv run python "${HERMES_HOME:-$HOME/.hermes}/skills/github/github-auth/scripts/git-credential-token.py")
fi
fi
fi
REMOTE_URL=$(git remote get-url origin)
OWNER_REPO=$(echo "$REMOTE_URL" | sed -E 's|.*github\.com[:/]||; s|\.git$||')
OWNER=$(echo "$OWNER_REPO" | cut -d/ -f1)
REPO=$(echo "$OWNER_REPO" | cut -d/ -f2)
1. Viewing Issues
With gh:
gh issue list
gh issue list --state open --label "bug"
Track record
Benchmark
14 / 19
test cases passed, vs 14 / 19 without
Adoption
- Users
- 0
- Times used
- 0
Safety and source details
SkillSafety
✓ 3 of 3 passed✓Code scan15 of 15 checks clean
0 critical · 0 warning · 0 info — scanner v5 — 8/17/2026
View 15 scanner checks
live_secretremote_code_executionreverse_shelldata_exfiltrationssrf_metadataagent_snoopinganti_refusaldestructive_commandsobfuscated_unicodeunicode_homoglyphopaque_blobsuspicious_urltool_overreachtrigger_abuseprompt_injection_phrasing
✓IntentSafe
LLM judge · does the skill do what it claims
✓ContentClean
LLM judge · policy & harmful-content review
Source
ImportedLicense MITImported 8/17/2026Version v2Bundled 2 files