This mode uses the GitHub CLI (gh) for all GitHub operations.
The mode assumes the user has gh installed and authenticated. If authentication errors occur,
the mode will prompt the user to authenticate.
Users must provide full GitHub issue URLs (e.g., https://github.com/owner/repo/issues/123)
so the mode can extract the repository information dynamically.
https://github.com/[owner]/[repo]/issues/[number]
- Owner: The organization or username
- Repo: The repository name
- Number: The issue number
Assume authenticated, handle errors gracefully
Only check authentication if a gh command fails with auth error
- "gh: Not authenticated"
- "HTTP 401"
- "HTTP 403: Resource not accessible"
Retrieve the issue details at the start using the REST Issues API.
Always use first to get the full issue content
gh api repos/[owner]/[repo]/issues/[issue-number] --jq '{number,title,body,state,labels,assignees,milestone,createdAt:.created_at,updatedAt:.updated_at,closedAt:.closed_at,author:.user.login}'
gh api repos/octocat/hello-world/issues/123 --jq '{number,title,body,state,labels,assignees,milestone,createdAt:.created_at,updatedAt:.updated_at,closedAt:.closed_at,author:.user.login}'
Get additional context and requirements from issue comments.
Always use after viewing issue to see full discussion
gh api repos/[owner]/[repo]/issues/[issue-number]/comments --paginate --jq '.[].body'
gh api repos/octocat/hello-world/issues/123/comments --paginate --jq '.[].body'
Find recent changes to affected files
Use during codebase exploration
gh api repos/[owner]/[repo]/commits?path=[file-path]&per_page=10
gh api repos/octocat/hello-world/commits?path=src/api/index.ts&per_page=10 --jq '.[].sha + " " + .[].commit.message'
Search for code patterns on GitHub
Use to supplement local codebase_search
gh search code "[search-query]" --repo [owner]/[repo]
gh search code "function handleError" --repo octocat/hello-world --limit 10
Add progress updates or ask questions on issues
Use if clarification needed or to show progress
gh issue comment [issue-number] --repo [owner]/[repo] --body "[comment]"
gh issue comment 123 --repo octocat/hello-world --body "Working on this issue. Found the root cause in the theme detection logic."
Find related or similar PRs
Use to understand similar changes
gh pr list --repo [owner]/[repo] --search "[search-terms]"
gh pr list --repo octocat/hello-world --search "dark theme" --limit 10
View the diff of a pull request
Use to understand changes in a PR
gh pr diff [pr-number] --repo [owner]/[repo]
gh pr diff 456 --repo octocat/hello-world
Inspect associations with GitHub Projects (new Projects experience) for a given issue
Use when project context is relevant to understanding priority, ownership, or workflow
gh api graphql -f query='
query($owner:String!, $repo:String!, $number:Int!) {
repository(owner:$owner, name:$repo) {
issue(number:$number) {
projectsV2(first:20) {
nodes {
title
url
}
}
}
}
}
' -F owner=[owner] -F repo=[repo] -F number=[issue-number]
This uses the projectsV2 field from the new GitHub Projects experience for issue-level project context.
Create a pull request
Use in step 11 after user approval
- Target the repository from the provided URL
- Use "main" as the base branch unless specified otherwise
- Include issue number in PR title
- Use --maintainer-can-modify flag
gh pr create --repo [owner]/[repo] --base main --title "[title]" --body "[body]" --maintainer-can-modify
gh pr create --repo octocat/hello-world --base main --title "fix: Resolve dark theme button visibility (#123)" --body "## Description
Fixes #123
[Full PR description]" --maintainer-can-modify
If working from a fork, ensure the fork is set as the remote and push the branch there first.
The gh CLI will automatically handle the fork workflow.
Fork the repository if user doesn't have push access
Use if user needs to work from a fork
gh repo fork [owner]/[repo] --clone
gh repo fork octocat/hello-world --clone
Monitor CI/CD checks on a pull request
Use after creating PR to ensure checks pass
gh pr checks [pr-number] --repo [owner]/[repo] --watch
gh pr checks 789 --repo octocat/hello-world --watch
Access GitHub API directly for advanced operations
Use when specific gh commands don't provide needed functionality
gh api repos/[owner]/[repo] --jq '.default_branch'
gh api repos/[owner]/[repo]/contents/README.md --jq '.content' | base64 -d
gh api repos/[owner]/[repo]/actions/runs --jq '.workflow_runs[0:5] | .[] | .id, .status, .conclusion'
Check GitHub Actions workflow status
Use to monitor CI/CD pipeline
gh run list --repo [owner]/[repo] --limit 5
gh run list --repo octocat/hello-world --limit 5
gh: Not authenticated. Run 'gh auth login' to authenticate.
Ask user to authenticate:
GitHub CLI is not authenticated. Please run 'gh auth login' in your terminal to authenticate, then let me know when you're ready to continue.
I've authenticated, please continue
I need help with authentication
Let's use a different approach
HTTP 403: Resource not accessible by integration
Check if working from a fork is needed:
gh repo fork [owner]/[repo] --clone