Skip to content

feat(skills): add pr-pass skill and refactor create-pr workflow - #540

Merged
baleen37 merged 2 commits into
mainfrom
fix/skills-create-pr-pr-pass
Feb 26, 2026
Merged

feat(skills): add pr-pass skill and refactor create-pr workflow#540
baleen37 merged 2 commits into
mainfrom
fix/skills-create-pr-pr-pass

Conversation

@baleen37

@baleen37 baleen37 commented Feb 26, 2026

Copy link
Copy Markdown
Owner

Add pr-pass skill for fixing broken PRs, and refactor create-pr to delegate repair work to it.

Changes

  • pr-pass: new skill for diagnosing and fixing broken PRs (CI failure, failing tests, DIRTY, BEHIND)
  • create-pr: removed repair logic, now delegates to me:pr-pass on exit 1; added gh pr checks --watch for exit 2
  • verify-pr-status.sh: replaced sync-with-base.sh reference with direct git fetch && merge instruction

Tests

Manually verified skill content and script syntax.

Summary by CodeRabbit

  • New Features

    • Added new skill to diagnose and fix broken pull requests with guided, step-by-step remediation commands.
  • Documentation

    • Restructured PR creation workflow with more explicit step-by-step guidance including integrated verification checks.
    • Simplified verification instructions with direct inline git commands.

@baleen37
baleen37 enabled auto-merge (squash) February 26, 2026 15:09
@coderabbitai

coderabbitai Bot commented Feb 26, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@baleen37 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 11 minutes and 37 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 0ff2d33 and 7fd22c2.

📒 Files selected for processing (1)
  • tests/skills/test_create_pr_verify_status.bats
📝 Walkthrough

Walkthrough

Documentation updates to the create-pr skill workflow and script, plus introduction of a new pr-pass skill. The create-pr skill now emphasizes step-by-step PR creation with integrated verification checks and delegates broken-state fixes to me:pr-pass. The verify-pr-status.sh script replaces remote script invocations with inline git commands. A new pr-pass skill provides diagnostic and remediation guidance for failing PRs.

Changes

Cohort / File(s) Summary
Create-PR Skill Updates
plugins/me/skills/create-pr/SKILL.md, plugins/me/skills/create-pr/scripts/verify-pr-status.sh
Documentation restructured to emphasize explicit step-by-step PR creation (steps 1–7) with integrated verification and conflict checks. Verification guidance now references me:pr-pass for fixing broken states. verify-pr-status.sh now contains inline git commands (fetch, merge, push) instead of delegating to external sync scripts.
New PR-Pass Skill
plugins/me/skills/pr-pass/SKILL.md
New skill document introducing diagnostic and remediation workflow for broken PRs, including symptom-based sections for CI failures, test failures, conflicts (DIRTY), and behind-base scenarios, with concrete gh/git commands and decision points for manual intervention.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 A PR flows now in seven clear hops,
With checks and conflicts and verification stops,
When things go awry (BEHIND or DIRTY state),
Me:pr-pass arrives—it's never too late!
Step by step, we mend what is broken,
With git fetch and merge—the healing words spoken.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main changes: adding the pr-pass skill and refactoring create-pr workflow. It aligns well with the PR objectives and summarizes the primary work.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/skills-create-pr-pr-pass

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
plugins/me/skills/create-pr/SKILL.md (1)

40-45: Add explicit exit-code branching to prevent unconditional gh pr checks --watch execution.

The current snippet unconditionally runs gh pr checks --watch after verify, but the script returns different exit codes (0: done, 1: broken, 2: CI running). Only exit code 2 should trigger the watch command; exit 0 should proceed to auto-merge, and exit 1 should halt (use me:pr-pass).

🔧 Proposed snippet refinement
 # 6) verify
