MCPInstall

pr-explainer

Use when creating an approachable, self-contained HTML review aid for a pull request; explaining what changed, why it matters, how it works, and how it fits into the broader system; turning PR diffs, commits, tests, and architecture context into a local .pr-review/ HTML page for reviewers; or helping reviewers understand complex code changes without dumping the full diff.

Installs
52
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/mastra-ai/mastra --skill pr-explainer
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads pr-explainer automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

PR Explainer

Create a local, self-contained HTML page that teaches a reviewer the PR story: what changed, why it matters, how it works, how it fits into the system, and how it was verified.

Required workflow

  1. Understand the PR before writing HTML

    • Collect PR title/number, branch, link if available, base branch, commit range, changed files, and verification already performed.
    • Inspect the current state with git status --short.
    • Inspect recent commits with git log --oneline -n 10.
    • Inspect scope with git diff <base>...HEAD --stat and git diff <base>...HEAD.
    • If one commit carries the main change, inspect it with git show --stat <commit> and git show <commit>.
  2. Find the explanation path

    • Do not explain files in raw diff order.
    • Teach the change in this order when possible:
      1. problem,
      2. system context,
      3. before/after data or control flow,
      4. key code changes,
      5. proof from tests/builds/manual checks,
      6. reviewer takeaway.
    • Classify changed files as core behavior, plumbing/integration, tests, release metadata, or incidental noise.
    • Highlight only files that help explain the PR.
  3. Write for approachability

    • Use plain language, short sections, concrete before/after examples, small focused snippets, diagrams, tables, and callouts.
    • Explain the problem before implementation details.
    • Define acronyms or package-specific terms before using them.
    • Avoid dumping the full diff or assuming the reviewer already knows internal context.
  4. Create a local self-contained HTML file

    • Put generated files in .pr-review/.
    • Use one HTML file containing all CSS and content.
    • Do not commit .pr-review/ by default.
    • Prefer repo ignore rules or .git/info/exclude so generated review pages stay out of commits.

Recommended HTML structure

Use this structure unless the PR clearly needs a different teaching order:

  1. Hero

    • PR number/title, one-sentence summary, branch/link/status.
    • Small metrics: files changed, tests added, packages affected.
  2. Problem

    • Previous behavior.
    • Why it was wrong, confusing, missing, or risky.
  3. System Context

    • Where the change sits in the product or architecture.
    • Upstream callers, downstream behavior, and why this is the right layer.
    • Behavior intentionally not changed.
  4. Before/After Flow

    • Visual old path vs. new path when the PR changes flow, state, ownership, permissions, request handling, data transformation, or component relationships.
  5. Code Walkthrough

    • Step-by-step explanation path.
    • Focused diffs for important files only.
    • Explain what each snippet accomplishes and why it is necessary.
  6. Tests / Verification

    • Tests added or updated.
    • Commands run for tests, build, typecheck, lint, or manual verification.
    • Known unrelated warnings or failures, if any.
  7. Reviewer Takeaway

    • The shortest useful mental model of the PR.
    • What the reviewer should focus on while reviewing the actual diff.

Diagrams

Add diagrams when they reduce cognitive load. Prefer simple HTML/CSS diagrams over external dependencies.

Good diagram types:

  • Request flow: Client → Server → Handler → Service → Result
  • Before/after path: broken path vs. fixed path
  • Ownership map: package/module responsibility boundaries
  • Data transformation: input → normalized form → output
  • State machine: pending → running → complete/error

Each diagram must answer: “What does this help the reviewer understand faster?”

Focused diff snippets

Show snippets along the explanation path, not giant patches. Each important snippet should include:

  • file path,
  • relevant added/removed lines only,
  • visual styling for additions/removals,
  • a short explanation,
  • connection back to the PR story.

Use this pattern:

<div class="diff">
  <div class="diff-title">packages/example/src/file.ts</div>
  <pre>
<span class="del">- old behavior</span>
<span class="add">+ new behavior</span>
  </pre>
</div>

A reviewer should understand the PR without opening GitHub, but the page should not replace the final full diff review.

Verification requirements

End with proof. Include exact commands when available, for example:

pnpm --filter @scope/package test path/to/test.ts -- --run
pnpm turbo build --filter ./packages/package

If verification was not run, say so clearly and list the recommended commands.

Final checklist

Before calling the page done, confirm it has:

  • clear one-sentence summary,
  • problem statement,
  • before/after explanation,
  • broader system context,
  • visual diagram where useful,
  • step-by-step code walkthrough,
  • focused diffs with file paths,
  • tests and verification commands,
  • reviewer takeaway,
  • self-contained HTML/CSS,
  • stored in .pr-review/,
  • not staged or committed unless explicitly requested.

Default output

When asked to create a PR explainer, produce or update a .pr-review/*.html file and summarize:

  1. output path,
  2. PR story covered,
  3. key sections included,
  4. verification evidence included,
  5. whether .pr-review/ remains untracked or excluded.

FAQ

What does the pr-explainer skill do?

Use when creating an approachable, self-contained HTML review aid for a pull request; explaining what changed, why it matters, how it works, and how it fits into the broader system; turning PR diffs, commits, tests, and architecture context into a local .pr-review/ HTML page for reviewers; or helping reviewers understand complex code changes without dumping the full diff.

How do I install pr-explainer?

Run npx skills add https://github.com/mastra-ai/mastra --skill pr-explainer in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/pr-explainer/ (personal) or .claude/skills/pr-explainer/ (project).

Which AI agents can use pr-explainer?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is pr-explainer safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains pr-explainer?

It is published by mastra-ai in mastra-ai/mastra, and it is an official skill from the maker of the technology it covers. It has 52 recorded installs.

More from mastra-ai/mastra

View all →

react-best-practices

mastra-ai/mastra

React performance optimization guidelines from Mastra Engineering. This skill should be used when writing, reviewing, or refactoring React code to ensure optimal performance patterns. Triggers on tasks involving React components, data fetching, bundle optimization, or performance improvements.

OfficialCode Quality & Workflow2.8K installs

ralph-plan

mastra-ai/mastra

Interactive planning assistant that helps create focused, well-structured ralph-loop commands through collaborative conversation

OfficialCode Quality & Workflow2.6K installs

smoke-test

mastra-ai/mastra

Create a Mastra project using create-mastra and smoke test the studio in Chrome using Chrome MCP server

OfficialTesting & QA2.5K installs

e2e-tests-studio

mastra-ai/mastra

REQUIRED when modifying any file in packages/playground-ui or packages/playground. Triggers on: React component creation/modification/refactoring, UI changes, new playground features, bug fixes affecting studio UI. Generates Playwright E2E tests that validate PRODUCT BEHAVIOR, not just UI states.

OfficialTesting & QA2.5K installs

tailwind-best-practices

mastra-ai/mastra

Tailwind CSS styling guidelines for Mastra Playground UI. This skill should be used when writing, reviewing, or refactoring styling code in packages/playground-ui and packages/playground to ensure design system consistency. Triggers on tasks involving Tailwind classes, component styling, or design tokens.

OfficialFrontend & Design2K installs

mastra-docs

mastra-ai/mastra

Documentation guidelines for Mastra. Use this skill when creating, editing, moving, deleting, or reviewing Mastra documentation, sidebars, redirects, or docs components.

OfficialDocs & Writing158 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.