Agent skill

PR Walkthrough

by warpdotdev in warpdotdev/common-skills

Generate a static interactive D3 walkthrough of a pull request.

MITAuto-check passedDevelopment

Install PR Walkthrough

skills CLI
$ npx skills add warpdotdev/common-skills --skill pr-walkthrough -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install warpdotdev/common-skills pr-walkthrough --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/warpdotdev/common-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pr-walkthrough .claude/skills/pr-walkthrough && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pr-walkthrough
GitHub stars
606
Used in
1 other repo
Token cost
~7.2k tokens
SKILL.md length
3,800 words
Files
3 (incl. scripts)
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Generate a static interactive D3 walkthrough of a pull request.

  • Works in 8 steps: Establish PR context → Collect visual source material → Build GitHub diff links → …
  • The user wants a zoomable PR map
  • SKILL.md covers Output, Brand styling, Workflow and Orientation heuristics, plus 1 more section
  • Runs Python scripts from its folder; calls git, gh and python3; reaches cdn.jsdelivr.net and github.com

What it does

PR Walkthrough is an agent skill from warpdotdev/common-skills. Generate a static interactive D3 walkthrough of a pull request. Use when the user wants a zoomable PR map, graph/canvas PR orientation, or alternate visualization of PR system components, data flow, code dependencies, and user actions.

