Skip to content
Back to skills

Pr Summary

ASecurity

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

  • 192 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 4, 2026
ai-agentsbashgit

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 4, 2026

npx -y skills add sd0xdev/sd0x-harness --skill pr-summary --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pr Summary?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pr Summary
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/sd0xdev-pr-summary-sd0x-harness/badge)](https://www.skillsdirectory.com/skills/sd0xdev-pr-summary-sd0x-harness)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.md2.5 KB
  • scripts/pr-summary.sh3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…