Skip to content

Add git-workflow plugin with /ship and /pr:review commands#10

Merged
AnExiledDev merged 2 commits intomainfrom
feat/git-workflow-plugin
Feb 26, 2026
Merged

Add git-workflow plugin with /ship and /pr:review commands#10
AnExiledDev merged 2 commits intomainfrom
feat/git-workflow-plugin

Conversation

@AnExiledDev
Copy link
Owner

@AnExiledDev AnExiledDev commented Feb 24, 2026

Summary

  • Adds a new git-workflow plugin with two standalone slash commands: /ship (review, commit, push, optional PR) and /pr:review (aggressive PR review, never merges)
  • Both commands are optionally ticket-aware — they link to tickets when session context exists from /ticket:work, but work fully standalone otherwise
  • Registered in marketplace, settings, CLAUDE.md, docs, and changelog

Changes

  • New plugin: git-workflow/ with plugin.json, skills/ship/SKILL.md, skills/pr-review/SKILL.md, README.md
  • marketplace.json: Added git-workflow entry
  • settings.json: Enabled git-workflow@devs-marketplace
  • CLAUDE.md: Added plugin to plugins list
  • commands.md: Added Git Workflow Slash Commands section with workflow descriptions
  • CHANGELOG.md: Added [Unreleased] section with both commands

Test plan

  • Verify plugin loads when enabled in settings.json
  • Run /ship with staged changes — confirm full review, commit message approval, AskUserQuestion before PR
  • Run /pr:review 42 — confirm PR diff fetched, analysis posted as comment (not approval)
  • Run /pr:review with no argument on a branch with an open PR — confirm auto-detection
  • Verify ticket linking works when /ticket:work context exists
  • Verify standalone mode works without ticket context

Summary by CodeRabbit

  • New Features

    • Introduced git-workflow plugin with two new slash commands
    • /ship: streamlined commit, push, and pull request creation workflow with code review
    • /pr:review: review any pull request and post findings as comments
  • Documentation

    • Added comprehensive documentation for git-workflow plugin and commands

@coderabbitai
Copy link

coderabbitai bot commented Feb 24, 2026

Warning

Rate limit exceeded

@AnExiledDev has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 31 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 f5f08fc and 5f4c897.

📒 Files selected for processing (3)
  • .devcontainer/plugins/devs-marketplace/plugins/git-workflow/README.md
  • .devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/pr-review/SKILL.md
  • .devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/ship/SKILL.md
📝 Walkthrough

Walkthrough

This pull request introduces a new Git Workflow Plugin that provides two slash commands: /ship for commit/push/PR workflows and /pr:review for PR review functionality. The changes include plugin configuration, marketplace registration, skill definitions, and command documentation.

Changes

Cohort / File(s) Summary
Plugin Configuration & Registry
.devcontainer/CHANGELOG.md, .devcontainer/CLAUDE.md, .devcontainer/config/defaults/settings.json, .devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json
Registers git-workflow plugin in devcontainer configuration, changelog, and marketplace manifest; enables the plugin in workspace settings.
Plugin Metadata
.devcontainer/plugins/devs-marketplace/plugins/git-workflow/.claude-plugin/plugin.json
Adds plugin descriptor defining name, description, and author metadata for the git-workflow plugin.
Plugin Documentation & Skills
.devcontainer/plugins/devs-marketplace/plugins/git-workflow/README.md, .devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/ship/SKILL.md, .devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/pr-review/SKILL.md
Documents plugin usage, installation instructions, and detailed workflow specifications for /ship (commit/push/PR creation) and /pr:review (multi-phase PR analysis with severity-based findings) commands.
Command Documentation
docs/src/content/docs/reference/commands.md
Adds reference documentation for new /ship and /pr:review slash commands within the commands reference guide.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 Hoppy times ahead, with git commands so bright,
A workflow for shipping code left and right,
Review PRs with care, find issues in sight,
The plugin now registered—everything's tight!

🚥 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 accurately and concisely summarizes the primary change: introducing a new git-workflow plugin with two slash commands (/ship and /pr:review).
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 feat/git-workflow-plugin

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
.devcontainer/plugins/devs-marketplace/plugins/git-workflow/README.md (1)

20-20: Add text language tag to all three unlabelled fenced code blocks.

