| name | bp-ship |
| description | Commit and push changes in one go with branch safety checks. Triggers on "/bp-ship", "/ship", "ship it", "commit and push", "push my changes", or any request to commit and push in a single step. Also triggers on "ship this", "send it", "deploy changes", "save and push", or "let's ship". This is /bp-commit + /bp-push combined with a branch safety gate.
|
Ship: Commit and Push
Language
Read blueprint/.config.yml → language. If auto, detect from the user's messages. All generated content MUST be in the detected language. Skill instructions stay in English — only output changes.
Commit and push changes in one go.
Process
-
Branch Safety Check — Before anything, verify we're NOT on main:
BRANCH=$(git branch --show-current)
STAGING_BRANCH=$(grep 'staging_branch:' blueprint/.config.yml 2>/dev/null | awk '{print $2}')
STAGING_BRANCH=${STAGING_BRANCH:-staging}
if [ "$BRANCH" = "main" ] || [ "$BRANCH" = "master" ]; then
echo "ERROR: Cannot push directly to '$BRANCH'. Use a PR workflow ($STAGING_BRANCH → $BRANCH)."
exit 1
fi
If on main, refuse and tell the user to use a PR. All other branches (including the staging branch) are allowed.
-
Run /bp-commit (review, stage, commit with emoji format)
-
Push to current branch:
git push -u origin $(git branch --show-current)
That's it. This is just /bp-commit + /bp-push combined, with a branch safety gate.
Rules
- Do NOT stage
.env files or secrets — skip them.
- Do NOT add AI attribution (no
Co-Authored-By, no "Generated by").
- Do NOT create a PR — ship is commit + push only.
Use $ARGUMENTS as context for the commit message if provided.
Output
Keep it minimal — no narration of git commands. Just show the final result:
<emoji> <type>: <commit message>
Pushed to origin/<branch>
If something fails, show only the relevant error.