Prompt file imported from matthiaskloft/rctbayespower (
.claude/commands/ship.md). Fill in{{arguments}}before use. Copyright stays with the author.
Ship a Feature
Review, commit, and create a PR for: {{arguments}}
Parse arguments: <feature-name>.
Pre-Commit Review Cycle (max 3 iterations)
-
Get changed files:
git diff --name-only main...HEAD -
Code simplification (fallback chain):
- Try:
/code-simplifierskill (local) - Alternative:
pr-review-toolkit:code-simplifieragent - Fallback: manually apply simplification checklist from
.claude/skills/code-simplifier/SKILL.md
- Try:
-
Code review (fallback chain):
- Try: review changed files against
/code-patternsconventions - Alternative:
feature-dev:code-reviewerorpr-review-toolkit:code-revieweragent - Fallback: read each changed file and check conventions manually
- Try: review changed files against
-
Naming check (fallback chain):
- Try:
naming-auditoragent (local) - Fallback: grep-based naming check per
/code-patternsconventions
- Try:
-
Fix all issues found in steps 2-4
-
Verify package (fallback chain):
- Try:
/verify-packageskill - Fallback:
devtools::test()+devtools::check()
- Try:
-
If new issues found, repeat from step 2 (max 3 iterations total)
Commit and PR
-
Commit using
/commitcommand (orcommit-commands:commitskill) -
Push:
git push -u origin <branch-name> -
Create PR:
- Read the plan from
dev/plans/<feature-name>.mdfor title and context -
gh pr create --title "<title from plan>" --body "$(cat <<'EOF' ## Summary <bullets summarizing changes> ## Test plan <checklist of test verification> 🤖 Generated with [Claude Code](https://claude.com/claude-code) EOF )"
- Read the plan from
CI Monitoring
- Poll PR status (fallback chain):
- Try:
/loop 1mwithgh pr checksif available - Fallback: inline polling loop:
gh pr checks <PR-URL> gh api repos/{owner}/{repo}/pulls/{number}/comments - Fix issues → commit → push
- Stop when: all checks pass AND no unaddressed review comments
- Max 30 iterations (timeout after 30 minutes)
- Try:
Cleanup (only after merge)
-
Verify merge:
gh pr view <PR-URL> --json state- Must show
MERGED. If not merged yet: report PR URL and stop. User merges manually and runs cleanup later.
- Must show
-
Clean up:
git checkout main git pull git worktree remove <worktree-path> git branch -d <branch-name> -
Update plan STATUS: mark as
SHIPPEDwith today's date
Rules
- Never force-push unless explicitly asked
- Don't merge the PR — the user merges (or auto-merge handles it)
- If CI fails 3 times on the same issue, stop and ask the user
- If review comments require design changes, stop and discuss with user
- Report which tools were used vs. which fallbacks were needed