Install
$ agentstack add skill-lerianstudio-ring-generating-pr-descriptions ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Generating PR Descriptions
When to use
- Preparing a pull request for review and need a comprehensive description
- Generating a PR title automatically from commit message analysis
- Classifying the type of change (bug fix, feature, breaking change)
- Saving a reusable PR description to
docs/pr-descriptions/.md
Skip when
- The PR is a single trivial commit with an obvious description
- A PR description already exists and does not need regeneration
- The branch has no commits beyond the base branch
Process
1. Git Branch Analysis - CRITICAL: Branch-Only Scope
- MANDATORY: Identify actual branch point to avoid analyzing entire development history
- Detect the base branch (develop, main, master) that the current branch was created from
- CORRECT APPROACH: Use
git merge-base HEADto find the true divergence point - CORRECT APPROACH: Use
git log --oneline $(git merge-base HEAD )..HEADfor branch-specific commits - CORRECT APPROACH: Use
git diff $(git merge-base HEAD )..HEADfor branch-specific changes - NEVER rely on manual
HEAD~ncounting — it breaks on merges, rebases, and long-lived branches - Run
git status --porcelainto identify uncommitted files (excluded from PR) - Enforce that PR analyzes ONLY commits made on the current feature branch, not development history
- Determine if this is a bug fix, feature, or breaking change based on actual branch commits
2. Change Classification
- Analyze file patterns and change types
- Identify the type of change (bug fix, new feature, breaking change, etc.)
- Detect if documentation updates are needed
- Determine testing requirements
3. PR Description Generation
- Create comprehensive description following the template format
- Include summary of changes and motivation based on ONLY branch-specific commits
- Pre-fill appropriate checkboxes based on change analysis
- Suggest testing strategies
- Derive the output filename from the full branch name with slashes replaced by hyphens (e.g.,
feature/FE-157->feature-FE-157.md) - Save to
docs/pr-descriptions/(create directory if needed)
CRITICAL Implementation Steps
Step 1: Branch Analysis (MANDATORY)
# 1. Get branch structure to identify commits
git log --oneline --decorate --graph -10
# 2. Count commits unique to current branch
# Look for where branch diverged from main/develop
# Example output shows 2 commits on feature/PLU-393:
# * 06603bf (HEAD -> feature/PLU-393) fix(i18n): add missing translations
# * d40c631 feat(ui): enhance templates system with calendar filter
# * 30664b1 (develop) Merge branch 'develop' into feature/libs
Step 2: Extract Branch-Only Changes (MANDATORY)
# Use HEAD~n where n = number of branch commits
git log --oneline HEAD~2..HEAD # Get branch commits
git diff HEAD~2..HEAD --name-status # Get changed files
git diff HEAD~2..HEAD --stat # Get change statistics
Step 3: Validation (MANDATORY)
- Verify commit count matches actual branch commits
- Ensure no base branch commits are included in analysis
- Confirm file changes align with branch purpose
WRONG APPROACH - DO NOT USE:
git log main..HEAD # Includes entire development history
git diff main...HEAD # Includes all changes since branch creation
Generated Template Structure
The skill generates pull requests following this exact structure:
# [Auto-generated PR title: short, under 70 chars, using conventional commit prefix]
# Description
[Auto-generated summary of changes and motivation based on commits]
## Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
PR Title Generation
- Auto-generated from commit message analysis
- Uses conventional commit prefix (
feat:,fix:,chore:,refactor:, etc.) based on the dominant change type - Kept under 70 characters, concise and descriptive
- Placed as the first
#heading in the output file
Change Type Detection
- Bug fix: Detects fixes, corrections, and patches in commit messages
- New feature: Identifies new functionality, components, or capabilities
- Breaking change: Flags API changes, removed functionality, or incompatible changes
- Documentation update: Detects changes to .md files, comments, or docs folders
Implementation Requirements - CRITICAL
MANDATORY Git Command Usage:
- Branch Point Detection:
``bash git log --oneline --decorate --graph -10 # Identify where current branch diverged from base # Count commits unique to current branch ``
- Branch-Only Analysis Commands:
```bash # For 2 commits on current branch: git log --oneline HEAD~2..HEAD git diff HEAD~2..HEAD --name-status git diff HEAD~2..HEAD --stat
# NEVER use these (includes all development history): git log main..HEAD # WRONG git diff main...HEAD # WRONG ```
- Branch Point Validation:
- If branch has 3 commits: use
HEAD~3..HEAD - If branch has 5 commits: use
HEAD~5..HEAD - Always verify commit count matches actual branch commits
Smart Analysis Features
- File Pattern Recognition: Detects frontend/backend changes, test files, config changes
- Commit Message Analysis: Uses conventional commits to determine change types
- Dependency Detection: Identifies if package.json or similar files changed
- Test Coverage: Suggests appropriate testing based on changed components
Notes
- Critical: Uses
HEAD~n..HEADapproach to analyze ONLY current branch commits - Branch Validation: Verifies number of commits on branch before analysis
- Feature Branch Scope: Analyzes only commits made specifically on the current feature branch
- Committed Changes Only: Analyzes committed changes in the branch only, ignores uncommitted files
- Precise Scope: Prevents inclusion of entire development history in PR description
- Generated PRs reflect actual feature branch changes, not cumulative project history
- Breaking changes are flagged based on actual branch commits only
- Generated PR descriptions are saved to
docs/pr-descriptions/.mdfor easy copying to GitHub/GitLab
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: LerianStudio
- Source: LerianStudio/ring
- License: Apache-2.0
- Homepage: https://lerian.studio
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.