Its SKILL.md is about 7.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/d3_canvas_runtime.py` and `scripts/validate_d3_canvas.py`).

It sits in Development, covering Pull requests. The licence is MIT.

When your agent uses it

  • The user wants a zoomable PR map
  • Graph/canvas PR orientation
  • Alternate visualization of PR system components
  • Code dependencies

Example prompts

  • “/pr-walkthrough”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Establish PR context
  2. Collect visual source material
  3. Build GitHub diff links
  4. Analyze the PR as four guided views
  5. Create the canvas data model
  6. Build the static site
  7. Validate the walkthrough
  8. Optional public publishing with Cloudflare Pages

What it can do on your machine

Read from SKILL.md and the folder at commit 69b4753. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • gh
    • python3
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • cdn.jsdelivr.net
    • github.com
    • warp-pr-walkthroughs.pages.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PR Walkthrough loads about 7.2k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 3,800 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~63
When it runs · the whole SKILL.md, loaded when a task matches
~7.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from warpdotdev/common-skills at commit 69b4753, republished under its MIT licence (© warpdotdev). 3,800 words, ~7,211 tokens.

Download SKILL.mdSave it as .claude/skills/pr-walkthrough/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
pr-walkthrough
description
Generate a static interactive D3 walkthrough of a pull request. Use when the user wants a zoomable PR map, graph/canvas PR orientation, or alternate visualization of PR system components, data flow, code dependencies, and user actions.

PR Walkthrough

Create a local static HTML/CSS/JavaScript walkthrough that orients a reviewer to the current branch's pull request as four separate interactive D3 views. The walkthrough should help the reviewer understand the affected code and the PR from four distinct views:

  • System overview view: a concise standalone code overview for the subsystem touched by the PR. It should not feel like a graph. Present it as a small set of expanded component cards that give the reviewer just enough architectural context to get their bearings before reviewing the PR. Do not mention the PR, changed files, review comments, diff links, screenshots, specs, or implementation deltas in this view.
  • Data flow graph: how state, data, events, requests, files, assets, or rendered output move through the changed system.
  • Code dependency graph: which changed components depend on each other, where the major seams are, and which files are entry points versus leaf dependencies.
  • User action graph: what the user does, what surface they interact with, and how that action flows through the implementation. This skill is an experiment in canvas-based PR comprehension. Do not reproduce the slideshow format. Do not put all perspectives on one graph. Generate four separate canvas views that the user can toggle between, and provide a guided tour within each view so the site teaches the PR from start to finish. Scale the walkthrough to the PR size: a small PR should feel like a compact reviewer aid, not a comprehensive architecture document. This skill is not a code-review skill. Do not generate new review findings, approve/request-changes recommendations, or exhaustive critique. Use the full codebase at the PR/head commit, the PR diff, PR description, specs changed by the PR, and existing review comments from humans or agents to produce orientation maps that help a reviewer understand the change quickly.

Output

Create a self-contained site at:

  • .warp/pr-walkthrough/index.html The site must be loadable directly from the local filesystem with a file:// URL. Do not require a dev server, package install, bundler, or build step. Prefer one self-contained HTML file with inline CSS, inline JavaScript, and inline data. If splitting files is unavoidable, use only relative local files and avoid fetch() because browser restrictions can block local file reads. D3 should be loaded from a pinned official release on a reputable CDN. Use the helper script's default unless there is a concrete reason to change it:
  • https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js Do not use unpinned latest URLs, unofficial builds, or dynamic package ranges. Do not show repeated D3 implementation disclaimers in the UI. Keep CDN/runtime details in validation logs or final caveats only when relevant. For reusable deterministic D3 rendering, prefer the helper script at scripts/d3_canvas_runtime.py. It emits Brandalf-aligned CSS, an inline runtime loader that defines the renderer before injecting the pinned D3 script, and a graph renderer with zoom, pan, graph switching, search, node details, fit-to-view, and guided tour controls. Use this helper rather than writing one-off D3 setup code in each generated walkthrough. The generated canvas must be treated as generated code that requires validation. Before reporting that a walkthrough is ready, run scripts/validate_d3_canvas.py against the generated HTML. If the canvas fails to initialize, D3 fails to load, required graphs are missing, tour controls do not work, nodes/edges do not render, or browser validation cannot be performed in an environment where it should be available, debug and regenerate before saying the walkthrough is ready. If a browser-capable environment is genuinely unavailable, report canvas rendering as unverified instead of ready.

Brand styling

Use the brandalf skill when generating or revising walkthrough visual design. Brandalf points to the hosted Warp brand source of truth; fetch and apply it before writing the HTML/CSS for the walkthrough. If the hosted brand source is unavailable, proceed with the fallback tokens below and report the caveat in the final response. Apply these Brandalf-derived defaults unless the fetched brand source says otherwise:

  • Use a Warp dark surface: #121212 for the page background, #1e1e1d/#292929 for panels, and #faf9f6 or #ffffff for text.
  • Use Warp pink accent #a43787 intentionally for active states, key links, focus rings, selected tour steps, and high-emphasis labels. Use secondary green #34895c, blue #2e5d9e, and purple #754dac as graph colors.
  • Use Matter for UI/body text with DM Sans, system-ui, sans-serif fallback. Use Matter Mono for code, metadata, canvas labels, coordinates, file paths, and machine-oriented snippets with Roboto Mono, ui-monospace, monospace fallback.
  • Keep copy truth-seeking, technical, concise, and verifiable. Avoid marketing superlatives and generic buzzwords.
  • Prefer sharp, documentation-like containers with subtle borders. Use rounded corners only where they improve readability for cards, node callouts, tooltips, and buttons. Recommended graph colors:
  • System overview view: yellow #c0872a
  • Data flow graph: green #34895c
  • Code dependency graph: blue #2e5d9e
  • User action graph: purple #754dac
  • Active/focus/selected node: pink #a43787

Workflow

1. Establish PR context

Identify the repository root, current branch, and comparison base. Use the PR base branch if the current branch already has a GitHub PR, and record the PR URL for GitHub diff links:

bash
gh pr view --json baseRefName,headRefName,title,body,url,state,reviewRequests,reviews,files

If there is no PR, infer the base branch from local repository conventions or the remote default branch:

bash
git symbolic-ref --short refs/remotes/origin/HEAD

Then collect the review inputs:

bash
git --no-pager diff --stat <base>...HEAD
git --no-pager diff --name-status <base>...HEAD
git --no-pager log --oneline <base>..HEAD
git --no-pager diff <base>...HEAD

Estimate PR size from changed lines, changed files, and conceptual breadth before building views. Default to the smallest useful walkthrough:

  • Tiny PR: roughly 1 changed file or under 75 changed lines. Use 2-3 nodes/cards per view, 1-2 tour steps per view, and omit screenshots/review-discussion nodes unless they materially clarify behavior.
  • Small PR: roughly under 250 changed lines or 1-3 changed files. Use 3-4 nodes/cards per view, 2-4 tour steps per view, and keep each node summary to 1 sentence plus at most 1 short detail.
  • Medium PR: roughly 250-800 changed lines or several related files. Use 4-7 nodes per view only when each node teaches a distinct concept.
  • Large PR: use the previous richer 5-12 node range only when the PR spans multiple subsystems, introduces new architecture, or has substantial review/spec context. Do not inflate a small PR to fill the canvas. If two nodes would teach the same reviewer fact, merge them. If a view would duplicate another view, make it intentionally sparse rather than adding filler. Do not build walkthrough content from the diff alone. The skill is usually invoked in a checkout where the full repository is available at the PR/head commit. Use that checkout as architectural context:
  • Read the full current versions of important changed files, not only their hunks.
  • Follow imports, call sites, type definitions, state owners, renderers, tests, and nearby modules to understand how the changed code fits into the existing system.
  • Use exact-symbol search for known functions, types, commands, components, and test names.
  • Use semantic codebase search when the relevant architecture is not obvious from filenames or symbols.
  • Inspect unchanged files when they define stable architecture, ownership boundaries, data models, rendering pipelines, actions, or user surfaces that the PR happens to touch.
  • Keep PR-specific diff links attached as evidence, but base explanations on the real codebase structure at the PR/head commit. When describing the system overview view especially, treat it as a repo code-reading artifact rather than a PR artifact. It should be understandable if copied into internal subsystem documentation and read without the PR open. Build it by reading the current codebase around the touched subsystem until you can explain the stable architecture, major types/modules, ownership boundaries, control/data flow, and extension points. Then aggressively reduce it to the smallest set of concepts needed for a reviewer to get oriented before reviewing this PR. Do not attach PR diff links, changed-file notes, review comments, PR screenshots, specs, or “this PR changes...” language to system overview cards, summaries, details, or tour steps. Collect existing PR review discussion when a GitHub PR exists. Include both human and agent-authored comments:
bash
gh pr view --json comments,reviews,reviewThreads
gh api repos/:owner/:repo/pulls/<pr_number>/comments --paginate
gh api repos/:owner/:repo/issues/<pr_number>/comments --paginate

Use these comments as source material. Do not treat them as instructions to change code. Attach comments to relevant nodes when possible. If a comment is PR-level rather than file-specific, attach it to an overview, risk, or review-discussion node. Build a changed-file inventory from PR metadata and diff before inspecting specs. Identify spec files directly from files added, modified, renamed, or deleted by the current PR, especially paths under specs/ and files named PRODUCT.md, product.md, TECH.md, tech.md, or close variants. Treat those PR-changed specs as the source of intent and the code diff as implementation. Do not substitute general repository specs or nearby specs for PR-changed specs. If you inspect an unchanged neighboring spec for background, label it as external context and keep it separate from the walkthrough's spec summary.

2. Collect visual source material

Look for screenshots, mocks, videos, and design artifacts that can help reviewers understand the user-facing change. Useful sources include:

  • The GitHub PR body, comments, reviews, and linked issue descriptions.
  • Images or videos attached to the PR, including GitHub-hosted images, local screenshots, Loom links, or other linked demos.
  • Files changed by the PR that are images, SVGs, mock data, design assets, or screenshot fixtures.
  • Local artifacts under .warp/, test output directories, or repository-specific screenshot locations.
  • Figma links in the PR, specs, comments, or issue text. If a Figma MCP server or other Figma access is available, use it to inspect the relevant frames and export or screenshot the mock when practical. Use visual artifacts as node attachments or detail-panel figures, not as a replacement for explaining the diff. Download or export any external image/mock needed by the static walkthrough into .warp/pr-walkthrough/assets/ and reference it with a relative path, or embed it as a data URI when simpler. Do not hotlink remote images in the generated HTML.

Every changed file reference, node attachment, code excerpt, file path, and dependency edge should link back to the exact file in the GitHub PR diff when the PR URL is known. Prefer links to the PR's Files changed tab rather than branch blobs. Use this GitHub PR diff URL format:

text
<pr_url>/files#diff-<file_anchor>

For line-specific links, append the diff-side line anchor:

text
<pr_url>/files#diff-<file_anchor>R<new_line>
<pr_url>/files#diff-<file_anchor>L<old_line>

Where:

  • <pr_url> is the canonical PR URL from gh pr view --json url.
  • <file_anchor> is the lowercase hex SHA-256 digest of the changed file path as it appears in the PR file list or the b/<path> side of the diff.
  • R<new_line> links to a line on the right/new side of the diff.
  • L<old_line> links to a line on the left/old side of the diff. Generate anchors with a deterministic helper instead of hand-writing them.
4. Analyze the PR as four guided views

Build four view models before writing the HTML. Each view should contain points of interest, not every changed file. For each graph, decide:

  • What is the first node a reviewer should understand?
  • What sequence of nodes teaches the PR best from start to finish?
  • For graph views, what edges connect those nodes, and what relationship does each edge explain?
  • Which changed files, specs, tests, visuals, and existing review comments attach to each node?
  • What should the reviewer inspect if they click that node? Before finalizing content, cross-check each important node against the actual source files at the PR/head commit. For the system overview view, inspect the existing owning module and adjacent unchanged modules first, then use the diff only to identify which subsystem to study. For the other graphs, use the diff to attach evidence and describe the PR-specific path. Each view needs a tour: a sequence of node IDs and explanatory text. The tour should guide the reviewer in a deliberate order. It should not merely select nodes in arbitrary file order. Directed graphs must make direction visually explicit. Data-flow, code-dependency, and user-action edges must render with arrowheads that visibly land at the target node boundary rather than disappearing underneath the node. Edge labels should describe the relationship direction from source to target. The system overview view should normally have zero edges; if an edge feels necessary, the view is probably drifting back into graph territory and should be simplified. Use these view roles:
  • System overview view: teach the architecture of the subsystem the PR happens to touch as a standalone code overview. Do not structure it as a PR change list, diff summary, implementation path, dependency graph, reviewer checklist, or comprehensive subsystem documentation. Do not attach PR diff links, changed-file annotations, review comments, PR screenshots, or spec/issue intent to this view. For small PRs, prefer 2-3 stable component concepts; for larger PRs, use up to 4-7 only when every card is necessary. Each card should be visually larger than graph nodes and should expose a short paragraph in the canvas, not just a label. The paragraph should define the component and why it matters for orientation, while staying strictly limited to the context needed for a reviewer to get their bearings before reviewing the PR. Card titles, summaries, details, and tour steps should describe how the system works in general and should remain true outside this PR. Set card dimensions explicitly when useful, for example width: 340, height: 180, and summaryLines: 5 for concise cards.
  • Data flow graph: emphasize how information or state moves. Start with intent/spec input, then source/defaults/state, then layout/render output, then async asset or validation loops.
  • Code dependency graph: emphasize ownership and dependency direction. Start with specs/entry points, then model/view/command seams, then editor rendering elements, then tests.
  • User action graph: emphasize the user path. Start with the surface, then the action, then visible feedback and error/loading states. A useful non-overview graph usually has 3-5 nodes for small PRs and 5-12 nodes only for larger PRs. It is okay for the same conceptual point to appear in multiple graphs with graph-specific coordinates and graph-specific explanatory text, but avoid repeating the same explanation across views.
Show full SKILL.md (1,549 more words)Show less
5. Create the canvas data model

Store graph data inline in the HTML as JSON assigned to window.PR_WALKTHROUGH_D3_DATA. Do not load JSON with fetch(). Use this shape:

json
{
  "meta": {
    "title": "PR title",
    "prUrl": "https://github.com/owner/repo/pull/123",
    "baseRef": "master",
    "headRef": "feature-branch",
    "summary": "What the PR is trying to accomplish."
  },
  "graphs": [
    {
      "id": "system-overview",
      "label": "System overview",
      "color": "#c0872a",
      "summary": "Concise component overview for the affected subsystem.",
      "nodes": [],
      "edges": [],
      "tour": []
    },
    {
      "id": "data-flow",
      "label": "Data flow graph",
      "color": "#34895c",
      "summary": "How state and rendered output move through the change.",
      "nodes": [
        {
          "id": "intent",
          "title": "Intent",
          "kind": "overview",
          "x": 0,
          "y": 0,
          "summary": "The change this PR is trying to make understandable.",
          "details": ["Concise evidence-grounded explanation."],
          "files": [{ "path": "specs/example/product.md", "url": "<github_diff_url>" }],
          "comments": [{ "author": "reviewer", "body": "Existing review discussion.", "url": "<comment_url>" }],
          "links": [{ "label": "PR", "url": "<pr_url>" }]
        }
      ],
      "edges": [
        { "source": "intent", "target": "surface", "label": "default flows into" }
      ],
      "tour": [
        { "nodeId": "intent", "title": "Start with intent", "body": "Teach why this point matters." }
      ]
    }
  ]
}

Coordinate and scale guidance:

  • Put start nodes toward the left/top.
  • Put the tour path left-to-right or top-to-bottom where practical.
  • Keep related nodes close enough that the tour step and edges are visually obvious.
  • Keep lower-level dependencies farther right/down from their callers.
  • For the system overview view, change the scale from graph nodes to expanded reference cards. Use fewer cards, larger card dimensions, paragraph-length summaries, and a simple readable layout. Place peer architectural components in a compact reference map around the central subsystem concept, not around the PR intent. Do not include PR evidence, changed-file links, review comments, screenshots, specs, or PR-specific nodes in this view. Prefer edges: [].
  • For small PRs, keep graph coordinates compact enough that each view is readable without panning. Prefer a short left-to-right chain over a broad map.
6. Build the static site

The site must work for both humans and browser automation agents. Required UI behavior:

  • One zoomable, pannable SVG canvas powered by D3 zoom that renders the currently active graph.
  • Visible view toggles: System overview, Data flow graph, Code dependency graph, and User action graph.
  • Visible tour controls: Previous tour step, Next tour step, Restart tour, and an indicator such as Step 2 / 7.
  • Search input for node titles, file paths, and attached comment text within the active graph.
  • Clickable nodes that open or update a persistent detail panel and sync the tour to that node when it appears in the tour.
  • Edge labels for relationship meanings.
  • Keyboard support:
    • Right Arrow or n: next tour step.
    • Left Arrow or p: previous tour step.
    • 1: system overview view.
    • 2: data flow graph.
    • 3: code dependency graph.
    • 4: user action graph.
    • + or =: zoom in.
    • -: zoom out.
    • 0: reset zoom.
    • f: fit to view.
    • /: focus search.
    • Escape: clear search or selection.
  • Stable headings, button labels, data-graph-id, data-node-id, data-edge-id, and data-tour-index attributes so a computer-use agent can click through and capture screenshots reliably. Required content behavior:
  • Show the PR title, base/head refs, and short intent summary above or beside the canvas.
  • Include exactly four view definitions in data: system-overview, data-flow, code-dependency, and user-action.
  • Each view must have its own nodes and tour. Data-flow, code-dependency, and user-action graphs must have directed edges. The system overview view should normally have zero edges and use larger cards with visible paragraph text so it reads as an overview, not as a graph.
  • Every rendered edge in a directed graph must use a visible arrowhead at its target node and a relationship label that reads source-to-target.
  • System overview content must be PR-agnostic and tightly scoped. It should educate the reviewer about only the app architecture needed to get oriented for reviewing the PR, without referencing the PR, changed files, review comments, screenshots, specs, or implementation deltas. Put PR-specific evidence and annotations in the data-flow, code-dependency, or user-action graphs instead.
  • Each tour step must point at a node and explain why that node matters at that point in the walkthrough.
  • Each node must have explanatory text in the detail panel. System overview cards must also show a full paragraph on the canvas itself and explain stable code concepts rather than PR changes.
  • Each changed-file reference should link to the GitHub PR diff URL.
  • PR-changed specs must be represented as nodes or node attachments. If the PR changes no specs, include an explicit "No PR-changed specs found" node or note.
  • Existing human and agent review comments must be attached to relevant nodes or summarized in a review-discussion node.
  • Visual artifacts should appear as node attachments in the detail panel.
  • For tiny and small PRs, represent missing specs, review discussion, and visuals as terse detail-panel notes on an existing node instead of standalone nodes, unless they materially change how the reviewer should read the PR.
  • Use Brandalf-aligned Warp styling: dark #121212 surfaces, off-white text, Matter/Matter Mono typography, pink active accents, and graph colors from the brand palette. Use helper output:
bash
python3 .agents/skills/pr-walkthrough/scripts/d3_canvas_runtime.py --css
python3 .agents/skills/pr-walkthrough/scripts/d3_canvas_runtime.py --runtime
python3 .agents/skills/pr-walkthrough/scripts/d3_canvas_runtime.py --template --data graph.json > .warp/pr-walkthrough/index.html
7. Validate the walkthrough

Before finishing:

  1. Open the generated index.html path or print the exact file:// URL.
  2. Verify the HTML does not require network access except for the explicitly documented, pinned official D3 CDN runtime.
  3. Confirm D3 uses a concrete pinned URL and no latest package reference.
  4. Confirm fetch() is not used for local JSON/data loading.
  5. Confirm graph data includes exactly the required graph IDs: system-overview, data-flow, code-dependency, and user-action.
  6. Confirm all required controls are present: Fit to view, Reset zoom, System overview, Data flow graph, Code dependency graph, User action graph, Previous tour step, Next tour step, and Restart tour.
  7. Confirm each view renders nodes/cards in a browser, confirm the system overview renders expanded paragraph cards with no PR-specific attachments, and confirm all non-overview graphs render directed edges with visible arrowheads.
  8. Confirm graph switching, tour navigation, keyboard shortcuts, zoom, pan, fit-to-view, search, and node detail selection work.
  9. Confirm every graph has a non-empty tour and every tour step points to an existing node.
  10. Confirm every node has explanatory text and relevant changed-file links where applicable, except system overview cards, which should not include PR diff links, changed-file annotations, review comments, screenshots, specs, or implementation deltas.
  11. Confirm PR-changed specs and existing PR review comments were fetched and either represented in the graphs or explicitly reported as absent/unavailable.
  12. Confirm screenshots, mocks, Figma exports, changed images, and video thumbnails referenced by the walkthrough are local relative assets or data URIs, not remote hotlinks.
  13. Confirm the site uses Brandalf/Warp styling.
  14. Run the reusable validator:
bash
python3 .agents/skills/pr-walkthrough/scripts/validate_d3_canvas.py --html .warp/pr-walkthrough/index.html --require-browser

Do not report the walkthrough as ready if validation fails or cannot be performed in a browser-capable environment; fix the graph or report rendering as unverified.

8. Optional public publishing with Cloudflare Pages

By default, keep walkthrough artifacts under .warp/pr-walkthrough/ and out of version control. If the user asks for a publicly accessible URL or a repeatable CLI publishing workflow, prefer Cloudflare Pages Direct Upload after the walkthrough has passed validation. Prerequisites:

  • The user needs a Cloudflare account.
  • For local interactive use, run Wrangler login once:
bash
npx wrangler login
  • Create the Pages project once, unless it already exists:
bash
npx wrangler pages project create warp-pr-walkthroughs --production-branch main

Use the generated walkthrough directory as the upload root:

bash
npx wrangler pages deploy .warp/pr-walkthrough \
  --project-name warp-pr-walkthroughs \
  --branch pr-<pr-number>-$(git rev-parse --short HEAD) \
  --commit-dirty=true

For a stable “latest walkthrough” URL, deploy to the production branch instead:

bash
npx wrangler pages deploy .warp/pr-walkthrough \
  --project-name warp-pr-walkthroughs \
  --branch main \
  --commit-dirty=true

Wrangler prints both a deployment URL and, for non-production branch uploads, a deployment alias URL. Capture the URL from stdout and report it to the user. The production branch URL is normally:

text
https://warp-pr-walkthroughs.pages.dev

Branch preview URLs normally use this shape:

text
https://pr-<pr-number>-<sha>.warp-pr-walkthroughs.pages.dev

Important publishing caveats:

  • Newly created Cloudflare Pages projects may serve the production URL before preview-subdomain TLS has finished provisioning. If a preview URL fails in Chrome with ERR_SSL_VERSION_OR_CIPHER_MISMATCH, wait and retry, or deploy to --branch main and use the production URL for immediate sharing.
  • If wrangler warns that the working directory has uncommitted changes, pass --commit-dirty=true for generated .warp/ artifacts that should not be committed.
  • For private code or sensitive PR context, do not publish to a public URL unless the user explicitly accepts that exposure. Use protected hosting, Cloudflare Access, or a local file:// URL instead.
  • Post only the short public URL in PR comments; do not commit or embed the generated HTML artifact in the repository unless the user explicitly asks.

Orientation heuristics

When deciding what to highlight:

  • Emphasize the smallest set of points of interest reviewers need to understand the PR's purpose, design, architecture, and user impact.
  • Prefer fewer, better nodes. A 100-200 line PR should normally produce a compact walkthrough with about 10-16 total nodes/cards across all views, not 30+.
  • Use the full codebase at the PR/head commit as the source of architecture truth. Diffs show what changed, but existing code explains what the changed pieces mean. The system overview view should be based on codebase exploration, not on the diff.
  • For the system overview, stop after the reader has enough bearings to review the PR; do not include every subsystem touched indirectly or every implementation dependency.
  • Prefer nodes for concepts, subsystems, state owners, user surfaces, important specs, and review-discussion hotspots.
  • Prefer edges for cause/effect, data movement, call/dependency direction, and user-action progression.
  • Prefer the tour for teaching order. The graph can show relationships, but the tour should guide comprehension.
  • De-emphasize generated files, mechanical renames, formatting-only changes, and repetitive boilerplate.
  • Explain why each high-level point needs each lower-level dependency.
  • Surface behavioral or architectural risks as orientation notes, especially when they are documented in specs, PR description, tests, or existing review comments.
  • Connect tests back to the node or edge they validate.
  • If specs and code diverge, represent the mismatch as a node or annotation instead of hiding it.
  • Do not attempt to perform a fresh code review. If you notice something while orienting the reviewer, frame it as an area to inspect rather than a finding unless it is already present in PR review discussion.

Final response

Report:

  • The generated walkthrough path.
  • The file:// URL.
  • The inferred base branch and PR title or branch name.
  • The GitHub PR URL used for diff links.
  • Whether PR review comments were found and included.
  • Whether D3 canvas validation passed.
  • If published, the public Cloudflare Pages URL and whether it is a production URL or branch preview URL.
  • Any important caveats, missing specs, or validation that could not be performed.

© warpdotdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .agents/skills/pr-walkthrough of warpdotdev/common-skills.

  • SKILL.md
  • scripts/d3_canvas_runtime.py
  • scripts/validate_d3_canvas.py

Open the folder on GitHubat commit 69b4753

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in warpdotdev/common-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

PR Walkthrough next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PR Walkthrough compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Walkthrough this skillwarpdotdev/common-skills6061 repos~7.2kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
Understand Diff AnalysisEgonex-AI/Understand-Anything85k1 repos~1.4kAutomated safety check: PassMIT
PR Design DocOpenHands/OpenHands90k—~2.4kAutomated safety check: PassMIT

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • Understand Diff Analysis

    Egonex-AI/Understand-Anything

    Reads your git changes or a pull request against a prebuilt knowledge graph of the project to explain what changed, which components are affected and what is risky.

    85k GitHub starsUsed in 1 repo~1.4k tokens
    DevelopmentAuto-check passed
  • PR Design Doc

    OpenHands/OpenHands

    For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…

    90k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • WooCommerce Code Review

    woocommerce/woocommerce

    Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.

    11k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed

More from warpdotdev/common-skills

All 28 skills in this repo
  • Skill Doctor

    warpdotdev/common-skills

    Grades agent skills by scoring agent conversations for efficiency, code quality, procedure compliance, and verbosity, then drafts concrete skill edits and a shareable report.

    606 GitHub starsUsed in 2 repos~2.6k tokens
    Auto-check passed
  • Readout

    warpdotdev/common-skills

    Produce a polished, self-contained HTML "readout" document under ~/.readouts (with an auto-maintained index page), either by snapshotting the findings accumulated in the current conversation or —…

    606 GitHub stars~2k tokensUpdated 6 days ago
    Auto-check passed
  • Resolve Merge Conflicts

    warpdotdev/common-skills

    Resolve Git merge conflicts by extracting only unresolved paths, conflict hunks, and compact diffs instead of loading whole files into context.

    606 GitHub stars~733 tokensUpdated 6 days ago
    Auto-check passed
  • Review PR

    warpdotdev/common-skills

    Review a pull request diff and write structured feedback to review.json for the workflow to publish.

    606 GitHub stars~2.6k tokensUpdated 6 days ago
    Auto-check passed
  • Saga

    warpdotdev/common-skills

    Run an autonomous, spec-driven development "saga" for medium-to-large features using an orchestrator agent and a fleet of worker subagents.

    606 GitHub stars~4.1k tokensUpdated 6 days ago
    Auto-check passed
  • Update Skill

    warpdotdev/common-skills

    Create or update skills by generating, editing, or refining SKILL.md files in this repository.

    606 GitHub stars~1.2k tokensUpdated 6 days ago
    Auto-check passed

Categories

Questions about PR Walkthrough

What does PR Walkthrough do?

Generate a static interactive D3 walkthrough of a pull request. PR Walkthrough is an agent skill from warpdotdev/common-skills. Generate a static interactive D3 walkthrough of a pull request.

When should I use PR Walkthrough?

PR Walkthrough fits situations like: the user wants a zoomable PR map; graph/canvas PR orientation; alternate visualization of PR system components; code dependencies.

How do I install PR Walkthrough in Claude Code?

Run `npx skills add warpdotdev/common-skills --skill pr-walkthrough -a claude-code`. Or copy the skill folder (.agents/skills/pr-walkthrough in warpdotdev/common-skills) into .claude/skills/pr-walkthrough in your project. Claude Code loads it when a task matches its description.

How do I install PR Walkthrough in Codex?

Run `npx skills add warpdotdev/common-skills --skill pr-walkthrough -a codex`. Or copy the skill folder (.agents/skills/pr-walkthrough in warpdotdev/common-skills) into .agents/skills/pr-walkthrough in your project. Codex loads it when a task matches its description.

Can I use PR Walkthrough in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add warpdotdev/common-skills --skill pr-walkthrough -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-walkthrough, .gemini/skills/pr-walkthrough, .github/skills/pr-walkthrough and .opencode/skills/pr-walkthrough in your project.

What does PR Walkthrough need to run?

Going by SKILL.md and its folder, PR Walkthrough needs Python for the scripts in its folder and the command-line tools its instructions call (git, gh, python3 and npx). Our summary lists: Python 3.

Does PR Walkthrough access the network?

SKILL.md names 3 domains. In commands or code: cdn.jsdelivr.net, github.com and warp-pr-walkthroughs.pages.dev; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is PR Walkthrough safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does PR Walkthrough use?

PR Walkthrough is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PR Walkthrough use?

About 7.2k tokens (SKILL.md is roughly 29k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to PR Walkthrough?

Skills that share tags, products or a category with PR Walkthrough: Finishing a Development Branch (obra/superpowers, 296k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and Understand Diff Analysis (Egonex-AI/Understand-Anything, 85k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Walkthrough?

warpdotdev (a GitHub organization) maintains it in warpdotdev/common-skills, which has 606 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on September 30, 2026.

Source: warpdotdev/common-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.