Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

visual-pr — Claude Code skill: PR descriptions from diffs in seconds

A skill that automates pull request descriptions: reads the diff, gathers context, and fills a template so reviewers understand why the change exists and how it's shaped.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add humanlayer/skills --skill visual-pr -a claude-code
Open on GitHub

What visual-pr does

visual-pr follows six steps: find or create a PR for the current branch, read the ticket and diff, pick only what reviewers need, then fill a template. The description contains one sentence on why the change exists, 1–3 bullets on special notes (migrations, breaking changes, deliberate tradeoffs), and a structural overview—tree of files, data schema, component graph, or call-flow—depending on what changed.

The skill uses gh pr view and git status to understand the branch, reads source artifacts with Read(), and saves the description to .humanlayer/tasks/ or .humanlayer/tasks/pr-{number}/. Language is deliberately plain: no jargon, human-to-human.

What it helps with

  • Write a PR description that explains the change without repeating the diff line by line
  • Extract from code and tickets only the details that matter to a reviewer
  • Create a structural overview of changes for large PRs with many files
  • Save the description to task history in .humanlayer/tasks/

Example prompts for the agent

  • Write a PR description for the current branch
  • Describe the pull request I just pushed
  • Generate a PR description using the template

How to install visual-pr

1Skills CLI (Vercel)

npx skills add humanlayer/skills --skill visual-pr -a claude-code

2Manually: put the files in place

~/.claude/skills/visual-pr/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/visual-pr/

From the same set6

The whole set →

Similar

security-review getsentry Finds injections, XSS, authorization flaws, and other vulnerabilities in code. Reports only high-confidence findings. Claude Code CX Codex Cursor +1 21,100installs post-mortem thananon Skill writes an engineering post-mortem after debugging: root cause with code identifiers, symptom, mechanism, the fix, and why it slipped through. Use after validation, before closing the ticket. Claude Code CX Codex Cursor +1 4,700installs legacy-modernizer https://github.com/Jeffallan Plans incremental legacy-code migration from dependency maps to facades, flags, and rollback steps. Use it when splitting a monolith or upgrading technology without a wholesale replacement. Claude Code CX Codex Cursor +1 4,300installs stream-chain ruvnet Chains sequential agent steps together using streaming JSON flow and provides ready-to-run pipelines. Claude Code CX Codex Cursor +1 1,200installs sparc-methodology ruvnet Structures development into SPARC phases with Claude Flow multi-agent orchestration. Useful for running projects from specification and architecture down to TDD tests and review. Claude Code CX Codex Cursor +1 1,200installs Pair Programming ruvnet This skill runs AI-assisted pair programming with driver and navigator roles, code checks, testing, and dedicated TDD, debugging, and mentor modes. Claude Code CX Codex Cursor +1 1,200installs improve-codebase-architecture Matt Pocock This skill scans a codebase for architectural friction, then builds a visual HTML report with refactoring candidates. Use it before a deeper architecture review. Claude Code 1,163,035installs tdd Matt Pocock Guides the red-green TDD loop: ensures tests are written first, keep them at public interfaces, and avoid coupling to implementation details. Claude Code 1,141,062installs

Questions about visual-pr

How do I install visual-pr in Claude Code?

Run npx skills add humanlayer/skills --skill visual-pr -a claude-code. The skill installs to ~/.claude/skills/visual-pr/SKILL.md.

What does visual-pr do?

It creates or updates a PR description: reads the diff and context, picks what matters to reviewers, and formats it with a template—one reason, a few notes, and a structural overview.

How does visual-pr decide what to include?

It reads the full diff and surrounding code, looks at the ticket, then includes only details that explain why the change is needed and how it's built. Format varies by code type: SQL shows schema, React shows component trees, logic shows pseudocode.

Source text

SKILL.md · MIT
---
name: visual-pr
description: Only use when the user explicitly invokes this skill by name.
---

# Describe a Pull Request

Create or update the pull request for the current task with a concise description that helps a reviewer understand why the change exists and the shape of the implementation.

## Workflow

1. Read the description template:

   `Read({SKILLBASE}/references/pr_description_template.md)`

2. Identify or create the pull request:
   - Check the current branch for a PR with `gh pr view --json url,number,title,state,baseRefName,headRefName 2>/dev/null`.
   - If no PR exists, inspect `git status --short --branch` and the commits on the current branch.
   - Commit task-related changes when needed, push the branch with an upstream, and create a PR for it. Follow the repository's git safety protocol.
   - Ask the user to select a PR only when the current branch has no relevant work and there is no safe current-branch PR to create.

3. Gather only the context needed to explain the change:
   - Read the ticket and any relevant task artifacts.
   - Read the complete PR diff and enough surrounding code to understand behavior and ownership.
   - Use `gh pr view` to collect PR metadata and changed files.
   - Read `{SKILLBASE}/references/show-me.md` for the visual-outline conventions used in the PR body.

4. Write the PR description using the template:
   - Keep **Why the change** to exactly one sentence.
   - Keep **Special things to note** to 1-3 bullets. Prioritize reviewer warnings, migrations, compatibility constraints, deliberate omissions, or surprising decisions. Write `- None.` when there are no special considerations.
   - Make **Change outline** a compact, `/show-me`-inspired structural view rather than prose or a file-by-file changelog.
   - Include only the views that help explain this PR:
     - SQL table and endpoint contract changes, plus pseudocode for business logic.
     - key data structure / type changes
     - A shallow file tree showing changed responsibilities.
     - React component tree changes, including important hooks, state, and package boundaries.
     - Call-tree, call-stack, control-flow, or data-flow changes.
   - Prefer `diff` blocks when showing changes to an existing shape. Show the complete target shape when most of it is new or diff notation would obscure ownership or order.
   - Keep each view focused on what a reviewer needs. Omit categories that did not change.
   - optionaL: if you are aware of a ticket id/url, a humanlayer task url, or related plan/document urls, or other relevant links, include them in the header, otherwise omit the header

5. Save and publish the description:
   - Use `.humanlayer/tasks/{task-slug}/pr-description.md` when the task directory exists; otherwise use `.humanlayer/tasks/pr-{number}/description.md`.
   - Update the PR with `gh pr edit {number} --body-file {output-path}`.
   - Confirm the update succeeded.

6. Report completion:
   - Read `{SKILLBASE}/references/describe_pr_final_answer.md`.
   - Respond using that final answer template with the PR URL, saved description URL, and concise list of changed files.

Always read and follow `{SKILLBASE}/references/pr_description_template.md`. Do not expand the PR body beyond that template.

Write as one human talking to another: avoid jargon and slang, and use simple, coherent, concise language.

© humanlayer · MIT · humanlayer/skills

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor