원클릭으로
stacked-prs
Manage stacked PRs with proper visualization, merge-based updates, and iterative CodeRabbit feedback cycles
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Manage stacked PRs with proper visualization, merge-based updates, and iterative CodeRabbit feedback cycles
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
RFC-39 compliant API best practices for Java services. Covers request/response patterns, error handling, pagination, versioning, and authentication standards. Use when designing or reviewing REST APIs in Java services.
RFC-29 compliant changelog management with Common Changelog format and Unreleased section extension. Validates changelog on commits, generates from git history, and ensures all merged PRs are documented. Use when setting up changelog workflows or retrofitting existing repositories.
Systematic workflow for CodeRabbit reviews - local CLI, PR threads, and commit attribution
Enforces consistent coding standards across the codebase including naming conventions, code organization, and documentation requirements. Use when writing new code, reviewing pull requests, or refactoring existing code.
Database integration patterns for Java services using jOOQ and Flyway. Covers code generation, read/write splitting, migration guidelines, and version compatibility. Use when setting up or maintaining PostgreSQL integration.
Version catalog strategy, dependency management, BOMs, and version constraints for Java/Gradle projects. Covers version centralization, never-downgrade policy, bundle patterns, resolution strategies, and compatibility matrices.
| name | stacked-prs |
| description | Manage stacked PRs with proper visualization, merge-based updates, and iterative CodeRabbit feedback cycles |
| compatibility | All repositories with GitHub |
| metadata | {"version":"1.1.0","category":"workflow","tags":["pull-requests","git","code-review","coderabbit"],"triggers":["on-demand"],"uses":["coderabbit-workflow","pr-workflow"]} |
Workflows for managing stacked (dependent) pull requests with proper visualization, merge-based updates, and iterative CodeRabbit review cycles.
📚 references/ - Detailed documentation
🔧 scripts/ - Automation scripts
| Phase | Description | Reference |
|---|---|---|
| Creation | Create stacked PRs with proper titles and descriptions | references/pr-formatting.md |
| Updates | Merge changes through the stack (no rebasing) | references/merge-workflow.md |
| Reviews | Process CodeRabbit feedback in cycles | references/review-cycles.md |
| Readiness | Mark ready only after CI + CodeRabbit approval | references/readiness-checklist.md |
[JIRA-KEY] type(scope): description (PR N/M)
## PR Stack
| # | PR | Title | Status |
|---|-----|-------|--------|
| 1 | #78 | PNPM migration | Merged |
| 2 | **#79** | Shell to JS | This PR |
| 3 | #80 | Skills content | Depends on #79 |
| 4 | #81 | Validation & CI | Depends on #80 |
# 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
| Script | Purpose |
|---|---|
scripts/check-stack-status.ts | Check CI and CodeRabbit status for all PRs in stack |
| Reference | Content |
|---|---|
references/pr-formatting.md | PR title and description templates |
references/merge-workflow.md | How to propagate changes through the stack |
references/review-cycles.md | Processing CodeRabbit feedback iteratively |
references/readiness-checklist.md | When to mark PRs ready for review |
references/automation-patterns.md | Polling loops, callbacks, and autonomous operation |
PRs should only be marked "Ready for Review" when:
Important: Do NOT explicitly request CodeRabbit approval. It approves automatically after you've addressed all its comments and pushed fixes.
For autonomous AI agents, use polling loops to monitor status:
async function waitForPRReady(prNumber: number, repo: string, maxAttempts = 30, intervalMs = 60000) {
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
const status = await checkPRStatus(prNumber, repo);
if (status.ciPassed && status.coderabbitApproved && status.openComments === 0) {
return { ready: true, status };
}
console.log(`Attempt ${attempt}/${maxAttempts}: CI=${status.ciPassed}, CR=${status.coderabbitApproved}, Comments=${status.openComments}`);
if (attempt < maxAttempts) {
await sleep(intervalMs);
}
}
return { ready: false, reason: 'timeout' };
}
See references/automation-patterns.md for complete polling implementations.
| Skill | Purpose |
|---|---|
coderabbit-workflow | Thread replies, comment export, local CLI reviews |
pr-workflow | Base PR management patterns |