Agent skill
pr-research
Upstream codebase exploration for open source contribution. Outputs contribution guidelines, PR patterns, and maintainer expectations. Triggers: "pr research", "upstream research", "contribution research", "explore upstream repo".
Install this agent skill to your Project
npx add-skill https://github.com/boshu2/agentops/tree/main/skills-codex/pr-research
SKILL.md
PR Research Skill
Systematic exploration of upstream repositories before contributing.
Overview
Research an external codebase to understand how to contribute effectively. This is the FIRST step before planning or implementing an open source contribution.
When to Use:
- Before contributing to an external repository
- Starting a new open source contribution
- Evaluating whether to contribute to a project
When NOT to Use:
- Researching your own codebase (use
$research) - Already familiar with the project's guidelines
Workflow
-1. Prior Work Check -> BLOCKING: Check for existing issues/PRs
0. CONTRIBUTING.md -> MANDATORY: Find contribution guidelines
1. Repository Setup -> Clone/identify upstream repo
2. Guidelines Analysis -> Templates, CODE_OF_CONDUCT
3. PR Archaeology -> Analyze merged PRs, commit patterns
4. Maintainer Research -> Response patterns, review expectations
5. Issue Discovery -> Find contribution opportunities
6. Output -> Write research document
Phase -1: Prior Work Check (BLOCKING)
CRITICAL: Before ANY research, check if someone is already working on this.
# Search for open issues on this topic
gh issue list -R <owner/repo> --state open --search "<topic keywords>" --limit 20
# Search for open PRs that might address this
gh pr list -R <owner/repo> --state open --search "<topic keywords>" --limit 20
# Check for recently merged PRs (might already be fixed)
gh pr list -R <owner/repo> --state merged --search "<topic keywords>" --limit 10
| Finding | Action |
|---|---|
| Open issue exists | Link to it, don't create duplicate |
| Open PR exists | Don't duplicate work |
| Recently merged PR | Verify fix, no work needed |
| No prior work found | Proceed to Phase 0 |
Phase 0: CONTRIBUTING.md Discovery (BLOCKING)
CRITICAL: Do not proceed without finding contribution guidelines.
# Check all common locations
cat CONTRIBUTING.md 2>/dev/null
cat .github/CONTRIBUTING.md 2>/dev/null
cat docs/CONTRIBUTING.md 2>/dev/null
# Check README for contribution section
grep -i "contribut" README.md | head -10
Extract Key Requirements
| Requirement | Where to Find |
|---|---|
| Commit format | "Commit messages" section |
| PR process | "Pull Requests" section |
| Testing requirements | "Testing" section |
| Code style | "Style" section |
| CLA/DCO | "Legal" or "License" section |
Phase 3: PR Archaeology
CRITICAL: Understand what successful PRs look like.
# List recent merged PRs
gh pr list --state merged --limit 20
# Recent commit style
git log --oneline -30 | head -20
# Check for conventional commits
git log --oneline -30 | grep -E "^[a-f0-9]+ (feat|fix|docs|refactor|test|chore)(\(.*\))?:"
PR Size Analysis
| Size | Files | Lines | Likelihood |
|---|---|---|---|
| Small | 1-3 | <100 | High acceptance |
| Medium | 4-10 | 100-500 | Moderate |
| Large | 10+ | 500+ | Needs discussion first |
Phase 5: Issue Discovery
# Find beginner-friendly issues
gh issue list --label "good first issue" --state open
gh issue list --label "help wanted" --state open
# Issues with no assignee
gh issue list --state open --json assignees,title,number | \
jq -r '.[] | select(.assignees | length == 0) | "#\(.number): \(.title)"' | head -10
Output
Write to .agents/research/YYYY-MM-DD-pr-{repo-slug}.md
# PR Research: {repo-name}
## Executive Summary
{2-3 sentences: project health, contribution friendliness}
## Contribution Guidelines
| Document | Status | Key Requirements |
|----------|--------|------------------|
| CONTRIBUTING.md | Present/Missing | {summary} |
| PR Template | Present/Missing | {required sections} |
## PR Patterns
- **Average size**: X files, Y lines
- **Commit style**: {conventional/imperative/etc}
- **Review time**: ~X days
## Contribution Opportunities
| Issue | Type | Difficulty |
|-------|------|------------|
| #N | bug/feat | easy/medium |
## Next Steps
-> `$pr-plan .agents/research/YYYY-MM-DD-pr-{repo}.md`
Anti-Patterns
| DON'T | DO INSTEAD |
|---|---|
| Skip guidelines check | Always read CONTRIBUTING.md first |
| Ignore PR patterns | Study successful merged PRs |
| Start with large PRs | Begin with small, focused changes |
Workflow Integration
$pr-research <repo> -> $pr-plan <research> -> implement -> $pr-prep
Examples
Research Upstream Before Contributing
User says: "Do PR research for owner/repo before I propose a fix."
What happens:
- Inspect contribution guidelines and governance files.
- Analyze merged PR patterns and conventions.
- Produce a research artifact with opportunities and risks.
Scope Discovery
User says: "Find small starter contribution options in this repo."
What happens:
- Scan issues/labels and prior merged work.
- Classify candidates by difficulty and scope.
- Recommend a smallest-safe starting contribution.
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| No contribution guide found | Repo lacks standard files | Infer conventions from merged PR history and maintainers' comments |
| Too many possible issues | Scope not constrained | Filter by labels, component paths, and recent maintainer activity |
| Suggested work seems risky | Hidden dependency or broad blast radius | Downscope to narrower file/domain boundary and restate assumptions |
| Output is too generic | Insufficient repository evidence | Add concrete file/PR references and explicit pattern findings |
Local Resources
scripts/
scripts/validate.sh
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
swarm
Spawn isolated Codex sub-agents for parallel task execution using the current runtime primitives. Triggers: "swarm", "spawn agents", "parallel work", "run in parallel", "parallel execution".
council
Multi-perspective review for Codex using the current sub-agent runtime. Triggers: "council", "get consensus", "multi-model review", "multi-perspective review", "council validate", "council brainstorm", "council research".
openai-docs
Use when the user asks how to build with OpenAI products or APIs and needs up-to-date official documentation with citations (for example: Codex, Responses API, Chat Completions, Apps SDK, Agents SDK, Realtime, model capabilities or limits); prioritize OpenAI docs MCP tools and restrict any fallback browsing to official OpenAI domains.
crank
Hands-free epic execution for Codex using wave-based sub-agents and lead-side validation. Triggers: "crank", "run epic", "execute epic", "run all tasks", "hands-free execution", "crank it".
pr-retro
Learn from PR outcomes. Analyzes accept/reject patterns and updates contribution lessons. Triggers: "pr retro", "learn from PR", "PR outcome", "why was PR rejected", "analyze PR feedback".
ratchet
Brownian Ratchet progress gates for RPI workflow. Check, record, verify. Triggers: "check gate", "verify progress", "ratchet status".
Didn't find tool you were looking for?