一键导入
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 |