From openhands-skills
Interact with GitHub repositories, pull requests, issues, and workflows using GITHUB_TOKEN and GitHub CLI. Useful for managing GitHub-hosted code, creating PRs, and handling reviews.
npx claudepluginhub openhands/extensionsThis skill uses the workspace's default tool permissions.
You have access to an environment variable, `GITHUB_TOKEN`, which allows you to interact with
Addresses review or issue comments on open GitHub Pull Requests using gh CLI: inspects threads, applies code fixes, and responds as resolved.
Addresses GitHub PR review and issue comments on current branch using gh CLI: verifies auth, fetches comments, summarizes threads, proposes code fixes, drafts replies.
Fetches and addresses GitHub PR review/issue comments on current branch using gh CLI. Lists threads via script, summarizes fixes, applies user-selected changes, with auth handling.
Share bugs, ideas, or general feedback.
You have access to an environment variable, GITHUB_TOKEN, which allows you to interact with
the GitHub API.
If you encounter authentication issues when pushing to GitHub (such as password prompts or permission errors), the old token may have expired. In such case, update the remote URL to include the current token: git remote set-url origin https://${GITHUB_TOKEN}@github.com/username/repo.git
Here are some instructions for pushing, but ONLY do this if the user asks you to:
main or master branchopenhands-workspace. Create a new branch with a better name before pushing.create_pr tool to create a pull request, if you haven't alreadygit remote -v && git branch # to find the current org, repo and branch
git checkout -b create-widget && git add . && git commit -m "Create widget" && git push -u origin create-widget
To resolve existing review threads programmatically:
<OWNER>, <REPO>, <PR_NUMBER>):gh api graphql -f query='
{
repository(owner: "<OWNER>", name: "<REPO>") {
pullRequest(number: <PR_NUMBER>) {
reviewThreads(first: 20) {
nodes {
id
isResolved
comments(first: 1) {
nodes { body }
}
}
}
}
}
}'
gh api graphql -f query='
mutation {
addPullRequestReviewThreadReply(input: {
pullRequestReviewThreadId: "<THREAD_ID>"
body: "Fixed in <COMMIT_SHA>"
}) {
comment { id }
}
}'
gh api graphql -f query='
mutation {
resolveReviewThread(input: {threadId: "<THREAD_ID>"}) {
thread { isResolved }
}
}'
# Find the run ID from the failed check URL, or use:
gh run list --repo <OWNER>/<REPO> --branch <BRANCH> --limit 5
# Rerun failed jobs
gh run rerun <RUN_ID> --repo <OWNER>/<REPO> --failed