Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Pr

ASecurity

Write or draft a minimal GitHub PR description: a linked tracker close line plus 3 to 6 one-line bullets of what changed and why, and nothing else (no headings, no Testing block, no screenshots table). Project tokens (repo, tracker prefix, verify commands) are read from .claude/harness/profile.md. Use when running gh pr create / gh pr edit or when asked to write a PR description/body.

2 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentsgobashtestinggit

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add waqas1412/claude-harness --skill pr --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pr?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Pr
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/waqas1412-claude-harness/badge)](https://www.skillsdirectory.com/skills/waqas1412-claude-harness)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: pr
description: Write or draft a minimal GitHub PR description: a linked tracker close line plus 3 to 6 one-line bullets of what changed and why, and nothing else (no headings, no Testing block, no screenshots table). Project tokens (repo, tracker prefix, verify commands) are read from .claude/harness/profile.md. Use when running gh pr create / gh pr edit or when asked to write a PR description/body.
argument-hint: "[ticket key, or blank to infer from branch]"
allowed-tools: Read, Grep, Glob, Bash
---

# PR description (house standard, profile-driven)

First, load `.claude/harness/profile.md` for this project's tokens (`REPO`, `TICKET_PREFIX`,
`TRACKER_BROWSE_URL`, `TRACKER_CLOSE_KEYWORD`, `DEFAULT_BRANCH`, `COMMIT_TYPES`, `LINT_CMD`,
`UNIT_TEST_CMD`, `E2E_TEST_CMD`, `BUILD_CMD`). In a multi-repo profile the four command tokens are
the per-repo table's Lint / Test / Build / E2E columns for the repo you are in, and `-` there means the
step genuinely does not exist. If no profile exists, infer from the repo
(run `/harness-init` to create one) and proceed; if there is no tracker, use GitHub `Fixes #<n>` and
drop the tracker-close line.

## Title (goes in GitHub's title field, NOT the body)
`<type>: <TICKET-KEY> <imperative one-line summary>`
- type is one of `COMMIT_TYPES` (default: feat | fix | refactor | chore | perf | docs | test).
- Append `!` for a breaking change (e.g. `feat!: <TICKET-KEY> ...`). Optional module scope: `feat(area): ...`.
- `<TICKET-KEY>` uses `TICKET_PREFIX` (e.g. `PROJ-1234`); omit if the project has no tracker.
- Must stand alone in history; never "fix", "updates", "phase 1".

## Body
The body is a tracker close line plus a compact summary of what changed and why. Nothing else: no
section headings, no Testing block, no Screenshots table, no breaking-changes assertion, no
notes-for-review.

Bullets are the shape, not a paragraph: 3 to 6 short bullets, one line each, each naming a change and
its why. Fall back to a single sentence only when the change is genuinely one idea and a lone bullet
would look odd. Never a wall of prose, and never a file-by-file restatement.

The close line is a link: `<TRACKER_CLOSE_KEYWORD> [<TICKET-KEY>](<TRACKER_BROWSE_URL><TICKET-KEY>).`
When there is no ticket, open the body with the source thread as a link instead. When the work came
from someone's report, close the body with `Reported by <name> in [#channel](<url>).`

A body describes the head it is on. Whenever a commit lands, the scope moves, or review
feedback lands, reconcile the body in the same step rather than leaving it describing an older head.

The exact template, the pre-submit checklist, and the deliberately-skipped list live in
`references/pr-template.md` (in this skill's directory). Read that file when actually authoring, and
fill it from the profile tokens.

Verification is unchanged: lint, build, and change-scoped tests still run fresh before the PR is
opened, and results are reported in chat. They just do not go in the body.

## Composes with (does not override)
- Avoid-em-dash rule: no em dashes anywhere in title/body/commit.
- Verify-before-git-ops: run and report lint / test / scoped E2E fresh before opening the PR.
- Commit authorship: no `Co-Authored-By` trailer (sole author).
- PR no reviewers: `gh pr create` with title/body/base only; no `--reviewer`, no requested_reviewers mutations.
- PR always draft: every `gh pr create` carries `--draft`. The author flips it to ready for review himself, the same way he requests reviewers himself.
- PR commits: push review fixes and follow-ups as additional commits; do not amend and force-push to keep the branch at one commit.

Apply via `gh pr create --draft` (title via `--title`, body via `--body` or `--body-file`). Governs description content and structure only.

## Gotchas
- No `.claude/harness/profile.md`: proceeding on guessed tokens instead of running `/harness-init` first leaves `TICKET_PREFIX`/`LINT_CMD` inferred rather than resolved; infer and note it, but prefer generating the profile.
- Hand-rolling the body from memory instead of reading `references/pr-template.md`, which drifts back toward the old multi-section format over time.
- Re-adding the old `## Summary` / `## Testing` / `## Screenshots` headings out of habit. The body carries no headings at all now.
- Treating the dropped Testing block as permission to skip verification: lint, build, and scoped tests still run fresh, they are just reported in chat instead of in the body.
- Padding the summary into a file-by-file diff restatement. It states intent and behavior, and stops.
- Writing the summary as one dense paragraph. Bullets are the default shape; prose is the exception for a single-idea change.
- Letting a bullet run to three lines or nest sub-bullets. One line per bullet, flat list.
- Leaving the body describing an earlier head after a new commit, a scope change, or a review fix. Reconcile it in the same step; being asked "is the PR body up to date" means it already drifted.
- Dropping the reporter attribution when the work came from a colleague's thread, or burying the source link mid-paragraph instead of the top (no ticket) or the foot (reporter).
- Padding to the bullet floor. Three is the floor for a normal change, not a quota to invent filler for a genuinely single-idea fix.

Attribution

waqas1412waqas1412
View sourceMore from waqas1412 →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →