commit-verify-synclisted
Install: claude install-skill tstapler/stapler-squad
# Commit → Verify CI → Sync With Main
Four-step loop for landing local work on `main` with actually-green CI, not just a
green push. This repo (`tstapler/stapler-squad`) commits straight to `main` — no PR
branch, no review gate — so CI on `main` is the only safety net. Treat a red run on
`main` as urgent, not as something to note and move past.
## 1. Stage deliberately, not broadly
`git status` first. Stage only the files that belong to the logical change you're
landing — **never `git add -A`/`git add .`** in this repo; other in-flight work
(uncommitted web-app CSS, half-finished experiments) routinely sits in the working
tree alongside what you're actually landing. Split unrelated changes into separate
commits rather than bundling them.
Use [Conventional Commits](https://www.conventionalcommits.org/) prefixes per
`CLAUDE.md`'s release-please table — `fix:`/`feat:`/`feat!:` drive version bumps,
`chore:`/`docs:`/`refactor:`/`test:` don't. Pick the prefix that matches what
actually changed, not what's easiest to type.
## 2. Push to main
```bash
git push origin main
```
No `--force`. If the push is rejected (someone else landed first), `git pull
--rebase origin main` and resolve, don't force past it.
## 3. Watch the CI run to completion — don't fire-and-forget
Find the run the push triggered and block on it:
```bash
gh run list --repo tstapler/stapler-squad --branch main --limit 5
gh run watch <run-id> --repo tstapler/stapler-squad --exit-status
```
`gh run watch` is