All 5 AI packs for $39 →
← ToolTier Library
Agent Skills · Free

Claude Code skill: /ship-check before you commit

A free Agent Skill (SKILL.md) for Claude Code that pulls your live git diff into the prompt, checks it for bugs, leftover debug code and secrets, runs your checks and suggests a commit message.

Install
.claude/skills/ship-check/SKILL.md
Last tested
Claude Code · 2026-10-29

Skills are folders with a SKILL.md file. In Claude Code, the folder name becomes a slash command, so this one runs as /ship-check. Claude Code's docs say custom commands have been merged into skills, and the old .claude/commands/ files keep working, but skills can also bundle supporting files.

It uses two Claude Code features. The !`git diff HEAD` lines are dynamic context injection: Claude Code runs each command and puts its output into the prompt before Claude reads it, so the review is based on your real working tree. And disable-model-invocation: true means Claude never runs it on its own; you decide when, and its description stays out of context until then. Anything you type after the command (/ship-check focus on the auth changes) is passed in through $ARGUMENTS.

Both features are Claude Code extensions to the open Agent Skills format. If you upload it to claude.ai or the Skills API, which only accept the spec's fields, remove the disable-model-invocation line and expect the ! commands not to run there. Want a reviewer that runs in its own context instead? Use our free code-reviewer subagent.

SKILL.md
---
name: ship-check
description: Pre-commit check of the current changes. Reviews the diff for bugs, leftover debug code and secrets, runs the project's checks, and says whether it's ready to commit.
disable-model-invocation: true
---

## Current state

!`git status --short`

!`git diff HEAD --stat`

## Diff

!`git diff HEAD`

## Instructions

You are checking whether the changes above are ready to commit. Don't edit anything unless I ask.

1. If the diff is empty, say there is nothing to check and stop.
2. Read the diff, and the surrounding code where a change isn't clear on its own. Look for:
   - Bugs: wrong conditions, missing awaits, unhandled errors, null or undefined cases, off-by-one.
   - Leftovers: `console.log` / `print` debugging, commented-out code, TODOs added in this diff, focused or skipped tests (`.only`, `.skip`, `xit`).
   - Secrets: API keys, tokens, passwords, private URLs or `.env` contents in any changed file.
   - Scope: changes to files that look unrelated to the rest of the diff.
3. Run the project's checks in this order, using the commands from CLAUDE.md, AGENTS.md or the package scripts: typecheck, lint, tests for the changed areas. Skip any the project doesn't have, and say so.
4. Report:
   - **Blockers**: anything that must change before committing, each with `file:line` and a one-line fix.
   - **Worth a look**: smaller issues.
   - **Checks**: each command you ran and whether it passed.
   - A one-line verdict: ready to commit, or fix the blockers first.
   - If it's ready, a suggested commit message (one summary line under 72 characters, then up to three short bullets).

$ARGUMENTS
Want the full set?
Claude Code Agent Kit

Installable Claude Code plugin: 12 subagents, 8 skills and 3 tested safety hooks. This free entry is one file; the pack is the full multi-file set.

Get the pack ($19)
Works with: Claude Code
Claude CodeAgent SkillsSKILL.mdGit

← More free rules, templates and prompts

+ Your logo here