pr-revise

Update an existing PR's title and description to reflect the full implementation. Use when: (1) User says 'revise pr', 'update pr description', 'pr revise', (2) Additional work was done after the PR was created and the title/body no longer matches, (3) User wants to sync PR metadata with the branch state.

6 stars

Best use case

pr-revise is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Update an existing PR's title and description to reflect the full implementation. Use when: (1) User says 'revise pr', 'update pr description', 'pr revise', (2) Additional work was done after the PR was created and the title/body no longer matches, (3) User wants to sync PR metadata with the branch state.

Teams using pr-revise should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/pr-revise/SKILL.md --create-dirs "https://raw.githubusercontent.com/Takazudo/claude-resources/main/skills/pr-revise/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/pr-revise/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How pr-revise Compares

Feature / Agentpr-reviseStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Update an existing PR's title and description to reflect the full implementation. Use when: (1) User says 'revise pr', 'update pr description', 'pr revise', (2) Additional work was done after the PR was created and the title/body no longer matches, (3) User wants to sync PR metadata with the branch state.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# PR Revise

Update an existing PR's title and description to accurately reflect the full implementation, not just the original scope.

## Prerequisites

- Current branch must have an open PR
- If no PR is found, abort with a message: "No PR found for the current branch."

## Step 1: Gather PR and Branch Context

```bash
# Get current branch
BRANCH=$(git branch --show-current)

# Fetch latest
git fetch origin

# Get PR details
gh pr view "$BRANCH" --json number,title,body,baseRefName,headRefName
```

Record the PR number, current title, current body, and base branch.

## Step 2: Analyze Full Implementation

Review ALL changes in the PR — not just recent commits:

```bash
BASE_BRANCH=<baseRefName from step 1>

# All commits in the PR
git log "origin/$BASE_BRANCH".."$BRANCH" --oneline

# Full diff stat
git diff "origin/$BASE_BRANCH"..."$BRANCH" --stat

# Full diff for understanding
git diff "origin/$BASE_BRANCH"..."$BRANCH"
```

Read the diff carefully. Understand:

- What features were added
- What was refactored or fixed
- What files were created, modified, or deleted
- The overall scope and purpose of the changes

## Step 3: Draft New Title and Description

**Optional: Copilot-assisted body draft**

Before drafting manually, attempt to get a Copilot-drafted body:

```bash
BASE_BRANCH=<baseRefName from step 1>
DRAFT=$($HOME/.claude/skills/gco/scripts/gco-pr-body.sh "$BASE_BRANCH" 2>/dev/null || true)
```

If `$DRAFT` is non-empty, use it as the starting point for the body. Claude must still review and adjust it — fill any gaps, fix inaccuracies, and ensure tone/completeness. If the script fails or returns empty, draft directly as below.

---

Based on the full diff analysis:

**Title**: Write a concise PR title (under 70 chars) that captures the overall scope. If the PR covers multiple concerns, summarize the primary theme.

**Description**: Write a comprehensive PR body using this format:

```markdown
## Summary
<2-4 bullet points covering the main changes>

## Changes
<Detailed list of what was done, grouped by category if needed>

## Test Plan
<How to verify the changes work correctly>
```

If the original body contained issue references (e.g., `Closes #123`, `Fixes #456`), preserve them in the new body.

## Step 4: Show the User What Will Change

Present the proposed updates clearly:

```
Current title: <old title>
New title:     <new title>

Current body:
<old body>

New body:
<new body>
```

Ask the user to confirm before applying.

## Step 5: Apply Updates

```bash
PR_NUMBER=<number from step 1>

# Update title
gh pr edit "$PR_NUMBER" --title "<new title>"

# Update body
gh pr edit "$PR_NUMBER" --body "$(cat <<'EOF'
<new body content>
EOF
)"
```

Report the updated PR URL when done.

## Important Notes

- Always analyze the FULL diff against the base branch, not just recent commits
- Preserve issue references from the original body
- Do not change the PR's base branch or draft status
- If the diff is very large, use `--stat` first to get an overview, then read key files selectively
- Copilot output is NEVER applied verbatim — always review and adjust before showing to user

## Copilot draft audit (pr-* skills)

Disposition of every `pr-*` skill regarding the Copilot-draft path:

| Skill | Disposition |
|---|---|
| `/pr` | **Adopt** (this sub-task) |
| `/pr-revise` | **Adopt** (this sub-task) |
| `/pr-complete` | Skip — merge/completion workflow, not text generation |
| `/pr-split` | Skip — structural rearrangement, not text generation |
| `/pr-recreate` | Skip — history cleanup, not text generation |
| `/pr-make-suggestion-edit` | Skip — applies code suggestions as edits, different domain |
| `/pr-make-suggestion-to-pr` | Defer — creates new PRs from suggestion edits; future candidate, track in a follow-up issue |

Related Skills

zudoesa-articlify

6
from Takazudo/claude-resources

Convert conversation context into an esa article via the zudoesa-writer subagent. ONLY invoke when the user explicitly asks — NEVER proactively propose. Triggers: 'write esa article', 'esa記事', 'esaに書いて', 'articlify for esa', or /zudoesa-articlify. Gathers context, creates a writing brief, delegates to the writer subagent.

zudoesa-apply-voice

6
from Takazudo/claude-resources

