atrislabs/atris/github

Claude Code and agent skill by atrislabs/atris

Trust tier 2
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

GitHub integration via AtrisOS API. Manage PRs, issues, branches, CI status, code review, search. Use when user asks about repos, pull requests, issues, branches, or code changes.

Install

npx vskill@latest install atrislabs/atris/github

SKILL.md

GitHub Agent

Drop this in ~/.claude/skills/github/SKILL.md and Claude Code becomes your GitHub assistant.

Bootstrap (ALWAYS Run First)

bash
#!/bin/bash
set -e
# 1. Check if atris CLI is installed
if ! command -v atris &> /dev/null; then
echo "Installing atris CLI..."
npm install -g atris
fi
# 2. Check if logged in to AtrisOS
if [ ! -f ~/.atris/credentials.json ]; then
echo "Not logged in. Run: atris login"
exit 1
fi
# 3. Extract token
if command -v node &> /dev/null; then
TOKEN=$(node -e "console.log(require('$HOME/.atris/credentials.json').token)")
elif command -v python3 &> /dev/null; then
TOKEN=$(python3 -c "import json,os; print(json.load(open(os.path.expanduser('~/.atris/credentials.json')))['token'])")
else
TOKEN=$(jq -r '.token' ~/.atris/credentials.json)
fi
# 4. Check GitHub connection
STATUS=$(curl -s "https://api.atris.ai/api/integrations/github/status" \
-H "Authorization: Bearer $TOKEN")
CONNECTED=$(echo "$STATUS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('connected', False))" 2>/dev/null || echo "false")
if [ "$CONNECTED" != "true" ] && [ "$CONNECTED" != "True" ]; then
echo "GitHub not connected. Getting authorization URL..."
AUTH=$(curl -s -X POST "https://api.atris.ai/api/integrations/github/start" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"return_url":"https://atris.ai/settings/integrations"}')
URL=$(echo "$AUTH" | python3 -c "import sys,json; print(json.load(sys.stdin).get('auth_url', ''))")
echo ""
echo "Open this URL to connect GitHub:"
echo "$URL"
echo ""
echo "After authorizing, run your command again."
exit 0
fi
echo "Ready. GitHub is connected."
export ATRIS_TOKEN="$TOKEN"

Tool Actions

The GitHub tool is available to agents as github. All actions accept optional owner and repo params (defaults to configured repo).

Repos
ActionParamsDescription
list_reposper_pageList your accessible repos
get_repoowner, repoGet repo details
Pull Requests
ActionParamsDescription
list_prsstate (open/closed/all), per_pageList PRs
get_prpr_numberGet PR details + merge status
create_prtitle, head, base, bodyOpen a PR
list_pr_filespr_numberFiles changed in PR
list_pr_reviewspr_numberReviews on PR
create_pr_reviewpr_number, body, eventAdd review (APPROVE/REQUEST_CHANGES/COMMENT)
create_pr_commentpr_number, bodyComment on PR
merge_prpr_number, merge_methodMerge PR (squash/merge/rebase)
Issues
ActionParamsDescription
list_issuesstate, labels, per_pageList issues
get_issueissue_numberGet issue details
create_issuetitle, body, labelsOpen issue
update_issueissue_number, title/body/state/labelsUpdate issue
list_issue_commentsissue_numberGet issue comments
create_issue_commentissue_number, bodyComment on issue
add_labelsissue_number/pr_number, labelsAdd labels
Branches
ActionParamsDescription
list_branchesper_pageList branches
create_branchbranch, from_refCreate branch from ref
delete_branchbranchDelete branch
Commits
ActionParamsDescription
list_commitssha/branch, per_pageRecent commits
get_commitrefCommit details
compare_commitsbase, headDiff between refs
CI / Checks
ActionParamsDescription
get_combined_statusref/branchCI status for ref
list_check_runsref/branchCheck runs (Actions)
Search
ActionParamsDescription
search_issuesquerySearch issues/PRs across repos
search_codequerySearch code across repos
Files
ActionParamsDescription
list_contentspathList directory
get_filepath, refRead file (returns decoded_content)
put_filepath, message, content, sha, branchCreate/update file

Workflows

"Check open PRs"
  1. Bootstrap
  2. list_prs with state=open
  3. For each PR: get_combined_status with the PR's head ref
  4. Display: title, author, CI status, review count, age
"Review a PR"
  1. get_pr with pr_number
  2. list_pr_files to see what changed
  3. get_file on key changed files to read content
  4. create_pr_review with body and event (APPROVE/REQUEST_CHANGES/COMMENT)
"Triage new issues"
  1. list_issues with state=open
  2. For each: inspect title/body for keywords
  3. add_labels based on content (bug, feature, docs)
  4. create_issue_comment acknowledging triage
"Clean merged branches"
  1. list_branches to see all branches
  2. list_prs with state=closed to find merged PRs
  3. For branches with merged PRs (not main/master/develop): delete_branch
"Get CI status"
  1. get_combined_status with ref=main for overall status
  2. list_check_runs for individual check details
"Weekly repo report"
  1. list_prs with state=all + filter by date
  2. list_issues with state=all + filter by date
  3. list_commits for recent activity
  4. Summarize: PRs merged, issues opened/closed, top contributors

Error Handling

ErrorMeaningSolution
GitHub not connectedNo OAuth tokenRun bootstrap
GitHub API error (401)Token expiredReconnect GitHub in settings
GitHub API error (403)Rate limited or no permissionWait or check repo access
GitHub API error (404)Repo/resource not foundCheck owner/repo/number
GitHub API error (422)Invalid requestCheck required params
No repo specifiedNo default repo configuredSet default in Settings > Integrations > GitHub

Quick Reference

bash
TOKEN=$(node -e "console.log(require('$HOME/.atris/credentials.json').token)")
# Check connection
curl -s "https://api.atris.ai/api/integrations/github/status" -H "Authorization: Bearer $TOKEN"
# List repos
curl -s "https://api.atris.ai/api/integrations/github/repos" -H "Authorization: Bearer $TOKEN"
# Configure default repo
curl -s -X PUT "https://api.atris.ai/api/integrations/github/config" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"owner":"atrislabs","repo":"atrisos-backend","default_branch":"master"}'
# Disconnect
curl -s -X DELETE "https://api.atris.ai/api/integrations/github" -H "Authorization: Bearer $TOKEN"

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
58
Repository forks
2
Repository npm downloads, 7 days
256
7-day trend score
36

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 20 Mar 2026, 7 months ago.

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/atrislabs/atris/github/badge)](https://verified-skill.com/skills/atrislabs/atris/github)

Something wrong with this skill or its page? Tell us.