ship
Quickly add, commit, and push changes to the current branch.
Arguments
- •
message(optional): Commit message. If not provided, will prompt the user for one.
Instructions
- •Run
git statusto check the current state of the repository - •If there are no changes to commit, inform the user and exit
- •Parse the commit message from args:
- •If args starts with
-mor--message, extract the message after the flag (removing quotes if present) - •Otherwise, treat the entire args string as the message (removing surrounding quotes if present)
- •If args is empty or just whitespace, ask the user for a commit message using AskUserQuestion
- •If args starts with
- •Run
git add .to stage all changes - •Create a commit with the message using the git commit protocol from the system instructions:
- •Format the message properly with a Co-Authored-By line at the end
- •Use a heredoc for proper formatting:
git commit -m "$(cat <<'EOF'\n[message]\n\nCo-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>\nEOF\n)"
- •Run
git pushto push the changes to the remote - •Confirm success to the user with a summary of what was pushed (include commit message and branch)
Example Usage
code
/ship "Add new printer case study" /ship -m "Fix typography issues" /ship
Notes
- •Always follow git safety protocols
- •Show git status before committing
- •Confirm successful push with the user
- •If push fails, report the error clearly