pr-retro

Learn from PR outcomes.

INSTALLATION
npx skills add https://github.com/boshu2/agentops --skill pr-retro
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

PR Retro Skill

Learn from PR outcomes by analyzing accept/reject patterns.

Overview

After a PR is merged or rejected, analyze what worked and what didn't to

improve future contributions.

Output: .agents/learnings/YYYY-MM-DD-pr-{repo}-{outcome}.md

When to Use:

  • After a PR is merged (capture success patterns)
  • After a PR is rejected (understand why)
  • After receiving significant review feedback
  • Periodically to review contribution patterns

Workflow

1.  PR Discovery    -> Find the PR to analyze

2.  Outcome Analysis -> Merged/rejected/changes requested

3.  Feedback Extraction -> What did reviewers say?

4.  Pattern Identification -> What worked/didn't

5.  Lesson Extraction -> Reusable learnings

6.  Output -> Write retro document

Phase 1: PR Discovery

# If PR number provided

gh pr view <number> --json state,reviews,comments,mergedAt,closedAt

# Find recent PRs by you

gh pr list --state all --author @me --limit 10

# Find PRs to a specific repo

gh pr list -R <owner/repo> --state all --author @me --limit 10

Phase 2: Outcome Analysis

Outcome

Meaning

Focus

Merged

Success

What worked?

Closed (not merged)

Rejected

Why?

Open (stale)

Ignored/abandoned

What went wrong?

Changes requested

Needs work

What feedback?

# Get PR outcome

gh pr view <number> --json state,mergedAt,closedAt,reviews

Phase 3: Feedback Extraction

# Get all review comments

gh pr view <number> --json reviews --jq '.reviews[] | "\(.author.login): \(.body)"'

# Get all comments

gh api repos/<owner>/<repo>/pulls/<number>/comments --jq '.[].body'

# Get requested changes

gh pr view <number> --json reviews --jq '.reviews[] | select(.state == "CHANGES_REQUESTED")'

Feedback Categories

Category

Examples

Style

Naming, formatting, conventions

Technical

Algorithm, architecture, patterns

Scope

Too big, scope creep, unrelated changes

Testing

Missing tests, coverage, edge cases

Documentation

Missing docs, unclear comments

Process

Wrong branch, missing sign-off

Phase 4: Pattern Identification

Success Patterns (If Merged)

What Worked

Evidence

Small, focused PR

< 5 files

Followed conventions

No style comments

Good tests

No "add tests" requests

Clear description

Quick approval

Failure Patterns (If Rejected)

What Failed

Evidence

Too large

"Please split this PR"

Scope creep

"This is out of scope"

Missing tests

"Please add tests"

Wrong approach

"Consider using X instead"

Phase 5: Lesson Extraction

Lesson Template

## Lesson: [Title]

**Context**: [When does this apply?]

**Learning**: [What did we learn?]

**Action**: [What to do differently?]

**Evidence**:

- PR #N: [quote or summary]

Common Lessons

Lesson

Action

PR too large

Split PRs under 200 lines

Missing context

Add "## Context" section

Style mismatch

Run linter before PR

Missing tests

Add tests for new code

Slow review

Ping after 1 week

Phase 6: Output

Write to .agents/learnings/YYYY-MM-DD-pr-{repo}-{outcome}.md

# PR Retro: {repo} #{number}

**Date**: YYYY-MM-DD

**PR**: {url}

**Outcome**: Merged / Rejected / Stale

## Summary

{What was the PR about? What happened?}

## Timeline

| Date | Event |

|------|-------|

| {date} | PR opened |

| {date} | First review |

| {date} | {outcome} |

## Feedback Analysis

### Positive Feedback

- {quote}

### Requested Changes

- {quote}

### Rejection Reasons (if applicable)

- {quote}

## Lessons Learned

### Lesson 1: {title}

**Context**: {when this applies}

**Learning**: {what we learned}

**Action**: {what to do differently}

## Updates to Process

{Any changes to make to pr-prep, pr-plan, or other skills}

## Next Steps

{Future actions based on this retro}

Anti-Patterns

DON'T

DO INSTEAD

Skip retros on merged PRs

Learn from success too

Blame maintainers

Focus on what YOU can change

Generic lessons

Specific, actionable learnings

Skip rejected PRs

Most valuable learning source

Examples

Learn From Rejected PR

User says: "Run a retro on why this PR was rejected."

What happens:

  • Analyze reviewer feedback and timeline.
  • Identify preventable process and scope issues.
  • Capture reusable lessons for future PRs.

Learn From Successful Merge

User says: "Extract what worked from this merged PR."

What happens:

  • Identify patterns that sped review/approval.
  • Distill actionable playbook updates.
  • Save lessons for future contribution flows.

Troubleshooting

Problem

Cause

Solution

Retro is generic

Feedback not tied to evidence

Cite specific comments/decisions and outcomes

No clear lesson extracted

Analysis stayed descriptive

Convert observations into behavior changes

Maintainer signal is mixed

Contradictory review comments

Separate hard blockers from preference feedback

Process changes not adopted

Lessons not operationalized

Add explicit updates to prep/plan/validate workflow

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card