name: github description: Auto-generated skill for github tools via OneKey Gateway. env: DEEPNLP_ONEKEY_ROUTER_ACCESS: required: true description: OneKey Gateway API key dependencies: npm: - "@aiagenta2z/onekey-gateway" python: - "ai-agent-marketplace" installation: npm: npm -g install @aiagenta2z/onekey-gateway python: pip install ai-agent-marketplace
OneKey Gateway
Use One Access Key to connect to various commercial APIs. Please visit the OneKey Gateway Keys and read the docs OneKey MCP Router Doc and OneKey Gateway Doc.
github Skill
Use the OneKey Gateway to access tools for this server via a unified access key.
Quick Start
Set your OneKey access key:
export DEEPNLP_ONEKEY_ROUTER_ACCESS=YOUR_API_KEY
If no key is provided, the scripts fall back to the demo key BETA_TEST_KEY_MARCH_2026.
Common settings:
unique_id:github/githubapi_id: one of the tools listed below
Tools
add_comment_to_pending_review
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).
Parameters:
body(string, required): The text of the review commentline(number, optional): The line of the blob in the pull request diff that the comment applies to. For multi-line comments, the last line of the rangeowner(string, required): Repository ownerpath(string, required): The relative path to the file that necessitates a commentpullNumber(number, required): Pull request numberrepo(string, required): Repository nameside(string, optional): The side of the diff to comment on. LEFT indicates the previous state, RIGHT indicates the new state Values: LEFT, RIGHTstartLine(number, optional): For multi-line comments, the first line of the range that the comment applies tostartSide(string, optional): For multi-line comments, the starting side of the diff that the comment applies to. LEFT indicates the previous state, RIGHT indicates the new state Values: LEFT, RIGHTsubjectType(string, required): The level at which the comment is targeted Values: FILE, LINE
add_issue_comment
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.
Parameters:
body(string, required): Comment contentissue_number(number, required): Issue number to comment onowner(string, required): Repository ownerrepo(string, required): Repository name
create_branch
Create a new branch in a GitHub repository
Parameters:
branch(string, required): Name for new branchfrom_branch(string, optional): Source branch (defaults to repo default)owner(string, required): Repository ownerrepo(string, required): Repository name
create_or_update_file
Create or update a single file in a GitHub repository. If updating, you should 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.
In order to obtain the SHA of original file version before updating, use the following git command: git ls-tree HEAD <path to file>
If the SHA is not provided, the tool will attempt to acquire it by fetching the current file contents from the repository, which may lead to rewriting latest committed changes if the file has changed since last retrieval.
Parameters:
branch(string, required): Branch to create/update the file incontent(string, required): Content of the filemessage(string, required): Commit messageowner(string, required): Repository owner (username or organization)path(string, required): Path where to create/update the filerepo(string, required): Repository namesha(string, optional): The blob SHA of the file being replaced.
create_pull_request
Create a new pull request in a GitHub repository.
Parameters:
base(string, required): Branch to merge intobody(string, optional): PR descriptiondraft(boolean, optional): Create as draft PRhead(string, required): Branch containing changesmaintainer_can_modify(boolean, optional): Allow maintainer editsowner(string, required): Repository ownerrepo(string, required): Repository nametitle(string, required): PR title
create_repository
Create a new GitHub repository in your account or specified organization
Parameters:
autoInit(boolean, optional): Initialize with READMEdescription(string, optional): Repository descriptionname(string, required): Repository nameorganization(string, optional): Organization to create the repository in (omit to create in your personal account)private(boolean, optional): Whether repo should be private
delete_file
Delete a file from a GitHub repository
Parameters:
branch(string, required): Branch to delete the file frommessage(string, required): Commit messageowner(string, required): Repository owner (username or organization)path(string, required): Path to the file to deleterepo(string, required): Repository name
fork_repository
Fork a GitHub repository to your account or specified organization
Parameters:
organization(string, optional): Organization to fork toowner(string, required): Repository ownerrepo(string, required): Repository name
get_commit
Get details for a commit from a GitHub repository
Parameters:
include_diff(boolean, optional): Whether to include file diffs and stats in the response. Default is true.owner(string, required): Repository ownerpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): Repository namesha(string, required): Commit SHA, branch name, or tag name
get_file_contents
Get the contents of a file or directory from a GitHub repository
Parameters:
owner(string, required): Repository owner (username or organization)path(string, optional): Path to file/directoryref(string, optional): Accepts optional git refs such asrefs/tags/{tag},refs/heads/{branch}orrefs/pull/{pr_number}/headrepo(string, required): Repository namesha(string, optional): Accepts optional commit SHA. If specified, it will be used instead of ref
get_label
Get a specific label from a repository.
Parameters:
name(string, required): Label name.owner(string, required): Repository owner (username or organization name)repo(string, required): Repository name
get_latest_release
Get the latest release in a GitHub repository
Parameters:
owner(string, required): Repository ownerrepo(string, required): Repository name
get_me
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.
Parameters:
- None
get_release_by_tag
Get a specific release by its tag name in a GitHub repository
Parameters:
owner(string, required): Repository ownerrepo(string, required): Repository nametag(string, required): Tag name (e.g., 'v1.0.0')
get_tag
Get details about a specific git tag in a GitHub repository
Parameters:
owner(string, required): Repository ownerrepo(string, required): Repository nametag(string, required): Tag name
get_team_members
Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
Parameters:
org(string, required): Organization login (owner) that contains the team.team_slug(string, required): Team slug
get_teams
Get details of the teams the user is a member of. Limited to organizations accessible with current credentials
Parameters:
user(string, optional): Username to get teams for. If not provided, uses the authenticated user.
issue_read
Get information about a specific issue in a GitHub repository.
Parameters:
issue_number(number, required): The number of the issuemethod(string, required): The read operation to perform on a single issue. Options are:
- get - Get details of a specific issue.
- get_comments - Get issue comments.
- get_sub_issues - Get sub-issues of the issue.
- get_labels - Get labels assigned to the issue. Values: get, get_comments, get_sub_issues, get_labels
owner(string, required): The owner of the repositorypage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): The name of the repository
issue_write
Create a new or update an existing issue in a GitHub repository.
Parameters:
assignees(array of string, optional): Usernames to assign to this issuebody(string, optional): Issue body contentduplicate_of(number, optional): Issue number that this issue is a duplicate of. Only used when state_reason is 'duplicate'.issue_number(number, optional): Issue number to updatelabels(array of string, optional): Labels to apply to this issuemethod(string, required): Write operation to perform on a single issue. Options are:- 'create' - creates a new issue.
- 'update' - updates an existing issue. Values: create, update
milestone(number, optional): Milestone numberowner(string, required): Repository ownerrepo(string, required): Repository namestate(string, optional): New state Values: open, closedstate_reason(string, optional): Reason for the state change. Ignored unless state is changed. Values: completed, not_planned, duplicatetitle(string, optional): Issue titletype(string, optional): Type of this issue. Only use if the repository has issue types configured. Use list_issue_types tool to get valid type values for the organization. If the repository doesn't support issue types, omit this parameter.
list_branches
List branches in a GitHub repository
Parameters:
owner(string, required): Repository ownerpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): Repository name
list_commits
Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).
Parameters:
author(string, optional): Author username or email address to filter commits byowner(string, required): Repository ownerpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): Repository namesha(string, optional): Commit SHA, branch or tag name to list commits of. If not provided, uses the default branch of the repository. If a commit SHA is provided, will list commits up to that SHA.
list_issue_types
List supported issue types for repository owner (organization).
Parameters:
owner(string, required): The organization owner of the repository
list_issues
List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
Parameters:
after(string, optional): Cursor for pagination. Use the endCursor from the previous page's PageInfo for GraphQL APIs.direction(string, optional): Order direction. If provided, the 'orderBy' also needs to be provided. Values: ASC, DESClabels(array of string, optional): Filter by labelsorderBy(string, optional): Order issues by field. If provided, the 'direction' also needs to be provided. Values: CREATED_AT, UPDATED_AT, COMMENTSowner(string, required): Repository ownerperPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): Repository namesince(string, optional): Filter by date (ISO 8601 timestamp)state(string, optional): Filter by state, by default both open and closed issues are returned when not provided Values: OPEN, CLOSED
list_pull_requests
List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.
Parameters:
base(string, optional): Filter by base branchdirection(string, optional): Sort direction Values: asc, deschead(string, optional): Filter by head user/org and branchowner(string, required): Repository ownerpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): Repository namesort(string, optional): Sort by Values: created, updated, popularity, long-runningstate(string, optional): Filter by state Values: open, closed, all
list_releases
List releases in a GitHub repository
Parameters:
owner(string, required): Repository ownerpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): Repository name
list_tags
List git tags in a GitHub repository
Parameters:
owner(string, required): Repository ownerpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)repo(string, required): Repository name
merge_pull_request
Merge a pull request in a GitHub repository.
Parameters:
commit_message(string, optional): Extra detail for merge commitcommit_title(string, optional): Title for merge commitmerge_method(string, optional): Merge method Values: merge, squash, rebaseowner(string, required): Repository ownerpullNumber(number, required): Pull request numberrepo(string, required): Repository name
pull_request_read
Get information on a specific pull request in GitHub repository.
Parameters:
method(string, required): Action to specify what pull request data needs to be retrieved from GitHub. Possible options:
- get - Get details of a specific pull request.
- get_diff - Get the diff of a pull request.
- get_status - Get status of a head commit in a pull request. This reflects status of builds and checks.
- get_files - Get the list of files changed in a pull request. Use with pagination parameters to control the number of results returned.
- get_review_comments - Get review threads on a pull request. Each thread contains logically grouped review comments made on the same code location during pull request reviews. Returns threads with metadata (isResolved, isOutdated, isCollapsed) and their associated comments. Use cursor-based pagination (perPage, after) to control results.
- get_reviews - Get the reviews on a pull request. When asked for review comments, use get_review_comments method.
- get_comments - Get comments on a pull request. Use this if user doesn't specifically want review comments. Use with pagination parameters to control the number of results returned. Values: get, get_diff, get_status, get_files, get_review_comments, get_reviews, get_comments
owner(string, required): Repository ownerpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)pullNumber(number, required): Pull request numberrepo(string, required): Repository name
pull_request_review_write
Create and/or submit, delete review of a pull request.
Available methods:
- create: Create a new review of a pull request. If "event" parameter is provided, the review is submitted. If "event" is omitted, a pending review is created.
- submit_pending: Submit an existing pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request. The "body" and "event" parameters are used when submitting the review.
- delete_pending: Delete an existing pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request.
Parameters:
body(string, optional): Review comment textcommitID(string, optional): SHA of commit to reviewevent(string, optional): Review action to perform. Values: APPROVE, REQUEST_CHANGES, COMMENTmethod(string, required): The write operation to perform on pull request review. Values: create, submit_pending, delete_pendingowner(string, required): Repository ownerpullNumber(number, required): Pull request numberrepo(string, required): Repository name
push_files
Push multiple files to a GitHub repository in a single commit
Parameters:
branch(string, required): Branch to push tofiles(array of object, required): Array of file objects to push, each object with path (string) and content (string)files[].content(string, required): file contentfiles[].path(string, required): path to the filemessage(string, required): Commit messageowner(string, required): Repository ownerrepo(string, required): Repository name
request_copilot_review
Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
Parameters:
owner(string, required): Repository ownerpullNumber(number, required): Pull request numberrepo(string, required): Repository name
search_code
Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.
Parameters:
order(string, optional): Sort order for results Values: asc, descpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)query(string, required): Search query using GitHub's powerful code search syntax. Examples: 'content:Skill language:Java org:github', 'NOT is:archived language:Python OR language:go', 'repo:github/github-mcp-server'. Supports exact matching, language filters, path filters, and more.sort(string, optional): Sort field ('indexed' only)
search_issues
Search for issues in GitHub repositories using issues search syntax already scoped to is:issue
Parameters:
order(string, optional): Sort order Values: asc, descowner(string, optional): Optional repository owner. If provided with repo, only issues for this repository are listed.page(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)query(string, required): Search query using GitHub issues search syntaxrepo(string, optional): Optional repository name. If provided with owner, only issues for this repository are listed.sort(string, optional): Sort field by number of matches of categories, defaults to best match Values: comments, reactions, reactions-+1, reactions--1, reactions-smile, reactions-thinking_face, reactions-heart, reactions-tada, interactions, created, updated
search_pull_requests
Search for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
Parameters:
order(string, optional): Sort order Values: asc, descowner(string, optional): Optional repository owner. If provided with repo, only pull requests for this repository are listed.page(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)query(string, required): Search query using GitHub pull request search syntaxrepo(string, optional): Optional repository name. If provided with owner, only pull requests for this repository are listed.sort(string, optional): Sort field by number of matches of categories, defaults to best match Values: comments, reactions, reactions-+1, reactions--1, reactions-smile, reactions-thinking_face, reactions-heart, reactions-tada, interactions, created, updated
search_repositories
Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.
Parameters:
minimal_output(boolean, optional): Return minimal repository information (default: true). When false, returns full GitHub API repository objects.order(string, optional): Sort order Values: asc, descpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)query(string, required): Repository search query. Examples: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Supports advanced search syntax for precise filtering.sort(string, optional): Sort repositories by field, defaults to best match Values: stars, forks, help-wanted-issues, updated
search_users
Find GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.
Parameters:
order(string, optional): Sort order Values: asc, descpage(number, optional): Page number for pagination (min 1)perPage(number, optional): Results per page for pagination (min 1, max 100)query(string, required): User search query. Examples: 'john smith', 'location:seattle', 'followers:>100'. Search is automatically scoped to type:user.sort(string, optional): Sort users by number of followers or repositories, or when the person joined GitHub. Values: followers, repositories, joined
sub_issue_write
Add a sub-issue to a parent issue in a GitHub repository.
Parameters:
after_id(number, optional): The ID of the sub-issue to be prioritized after (either after_id OR before_id should be specified)before_id(number, optional): The ID of the sub-issue to be prioritized before (either after_id OR before_id should be specified)issue_number(number, required): The number of the parent issuemethod(string, required): The action to perform on a single sub-issue Options are:- 'add' - add a sub-issue to a parent issue in a GitHub repository.
- 'remove' - remove a sub-issue from a parent issue in a GitHub repository.
- 'reprioritize' - change the order of sub-issues within a parent issue in a GitHub repository. Use either 'after_id' or 'before_id' to specify the new position.
owner(string, required): Repository ownerreplace_parent(boolean, optional): When true, replaces the sub-issue's current parent issue. Use with 'add' method only.repo(string, required): Repository namesub_issue_id(number, required): The ID of the sub-issue to add. ID is not the same as issue number
update_pull_request
Update an existing pull request in a GitHub repository.
Parameters:
base(string, optional): New base branch namebody(string, optional): New descriptiondraft(boolean, optional): Mark pull request as draft (true) or ready for review (false)maintainer_can_modify(boolean, optional): Allow maintainer editsowner(string, required): Repository ownerpullNumber(number, required): Pull request number to updaterepo(string, required): Repository namereviewers(array of string, optional): GitHub usernames to request reviews fromstate(string, optional): New state Values: open, closedtitle(string, optional): New title
update_pull_request_branch
Update the branch of a pull request with the latest changes from the base branch.
Parameters:
expectedHeadSha(string, optional): The expected SHA of the pull request's HEAD refowner(string, required): Repository ownerpullNumber(number, required): Pull request numberrepo(string, required): Repository name
Usage
CLI
add_comment_to_pending_review
npx onekey agent github/github add_comment_to_pending_review '{}'
add_issue_comment
npx onekey agent github/github add_issue_comment '{}'
create_branch
npx onekey agent github/github create_branch '{}'
create_or_update_file
npx onekey agent github/github create_or_update_file '{}'
create_pull_request
npx onekey agent github/github create_pull_request '{}'
create_repository
npx onekey agent github/github create_repository '{}'
delete_file
npx onekey agent github/github delete_file '{}'
fork_repository
npx onekey agent github/github fork_repository '{}'
get_commit
npx onekey agent github/github get_commit '{}'
get_file_contents
npx onekey agent github/github get_file_contents '{}'
get_label
npx onekey agent github/github get_label '{}'
get_latest_release
npx onekey agent github/github get_latest_release '{}'
get_me
npx onekey agent github/github get_me '{}'
get_release_by_tag
npx onekey agent github/github get_release_by_tag '{}'
get_tag
npx onekey agent github/github get_tag '{}'
get_team_members
npx onekey agent github/github get_team_members '{}'
get_teams
npx onekey agent github/github get_teams '{}'
issue_read
npx onekey agent github/github issue_read '{}'
issue_write
npx onekey agent github/github issue_write '{}'
list_branches
npx onekey agent github/github list_branches '{}'
list_commits
npx onekey agent github/github list_commits '{}'
list_issue_types
npx onekey agent github/github list_issue_types '{}'
list_issues
npx onekey agent github/github list_issues '{}'
list_pull_requests
npx onekey agent github/github list_pull_requests '{}'
list_releases
npx onekey agent github/github list_releases '{}'
list_tags
npx onekey agent github/github list_tags '{}'
merge_pull_request
npx onekey agent github/github merge_pull_request '{}'
pull_request_read
npx onekey agent github/github pull_request_read '{}'
pull_request_review_write
npx onekey agent github/github pull_request_review_write '{}'
push_files
npx onekey agent github/github push_files '{}'
request_copilot_review
npx onekey agent github/github request_copilot_review '{}'
search_code
npx onekey agent github/github search_code '{}'
search_issues
npx onekey agent github/github search_issues '{}'
search_pull_requests
npx onekey agent github/github search_pull_requests '{}'
search_repositories
npx onekey agent github/github search_repositories '{}'
search_users
npx onekey agent github/github search_users '{}'
sub_issue_write
npx onekey agent github/github sub_issue_write '{}'
update_pull_request
npx onekey agent github/github update_pull_request '{}'
update_pull_request_branch
npx onekey agent github/github update_pull_request_branch '{}'
Scripts
Each tool has a dedicated script in this folder:
skills/github/scripts/add_comment_to_pending_review.pyskills/github/scripts/add_issue_comment.pyskills/github/scripts/create_branch.pyskills/github/scripts/create_or_update_file.pyskills/github/scripts/create_pull_request.pyskills/github/scripts/create_repository.pyskills/github/scripts/delete_file.pyskills/github/scripts/fork_repository.pyskills/github/scripts/get_commit.pyskills/github/scripts/get_file_contents.pyskills/github/scripts/get_label.pyskills/github/scripts/get_latest_release.pyskills/github/scripts/get_me.pyskills/github/scripts/get_release_by_tag.pyskills/github/scripts/get_tag.pyskills/github/scripts/get_team_members.pyskills/github/scripts/get_teams.pyskills/github/scripts/issue_read.pyskills/github/scripts/issue_write.pyskills/github/scripts/list_branches.pyskills/github/scripts/list_commits.pyskills/github/scripts/list_issue_types.pyskills/github/scripts/list_issues.pyskills/github/scripts/list_pull_requests.pyskills/github/scripts/list_releases.pyskills/github/scripts/list_tags.pyskills/github/scripts/merge_pull_request.pyskills/github/scripts/pull_request_read.pyskills/github/scripts/pull_request_review_write.pyskills/github/scripts/push_files.pyskills/github/scripts/request_copilot_review.pyskills/github/scripts/search_code.pyskills/github/scripts/search_issues.pyskills/github/scripts/search_pull_requests.pyskills/github/scripts/search_repositories.pyskills/github/scripts/search_users.pyskills/github/scripts/sub_issue_write.pyskills/github/scripts/update_pull_request.pyskills/github/scripts/update_pull_request_branch.py
Example
python3 scripts/<tool_name>.py --data '{"key": "value"}'
Related DeepNLP OneKey Gateway Documents
AI Agent Marketplace
Skills Marketplace
AI Agent A2Z Deployment
PH AI Agent A2Z Infra
GitHub AI Agent Marketplace
Dependencies
CLI Dependency
Install onekey-gateway from npm
npm install @aiagenta2z/onekey-gateway
Script Dependency
Install the required Python package before running any scripts.
pip install ai-agent-marketplace
Alternatively, install dependencies from the requirements file:
pip install -r requirements.txt
If the package is already installed, skip installation.
Agent rule
Before executing command lines or running any script in the scripts/ directory, ensure the dependencies are installed.
Use the npx onekey CLI as the preferred method to run the skills.