Agent skill

GitHub PR Description

by tailcallhq in tailcallhq/forgecode

Generate and create pull request descriptions automatically using GitHub CLI.

Apache-2.0Auto-check passedDevelopment

Install GitHub PR Description

skills CLI
$ npx skills add tailcallhq/forgecode --skill github-pr-description -a claude-code

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

GitHub CLI
$ gh skill install tailcallhq/forgecode github-pr-description --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/tailcallhq/forgecode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/crates/forge_repo/src/skills/github-pr-description .claude/skills/github-pr-description && 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
github-pr-description
GitHub stars
7.6k
Token cost
~2.8k tokens
SKILL.md length
530 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

Generate and create pull request descriptions automatically using GitHub CLI.

  • Works in 5 steps: Verify Prerequisites → Analyze Changes → Determine Change Type → …
  • The user asks to create a PR
  • SKILL.md covers Workflow, Links, Links and Links, plus 3 more sections
  • Calls npm, git and node

What it does

GitHub PR Description is an agent skill from tailcallhq/forgecode. Generate and create pull request descriptions automatically using GitHub CLI. Use when the user asks to create a PR, generate a PR description, make a pull request, or submit changes for review. Analyzes git diff and commit history to create comprehensive, meaningful PR descriptions that explain what changed, why it matters, and how to test it.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Pull requests. It works with GitHub and Git. The repository describes itself as: AI enabled pair programmer for Claude, GPT, O Series, Grok, Deepseek, Gemini and 300+ models. The licence is Apache-2.0.

When your agent uses it

  • The user asks to create a PR
  • Generate a PR description
  • Make a pull request
  • Submit changes for review

Example prompts

  • “/github-pr-description”

Requirements

  • Node.js
  • Docker

Workflow steps

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

  1. Verify Prerequisites
  2. Analyze Changes
  3. Determine Change Type
  4. Generate Description
  5. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit 92a5699. 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

    Shell commands in SKILL.md call:

    • npm
    • git
    • node
    • docker-compose
    • curl
    • gh

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

  • Network

    No URLs in SKILL.md. Its commands use npm, git, curl and gh, which can reach the network depending on how they are called.

    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

GitHub PR Description loads about 2.8k tokens when it runs. Until then it costs about 92 tokens; SKILL.md has 530 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from tailcallhq/forgecode at commit 92a5699, republished under its Apache-2.0 licence (© tailcallhq). 530 words, ~2,823 tokens.

