Agent skill
ship
Branch, commit, and open a pull request with quality checks
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/ship-corbanb-x4-mono
SKILL.md
Ship Skill
Create a branch, commit changes, and open a pull request with quality checks.
Arguments
The user describes what they're shipping. If unclear, ask for:
- What changed (feature, fix, refactor, etc.)
- Branch name (or auto-generate from description)
Workflow
1. Pre-flight Checks
Run these in parallel to validate the codebase:
bun turbo type-check # TypeScript
bun turbo lint # ESLint + boundaries
bun turbo test # All tests
If any fail, stop and report. Do not ship broken code.
2. Review Changes
git status # See what's changed
git diff # Review unstaged changes
git diff --staged # Review staged changes
Review the changes for:
- Accidental files (
.env.local,node_modules, etc.) - Unrelated changes mixed in
- Missing files that should be included
3. Create Branch
If not already on a feature branch:
git checkout -b {type}/{short-description}
Branch naming conventions:
feat/add-user-notificationsfix/login-redirect-looprefactor/extract-auth-middlewaredocs/update-api-referencechore/update-dependencies
4. Stage and Commit
Stage specific files (never git add -A blindly):
git add apps/api/src/routers/comments.ts
git add packages/shared/utils/validators.ts
# etc.
Commit with a descriptive message:
git commit -m "$(cat <<'EOF'
feat: add comment router with CRUD operations
- Create comments router with list/get/create/update/delete
- Add Zod schemas for comment validation
- Wire into appRouter
- Add ownership checks for mutations
Co-Authored-By: Claude Opus 4.6 <[email protected]>
EOF
)"
5. Push and Create PR
git push -u origin {branch-name}
Create PR with structured description:
gh pr create --title "feat: add comment router" --body "$(cat <<'EOF'
## Summary
- Add CRUD router for comments with ownership checks
- Create Zod schemas for comment input/output validation
- Register in appRouter with OpenAPI meta
## Test plan
- [ ] `bun turbo type-check` passes
- [ ] `bun turbo lint` passes
- [ ] `bun test --cwd apps/api` passes
- [ ] Manual test: create/read/update/delete comments via API
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Rules
- Never force push — coordinate with the team
- Never push to main directly — always use a PR
- Never commit
.env.local— only.env.exampleis tracked - Never commit with
--no-verify— let hooks run - Always stage specific files — review what you're including
- Always run checks first — don't ship broken code
- Never skip tests — if tests fail, fix them first
Commit Message Format
type: short description
- Detail 1
- Detail 2
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Types: feat, fix, refactor, docs, chore, test, style, perf
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?