mcpField
S
ship

ship

github.com/riffingonsoftwareDevelopment0142 installsUpdated 2d ago
Repository

About ship

ship is a skill for reviewing local changes and delivering them as commits and a push. It is for developers who want changes inspected for sensitive data, grouped by purpose, checked, and sent to the current branch’s upstream.

Key features

  1. 01Inspect diffs, untracked files, and commits
  2. 02Scan changes for sensitive data
  3. 03Prune obsolete or affected tests
  4. 04Commit changes in reviewable groups
  5. 05Run checks before pushing
  6. 06Push to the existing upstream

Use cases

  1. 01Prepare a set of local changes for delivery
  2. 02Stop a commit when sensitive data is found
  3. 03Separate unrelated changes into distinct commits
  4. 04Verify changes before pushing

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/riffingonsoftware/agent-skills --skill ship

After installing, type/shipin Claude Code to confirm it loaded.

Details

From the project README

Ship

Ship the changes a caller names, or all local changes when no caller names any.

  1. Inspect git status --short --untracked-files=all, git diff, git diff --staged, every untracked file, and every unpushed commit. Never commit an uninspected file.
  2. Scan the changes and unpushed commits for secrets, credentials, tokens, API or private keys, .env contents, personal data, or anything else that should not be committed. If a change may contain such data, stop without committing. Name the file and the kind of data without quoting the value, then ask whether to remove, redact, ignore, or intentionally keep it.
  3. If the changes add, edit, or make tests obsolete, run prune-tests scoped to them.
  4. Group the changes by purpose. Stage and commit one independently reviewable group of files or hunks at a time, with a message that states its purpose, and recheck status between commits. Finish when none of the changes remain uncommitted.
  5. Run the cheapest checks that show the changes work before pushing. If one fails, stop and report it without pushing. Report each check you skip.
  6. Push the current branch to its existing upstream. Ask before setting one.

Ask before destructive cleanup, reset, checkout, or deletion. End by reporting the commits, sensitive-data scan result, pruned tests, checks, and push result.

Comments

Markdown supported