PR Review Integration
SKILL.md
PR Review Integration
Review pull requests by integrating GitHub operations with Linear issue tracking. Validate code changes against project requirements and provide comprehensive reviews.
Prerequisites
- GitHub CLI (
gh) installed and authenticated - Linear MCP server configured and available
- Access to both GitHub repository and Linear workspace
Complete PR Review Workflow
Step 1: Extract Context from PR
Get PR details:
gh pr view <pr-number> --json title,body,author,state,baseRefName,headRefName
Get changed files:
gh pr view <pr-number> --json files --jq '.files[].path'
Get PR diff:
gh pr diff <pr-number>
Extract Linear issue references:
gh pr view <pr-number> --json body --jq '.body' | grep -oE 'LIN-[0-9]+'
Step 2: Fetch Linear Issue Requirements
Get issue details:
mcp_Linear_get_issue({
id: "LIN-123", // extracted from PR
includeRelations: true // get related/blocking issues
})
Extract requirements from issue:
- Parse issue
descriptionfor acceptance criteria - Check
labelsfor feature tags - Review
commentsfor additional context - Check
relatedToandblocksfor dependencies
Step 3: Analyze PR Changes
Review code changes:
gh pr diff <pr-number>
gh pr diff <pr-number> -- path/to/file
gh pr view <pr-number> --json files --jq '.files[] | "\(.path): +\(.additions) -\(.deletions)"'
Check PR status:
gh pr checks <pr-number>
gh pr view <pr-number> --json mergeable,mergeStateStatus
Step 4: Validate Against Requirements
Compare PR changes to issue requirements:
-
Check Feature Completeness:
- Does PR implement all acceptance criteria?
- Are all required features present?
- Are edge cases handled?
-
Check Code Quality:
- Follows project standards (AGENTS.md, Cursor rules)
- Proper error handling
- Tests included (if required)
- Documentation updated
-
Check Dependencies:
- Related issues addressed?
- Blocking issues resolved?
- Integration points considered?
-
Identify Gaps:
- Missing requirements
- Incomplete implementations
- Additional work needed
Step 5: Document Review Findings
Option A: GitHub PR Comment
gh pr comment <pr-number> --body "
## PR Review Summary
### ✅ Requirements Met
- [Requirement 1] - Implemented in [file]
- [Requirement 2] - Complete
### ⚠️ Gaps Identified
- [Gap 1] - Missing from issue LIN-123
- [Gap 2] - Needs additional work
### 📝 Code Quality
- Follows project standards
- [Additional notes]
### 🔗 Related Issues
- LIN-123 (main issue)
- LIN-124 (related)
"
Option B: Linear Issue Comment
mcp_Linear_create_comment({
issueId: "LIN-123",
body: `
## PR Review: #${prNumber}
### Status: ${reviewStatus}
### Requirements Coverage
${requirementsChecklist}
### Code Quality
${qualityNotes}
### Next Steps
${nextSteps}
`
})
Option C: Update Linear Issue
mcp_Linear_update_issue({
id: "LIN-123",
state: "In Review", // or appropriate status
})
Best Practices
- Always link PRs to Linear issues for traceability
- Extract issue IDs early to fetch requirements
- Validate against requirements first, then code quality
- Document gaps clearly with specific file/line references
- Update Linear issues with review findings
- Use consistent review format for readability
- Handle edge cases gracefully (no issue, multiple issues, etc.)
Reference Documentation
- Review Patterns: See patterns.md for detailed patterns, edge cases, and checklist templates
- GitHub CLI Operations:
.codex/skills/github-cli-operations/SKILL.md- GitHub CLI patterns - Linear MCP Integration:
.codex/skills/linear-mcp-integration/SKILL.md- Linear MCP functions