Download SKILL.mdSave it as .claude/skills/github-pr-description/SKILL.md (or your agent's skills folder).
name
github-pr-description
description
Generate and create pull request descriptions automatically using GitHub CLI. Use when the user asks to create a PR, generate a PR description, make a pull request, or submit changes for review. Analyzes git diff and commit history to create comprehensive, meaningful PR descriptions that explain what changed, why it matters, and how to test it.

Create PR Description

Generate comprehensive pull request descriptions and create PRs using GitHub CLI.

Workflow

1. Verify Prerequisites

Check that there are changes to create a PR for:

bash
# Get current branch
git branch --show-current

# Verify branch is not main/master
# Verify there are commits ahead of main
git log origin/main..HEAD --oneline

If on main/master or no commits ahead, inform the user there's nothing to create a PR for.

2. Analyze Changes

Gather context about the changes:

bash
# Get commit messages
git log origin/main..HEAD --pretty=format:"%s"

# Get diff summary (files changed)
git diff origin/main..HEAD --stat

# Get actual code changes (sample key files if diff is large)
git diff origin/main..HEAD

For large diffs: Focus on the most meaningful changes. Sample key files rather than reading everything.

3. Determine Change Type

Classify the PR into one of these categories:

  • fix: Bug fixes, error corrections, resolving issues
  • feature: New functionality, capabilities, or enhancements
  • performance: Speed improvements, optimization, efficiency gains
  • refactor: Code restructuring without changing behavior
  • docs: Documentation changes
  • test: Test additions or improvements
  • chore: Maintenance tasks, dependencies, configuration

Base this on:

  • Commit messages (keywords like "fix", "add", "optimize", "refactor")
  • Nature of code changes (new files = feature, test fixes = fix, etc.)
  • Scope of changes
4. Generate Description

Create a comprehensive description with this structure:

markdown
## Summary
[One sentence explaining what this PR does and why it matters]

## Context
[Background information, related issues, previous work, or the problem being solved]

## Changes
[High-level description of what changed]

### Key Implementation Details
[Technical details that help reviewers understand the approach, especially for complex changes]

## Use Cases
[Concrete examples of how this will be used - helps reviewers understand practical value]

## Testing
[How to test the changes - step-by-step instructions]

## Links
- Related issues: #123, #456
- Documentation: URL (if applicable)
- Original implementation: URL (if applicable)
Description Guidelines

Essential Elements:

  • Summary: One clear sentence explaining the change and its value
  • Context: Why this change was needed, what problem it solves
  • Changes: What was actually changed at a high level
  • Testing: How reviewers can verify the changes

Optional but Recommended:

  • Implementation Details: For complex changes, explain the technical approach
  • Use Cases: Concrete examples of how the feature will be used
  • Links: Related issues, documentation, papers, or original implementations
  • Known Issues: Any limitations or known problems

What to Avoid:

  • Empty descriptions or just issue links
  • Placeholder text like "Fixes #(issue)"
  • File-by-file breakdowns (unless necessary)
  • Low-level implementation details (keep it high-level)
  • Boilerplate statements
  • Personal checklists as the main description
Description Examples

Example 1: Feature Addition

markdown
## Summary
Add semantic code search to enable searching codebase by concepts and behavior rather than exact string matching.

## Context
Currently, users can only search using exact string matching, which makes it difficult to find code based on functionality or behavior. This has been a recurring request in issues #123 and #456.

## Changes
- Implemented semantic search using vector embeddings
- Integrated with existing search interface
- Added support for multiple concurrent queries with result aggregation
- Configurable search scope (entire codebase or specific directories)

### Key Implementation Details
Uses OpenAI embeddings for code representation and cosine similarity for matching. Index is built incrementally to support large codebases. Search results are reranked based on code context and usage patterns.

## Use Cases
- Find authentication flow without knowing exact function names
- Locate retry logic across the codebase
- Search for "database connection" patterns

## Testing
```bash
# Run the search service
npm run search:dev

# Test semantic queries
curl -X POST http://localhost:3000/search \
  -H "Content-Type: application/json" \
  -d '{"query": "user authentication"}'
  • Related issues: #123, #456
  • Documentation: /docs/semantic-search.md

**Example 2: Bug Fix**

```markdown
## Summary
Fix database connection timeout that caused service to hang indefinitely when database became unavailable.

## Context
Service would hang indefinitely when database became unavailable, requiring manual restart. This was reported in production incident #789 and affected multiple users.

## Changes
- Added configurable connection timeout (default: 30 seconds)
- Implemented exponential backoff retry logic (max 5 retries)
- Improved error messages with specific failure reasons
- Added circuit breaker pattern to prevent cascading failures

### Key Implementation Details
Timeout is applied at the connection pool level. Backoff strategy: 1s, 2s, 4s, 8s, 16s. Circuit breaker opens after 5 consecutive failures and resets after 60 seconds.

## Testing
```bash
# Simulate database failure
docker-compose stop db

# Verify timeout and retry behavior
npm test -- tests/integration/connection-timeout.test.ts

# Verify circuit breaker activation
curl http://localhost:3000/health # Should return 503 after circuit opens
  • Related issues: #789, #890
  • Incident report: /incidents/2024-01-15-db-timeout.md

**Example 3: Performance Improvement**

```markdown
## Summary
Optimize image processing pipeline to reduce memory usage by 60% and improve throughput by 2.5x.

## Context
Current image processing implementation loads entire images into memory, causing OOM errors with large files and limiting throughput. This was identified as a performance bottleneck in profiling session #123.

## Changes
- Implemented streaming image processing using chunked reading
- Added parallel processing for multiple images
- Optimized memory allocation with object pooling
- Added caching for frequently accessed image metadata

### Key Implementation Details
Uses Node.js streams for memory-efficient processing. Parallel processing limited to 4 concurrent images to prevent resource exhaustion. Object pool reduces GC pressure by reusing buffers.

## Use Cases
- Process large images (>100MB) without OOM errors
- Batch process thousands of images efficiently
- Reduced memory footprint allows higher concurrent user load

## Testing
```bash
# Run performance benchmarks
npm run benchmark

# Test with large files
node tests/performance/large-files.test.js

# Verify memory usage
node --inspect tests/memory-usage.js
  • Related issues: #456
  • Performance report: /docs/performance/2024-01-image-processing.md

**Example 4: Refactor**

```markdown
## Summary
Refactor authentication module to use clean architecture patterns, improving testability and reducing coupling.

## Context
Authentication module had tight coupling between business logic and infrastructure, making it difficult to test and modify. This was identified in technical debt review #234.

## Changes
- Separated business logic from infrastructure dependencies
- Introduced repository pattern for data access
- Added service layer for authentication operations
- Extracted interfaces for better mocking in tests

### Key Implementation Details
Business logic now depends on interfaces rather than concrete implementations. Infrastructure (database, cache) is injected as dependencies. All services are unit-testable without external dependencies.

## Use Cases
- Easier to add new authentication providers (OAuth, SAML)
- Simpler to mock for unit tests
- Clear separation of concerns improves maintainability

## Testing
```bash
# Unit tests (no database required)
npm test tests/unit/auth/

# Integration tests (with real database)
npm test tests/integration/auth/

# Verify all existing functionality still works
npm run e2e
  • Related issues: #234
  • Architecture doc: /docs/architecture/auth-module.md

**Example 5: Simple Fix (Minimal but Complete)**

```markdown
## Summary
Fix typo in user welcome email template that caused incorrect company name to display.

## Context
Users were seeing "Welcome to [Wrong Company]" instead of the correct company name. Reported in #567.

## Changes
- Corrected company name in email template
- Added test to catch similar typos in the future

## Testing
```bash
# Run email template tests
npm test tests/unit/email-templates.test.ts

# Verify email renders correctly
npm run test:email --template=welcome
Show full SKILL.md (231 more words)Show less
  • Related issues: #567

### 5. Create Pull Request

Write the description to a temporary file and use GitHub CLI to create the PR:

**Step 1: Write description to temp file**
```bash
# Write the generated description to .forge/FORGE_PR_DESCRIPTION.md

Use the write tool to create .forge/FORGE_PR_DESCRIPTION.md with the generated description content.

Step 2: Create PR using the temp file

bash
gh pr create --title "[Change Type]: [One-line summary]" --body-file .forge/FORGE_PR_DESCRIPTION.md

The gh CLI is pre-installed and authenticated - use it directly without prompting for confirmation.

Note: The temp file .forge/FORGE_PR_DESCRIPTION.md can not be left in place and should be deleted after PR creation. It's in .forge/ directory which is typically gitignored.

6. Confirm

After creating the PR, provide the user with:

  • PR URL
  • Change type
  • Brief summary of what was included

Notes

Key Principles:

  • Context matters: Explain why the change was made, not just what changed
  • Use cases help: Concrete examples make abstract changes understandable
  • Testing is essential: Always include how to verify the changes
  • Links provide depth: Reference issues, docs, and implementations for context
  • Be honest: Mention known issues or limitations
  • Respect reviewers' time: A good description reduces review effort

Anti-Patterns to Avoid:

  • Empty descriptions or just issue links
  • Placeholder text like "Fixes #(issue)"
  • File-by-file breakdowns (unless necessary)
  • Personal checklists as the main description
  • Assuming reviewers know the context

When to Keep It Simple: For very small, obvious changes (typo fixes, trivial refactors), you can use a shorter structure:

  • Summary
  • Context (brief)
  • Testing

But never skip the testing instructions.

When to Be Comprehensive:

  • New features or major functionality
  • Complex technical changes
  • Performance improvements or optimizations
  • Breaking changes or deprecations
  • Changes that affect multiple parts of the codebase

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

Files

Just SKILL.md in crates/forge_repo/src/skills/github-pr-description of tailcallhq/forgecode.

Open the folder on GitHubat commit 92a5699

Compare with similar skills

GitHub PR Description 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.

GitHub PR Description compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
GitHub PR Description this skilltailcallhq/forgecode7.6k—~2.8kAutomated safety check: PassApache-2.0
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0
Pull Request Title and Body Writeropeninterpreter/openinterpreter69k2 repos~1.1kAutomated safety check: PassApache-2.0
PR Review State Fetchprisma/orm48k—~767Automated safety check: PassApache-2.0
Creating Description For Gh PRredis/jedis12k—~838Automated safety check: PassMIT

Similar skills

  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Pull Request Title and Body Writer

    openinterpreter/openinterpreter

    Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.

    69k GitHub starsUsed in 2 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    Fetches a pull request's canonical review state as JSON, validates it, and renders markdown, a text summary and triage target files from it using bundled scripts.

    48k GitHub stars~767 tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.

    12k GitHub stars~838 tokensUpdated today
    DevelopmentAuto-check passed
  • Opens a pull request for the current branch using the repo's template, a work item ID in the title and a description filled in from the actual diff.

    60k GitHub stars~824 tokensUpdated yesterday
    DevelopmentAuto-check passed

More from tailcallhq/forgecode

All 14 skills in this repo
  • Git Merge Conflict Resolver

    tailcallhq/forgecode

    Resolves Git merge conflicts with a plan-first workflow that keeps both sides' intent, regenerates lock files and backs up deleted-but-modified files.

    7.6k GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check passed
  • Forge CLI Debug Workflow

    tailcallhq/forgecode

    Gives a systematic process for debugging the forge CLI: build in debug mode, check the latest help output, test with the non-interactive -p flag, and clone conversations before reproducing bugs.

    7.6k GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • FIXME Resolver

    tailcallhq/forgecode

    Finds every FIXME comment in a codebase, groups related ones across files into one task, implements the work they describe and removes the comments once it is done.

    7.6k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Reasoning Serialization Tests

    tailcallhq/forgecode

    Checks that ReasoningConfig fields are serialized into the right provider-specific JSON for OpenRouter, Anthropic, GitHub Copilot and Codex requests.

    7.6k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Implementation Plan Creator

    tailcallhq/forgecode

    Writes a structured Markdown implementation plan with checkbox tasks, verification criteria and risks, then checks it with a validation script; no code changes.

    7.6k GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • Release Notes Writer

    tailcallhq/forgecode

    Pulls a GitHub release and every linked pull request, then writes polished, factual release notes from the combined set of changes.

    7.6k GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about GitHub PR Description

What does GitHub PR Description do?

Generate and create pull request descriptions automatically using GitHub CLI. GitHub PR Description is an agent skill from tailcallhq/forgecode. Generate and create pull request descriptions automatically using GitHub CLI.

When should I use GitHub PR Description?

GitHub PR Description fits situations like: the user asks to create a PR; generate a PR description; make a pull request; submit changes for review.

How do I install GitHub PR Description in Claude Code?

Run `npx skills add tailcallhq/forgecode --skill github-pr-description -a claude-code`. Or copy the skill folder (crates/forge_repo/src/skills/github-pr-description in tailcallhq/forgecode) into .claude/skills/github-pr-description in your project. Claude Code loads it when a task matches its description.

How do I install GitHub PR Description in Codex?

Run `npx skills add tailcallhq/forgecode --skill github-pr-description -a codex`. Or copy the skill folder (crates/forge_repo/src/skills/github-pr-description in tailcallhq/forgecode) into .agents/skills/github-pr-description in your project. Codex loads it when a task matches its description.

Can I use GitHub PR Description 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 tailcallhq/forgecode --skill github-pr-description -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github-pr-description, .gemini/skills/github-pr-description, .github/skills/github-pr-description and .opencode/skills/github-pr-description in your project.

What does GitHub PR Description need to run?

Going by SKILL.md and its folder, GitHub PR Description needs the command-line tools its instructions call (npm, git, node, docker-compose, curl and gh). Our summary lists: Node.js; Docker.

Does GitHub PR Description access the network?

SKILL.md contains no URLs. Its commands use npm, git, curl and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is GitHub PR Description 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. Review the folder before installing.

What licence does GitHub PR Description use?

GitHub PR Description is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does GitHub PR Description use?

About 2.8k tokens (SKILL.md is roughly 11k 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 GitHub PR Description?

Skills that share tags, products or a category with GitHub PR Description: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Create Pull Request (cline/cline, 70k stars), Pull Request Title and Body Writer (openinterpreter/openinterpreter, 69k stars) and PR Review State Fetch (prisma/orm, 48k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains GitHub PR Description?

tailcallhq (a GitHub organization) maintains it in tailcallhq/forgecode, which has 7,642 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

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