ship

Commit pending changes and push the main branch to origin with rebase.

275|32|Updated Oct 2, 2020
One-click install
npx skills add https://github.com/bex-co/beancount-io --skill ship-bex-co
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ship
Source: https://github.com/bex-co/beancount-io/tree/main/.agents/skills/ship
Command: npx skills add https://github.com/bex-co/beancount-io --skill ship-bex-co

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Shipping local work on the main branch involves repetitive git steps—checking status, pulling with rebase, resolving conflicts, staging files, writing commit messages, and pushing. This Skill automates that entire sequence safely in one command. ## Core Features & Use Cases - Branch Safety Check: Verifies you are on main before doing anything and stops to ask if you are not. - Rebase-Based Sync: Pulls the latest origin/main with git pull --rebase and resolves merge conflicts proactively, inspecting both sides of each conflict before resolving. - Intentional Commits: Stages only relevant files explicitly by path and generates Conventional Commits messages from session knowledge or the diff. - Use Case: After finishing a feature fix with several uncommitted changes, invoke $ship to pull the latest main, commit your work with a proper message, and push to origin in one flow. ## Quick Start Ask the agent to ship the current main branch by invoking $ship with an optional commit message context.

Frequently Asked Questions about ship

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I commit and push the main branch in one step?

Invoke the ship skill with an optional commit message context. It verifies you are on main, pulls with rebase, stages your changes explicitly, creates a Conventional Commits message, and pushes to origin/main.

How to resolve git rebase conflicts when pulling main?

The skill inspects conflicted files with git status and combined diffs, examines both index stages with git show :2: and :3:, then produces the smallest resolution preserving both sides' intent before staging and continuing the rebase.

What happens if I run ship on a branch other than main?

The skill stops immediately and asks whether to switch branches or abort. It never commits or pushes from a non-main branch without explicit user confirmation.

Does the skill handle non-fast-forward push rejections?

Yes. If the push is rejected as non-fast-forward, it re-runs the rebase pull step, resolves any conflicts using the same inspection procedure, and retries the push to origin/main.

When should I not use an automated git ship workflow?

Avoid it when the working tree contains unfamiliar changes you have not reviewed, or when conflict resolutions would materially change behavior and the intended outcome cannot be inferred safely. In those cases the skill escalates with a question.