Skip to content
Back to skills

Pr Description

ASecurity

Canonical PR description template for every PR shipped from this harness, with a validator that enforces the required sections. Use when opening or editing a PR (the /ship and /forge-ship steps), or when asked for the standard PR format or to check a PR body.

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 22, 2026
toolsbash

Security analysis

A100/100

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

Scanned September 22, 2026

npx -y skills add jupes/agent-forge-harness --skill pr-description --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pr Description?

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

Security grade badge for Pr Description
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jupes-pr-description/badge)](https://www.skillsdirectory.com/skills/jupes-pr-description)

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-description
description: Canonical PR description template for every PR shipped from this harness, with a validator that enforces the required sections. Use when opening or editing a PR (the /ship and /forge-ship steps), or when asked for the standard PR format or to check a PR body.
---

# pr-description

The single source of truth for **how every Agent Forge PR body is written**. All ship paths
(`/ship`, `/forge-ship`, `/forgemaster`'s ship phase) compose the PR body from this template and
validate it before `gh pr create`.

The template lives at [references/pr-template.md](references/pr-template.md) — edit that file to
change the standard; everything else references it.

## When to Use

- Any time a PR is opened or its body edited from this harness.
- When the user asks for "the PR format / template" or to check that a PR body conforms.

## Required sections

Every PR body MUST contain these H2 headings, each filled (no leftover placeholders):

| Section | Holds |
|---------|-------|
| `## What Changed` | The change in plain language + concrete edits |
| `## Why It's Needed` | Motivation: the problem, need, or bug it addresses |
| `## How It Was Tested` | Gates run, automated suites, manual steps |
| `## Test Evidence` | Real proof — pasted command output / counts, not a claim |
| `## Risk & Rollback` | Blast radius and the undo path |
| `## Linked Issues & AC Trace` | `Closes <beads-id>` + acceptance-criterion → evidence table |

The first four are the harness baseline (what / why / how-tested / evidence). **Risk & Rollback**
and **Linked Issues & AC Trace** are the harness additions — they make a PR reviewable (knowable
blast radius) and traceable (every acceptance criterion mapped to evidence), matching the
Beads-first, test-evidence rules in `CLAUDE.md`.

## Process

### 1. Start from the template

```bash
cp .claude/skills/pr-description/references/pr-template.md .tmp/work/pr-body.md
```

Fill every section. For a `/forge-ship` run, the ship report (`reports/<slug>-ship.md`) already
contains the narrative and walkthrough — map it into the template sections rather than duplicating
prose. Paste **actual** test output into `## Test Evidence`; never green-wash.

### 2. Validate before creating the PR

```bash
bun run .claude/skills/pr-description/scripts/check-pr-body.ts .tmp/work/pr-body.md
```

The validator emits `{ ok, data: { present, missing, empty }, error }` and exits non-zero if any
required section is missing or left as a placeholder. Fix and re-run until `ok: true`.

### 3. Open or update the PR

```bash
gh pr create --base <base> --title "<title>" --body "$(cat .tmp/work/pr-body.md)"
# or, on an existing PR:
gh pr edit <n> --body "$(cat .tmp/work/pr-body.md)"
```

To check a PR that already exists:

```bash
gh pr view <n> --json body -q .body | bun run .claude/skills/pr-description/scripts/check-pr-body.ts -
```

## Exit Criteria

- [ ] PR body contains all six required sections, each filled.
- [ ] `## Test Evidence` holds real output, not a promise.
- [ ] `check-pr-body.ts` reports `ok: true`.

Files in this skill

  • SKILL.md3 KB
  • references/pr-template.md1.7 KB
  • scripts/check-pr-body.ts3.7 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.