Two agent skills for the full PR lifecycle: writing signal-rich PR descriptions and reviewing PRs with grounded technical judgment.
Helps both humans and agents answer: what changed, why, where the risk is, how it was validated, what deserves attention, and what still needs judgment.
If your team is using AI coding agents, you've probably noticed something: the bottleneck isn't writing code anymore. It's reviewing it. See MOTIVATION.md for the full analysis of why structured PR signals matter in agentic SDLC workflows.
Both skills are installed from the same repository:
npx skills add Vermonster/ver-pr-skillsOr install to a specific agent:
npx skills add Vermonster/ver-pr-skills -a github-copilotWhen activated, the skill:
- Inspects the git diff, changed files, commit messages, tests, and other available context
- Classifies the change type, scope, and risk
- Generates a structured PR description with three sections: Intent (purpose, outcome, type/risk/scope), Technical (changed files, risk, test commands, operations), and Human Review (where to start, demo walkthrough, questions, uncertainty)
- Validates the generated signals against the actual diff and fixes mismatches
Generates the PR description and displays it without touching your remote. Use this to review and iterate before submitting.
"Write a PR description for this branch"
"Draft PR signals for my changes"
"Generate a PR description"
Generates the PR description, then creates or updates the pull request on your remote (GitHub, GitLab, or Bitbucket). The skill checks for an existing PR on the current branch and either creates a new one or updates the body.
"Submit a PR for this branch"
"Create a PR with signals"
"Update my PR description"
Submit mode uses the GitHub Pull Request tool when available, and falls back to gh CLI. New PRs are created as drafts by default.
The skill will always confirm before creating a new PR, and show a summary before updating an existing one.
Note: If your changes include UI updates, the skill will prompt you to add screenshots or a short screencast after the PR is created.
ver-pr-review runs a structured two-phase review process and combines both positions into a terse final review that you confirm before it's submitted.
The agent inspects the diff automatically before asking you anything:
- Implementation review — reads the diff for bugs, logic errors, security issues, and correctness vs. the stated PR intent
- Refactor check — invokes a local refactor skill on changed files if one is available
- Docs/spec sync — checks that README, API docs, and specs (RSpec, OpenAPI, Gherkin, etc.) reflect the new behavior
- Issue linkage — looks for a linked issue or ticket in the description, commits, or branch name
It then reaches an internal technical position: approve, request changes, or comment.
The agent presents its findings and builds a local test guide from the actual implementation — not from the PR description. You get:
- The agent's position and any blocking items (specific, actionable, with file references)
- A numbered walkthrough to reproduce and observe the change locally
- Any judgment questions the agent can't resolve (design tradeoffs, thresholds, naming)
Then it asks for your position. You can approve, request specific changes, or comment.
Positions are combined: approval requires both agent and human to approve. The skill drafts a terse review for your confirmation:
If approving:
Approved.
If requesting changes:
Requesting changes.
**Must fix:**
1. `lib/auth.ts:47` — token is compared with `==` instead of a constant-time check; use `crypto.timingSafeEqual`
2. No test covers the expired-token path added in `app/api/session.ts`
**Optional:**
- `README.md` — auth flow diagram is outdated
The review is submitted to GitHub, GitLab, or Bitbucket on your confirmation.
"Review PR #42"
"Review the open PR on this branch"
"Do a code review"
| File | Purpose |
|---|---|
skills/ver-pr-writer/SKILL.md |
Agent instructions for generating and validating PR descriptions |
skills/ver-pr-writer/reference/template.md |
Output template the agent follows |
skills/ver-pr-writer/reference/provider-strategies.md |
Per-provider submit strategies (GitHub, GitLab, Bitbucket) |
skills/ver-pr-writer/reference/pr-signals.md |
Team-facing explanation of PR signals |
skills/ver-pr-writer/reference/pr-template.md |
PR template teams can adopt |
skills/ver-pr-writer/reference/pr-signal-check.yml |
CI workflow to enforce required sections |
| File | Purpose |
|---|---|
skills/ver-pr-review/SKILL.md |
Agent instructions for the two-phase PR review process |
skills/ver-pr-review/reference/provider-review-strategies.md |
Per-provider commands for fetching PR context and submitting reviews |
The skill works with GitHub, GitLab, and Bitbucket. Both ver-pr-writer and ver-pr-review share a single control file at the repo root:
# .ver-pr.yml
provider: github # github | gitlab | bitbucketSetting the provider:
You can create this file manually, or let the skill do it for you. On the first submit, the skill will:
- Try to auto-detect the provider from your git remote URL
- Confirm the detected provider with you
- Write
.ver-pr.ymlautomatically
You can also set it explicitly:
echo "provider: gitlab" > .ver-pr.ymlCommit .ver-pr.yml to share the provider setting with your team. If the file is absent, each person will be asked once.
Provider-specific behavior:
- GitHub — uses
ghCLI or thegithub-pull-request_create_pull_requestMCP tool; creates draft PRs by default - GitLab — uses
glabCLI; creates draft MRs; uses "Merge Request" terminology - Bitbucket — uses
bbCLI or falls back to the Bitbucket REST API; no native draft support
To enforce the signal structure on your team's PRs:
- Copy
reference/pr-template.mdto the appropriate location for your provider:- GitHub:
.github/pull_request_template.md - GitLab:
.gitlab/merge_request_templates/Default.md - Bitbucket: no native template support; use the description as a starting point
- GitHub:
- Copy
reference/pr-signal-check.ymlto.github/workflows/pr-signal-check.yml(GitHub Actions) or adapt it to your CI system - Add
.ver-pr.ymlto the repo root with your provider set - Install the skill so your coding agents generate signal-compliant PR descriptions
- Avoid rubber-stamp review
- Help humans and agents focus on what matters
- Shift review from raw diff reading toward intent, risk, evidence, and deployability
- Create a shared signal contract for PR authors, reviewers, and tooling
MIT