# Ship

> Stages all changes, creates a commit with a provided or prompted message, and pushes to the current branch.

- Skill: `diegosouzapw/ship` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add diegosouzapw/ship`
- Raw SKILL.md: https://api.skillmd.com/api/skills/diegosouzapw/ship/raw
- Safety review: CAUTION (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools, Productivity, Dev Tooling
- Tags: Commit, Git, Push, Version Control
- Author: diegosouzapw (https://skillmd.com/u/diegosouzapw)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/diegosouzapw/ship

---


# 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

1. Run `git status` to check the current state of the repository
2. If there are no changes to commit, inform the user and exit
3. Parse the commit message from args:
   - If args starts with `-m ` or `--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
4. Run `git add .` to stage all changes
5. 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)"`
6. Run `git push` to push the changes to the remote
7. 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

