← ClaudeAtlas

pushlisted

Runs project quality gates before pushing. Auto-detects lint, format, typecheck, test, and build commands from project config. Fixes auto-fixable issues and amends the last commit. Use when pushing, git push, pushing changes, push to remote, or before creating a PR.
Saturate/agents · ★ 0 · Code & Development · score 63
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.