| name | github-copilot-agent-tips-and-tricks |
| description | Tips and Tricks for Working with GitHub Copilot Agent PRs |
GitHub Copilot Agent Tips and Tricks
This document provides guidance for discovering, reviewing, and working with pull requests created by the GitHub Copilot agent in the gh-aw repository.
Identifying Copilot Agent PRs
Branch Naming Convention
The GitHub Copilot agent creates branches with the copilot/ prefix. This makes them easy to identify and filter.
Examples from this repository:
copilot/add-cache-for-imported-workflowscopilot/fix-istruthy-bundling-issuecopilot/update-audit-command-copilotcopilot/refactor-mcp-tool-rendering
Author Attribution
Copilot agent PRs are typically authored by:
app/github-copilot- The GitHub Copilot bot account- Individual developers using Copilot as an assistant
Searching for Copilot Agent PRs
Using GitHub CLI (gh)
Prerequisites:
# Authenticate with GitHub CLI
gh auth login
Search by author (GitHub Copilot bot):
# List all PRs created by the Copilot bot
gh pr list --author "app/github-copilot" --limit 100
# Include closed PRs
gh pr list --author "app/github-copilot" --state all --limit 100
# Get detailed JSON output
gh pr list --author "app/github-copilot" --json number,title,author,headRefName,createdAt,state
Search by branch prefix:
# Find all PRs from copilot/* branches
gh pr list --search "head:copilot/" --state all
# Combine with other filters
gh pr list --search "head:copilot/ is:open"
gh pr list --search "head:copilot/ is:merged"
Filter with jq:
# Extract specific fields
gh pr list --limit 100 --json author,number,title,headRefName \
--jq '.[] | select(.headRefName | startswith("copilot/")) | {number, title, branch: .headRefName}'
# Filter by author containing "copilot"
gh pr list --limit 100 --json author,number,title \
--jq '.[] | select(.author.login | contains("copilot"))'
Using Git Commands
List copilot branches:
# Local and remote copilot branches
git branch -a | grep copilot
# Remote copilot branches only
git branch -r | grep copilot
Search commit history:
# Find commits with "copilot" in message
git log --all --grep="copilot" --oneline
# Find commits by copilot author
git log --all --author="copilot" --oneline
# Show graph with copilot-related commits
git log --all --grep="copilot" --oneline --graph
Find merged copilot PRs:
# Search for merge commits
git log --all --merges --grep="copilot" --oneline
# With PR numbers
git log --all --merges --oneline | grep -i copilot
Common Copilot Agent PR Patterns
Recent Examples from gh-aw Repository
Based on analysis of this repository, Copilot agent PRs typically address:
Refactoring and Code Organization
- Example: "Refactor ALL_TOOLS to separate JSON file with runtime filtering"
- Example: "Eliminate duplicate MCP tool table rendering logic"
Documentation Improvements
- Example: "Document strict mode enforcement areas and CLI flag in schema"
- Example: "Add comprehensive strict mode reference documentation"
Bug Fixes
- Example: "Fix JavaScript test assertions for loadAgentOutput error handling"
- Example: "Remove duplicate formatFileSize() function"
Testing Enhancements
- Example: "Add integration tests for playwright MCP configuration across all engines"
Security Fixes
- Example: "Fix template injection risk in copilot-session-insights workflow"
PR Metadata to Check
When reviewing Copilot agent PRs, pay attention to:
- Branch name: Should follow
copilot/descriptive-namepattern - Commit messages: Often include "Initial plan" commits
- PR description: Should explain the problem and solution
- Linked issues: May reference issues being addressed
Workflow Tips
Finding Related PRs
# Find PRs related to a specific feature
gh pr list --search "head:copilot/ refactor" --state all
# Find PRs in a date range
gh pr list --search "head:copilot/ created:>=2024-01-01" --state all
# Find PRs with specific labels
gh pr list --search "head:copilot/ label:enhancement"
Reviewing Copilot PRs
# Check out a copilot PR locally
gh pr checkout <PR-number>
# View PR diff
gh pr diff <PR-number>
# View PR details
gh pr view <PR-number>
# View PR in browser
gh pr view <PR-number> --web
Tracking Copilot Contributions
# Count merged copilot PRs
gh pr list --author "app/github-copilot" --state merged --json number --jq 'length'
# List recent copilot PRs with dates
gh pr list --author "app/github-copilot" --state all --limit 20 \
--json number,title,createdAt,state \
--jq '.[] | "\(.number): \(.title) (\(.state)) - \(.createdAt)"'
# Export to CSV for analysis
gh pr list --author "app/github-copilot" --state all --limit 100 \
--json number,title,createdAt,state,author \
--jq -r '.[] | [.number, .title, .state, .createdAt] | @csv' > copilot-prs.csv
Troubleshooting
Authentication Issues
If you see "gh auth login" prompts:
# Authenticate with GitHub CLI
gh auth login
# Or set token environment variable
export GH_TOKEN="your-github-token"
No Results Found
If searches return no results:
- Verify you're in the correct repository
- Check if the author name is correct (try
app/github-copilotorgithub-copilot) - Try searching by branch prefix instead:
gh pr list --search "head:copilot/" - Check if PRs exist:
git branch -r | grep copilot
Rate Limiting
If you hit GitHub API rate limits:
# Check rate limit status
gh api rate_limit
# Use authenticated requests (higher limits)
gh auth login
Best Practices
- Use branch prefix search when author search is unavailable
- Export PR lists regularly for tracking and analysis
- Review commit history to understand Copilot's implementation approach
- Check for "Initial plan" commits to see Copilot's planning process
- Verify tests pass before merging Copilot PRs
- Review security implications especially for workflow changes
Additional Resources
- GitHub CLI documentation: https://cli.github.com/manual/
- GitHub Copilot documentation: https://docs.github.com/en/copilot
- Git branch filtering: https://git-scm.com/docs/git-branch
- jq JSON processing: https://stedolan.github.io/jq/manual/