Install
$ agentstack add skill-dbmcco-claude-agent-toolkit-github ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
GitHub Integration
Overview
Interact with GitHub repositories through simple bash scripts. All scripts handle REST API authentication and requests internally - you just provide repository details and arguments.
Core principle: Agents can manage GitHub issues and PRs without learning API endpoints or authentication flows.
When to Use
- Creating issues from conversations or bug reports
- Managing pull requests
- Updating issue labels or states
- Searching code across repositories
- Closing or reopening issues
Quick Reference
| Script | Purpose | Key Arguments | |--------|---------|---------------| | gh-create-issue.sh | Create new issue | --owner, --repo, --title | | gh-list-issues.sh | List repository issues | --owner, --repo, --state | | gh-update-issue.sh | Update issue | --owner, --repo, --number | | gh-create-pr.sh | Create pull request | --owner, --repo, --title, --head | | gh-search-code.sh | Search code | --query, --owner, --repo |
Environment Setup
Required variable (export in the caller environment or place in the skill repository's gitignored .env):
GITHUB_TOKEN=
Scripts automatically source the fallback .env file from the shared skills repository root when present.
Common Operations
Create Issue
# Simple issue
scripts/gh-create-issue.sh \
--owner myorg \
--repo myrepo \
--title "Fix login bug"
# With description and labels
scripts/gh-create-issue.sh \
--owner myorg \
--repo myrepo \
--title "Add feature" \
--body "Feature details here" \
--labels "enhancement,priority"
# Assign to users
scripts/gh-create-issue.sh \
--owner myorg \
--repo myrepo \
--title "Task" \
--assignees "username1,username2"
List Issues
# All open issues
scripts/gh-list-issues.sh --owner myorg --repo myrepo
# All issues (open and closed)
scripts/gh-list-issues.sh \
--owner myorg \
--repo myrepo \
--state all \
--limit 50
# Filter by label and assignee
scripts/gh-list-issues.sh \
--owner myorg \
--repo myrepo \
--labels "bug" \
--assignee "username"
Update Issue
# Change title
scripts/gh-update-issue.sh \
--owner myorg \
--repo myrepo \
--number 42 \
--title "Updated title"
# Close issue
scripts/gh-update-issue.sh \
--owner myorg \
--repo myrepo \
--number 42 \
--state closed
# Update labels (replaces existing)
scripts/gh-update-issue.sh \
--owner myorg \
--repo myrepo \
--number 42 \
--labels "bug,priority,in-progress"
Create Pull Request
# Simple PR
scripts/gh-create-pr.sh \
--owner myorg \
--repo myrepo \
--title "Fix bug" \
--head feature-branch
# With description and custom base
scripts/gh-create-pr.sh \
--owner myorg \
--repo myrepo \
--title "New feature" \
--head feat-branch \
--base develop \
--body "Feature description"
# Draft PR
scripts/gh-create-pr.sh \
--owner myorg \
--repo myrepo \
--title "WIP: Feature" \
--head feat-branch \
--draft
Search Code
# Search across all repos
scripts/gh-search-code.sh --query "function authenticate"
# Search in specific organization
scripts/gh-search-code.sh \
--query "class User" \
--owner myorg
# Search in specific repo
scripts/gh-search-code.sh \
--query "TODO" \
--owner myorg \
--repo myrepo \
--limit 10
Output Format
All scripts return JSON with relevant data:
{
"id": 123456,
"number": 42,
"title": "Issue title",
"state": "open",
"url": "https://github.com/owner/repo/issues/42",
"api_url": "https://api.github.com/repos/owner/repo/issues/42"
}
Common Mistakes
Missing owner or repo
- ❌ GitHub token alone isn't enough
- ✅ Always specify
--ownerand--repofor repository operations
Using gh CLI syntax
- ❌ Don't:
gh issue create --title "Title" - ✅ Do:
gh-create-issue.sh --owner org --repo repo --title "Title"
Forgetting issue numbers are not IDs
- Use
--number(the visible number like #42) - Don't use the internal
idfield from API responses
Labels replace instead of append
--labels "bug,new"replaces all existing labels- To preserve labels, fetch current labels first and include them
Personal access token permissions
- Token needs
reposcope for private repositories - Token needs
public_reposcope for public repositories - Error "Not Found" often means insufficient permissions
Script Location
Scripts are located in the scripts/ directory within this skill. They can be called from any directory as they use the active environment and optionally source the shared skills repository .env file.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: dbmcco
- Source: dbmcco/claude-agent-toolkit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.