live1,247 agents deployedbuilt by a solo devpowered by hermes
← All skillsSign up to install

shipit

General0 installsUpdated 19d ago
Curatedhutchic

Run the full flow: ensure we're on a feature/bug branch (create one if on mainline or release), stage related changes, run pre-commit, commit with a terse semantic message, push, then create a PR (or update the PR description if one already exists). This command orchestrates the ensure-feature-branch, stage-related-files, terse-semantic-commits, and open-pr skills.

SKILL.md preview

# Shipit

## Overview

Run the full flow: ensure we're on a feature/bug branch (create one if on mainline or release), stage related changes, run pre-commit, commit with a terse semantic message, push, then create a PR (or update the PR description if one already exists). This command orchestrates the ensure-feature-branch, stage-related-files, terse-semantic-commits, and open-pr skills.

## When to Use

- Use when you want to ship changes: stage, commit, push, and open or update a PR in one workflow
- Use when following the project's commit and PR standards (semantic, terse, pre-commit)

## Steps

1. **Ensure feature branch**: Use the [ensure-feature-branch](.cursor/skills/git/ensure-feature-branch/SKILL.md) skill. If the current branch is mainline (e.g. main, master, dev) or a release branch (e.g. release/*), create and checkout a new feature/bug branch before proceeding. If already on a feature or bug branch, continue.

2. **Stage**: Use the [stage-related-files](.cursor/skills/git/stage-related-files/SKILL.md) skill to group changes and stage them (one or more logical groups; multiple `git add` + commit cycles if the user wants multiple commits, or one group for "shipit in one commit"). **Note**: Research documents (`*research*.md`, `plan*.txt`, `*.plan.md`) are automatically excluded from staging as they are one-off task documents.

3. **Commit**: For each staged group, use the [terse-semantic-commits](.cursor/skills/git/terse-semantic-commits/SKILL.md) skill to produce the commit message. Run `pre-commit run --all-files` (fix any failures), then `git commit -m "..."` (do not use `--trailer`). If the commit times out because the git hook runs a long test suite, retry with an extended timeout (e.g. 10 minutes); never use `--no-verify`. See [Commit Retry on Hook Timeout rule](.cursor/rules/meta/commit-retry-on-hook-timeout.mdc). Repeat if multiple groups were chosen.

4. **Push**: Push the current branch: `git push -u origin <branch>` on first push, otherwise `git push`. If push is rejected (e.g. remote has new commits), use [rebase-onto-main](.cursor/commands/rebase-onto-main.md) to rebase onto origin/main and resolve conflicts, then push (or pull/rebase as appropriate).

5. **PR**: Use the [open-pr](.cursor/skills/git/open-pr/SKILL.md) skill: if no PR exists for this branch, create one with a terse semantic title and body from the project template; if a PR already exists, ensure the description (and title if needed) is up to date.

## Parameters

Optional context after the command to guide staging:

- `/shipit` – Default: one or more logical groups as appropriate
- `/shipit single commit` – Prefer one commit for all changes
- `/shipit split by feature` – Prefer multiple commits grouped by feature/fix/docs

## Checklist

- [ ] On a feature/bug branch (ensure-feature-branch used if started on mainline or release)
- [ ] Changes staged using the stage-related-files skill
- [ ] Pre-commit run and passing
- [ ] Commit(s) made with terse semantic message(s)
- [ ] Branch pushed
- [ ] PR created or description updated using the open-pr skill

## Related Artifacts

- [Land the Plane Command](.cursor/commands/land-the-plane.md) – Full wrap-up workflow (tasks, quality, deslop, then shipit)
- [Ensure Feature Branch Skill](.cursor/skills/git/ensure-feature-branch/SKILL.md)
- [Stage Related Files Skill](.cursor/skills/git/stage-related-files/SKILL.md)
- [Terse Semantic Commits Skill](.cursor/skills/git/terse-semantic-commits/SKILL.md)
- [Open PR Skill](.cursor/skills/git/open-pr/SKILL.md)
- [Commit Retry on Hook Timeout Rule](.cursor/rules/meta/commit-retry-on-hook-timeout.mdc)
- [Automation Decomposition Rule](.cursor/rules/meta/automation-decomposition.mdc)
- [CONTRIBUTING.md](CONTRIBUTING.md), [AGENTS.md](AGENTS.md)
- [.github/PRE_COMMIT_SETUP.md](.github/PRE_COMMIT_SETUP.md)