Skip to content
cccskills
FreePublished on GitHub

describing-prs

Generates a pull request description for the current branch and writes it as Markdown to .git/magit/posts/new-pullreq for magit-forge. Use when the user asks for a PR description, PR summary, or write-up of what a branch changes, or is preparing to open a pull request.

The English summary is being prepared. Showing the original description.

See how to install

Files included (2)

  • SKILL.md3.4 KB
  • scripts/find-merge-base.py8.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

PR Description Generator

Generate a well-structured PR description for the current feature branch.

When to Use This Skill

Use this skill when:

  • Preparing to create a pull request
  • Needing a PR description for the current branch
  • Integrating with magit-forge for PR creation

Process

  1. Determine the base branch

    Run the helper script to find the base branch:

    BASE=$(~/.agents/skills/describing-prs/scripts/find-merge-base.py)
    

    The script outputs a branch name (e.g., origin/main) that represents the base branch for comparison. It handles cases where you branched from another feature branch, not just main/master.

    Options:

    • --fetch: Fetch latest remote refs before determining base branch
    • --debug: Show how the base branch is determined

    Strategy (implemented in the script):

    • Try @{upstream} first (the current branch's configured upstream)
    • Try origin/HEAD (the remote's default branch)
    • Fall back to common defaults: origin/main, origin/master, origin/develop
    • If neither works, find the closest remote branch by commit distance
  2. Gather context about the branch

    Using the base branch found above:

    git branch --show-current
    git log --oneline <base-branch>..HEAD
    git diff --no-ext-diff <base-branch>..HEAD --stat
    git diff --no-ext-diff <base-branch>..HEAD
    
  3. Analyze the changes

    • Identify the purpose of the changes
    • Group related commits by theme
    • Note any breaking changes or important considerations
  4. Generate the PR description

    Write a Markdown file with:

    • Title: A concise summary (will be used as PR title)
    • Summary: 2-3 sentences explaining the overall purpose
    • Changes: Bullet points of key modifications
    • Testing: How the changes were tested (if applicable)
    • Notes: Any reviewer notes, breaking changes, or follow-up items
  5. Write to the output file

    Create the directory and write the description:

    mkdir -p .git/magit/posts
    

    Write Markdown content to .git/magit/posts/new-pullreq

Output Format

The generated file should follow this structure:

# <PR Title>

## Summary

<Brief explanation of what this PR accomplishes and why>

## Changes

- <Key change 1>
- <Key change 2>
- ...

## Testing

<How changes were tested, or "N/A" if not applicable>

## Notes

<Any additional context for reviewers, breaking changes, or follow-up work>

Formatting Guidelines

  • Wrap all symbols, variables, function names, file paths, and code references in backticks (e.g., myFunction, CONFIG_VALUE, src/utils.ts)
  • Use fenced code blocks for multi-line code snippets
  • Keep bullet points concise and scannable

Important Notes

  • The file path .git/magit/posts/new-pullreq is used by magit-forge
  • Always overwrite the existing file if present
  • Keep the description concise but informative
  • Focus on the "why" more than the "what" (the diff shows the "what")

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Applies local reliability, viewport, tab-safety, stale-ref, widget, and browser-boundary lessons to every agent-browser automation. Use alongside the upstream agent-browser skill whenever navigating, clicking, filling, testing, extracting, taking screenshots, or debugging any website with agent-browser.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Size the agent-browser Chromium window to fill its current screen, leaving a configurable bottom margin for the desktop panel. Use before any agent-browser automation that needs the full screen visible without elements overlapping or scrolling off (e.g. Xero, dense web apps).

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Create Claude Code slash commands, OpenCode command files, Pi prompt templates, and Codex custom prompts that delegate to the right subagent or skill. Use when creating new commands, porting commands across agent platforms, or refactoring existing commands to follow platform conventions.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

Adds or changes allowed commands in AI agent permission configs for OpenCode and Claude Code. Use when a command needs adding to an agent's allow list, when permission settings for existing commands need changing, when setting up a new AI tool that requires command permissions, or when the user asks to stop being prompted for a particular command.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bc

Free

Creates a Beads issue for a described problem or piece of work without doing the work itself. Use when the user invokes `/bc` or `$bc`, or asks to file, log, or record a bead for something. To also carry out the work, use the `bx` skill instead.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

bdr

Free

Stores a persistent memory or learning with `bd remember` so it survives across sessions. Use when the user invokes `/bdr` or `$bdr`, or asks to remember, note, or persist an insight in a Beads workspace.

The English summary is being prepared. Showing the original description.

aspiers/ai-config15Updated Oct 9, 2026

See all skills by aspiers

Report a problem with this skill