Install the "github" agent skill from https://github.com/MassLab-SII/open-agent-skills/tree/main/portable-skills/github into .claude/skills/github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add MassLab-SII/open-agent-skills --skill github -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "github" agent skill from https://github.com/MassLab-SII/open-agent-skills/tree/main/portable-skills/github into .agents/skills/github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add MassLab-SII/open-agent-skills --skill github -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "github" agent skill from https://github.com/MassLab-SII/open-agent-skills/tree/main/portable-skills/github into .cursor/skills/github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add MassLab-SII/open-agent-skills --skill github -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "github" agent skill from https://github.com/MassLab-SII/open-agent-skills/tree/main/portable-skills/github into .gemini/skills/github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add MassLab-SII/open-agent-skills --skill github -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "github" agent skill from https://github.com/MassLab-SII/open-agent-skills/tree/main/portable-skills/github into .github/skills/github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add MassLab-SII/open-agent-skills --skill github -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "github" agent skill from https://github.com/MassLab-SII/open-agent-skills/tree/main/portable-skills/github into .opencode/skills/github/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
github
GitHub stars
133
Token cost
~7.1k tokens
SKILL.md length
1,468 words
Files
14 (incl. scripts)
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0
At a glance
Comprehensive GitHub repository management toolkit. An agent skill from MassLab-SII/open-agent-skills.
Works in 12 steps: Skill-First Strategy → When to Use Basic Tools → GitHub Domain Coverage → …
Tasks that involve Git workflow
SKILL.md covers Core Concepts, I. Strategy: Skills vs Tools…, II. Skills (High-Level Scripts) and III. Basic Tools (When to Use…
Runs Python scripts from its folder; calls python
What it does
GitHub is an agent skill from MassLab-SII/open-agent-skills. Comprehensive GitHub repository management toolkit. Provides file editing, issue/PR management, GitFlow workflow, release management, commit investigation, CI/CD workflow creation, and configuration file generation via MCP GitHub tools.
Its SKILL.md is about 7.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including scripts (for example `scripts/comment_manager.py`, `scripts/config_generator.py` and `scripts/file_editor.py`).
It sits in Development, covering Git workflow, Open source maintenance and CI/CD. It works with GitHub and Model Context Protocol. The repository describes itself as: We are dedicated to building a set of open agent skills that deliver superior performance, higher determinism, and greater consistency on targeted tasks, while operating at a… The licence is Apache-2.0.
When your agent uses it
Tasks that involve Git workflow
Tasks that involve Open source maintenance
Tasks that involve CI/CD
Example prompts
“/github”
Requirements
Python 3
Workflow steps
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ece5fab. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 13 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
GitHub loads about 7.1k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 1,468 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~61
When it runs· the whole SKILL.md, loaded when a task matches
~7.1k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/github/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
This skill provides complete GitHub repository management capabilities using MCP GitHub tools.
Core Concepts
Skill: Meaningful combinations of multiple tool calls, encapsulated as independent Python scripts
Basic Tools: Single function calls for atomic operations via run_github_ops.py
I. Strategy: Skills vs Tools (Read First)
1. Skill-First Strategy
Always prioritize Skill Scripts over atomic tools. Skills encapsulate best practices and error handling.
Goal
Recommended Skill
Why?
Multi-file Edits
file_editor.py batch
Atomic commit; prevents partial updates
Content Investigation
github_detective.py
Unified interface for all investigation tasks
GitFlow Operations
gitflow_manager.py
Enforces naming conventions and correct workflow
PR + Label Management
pr_manager.py update
Handles labels atomically with PR updates
Issue + Label
issue_manager.py update
Handles labels atomically with issue updates
CI/CD Setup
workflow_builder.py
Full automated pipeline (branch → PR → merge)
Release Preparation
release_manager.py
Automates version bump, changelog, and merge
Project Config
config_generator.py
Standardized templates and configurations
2. When to Use Basic Tools
Only use run_github_ops.py when:
Unique Filtering: Need specific API filters not exposed by skills
One-off Read: Quick check of file SHA or content
Custom Operations: Operations not covered by any skill
3. GitHub Domain Coverage
This skill covers the following GitHub task categories:
Category
Covered By
File CRUD
file_editor.py, basic file tools
Issue Management
issue_manager.py
PR Management
pr_manager.py
Label Management
issue_manager.py, pr_manager.py (integrated)
Branch Management
gitflow_manager.py, basic branch tools
Commit Investigation
github_detective.py
PR Investigation
github_detective.py
Repository Exploration
github_detective.py
CI/CD Workflows
workflow_builder.py
Release Management
release_manager.py
Config Generation
config_generator.py
4. Command Line Safety
[!WARNING]
Shell Escaping: When passing complex strings (JSON, Python code, multi-line text) in command line arguments, be extremely careful with shell escaping.
Ensure quotes are matched and special characters (like $) are handled correctly to prevent execution errors.
II. Skills (High-Level Scripts)
1. File Editing
File: file_editor.py
Use Cases:
Create new files in a repository
Edit/overwrite existing files
Apply search-and-replace fixes to a single file
Push multiple files in a single commit (atomic batch operations)
Typical Task Examples:
Create a README.md file
Update configuration files
Fix a typo or bug in a specific file
[!Note]
Check Default Branch: Before editing or creating files, ALWAYS check the default branch name (e.g., using github_detective.py explore or list_branches) unless you are explicitly targeting a specific feature branch.
Close an issue as completed and add "wontfix" label
Add or remove labels from an existing issue
Usage:
bash
# Usage:
# python issue_manager.py <command> <owner> <repo> [options]
# Commands:
# create Create a new issue (optionally as sub-issue)
# update Update an existing issue (title, body, state, labels)
# list List issues with filters
# close Batch close issues (requires filter)
# reopen Batch reopen issues (requires query)
# create options:
# --title <text> Issue title (required)
# --body <text> Issue body/description
# --labels <csv> Comma-separated labels
# --checklist <csv> Comma-separated checklist items
# --assignees <csv> Comma-separated assignees
# --parent <n> Parent issue number to link as sub-issue
#
# update options:
# --number <n> Issue number (required)
# --title <text> New title
# --body <text> New body
# --state <state> New state: open/closed
# --state-reason <r> Reason: completed/not_planned/reopened
# --add-labels <csv> Labels to add
# --remove-labels <csv> Labels to remove
# --assignees <csv> Comma-separated assignees to set
# --milestone <n> Milestone number
#
# list options:
# --state <state> Filter: open/closed/all (default: open)
# --labels <csv> Filter by labels
# --limit <n> Maximum results (default: 30)
#
# Output: Issue number and database ID are printed (e.g., "Created issue #52 (ID: 3753519439)")
#
# Examples:
python issue_manager.py create owner repo --title "Bug Report" --body "Description" --labels "bug,priority-high"
python issue_manager.py create owner repo --title "Sub-task 1" --body "Details" --parent 51
python issue_manager.py update owner repo --number 42 --state closed --state-reason completed --add-labels "wontfix"
python issue_manager.py list owner repo --state open --labels "bug"
3. Pull Request Management
File: pr_manager.py
Use Cases:
Create PRs from branches
Create and immediately merge PRs
Merge PRs with different strategies (merge/squash/rebase)
Close PRs without merging
Update PR details including labels
Typical Task Examples:
Create a PR from feature branch to main
Merge a PR with squash strategy
Add "approved" label to a PR
[!TIP]
Respecting Original Context: When fixing issues or conflicts in an existing PR, prefer updating and merging the original PR rather than creating a duplicate, unless explicitly instructed otherwise. This preserves the conversation history and context attached to the original PR number.
Generate common CI/CD pipelines (lint, test, scheduled tasks)
IMPORTANT: These commands are fully automated pipelines that create branch, push files, create PR, and merge. Do NOT use when you need manual control over commits.
Typical Task Examples:
Create a linting workflow for PRs
Add a CI pipeline that runs tests
Create a scheduled health check job
Usage:
bash
# Usage:
# python workflow_builder.py <command> <owner> <repo> [options]
# Commands:
# ci-basic Create basic CI workflow (test + build)
# lint Create linting workflow with ESLint
# scheduled Create scheduled/cron workflow
#
# ci-basic options:
# --trigger <events> Trigger events: push,pull_request (default: push,pull_request)
# --branch <branch> Branch to run on (default: main)
# --node-version <v> Node.js version (default: 18)
#
# lint options:
# --trigger <events> Trigger events (default: push,pull_request)
# --branch <branch> Branch to run on (default: main)
#
# scheduled options:
# --cron <expression> Cron expression (required, e.g., "0 2 * * *")
# --script <command> Script to run (required)
# --name <name> Workflow name (default: "Nightly Health Check")
#
# Examples:
python workflow_builder.py ci-basic owner repo --trigger "push,pull_request" --branch main
python workflow_builder.py lint owner repo --trigger "push,pull_request" --branch main
python workflow_builder.py scheduled owner repo --cron "0 2 * * *" --script "npm run health-check"
Below are the basic tool functions for atomic operations. Use these when skills don't cover your specific need.
[!CAUTION]
Strictly adhere to the tool list: Do NOT use any tools or methods not explicitly documented in this section.
Fragile Arguments: Do NOT pass multi-line strings or code blocks to run_github_ops.py. It uses eval(), which is extremely fragile with complex quoting.
Content Operations: ALWAYS use Skill Scripts (file_editor.py, etc.) for content operations.
Note: Code should be written without line breaks. Do not use multi-line logic or complex scripts.
Create or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations.
Add a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments.
bash
python run_github_ops.py -c "await github.add_issue_comment('owner', 'repo', 42, 'Thanks for reporting!')"
list_issue_types(owner, repo)
List supported issue types for repository owner (organization).
Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).
Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
GitHub next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Plans versions, writes release notes, publishes stable or pre-release builds and recovers from failed releases for Codex Proxy RS, without covering deploys or tag cleanup.
Comprehensive GitHub repository management toolkit. An agent skill from MassLab-SII/open-agent-skills. GitHub is an agent skill from MassLab-SII/open-agent-skills. Comprehensive GitHub repository management toolkit.
When should I use GitHub?
GitHub fits situations like: tasks that involve Git workflow; tasks that involve Open source maintenance; tasks that involve CI/CD.
How do I install GitHub in Claude Code?
Run `npx skills add MassLab-SII/open-agent-skills --skill github -a claude-code`. Or copy the skill folder (portable-skills/github in MassLab-SII/open-agent-skills) into .claude/skills/github in your project. Claude Code loads it when a task matches its description.
How do I install GitHub in Codex?
Run `npx skills add MassLab-SII/open-agent-skills --skill github -a codex`. Or copy the skill folder (portable-skills/github in MassLab-SII/open-agent-skills) into .agents/skills/github in your project. Codex loads it when a task matches its description.
Can I use GitHub in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add MassLab-SII/open-agent-skills --skill github -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github, .gemini/skills/github, .github/skills/github and .opencode/skills/github in your project.
What does GitHub need to run?
Going by SKILL.md and its folder, GitHub needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.
Does GitHub access the network?
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Is GitHub safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does GitHub use?
GitHub is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does GitHub use?
About 7.1k tokens (SKILL.md is roughly 28k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to GitHub?
Skills that share tags, products or a category with GitHub: Ansible Backport Creator (ansible/ansible, 71k stars), Worktrunk Release Workflow (max-sixty/worktrunk, 9k stars), npm Package Publisher (klaudworks/universal-skills, 181 stars) and Push and PyPI Release (liaohch3/claude-tap, 3.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains GitHub?
MassLab-SII (a GitHub organization) maintains it in MassLab-SII/open-agent-skills, which has 133 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on December 29, 2025.
Source: MassLab-SII/open-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.