gitpushlisted
Install: claude install-skill oldmilky/luno-for-cc
You are running the commit/push flow. Optional input: `$ARGUMENTS`.
Parse it (all optional, any combination):
- **A branch name** → the push target. If it differs from the current branch,
ask before switching or pushing there. Never auto-switch.
- **"commit only" / "no push" / "без пуша"** → run Phases 0–3 and stop after the
commit.
- **Anything else** → extra context woven into the commit message. It does not
replace the generated one.
Default: commit + push to the current branch.
## Phase 0 — The gates. Not optional, not after the fact
Run all three and read the output:
```bash
bun run lint # tsc over BOTH projects, then eslint, then stylelint
bun run test # the count in CLAUDE.md, or better
bun run format:check
```
**A failing gate stops this skill.** Do not commit, do not offer to commit
anyway, do not describe the failure as pre-existing without checking `git
stash` first. Report which gate failed and what it said, then fix it or hand
back.
This phase exists because the alternative has already happened: a commit whose
message claimed verification while `lint` and `format:check` were both red. The
gates run _before_ the message is written, not after.
If the change touches `webview/src/**`, the definition of done also wants
browser evidence — run `/browser` and fold what you measured into the message.
## Phase 1 — Pre-flight
In parallel:
1. `git status --short`
2. `git branch --show-current`
3. `git log --oneline @{u}..HEAD` — local comm