| name | ship |
| description | Quickly add, commit, and push changes to the current branch |
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
/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