Apply Takazudo's esa writing voice and vocabulary rules to text. Use when: (1) User wants to write/rewrite text in Takazudo's esa style, (2) User says 'apply voice', 'esa voice', 'esa文体で', 'esa風に書いて', '文体を適用', (3) User provides text to transform to esa style. Reads writing-style.md and vocabulary-rule.md from takazudo-esa-writing repo and applies the rules.

zudocg-articlify

6
from Takazudo/claude-resources

Convert conversation context into a CodeGrid article via the zudocg-writer subagent. ONLY invoke when the user explicitly asks — NEVER proactively propose. Triggers: 'write codegrid article', 'CodeGrid記事', 'codegridに書いて', 'articlify for codegrid', or /zudocg-articlify. Gathers context, creates a writing brief, delegates to the writer subagent.

zudocg-apply-voice

6
from Takazudo/claude-resources

Apply Takazudo's CodeGrid writing voice and vocabulary rules to text. Use when: (1) User wants to write/rewrite text in Takazudo's CodeGrid style, (2) User says 'apply voice', 'codegrid voice', 'codegrid文体で', 'codegrid風に書いて', '文体を適用', (3) User provides text to transform to CodeGrid style. Reads writing-style.md and vocabulary-rule.md from takazudo-codegrid-writing repo and applies the rules.

zpaper-articlify

6
from Takazudo/claude-resources

Convert conversation context into a zpaper blog article via the zpaper-writer subagent. ONLY invoke when the user explicitly asks — NEVER proactively propose. Triggers: 'write zpaper article', 'zpaper記事', 'zpaperに書いて', 'articlify for zpaper', or /zpaper-articlify. Gathers context, creates a writing brief, delegates to the writer subagent.

zpaper-apply-voice

6
from Takazudo/claude-resources

Apply Takazudo's zpaper blog writing voice and vocabulary rules to text. Use when: (1) User wants to write/rewrite text in Takazudo's zpaper style, (2) User says 'apply voice', 'zpaper voice', 'zpaper文体で', 'zpaper風に書いて', 'ブログ文体を適用', (3) User provides text to transform to zpaper style. Reads writing-style.md and vocabulary-rule.md from the zpaper repo and applies the rules.

xlsx

6
from Takazudo/claude-resources

Spreadsheet creation, editing, and analysis. Use when working with .xlsx, .xlsm, .csv, .tsv files for: (1) Creating spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modifying existing spreadsheets while preserving formulas, (4) Data analysis and visualization, (5) Recalculating formulas.

x

6
from Takazudo/claude-resources

Facade for development workflows. Routes on two axes: plan-first vs implement-now (escalates to /big-plan -a when the request needs research / decomposition / has unclear scope — the appended -a makes the plan chain into implementation in-session), then single vs multi on the ready-to-build fast paths (/x-as-pr single-topic, /x-wt-teams multi-topic parallel). Use when: (1) User says '/x' followed by dev instructions, (2) User wants to start development without choosing the workflow skill, (3) User says 'dev', 'implement', or 'build' with a task. Default option: -v (verify-ui). Review-loop (-l) is opt-in — without -l the downstream skill runs a single /deep-review pass. Forwards -a (autonomy/auto-chain) and -m (merge at the end + cleanup + CI watch) through every route; auto-fix of raised findings (-f) and issue-raising (-ri) are downstream defaults, with -nf/--no-fix and -nori/--no-raise-issues as the forwarded opt-outs. -a and -m are orthogonal — full hands-off end-to-end is -a -m.

x-wt-teams

6
from Takazudo/claude-resources

Parallel multi-topic development using git worktrees, base branches, and Claude Code agent teams. Use when: (1) User wants to work on multiple related features in parallel, (2) User mentions 'worktree', 'base branch', 'parallel development', 'split into topics', or 'multi-topic'. FULLY AUTONOMOUS — creates worktrees, spawns teams, coordinates everything. Also supports Super-Epic child mode for [Epic] issues from /big-plan with '**Super-epic:** #N' markers (targets the super-epic base branch instead of main).

x-as-pr

6
from Takazudo/claude-resources

Start a development workflow as a draft PR. Creates a NEW branch from the current branch, empty start commit, draft PR targeting the current branch, then implements. ALWAYS creates a new branch by default — produces a nested PR-on-PR when the current branch already has one. Use when: (1) User says 'dev as pr', (2) User wants a PR-first workflow before coding, (3) User passes -s/--stay to reuse the current branch instead of nesting, (4) User passes a GitHub issue URL to implement, (5) User passes --make-issue/--issue to create an issue first. Logs progress via issue comments when an issue is linked.

watch-ci

6
from Takazudo/claude-resources

Watch GitHub PR CI checks in the background and notify on completion. Use when: (1) User wants to monitor CI/CD status, (2) User says 'watch CI', 'check CI', 'monitor checks', or 'wait for CI', (3) User wants to know when checks pass or fail. Runs a background gh polling shell loop (NOT a subagent — near-zero token cost), sends macOS notification on completion. Also handles merged PRs by watching the target branch CI.

w-update-wording-rule

6
from Takazudo/claude-resources

Add or update wording rules (表記ルール) in the w repo's vocabulary-rule.md files. Use when: (1) User says 'add wording rule', 'update wording rule', '表記ルール追加', (2) User wants to add a kanji/hiragana usage rule, (3) User provides a rule like 'X should be Y' with examples.