Agent Skills › crbnos/carbon › pr-explainer

pr-explainer

GitHub

生成自包含HTML页面,以问题、上下文、前后对比等结构化方式解释PR变更,辅助代码审查者快速理解复杂改动。

.claude/skills/pr-explainer/SKILL.md crbnos/carbon

Trigger Scenarios

需要向审查者解释PR变更内容时 帮助理解复杂代码改动时 为特定分支生成审查页面时

Install

npx skills add crbnos/carbon --skill pr-explainer -g -y
More Options

Non-standard path

npx skills add https://github.com/crbnos/carbon/tree/main/.claude/skills/pr-explainer -g -y

Use without installing

npx skills use crbnos/carbon@pr-explainer

指定 Agent (Claude Code)

npx skills add crbnos/carbon --skill pr-explainer -a claude-code -g -y

安装 repo 全部 skill

npx skills add crbnos/carbon --all -g -y

预览 repo 内 skill

npx skills add crbnos/carbon --list

SKILL.md

Frontmatter
{
    "name": "pr-explainer",
    "description": "Build a self-contained HTML review aid at .pr-review\/{branch}.html that teaches a reviewer what a PR changes and why — problem, system context, before\/after flow, focused diffs, verification evidence, takeaway. Use when asked to explain a PR, help reviewers understand a complex change, or produce a review page for a branch. Do not use it as a substitute for review itself (\/self-review) or instead of a PR description."
}

pr-explainer — teach the PR in one HTML page

Output: one self-contained HTML file in .pr-review/ (gitignored) that a reviewer can open locally and understand the PR without GitHub. It supplements the real diff review; it never replaces it.

Announce at start: "Using the pr-explainer skill — building the review page for {branch}."

Step 1: Gather the facts (before writing any HTML)

BASE=$(git merge-base origin/main HEAD)
git status --short                      # current state
git log --oneline $BASE..HEAD           # the commits
git diff $BASE...HEAD --stat            # scope + the metrics numbers
git diff $BASE...HEAD                   # read the whole diff
gh pr view --json number,title,url 2>/dev/null   # if a PR exists

Also collect: verification already performed this session (test runs, browser checks, screenshots) — the page must report real evidence, not aspirations.

Step 2: Classify files and find the teaching order

Classify every changed file: core behavior · plumbing/integration · tests · metadata/release · incidental noise. Only core behavior and load-bearing plumbing get walkthrough sections; the rest gets at most one line.

Teach in this order (never raw diff order): problem → system context → before/after flow → key code changes → verification → reviewer takeaway.

Step 3: Fill the template

mkdir -p .pr-review
cp .claude/skills/pr-explainer/assets/template.html .pr-review/{branch}.html

The template has one section per teaching step, styled and ready — every spot to fill is marked with a <!-- FILL: ... --> comment. Work top to bottom:

  1. Header: PR number/title/branch/link; metrics from --stat (real numbers).
  2. Problem: previous behavior and why it was wrong/missing/risky, with a concrete example.
  3. System context: upstream callers, downstream effects, why this layer; name what is intentionally unchanged.
  4. Before → after flow: duplicate the .flow rows, mark changed nodes with class="node hot". Delete the section if the PR changes no flow. Put the one counterintuitive fact in the callout.
  5. Code walkthrough: one .diff block per important file — only the lines that matter (.add / .del / .ctx spans), each followed by a short paragraph: what it accomplishes and how it connects to the story.
  6. Tests & verification: exact commands run and their results. If a check was not run, say so and list the recommended command — never imply verification that didn't happen.
  7. Reviewer takeaway: the shortest useful mental model + what to focus on in the real diff.

Writing rules: plain language; define repo-specific terms at first use; small focused snippets over full patches; delete any template section that doesn't apply (empty sections are noise).

Step 4: Check and hand off

  • Every <!-- FILL --> comment is either filled or its section deleted
  • Metrics match git diff $BASE...HEAD --stat
  • Every claim in Verification corresponds to a command actually run
  • File opens standalone (no external assets) — it's one HTML file
  • .pr-review/ stays untracked (git status shows nothing staged from it)

Report: the output path, the PR story covered, and any verification gaps the page discloses.

Version History

  • dd8f587 Current 2026-08-20 16:17

Same Skill Collection

.claude/skills/agent-browser/SKILL.md
.claude/skills/auth/SKILL.md
.claude/skills/create-agents-md/SKILL.md
.claude/skills/debugging-difficult-bugs/SKILL.md
.claude/skills/error/SKILL.md
.claude/skills/execute/SKILL.md
.claude/skills/make-interfaces-feel-better/SKILL.md
.claude/skills/plan/SKILL.md
.claude/skills/pr-splitter/SKILL.md
.claude/skills/research/SKILL.md
.claude/skills/resolving-merge-conflicts/SKILL.md
.claude/skills/root-cause/SKILL.md
.claude/skills/rust-best-practices/SKILL.md
.claude/skills/smoke-test/SKILL.md
.claude/skills/supabase-postgres-best-practices/SKILL.md
.claude/skills/tdd/SKILL.md
.claude/skills/test-driven-development/SKILL.md
.claude/skills/test/SKILL.md
.claude/skills/writing-skills/SKILL.md
.claude/skills/carbon-design/SKILL.md
.claude/skills/carbon-docs/SKILL.md
.claude/skills/changelog-entry/SKILL.md
.claude/skills/check-and-commit/SKILL.md
.claude/skills/explain/SKILL.md
.claude/skills/feature/SKILL.md
.claude/skills/fix/SKILL.md
.claude/skills/grill/SKILL.md
.claude/skills/improve/SKILL.md
.claude/skills/inngest/SKILL.md
.claude/skills/rust/SKILL.md
.claude/skills/self-review/SKILL.md
.claude/skills/spec-writing/SKILL.md
.claude/skills/translate/SKILL.md
.claude/skills/ui/SKILL.md

Metadata

Files
0
Version
f9d7efd
Hash
58466e30
Indexed
2026-08-20 16:17

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-24 23:48
浙ICP备14020137号-1