markdownlint-cli2 (MD040) flags these at lines 20, 41, and 109. Adding ```text to each suppresses the warnings without altering rendering.

🔧 Proposed fix
-```
+```text
/ship [optional commit message hint]

(apply the same change to the blocks starting at lines 41 and 109)

Also applies to: 41-41, 109-109

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.devcontainer/plugins/devs-marketplace/plugins/git-workflow/README.md at
line 20, Three fenced code blocks are missing a language tag and trigger
markdownlint MD040; update each unlabelled block (the one containing "/ship
[optional commit message hint]" and the two other similar unlabelled blocks in
this README) to use the text language by changing the opening fence to "```text"
so the blocks render the same but suppress the lint warnings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
@.devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/pr-review/SKILL.md:
- Around line 79-82: The second grep invocation treats the glob patterns after
-- as filenames and thus bypasses stdin; replace it with a proper pipeline or
supported gh path filter. For example, pipe the diff into a second grep that
filters added lines and matches dependency filenames (e.g. use: gh pr diff $PR |
grep '^\+' | grep -E
'requirements.*\.txt|package.*\.json|Cargo\.toml|go\.mod|Gemfile') or, if gh pr
diff supports path arguments, call gh pr diff $PR -- "**/requirements*.txt"
"**/package*.json" "**/Cargo.toml" "**/go.mod" "**/Gemfile" to scope the diff to
those files instead of using -- with grep.

In
@.devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/ship/SKILL.md:
- Around line 1-6: The frontmatter in SKILL.md is missing file-editing tools so
Phase 5 cannot modify code; update the allowed-tools array in the YAML header of
.devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/ship/SKILL.md
to include the editing capabilities (add "Write", "Edit" and/or "MultiEdit")
alongside the existing entries so the skill can perform the "Fix Selected Items"
step; locate the YAML frontmatter block (the top-level keys
description/argument-hint/disable-model-invocation/allowed-tools) and modify the
allowed-tools value to include the editing tool names.

---

Nitpick comments:
In @.devcontainer/plugins/devs-marketplace/plugins/git-workflow/README.md:
- Line 20: Three fenced code blocks are missing a language tag and trigger
markdownlint MD040; update each unlabelled block (the one containing "/ship
[optional commit message hint]" and the two other similar unlabelled blocks in
this README) to use the text language by changing the opening fence to "```text"
so the blocks render the same but suppress the lint warnings.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d2ba55e and f5f08fc.

📒 Files selected for processing (9)
  • .devcontainer/CHANGELOG.md
  • .devcontainer/CLAUDE.md
  • .devcontainer/config/defaults/settings.json
  • .devcontainer/plugins/devs-marketplace/.claude-plugin/marketplace.json
  • .devcontainer/plugins/devs-marketplace/plugins/git-workflow/.claude-plugin/plugin.json
  • .devcontainer/plugins/devs-marketplace/plugins/git-workflow/README.md
  • .devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/pr-review/SKILL.md
  • .devcontainer/plugins/devs-marketplace/plugins/git-workflow/skills/ship/SKILL.md
  • docs/src/content/docs/reference/commands.md

@AnExiledDev
Copy link
Owner Author

Merge conflict note: settings.json and marketplace.json

When merging after other plugin PRs (#7 prompt-snippets), this PR conflicts in two JSON files. The conflict resolution requires careful handling — naively concatenating both sides produces invalid JSON.

config/defaults/settings.json

Missing comma between plugin entries in enabledPlugins:

 		"prompt-snippets@devs-marketplace": true
-
-		"git-workflow@devs-marketplace": true
+		"prompt-snippets@devs-marketplace": true,
+		"git-workflow@devs-marketplace": true

plugins/devs-marketplace/.claude-plugin/marketplace.json

The prompt-snippets object needs its closing } and comma before the git-workflow entry gets its own { } wrapper:

 			"keywords": ["snippets", "prompts", "modes", "shortcuts"]
-
-			"name": "git-workflow",
+		},
+		{
+			"name": "git-workflow",

Recommendation: Rebase onto main after #7 is merged to avoid this at merge time.

Standalone git workflow commands that work independently of the EARS
ticket lifecycle. /ship reviews changes, commits, pushes, and
optionally creates a PR with user confirmation. /pr:review conducts
aggressive analysis on any PR by number/URL or auto-detect and posts
findings as a comment (never approves or merges). Both commands are
optionally ticket-aware when context exists.
- ship/SKILL.md: Add Edit, Write to allowed-tools so Phase 5 "Fix
  Selected Items" can actually modify files
- pr-review/SKILL.md: Fix broken grep invocation where glob patterns
  after -- were treated as filenames instead of filtering stdin
- README.md: Add `text` language tag to 3 unlabelled fenced code blocks
  (markdownlint MD040)
@AnExiledDev AnExiledDev force-pushed the feat/git-workflow-plugin branch from 5f4c897 to 0a7becc Compare February 26, 2026 02:58
@AnExiledDev AnExiledDev merged commit 03a1dcf into main Feb 26, 2026
1 check passed
@AnExiledDev AnExiledDev deleted the feat/git-workflow-plugin branch February 26, 2026 02:58
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