pr-lifecycle

SKILL.md

PR Lifecycle Management

Comprehensive workflows for managing pull requests using GitHub CLI (gh), including CI checks, CodeRabbit reviews, stacked PRs, and branch protection.

Core Principles

  1. Never Work on Main - All work must happen on feature/fix/chore branches
  2. Auto-Assignment - Always assign PRs to the current user after creation
  3. Prevent Terminal Buffering - Use echo wrappers for gh commands
  4. Conventional Commits - Follow conventional commit format for all commits

Skill Contents

Sections

Available Resources

references/ - Detailed documentation


Workflow Overview

Phase Description Reference
Branch Setup Create feature branches, never commit to main references/branch-protection.md
PR Creation Create draft PRs with proper formatting references/pr-creation.md
CI & Reviews Monitor CI, respond to CodeRabbit references/coderabbit-integration.md
Commits Use conventional commit format references/commit-formats.md

Quick Reference

Branch Naming Convention

{type}/{JIRA-KEY}-{description}
  • feat/ - New features
  • fix/ - Bug fixes
  • chore/ - Maintenance
  • docs/ - Documentation
  • refactor/ - Code restructuring

Prevent Terminal Buffering

# Always use echo wrapper for gh commands
echo "Checking..." ; gh pr checks 123 --repo owner/repo ; echo "Done"

Create and Assign PR

CURRENT_USER=$(gh api user --jq '.login')

PR_URL=$(gh pr create --draft \
    --title "[JIRA-KEY] fix(security): description" \
    --body "## Summary..." \
    --repo owner/repo 2>&1)

PR_NUMBER=$(echo "$PR_URL" | grep -oE '[0-9]+$')
gh pr edit $PR_NUMBER --repo owner/repo --add-assignee "$CURRENT_USER"

Stacked PRs

For dependent changes, use stacked PRs with proper visualization:

PR Title Format

[JIRA-KEY] type(scope): description (PR N/M)

Stack Visualization (in PR Description)

## PR Stack

| # | PR | Title | Status |
|---|-----|-------|--------|
| 1 | #78 | PNPM migration | Merged |
| 2 | **#79** | Shell to JS | This PR |
| 3 | #80 | Skills content | Depends on #79 |

Merge Flow (Not Rebase)

# After fixing issues in PR #79
git checkout feat/pr-80-branch
git merge feat/pr-79-branch --no-edit
git push origin feat/pr-80-branch
# Repeat for subsequent PRs in stack

See .claude/skills/stacked-prs for complete stacked PR workflows.

CodeRabbit Integration

Key Requirements

  1. All CI checks must pass before marking ready
  2. Address all CodeRabbit comments including nitpicks
  3. CodeRabbit approves automatically after addressing feedback

Co-Author for CodeRabbit Fixes

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

See .claude/skills/coderabbit-workflow for detailed patterns.

References

Reference Content
references/branch-protection.md Branch naming, never commit to main
references/pr-creation.md PR creation with auto-assignment
references/coderabbit-integration.md CodeRabbit status checks and thread replies
references/commit-formats.md Commit message templates with attribution
references/troubleshooting.md Common issues and solutions

Best Practices

  1. Auto-assign PRs to current user using gh api user --jq '.login'
  2. Include Jira key in branch names, commits, and PR titles
  3. Always use echo wrapper for gh commands to prevent buffering
  4. Always specify --repo owner/repo to avoid directory context issues
  5. Use GraphQL API for review threads, comments, and replies
  6. Work on other tasks while CI runs - Don't block on CodeRabbit reviews

Skill Dependencies

Skill Purpose
coderabbit-workflow Thread replies, comment export, local CLI reviews
jira-workflow Ticket creation and Jira key integration
stacked-prs Stacked PR management and merge workflows

Related

  • .claude/skills/coderabbit-workflow - Detailed CodeRabbit workflow patterns
  • .claude/skills/jira-workflow - Jira ticket workflow
  • .claude/skills/stacked-prs - Stacked PR management
Weekly Installs
7
GitHub Stars
36
First Seen
Jan 24, 2026
Installed on
claude-code5
opencode4
antigravity4
windsurf4
codex4
gemini-cli4