Back to skills
SKILL.md
Pr Summary
ASecurityList open PRs, filter automation PRs, group by ticket ID, format as Markdown. Use when: user asks for PR summary, PR status, or /pr-summary
- 192 stars
- 0 votes
- 0 copies
- 0 views
- Added September 4, 2026
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add sd0xdev/sd0x-harness --skill pr-summary --agent claude-codeAre you the author of Pr Summary?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/sd0xdev-pr-summary-sd0x-harness)---
name: pr-summary
description: "List open PRs, filter automation PRs, group by ticket ID, format as Markdown. Use when: user asks for PR summary, PR status, or /pr-summary"
allowed-tools: Bash(git:*), Bash(gh:*), Bash(bash:*)
---
# PR Summary
List open PRs, filter automation PRs (dependabot/snyk), group by ticket ID, output formatted summary.
## When NOT to Use
| Scenario | Use Instead |
|----------|-------------|
| Create a new PR | `/create-pr` |
| Review PR code | `/codex-review` |
| View single PR details | `gh pr view <N>` |
| Pre-merge analysis | `/merge-prep` |
## Input
`/pr-summary [--author <user>] [--label <label>]`
| Argument | Description | Default |
|----------|-------------|---------|
| `--author <user>` | Filter by author | All |
| `--label <label>` | Filter by label | All |
## Workflow
### 1. Run Script
```bash
bash skills/pr-summary/scripts/pr-summary.sh [--author <user>] [--label <label>]
```
The script automatically:
| Step | Action |
|------|--------|
| Fetch | `gh pr list --json` to get open PRs (max 200) |
| Filter | Exclude `dependabot/*` and `snyk-*` |
| Group | Group by ticket ID (`{TICKET_PATTERN}` or `[A-Z]+-\d+`) |
| Detect | Identify stacked PRs (base is not main/master/develop) |
| Output | Write formatted text to `/tmp/pr-summary.md` |
### 2. Display Results
Read `/tmp/pr-summary.md` and display to user.
### 3. Provide Copy Instructions
```
Content written to /tmp/pr-summary.md
Copy: cat /tmp/pr-summary.md | pbcopy
```
## Output Format
### Markdown (default)
```markdown
**PROJ-520**
https://github.com/user/repo/pull/123
> fix: Add Redis cache for contract codes
https://github.com/user/repo/pull/124
> fix: Tune server timeouts (stacked on fix/PROJ-520)
**PROJ-123**
https://github.com/user/repo/pull/99
> feat: Add DeFi portfolio tracking
```
### Grouping Rules
| Condition | Strategy |
|-----------|----------|
| Same ticket ID | Same group |
| Stacked PR (base is feature branch) | Same group, annotate `(stacked on <base>)` |
| No ticket / unrelated | Standalone entry |
### Filter Rules
| PR Source | Action |
|-----------|--------|
| `dependabot/*` | Exclude |
| `snyk-*` | Exclude |
| Others | Keep |
## References
| File | Purpose |
|------|---------|
| [pr-summary.sh](scripts/pr-summary.sh) | PR fetch, filter, group, format script |
## Verification
- [ ] Lists all open PRs (excluding dependabot/snyk)
- [ ] PRs grouped by ticket ID
- [ ] Stacked PRs annotated with dependency
- [ ] Output format is valid Markdown
- [ ] `/tmp/pr-summary.md` written
Files in this skill
- SKILL.md
- scripts/pr-summary.sh
Attribution
Comments
Loading comments…