-"${CLAUDE_PLUGIN_ROOT}/skills/create-pr/scripts/verify-pr-status.sh"
-# exit 0: done
-# exit 1: broken — use me:pr-pass
-# exit 2: CI still running
-gh pr checks --watch
+VERIFY_EXIT=0
+"${CLAUDE_PLUGIN_ROOT}/skills/create-pr/scripts/verify-pr-status.sh" || VERIFY_EXIT=$?
+# exit 0: done
+# exit 1: broken — use me:pr-pass
+# exit 2: CI still running
+if [ "$VERIFY_EXIT" -eq 2 ]; then
+  gh pr checks --watch
+fi
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@plugins/me/skills/create-pr/SKILL.md` around lines 40 - 45, The verify step
currently unconditionally runs "gh pr checks --watch" after invoking
"${CLAUDE_PLUGIN_ROOT}/skills/create-pr/scripts/verify-pr-status.sh"; change the
flow to inspect the script's exit code from verify-pr-status.sh and branch: if
the exit code is 2 then run "gh pr checks --watch", if it is 0 proceed to the
auto-merge path, and if it is 1 stop and surface the failure (prompt use of
me:pr-pass). Ensure you capture the exit code immediately after running
verify-pr-status.sh and implement the conditional branching logic so only the
exit-code-2 case triggers gh pr checks --watch.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@plugins/me/skills/pr-pass/SKILL.md`:
- Around line 19-24: The markdown has MD031 fence-spacing violations: ensure
every fenced code block (the triple-backtick blocks shown in SKILL.md) is
preceded and followed by a blank line; update each occurrence (the blocks
containing the bash examples and the proposed fixes) so there is exactly one
empty line above the opening ```bash and one empty line below the closing ```
(apply to the blocks at the noted sections and any similar blocks), then re-run
markdownlint/MD031 to confirm no remaining violations.

---

Nitpick comments:
In `@plugins/me/skills/create-pr/SKILL.md`:
- Around line 40-45: The verify step currently unconditionally runs "gh pr
checks --watch" after invoking
"${CLAUDE_PLUGIN_ROOT}/skills/create-pr/scripts/verify-pr-status.sh"; change the
flow to inspect the script's exit code from verify-pr-status.sh and branch: if
the exit code is 2 then run "gh pr checks --watch", if it is 0 proceed to the
auto-merge path, and if it is 1 stop and surface the failure (prompt use of
me:pr-pass). Ensure you capture the exit code immediately after running
verify-pr-status.sh and implement the conditional branching logic so only the
exit-code-2 case triggers gh pr checks --watch.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 570c2fc and 0ff2d33.

📒 Files selected for processing (3)
  • plugins/me/skills/create-pr/SKILL.md
  • plugins/me/skills/create-pr/scripts/verify-pr-status.sh
  • plugins/me/skills/pr-pass/SKILL.md

Comment on lines +19 to +24
**CI failure**
```bash
gh run view <run-id> --log-failed # read logs
# fix, commit, push
gh pr checks --watch
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix markdownlint MD031 fence spacing violations.

Fenced code blocks should be surrounded by blank lines; current sections will keep triggering lint warnings.

🧹 Proposed markdown fix
 **CI failure**
+
 ```bash
 gh run view <run-id> --log-failed  # read logs
 # fix, commit, push
 gh pr checks --watch

Failing tests — run locally first, never fix blind
+

<test command>
# fix, commit, push
gh pr checks --watch

Conflict (DIRTY)
+

git fetch origin && git merge origin/<base>
# resolve, commit, push

BEHIND base
+

git fetch origin && git merge origin/<base-branch>
git push
</details>


Also applies to: 26-31, 33-37, 39-43

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.21.0)</summary>

[warning] 20-20: Fenced code blocks should be surrounded by blank lines

(MD031, blanks-around-fences)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @plugins/me/skills/pr-pass/SKILL.md around lines 19 - 24, The markdown has
MD031 fence-spacing violations: ensure every fenced code block (the
triple-backtick blocks shown in SKILL.md) is preceded and followed by a blank
line; update each occurrence (the blocks containing the bash examples and the
proposed fixes) so there is exactly one empty line above the opening bash and one empty line below the closing (apply to the blocks at the noted sections
and any similar blocks), then re-run markdownlint/MD031 to confirm no remaining
violations.


</details>

<!-- fingerprinting:phantom:poseidon:hawk -->

<!-- This is an auto-generated comment by CodeRabbit -->

@baleen37
baleen37 merged commit 28fe732 into main Feb 26, 2026
5 checks passed
@baleen37
baleen37 deleted the fix/skills-create-pr-pr-pass branch February 26, 2026 15:15
baleen-release-app Bot pushed a commit that referenced this pull request Feb 26, 2026
# [5.37.0](v5.36.2...v5.37.0) (2026-02-26)

### Features

* **skills:** add pr-pass skill and refactor create-pr workflow ([#540](#540)) ([28fe732](28fe732))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant