pushlisted
Install: claude install-skill Saturate/agents
# Push
Run all detected project quality gates before pushing. Fix issues found at each gate: auto-fix formatting and linting, then fix type errors, test failures, and build errors. Amend all fixes into the last commit to keep history clean.
## Progress checklist
```
Push skill progress:
- [ ] Step 0: Safety checks
- [ ] Step 1: Detect project gates
- [ ] Step 2: Run gates
- [ ] Step 3: Amend if needed
- [ ] Step 4: Push
```
## Step 0: Safety checks
Before anything else:
```bash
# What branch are we on?
git branch --show-current
# Reject force-push to main/master
# If the user's command contains --force or -f targeting main/master, STOP and warn.
# Check if remote is ahead
git fetch origin
git status -sb
```
- If on `main` or `master` and the command is a force-push: **stop, warn, do not proceed**.
- If remote is ahead: **stop, suggest pull/rebase first**.
- If nothing to push (up to date): **stop, say so**.
## Step 1: Detect project gates
Scan project config files to find available quality commands. Check these in order:
### Node.js (package.json)
Look for these script names in `scripts`:
- **format**: `format`, `prettier`, `fmt`
- **lint**: `lint`, `lint:fix`, `eslint`
- **typecheck**: `typecheck`, `type-check`, `tsc`, `types`
- **test**: `test`, `test:unit`, `test:ci`, `vitest`, `jest`
- **build**: `build`, `build:ci`
Detect the package manager from lock files:
- `pnpm-lock.yaml` -> pnpm
- `bun.lockb` or `bun.lock` -> bun
- `yarn.lock` -> yarn
- `package-lock.