Get the FREE Ultimate OpenClaw Setup Guide →

describe-pr

Scanned
npx machina-cli add skill parcadei/Continuous-Claude-v3/describe_pr --openclaw
Files (1)
SKILL.md
4.5 KB

Generate PR Description

You are tasked with generating a comprehensive pull request description following the repository's standard template.

Steps to follow:

  1. Read the PR description template:

    • First, check if thoughts/shared/pr_description.md exists
    • If it doesn't exist, inform the user they need to create a PR description template at thoughts/shared/pr_description.md
    • Read the template carefully to understand all sections and requirements
  2. Identify the PR to describe:

    • Check if the current branch has an associated PR: gh pr view --json url,number,title,state 2>/dev/null
    • If no PR exists for the current branch, or if on main/master, list open PRs: gh pr list --limit 10 --json number,title,headRefName,author
    • Ask the user which PR they want to describe
  3. Check for existing description:

    • Check if thoughts/shared/prs/{number}_description.md already exists
    • If it exists, read it and inform the user you'll be updating it
    • Consider what has changed since the last description was written
  4. Gather comprehensive PR information:

    • Get the full PR diff: gh pr diff {number}
    • If you get an error about no default remote repository, instruct the user to run gh repo set-default and select the appropriate repository
    • Get commit history: gh pr view {number} --json commits
    • Review the base branch: gh pr view {number} --json baseRefName
    • Get PR metadata: gh pr view {number} --json url,title,number,state

4b. Gather reasoning history (if available):

  • Check if reasoning files exist: ls .git/claude/commits/*/reasoning.md 2>/dev/null
  • If they exist, aggregate them: bash "$CLAUDE_PROJECT_DIR/.claude/scripts/aggregate-reasoning.sh" main
  • This shows what approaches were tried before the final solution
  • Save the output for inclusion in the PR description
  1. Analyze the changes thoroughly: (ultrathink about the code changes, their architectural implications, and potential impacts)

    • Read through the entire diff carefully
    • For context, read any files that are referenced but not shown in the diff
    • Understand the purpose and impact of each change
    • Identify user-facing changes vs internal implementation details
    • Look for breaking changes or migration requirements
  2. Handle verification requirements:

    • Look for any checklist items in the "How to verify it" section of the template
    • For each verification step:
      • If it's a command you can run (like make check test, npm test, etc.), run it
      • If it passes, mark the checkbox as checked: - [x]
      • If it fails, keep it unchecked and note what failed: - [ ] with explanation
      • If it requires manual testing (UI interactions, external services), leave unchecked and note for user
    • Document any verification steps you couldn't complete
  3. Generate the description:

    • Fill out each section from the template thoroughly:
      • Answer each question/section based on your analysis
      • Be specific about problems solved and changes made
      • Focus on user impact where relevant
      • Include technical details in appropriate sections
      • Write a concise changelog entry
    • If reasoning files were found (from step 4b):
      • Add an "## Approaches Tried" section before "## How to verify it"
      • Include the aggregated reasoning showing failed attempts and what was learned
      • This helps reviewers understand the journey, not just the destination
    • Ensure all checklist items are addressed (checked or explained)
  4. Save the description:

    • Write the completed description to thoughts/shared/prs/{number}_description.md
    • Show the user the generated description
  5. Update the PR:

    • Update the PR description directly: gh pr edit {number} --body-file thoughts/shared/prs/{number}_description.md
    • Confirm the update was successful
    • If any verification steps remain unchecked, remind the user to complete them before merging

Important notes:

  • This command works across different repositories - always read the local template
  • Be thorough but concise - descriptions should be scannable
  • Focus on the "why" as much as the "what"
  • Include any breaking changes or migration notes prominently
  • If the PR touches multiple components, organize the description accordingly
  • Always attempt to run verification commands when possible
  • Clearly communicate which verification steps need manual testing

Source

git clone https://github.com/parcadei/Continuous-Claude-v3/blob/main/.claude/skills/describe_pr/SKILL.mdView on GitHub

Overview

This skill automates the creation of comprehensive pull request descriptions that follow the repository template. It reads thoughts/shared/pr_description.md, collects PR metadata, diffs, and commits, and then assembles a reviewer-friendly description that explains changes, impact, and verification steps.

How This Skill Works

It reads the PR template to understand required sections, then uses the GitHub CLI to fetch PR data such as url, number, title, state, commits, baseRefName, and the full diff. If reasoning history exists, it aggregates it with the provided script and includes it in the description. Finally, it writes the completed description to thoughts/shared/prs/{number}_description.md and presents it for updating the PR body.

When to Use It

  • Starting a PR that needs a standard, template-aligned description
  • Refreshing an outdated or missing PR description
  • Describing complex changes using the full diff and commit history
  • Creating reviewer-facing notes with verification steps and changelog
  • Documenting reasoning history when available to show approaches and decisions

Quick Start

  1. Step 1: Ensure the PR description template exists at thoughts/shared/pr_description.md and matches project guidelines
  2. Step 2: Identify the PR to describe with gh pr view or gh pr list and select the target number
  3. Step 3: Run the describe-pr workflow to generate thoughts/shared/prs/{number}_description.md and present it for updating the PR body

Best Practices

  • Ensure a PR description template exists at thoughts/shared/pr_description.md before generating
  • Check for an existing thoughts/shared/prs/{number}_description.md and update accordingly
  • Fetch the full PR diff, commit history, base branch, and metadata for accuracy
  • Include a concise changelog and verification checklist in the description
  • Save and present thoughts/shared/prs/{number}_description.md to the user and update the PR

Example Use Cases

  • Describe PR: Implement feature X in dashboard with API changes
  • Describe PR: Refactor authentication module and migrate to OAuth2
  • Describe PR: Fix memory leak in cache layer with tests
  • Describe PR: UI rewrite for settings page with accessibility improvements
  • Describe PR: Update CI to run on PRs and cache dependencies

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers