Claude
Skills
Sign in
โ† Back

precommit

Included with Lifetime
$97 forever

Running precommit checks and build validation. ALWAYS use after ANY code changes.

General

What this skill does


# Precommit and Build Validation

## ๐Ÿ”‹ Battery Check

**CRITICAL**: Before running any build or test commands, check if the machine is on battery power:

```bash
${CLAUDE_PLUGIN_ROOT}/scripts/check-battery || { echo "โšก Skipping precommit on battery power"; exit 0; }
git test run HEAD --retest --verbose --verbose
```

- If on battery power, skip the build and report: "โšก **Skipped precommit checks (on battery power)**"
- If on AC power, proceed with the build

## โš™๏ธ Running Precommit

Run `git test run HEAD --retest --verbose --verbose` to validate code:

- Use a timeout of at least 10 minutes
- This command runs the test configured via `git test add` (typically autoformatting, builds, tests, and other quality checks)

## ๐Ÿ“‹ Handle Missing Configuration

If `git test` is not configured for this repository, clearly explain the situation and suggest running `/build:test-setup` to configure it.

## โŒ Handle Check Failures

When precommit fails (due to: type checking errors, test failures, linting issues, build errors):

- Analyze the error output to understand what failed
- Fix the specific failures
- Run the precommit command again
- Continue the fix-and-retry cycle until precommit completes successfully with exit code 0

## โœ… Reporting Results

Your final message MUST start with one of:

- "โšก **Skipped precommit checks (on battery power)**" - if skipped due to battery
- "โœ… **Precommit checks passed**" - if ran successfully
- "โœ… **Precommit checks passed** (after fixing [brief description])" - if fixed issues

## Agents

| Task                    | Use                                  |
| ----------------------- | ------------------------------------ |
| Run precommit and fix   | `build:precommit-runner` agent       |
| Test all branch commits | `/build:test-branch` command         |
| Test and autosquash     | `build:build-fixer-autosquash` agent |

Related in General