Ship
SkillFiles & storageUse when the user wants to commit, push, and open a pull request for the current changes. Stages relevant files, writes a descriptive commit message, pushes the branch, opens a PR against main, and posts an /oc review comment so opencode automatically reviews and approves if ready.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Ship skill
What this skill tells your AI
The instructions your AI receives, as published by 2ssk/dot-files in .claude/skills/ship/SKILL.md and read by ahel’s review.
Commits staged changes, pushes the branch, opens a PR, and triggers an automated opencode review.
When to Use This Skill
Invoke this skill when the user says things like:
- "ship it"
- "commit push pr"
- "ship this"
- "create a pr"
- "push and open a pr"
- "commit and ship"
Workflow
Follow these steps in order, stopping and reporting any errors immediately.
Step 1 — Sanity checks
Run these in parallel:
git status
git diff
git log --oneline -5
git remote -v
Use the output to understand: what branch we're on, what's changed, what the recent commit style looks like, and what the remote is.
Step 2 — Fetch and rebase
git fetch origin
git rebase origin/main
If there are conflicts, resolve them (keeping both sides where appropriate), then continue the rebase. Do NOT skip this step.
Step 3 — Stage files
Stage all changed/new files that are relevant to the work. Explicitly exclude:
.DS_Store*.db,*.db-shm,*.db-wal- Any file that looks like it contains secrets (
.env,credentials.*, etc.) - Prototype/demo directories unless they are part of the deliverable
git add <relevant files>
git status # verify staging looks right
Step 4 — Commit
Write a commit message that:
- Uses the imperative mood (
feat:,fix:,ci:,docs:,refactor:) - First line ≤ 72 characters summarising the why, not the what
- Body bullet points for non-obvious details (optional but preferred for large changes)
- Matches the style of recent commits in
git log
git commit -m "<message>"
Step 5 — Push
If the branch has no upstream yet:
git push -u origin <branch>
Otherwise:
git push
Step 6 — Open PR
Use the gh CLI to create a PR targeting main:
gh pr create \
--title "<concise title matching commit subject>" \
--body "$(cat <<'EOF'
## Summary
<2-4 bullet points describing what changed and why>
## Notes
<any reviewer context, migration steps, known limitations — omit section if none>
EOF
)" \
--base main
Capture the PR URL from the output.
Step 7 — Trigger opencode review
Post the review comment on the PR so the opencode GitHub Action picks it up:
gh pr comment <PR number> --body "/oc please review this PR and approve if you find it ready to merge"
Step 8 — Report back
Tell the user:
- The commit hash and message
- The PR URL
- That the opencode review has been triggered
Rules
- Never force-push to
mainormaster - Never commit
.env, secrets, or credential files — warn the user if they're staged - Always rebase onto
origin/mainbefore pushing to minimise conflicts - If
ghis not authenticated, tell the user to rungh auth loginfirst - If the build/tests are known to exist (e.g.
go build ./...,npm test), run them before committing and abort if they fail
Signals
- GitHub stars
- 251
- Forks
- 12
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
ship- Source
- github.com/2ssk/dot-files