GitHub API Skill
When to Activate
- •Create/read/update issues
- •Manage pull requests
- •Query repository information
- •Access GitHub Actions status
Authentication
Credentials File: .credentials/github.json
json
{
"personal_access_token": "ghp_..."
}
Create token at: https://github.com/settings/tokens
Required scopes:
- •
repo- Full repository access - •
workflow- GitHub Actions (optional)
Load credentials before API calls:
bash
GITHUB_TOKEN=$(jq -r '.personal_access_token' /Users/dhlee/Git/personal/neuron/.credentials/github.json)
API Base URL
code
https://api.github.com
Common Operations
Get Authenticated User
bash
curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/user
List Repository Issues
bash
curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/{owner}/{repo}/issues?state=open"
Create Issue
bash
curl -s -X POST \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-H "Content-Type: application/json" \
-d '{"title":"Issue title","body":"Issue body","labels":["bug"]}' \
https://api.github.com/repos/{owner}/{repo}/issues
Get Pull Request
bash
curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/{owner}/{repo}/pulls/{pr_number}
Create Pull Request
bash
curl -s -X POST \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-H "Content-Type: application/json" \
-d '{"title":"PR title","body":"PR body","head":"feature-branch","base":"main"}' \
https://api.github.com/repos/{owner}/{repo}/pulls
Error Handling
| Status | Meaning | Action |
|---|---|---|
| 401 | Invalid token | Check .credentials/github.json |
| 403 | Rate limit or scope | Wait or check permissions |
| 404 | Not found or no access | Verify repo/resource exists |
Rate Limits
- •Authenticated: 5,000 requests/hour
- •Check:
X-RateLimit-Remainingheader