Agent Skill
2/7/2026

github-skill

GitHub integration for repositories, issues, pull requests, branches, releases, and actions

K
kubiyabot
4GitHub Stars
1Views
npx skills add kubiyabot/skill

SKILL.md

Namegithub-skill
DescriptionGitHub integration for repositories, issues, pull requests, branches, releases, and actions

name: github-skill version: 2.0.0 description: GitHub integration for repositories, issues, pull requests, branches, releases, and actions author: Skill Engine Team allowed-tools: ["repo-list", "repo-get", "repo-create", "repo-delete", "repo-fork", "issue-list", "issue-get", "issue-create", "issue-update", "issue-close", "issue-comment", "pr-list", "pr-get", "pr-create", "pr-merge", "pr-close", "pr-review", "pr-request-reviewers", "branch-list", "branch-create", "branch-delete", "release-list", "release-create", "workflow-list", "workflow-run"]

GitHub Skill

Comprehensive GitHub integration with 25 tools for repositories, issues, pull requests, branches, releases, and GitHub Actions.

Overview

This skill provides full access to the GitHub API, enabling automation of development workflows. It uses the GitHub REST API v3 with Bearer token authentication.

When to Use This Skill

Use this skill when you need to:

  • Create, manage, and fork repositories
  • List, create, update, close issues and add comments
  • Work with pull requests (create, merge, review, request reviewers)
  • Manage branches (create, delete, list)
  • Create and list releases
  • Trigger GitHub Actions workflows

Prerequisites

  1. GitHub Account: An active GitHub account
  2. Personal Access Token: A token with appropriate permissions

Getting a Personal Access Token

  1. Go to https://github.com/settings/tokens
  2. Click "Generate new token" > "Generate new token (classic)"
  3. Select scopes:
    • repo - Full repository access
    • workflow - Actions workflow access
    • read:org - Read organization info
  4. Generate and copy the token

Configuration

Set the token as an environment variable:

export SKILL_GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Tools

Repository Tools (5)

repo-list

List repositories for user or organization.

ParameterTypeRequiredDefaultDescription
orgstringNo-Organization name
typestringNoallFilter: all, owner, member, private, public
sortstringNoupdatedSort: created, updated, pushed, full_name
per_pagenumberNo30Results per page (max 100)

repo-get

Get detailed repository information.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format

repo-create

Create a new repository.

ParameterTypeRequiredDefaultDescription
namestringYes-Repository name
descriptionstringNo-Repository description
privatebooleanNofalseMake private
orgstringNo-Organization to create in
auto_initbooleanNofalseInitialize with README

repo-delete

Delete a repository (requires admin access).

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format

repo-fork

Fork a repository.

ParameterTypeRequiredDescription
repostringYesRepository to fork
organizationstringNoOrg to fork to
namestringNoName for forked repo

Issue Tools (6)

issue-list

List issues in a repository.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
statestringNoopenFilter: open, closed, all
assigneestringNo-Filter by assignee
labelsstringNo-Filter by labels (comma-separated)
per_pagenumberNo30Results per page

issue-get

Get detailed issue information.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
issue_numbernumberYesIssue number

issue-create

Create a new issue.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
titlestringYesIssue title
bodystringNoIssue description
labelsstringNoLabels (comma-separated)
assigneesstringNoAssignees (comma-separated)

issue-update

Update an existing issue.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
issue_numbernumberYesIssue number
titlestringNoNew title
bodystringNoNew body
statestringNoState: open or closed
labelsstringNoLabels (replaces existing)
assigneesstringNoAssignees (replaces existing)

issue-close

Close an issue.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
issue_numbernumberYes-Issue number
reasonstringNocompletedReason: completed or not_planned

issue-comment

Add a comment to an issue.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
issue_numbernumberYesIssue number
bodystringYesComment text

Pull Request Tools (7)

pr-list

List pull requests.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
statestringNoopenFilter: open, closed, all
headstringNo-Filter by head branch
basestringNo-Filter by base branch
per_pagenumberNo30Results per page

pr-get

Get detailed PR information.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
pr_numbernumberYesPR number

pr-create

Create a new pull request.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
titlestringYes-PR title
headstringYes-Branch with changes
basestringYes-Branch to merge into
bodystringNo-PR description
draftbooleanNofalseCreate as draft

pr-merge

Merge a pull request.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
pr_numbernumberYes-PR number
merge_methodstringNomergeMethod: merge, squash, rebase
commit_titlestringNo-Commit title
commit_messagestringNo-Commit message

pr-close

Close a PR without merging.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
pr_numbernumberYesPR number

pr-review

Submit a PR review.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
pr_numbernumberYesPR number
eventstringYesAction: APPROVE, REQUEST_CHANGES, COMMENT
bodystringNoReview comment

pr-request-reviewers

Request reviewers for a PR.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
pr_numbernumberYesPR number
reviewersstringNoUsernames (comma-separated)
team_reviewersstringNoTeam slugs (comma-separated)

Branch Tools (3)

branch-list

List branches.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
protectedbooleanNofalseOnly show protected branches
per_pagenumberNo30Results per page

branch-create

Create a new branch.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
branchstringYesNew branch name
fromstringNoSource branch or SHA (defaults to default branch)

branch-delete

Delete a branch.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
branchstringYesBranch name to delete

Release Tools (2)

release-list

List releases.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
per_pagenumberNo30Results per page

release-create

Create a new release.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
tag_namestringYes-Tag name for release
namestringNo-Release title
bodystringNo-Release notes
target_commitishstringNo-Branch or commit to tag
draftbooleanNofalseCreate as draft
prereleasebooleanNofalseMark as pre-release
generate_release_notesbooleanNofalseAuto-generate notes

Actions/Workflow Tools (2)

workflow-list

List workflows.

ParameterTypeRequiredDefaultDescription
repostringYes-Repository in "owner/repo" format
per_pagenumberNo30Results per page

workflow-run

Trigger a workflow run.

ParameterTypeRequiredDescription
repostringYesRepository in "owner/repo" format
workflow_idstringYesWorkflow ID or filename (e.g., "ci.yml")
refstringYesBranch or tag to run on
inputsstringNoWorkflow inputs as JSON

Examples

Create Repository and Initialize

# Create repo
skill run github-skill repo-create name=my-project description="New project" private=true

# Create initial issue
skill run github-skill issue-create repo=myuser/my-project title="Setup project" labels=setup

PR Workflow

# Create feature branch
skill run github-skill branch-create repo=owner/repo branch=feature/auth from=main

# After pushing commits, create PR
skill run github-skill pr-create repo=owner/repo title="Add auth" head=feature/auth base=main

# Request reviewers
skill run github-skill pr-request-reviewers repo=owner/repo pr_number=42 reviewers=reviewer1,reviewer2

# Merge PR
skill run github-skill pr-merge repo=owner/repo pr_number=42 merge_method=squash

Release Workflow

# Create release
skill run github-skill release-create repo=owner/repo tag_name=v1.0.0 name="Version 1.0.0" generate_release_notes=true

Rate Limits

  • Authenticated: 5,000 requests/hour
  • Search API: 30 requests/minute

Troubleshooting

ErrorSolution
401 UnauthorizedCheck GITHUB_TOKEN is set correctly
403 ForbiddenToken lacks permissions or rate limited
404 Not FoundCheck repo exists and you have access
422 ValidationInvalid parameters (e.g., branch exists)

Resources

Skills Info
Original Name:github-skillAuthor:kubiyabot