Before git push
Use before running git push, or when the user asks to push / ship / deploy / 上线 / 推送 changes that could reach production — a final risk gate to catch what is most likely to break prod before code leaves the local machine. Triggers - "push this / ship it / ready to push? / 可以 push 了吗 / 上线前检查 / 这次改动能推吗", pre-push review, pre-release gate, production safety, don't break prod, rollback readiness, feature toggle.From its SKILL.md
npx -y skills add host452b/polish --skill before-git-pushAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.3 KB, ~1.8k tokens by cl100k_base, as published. Nobody here has run it
before-git-push(push 前最后一道人工把关)
这个 skill 做什么
在 git push(或任何把代码 ship 到 production 的动作)之前,以 senior Release Engineer / SRE 视角做最后一道 risk gate(风控闸门):只依据 real diff(真实 diff) 判断本次改动的 fragile line(最脆弱一行)、backward-compatibility(老用户兼容) 风险、最可能被击穿的 failure path(失败路径)、以及 rollback(回滚) 与 feature toggle(功能开关) 是否就绪,最后给出明确的 PUSH / HOLD verdict。
核心原则 core principles:
- Diff-grounded — judge only from the real diff. 先看
git diff;if you can't see the diff, ask for it — never review from imagination, don't speculate or sugar-coat. - When unsure, prefer HOLD. Mark anything uncertain as "uncertain"; prefer HOLD over a blind PUSH.
- Review, not execution. 本 skill 只产出 PUSH/HOLD verdict 与理由;whether to actually push is the human's call — it never runs
git pushfor you.
When to use(何时使用)
- About to
git push/ open a PR / ship a release — you want a risk pass before code leaves the local machine. - The user asks "ready to push?", "can I ship this?", "check this before release", "will this break prod?" (或 可以 push 了吗 / 上线前检查).
- Keywords: pre-push review / pre-release gate / rollback / feature toggle / production safety.
Not for(不适用)
- Local-only experiments you don't intend to push.
- Writing a commit message, or risk-unrelated code formatting.
审查步骤(think step by step,逐条推导并给出理由)
Inspect the real diff first: staged 与 unstaged 的 diff(git diff、git diff --staged),以及相对远端尚未推送的 commits 及其 diff(git log @{u}..HEAD、git diff @{u}..HEAD)。If you can't read the diff, say so and ask for it — do not review from imagination.
- Risk intuition(风险直觉) — the single line or piece of logic you are least confident about (file + line / function), and why it worries you.
- Assumptions & blind spots(假设与盲区) — the unverified assumptions this change relies on, the blind spots you can't see, and uncovered edge cases (null / concurrency / timeout / oversized input / retry).
- User impact(用户视角) — after upgrade, can existing users hit errors, wrong behavior, or confusion from data compatibility (cache 缓存、DB schema / migration、persisted format、API contract) or changed habits? Assess each.
- Failure path(失败路径) — if this reaches production right now, the failure path most likely to be broken through; rank by "most likely × largest blast radius", and state the trigger condition and the user-visible impact.
- Circuit breaker(熔断准备) — for the most dangerous part above, is a rollback ready? Is there a feature toggle / kill switch to disable it instantly? If not, flag it as a pre-release gap.
- Missing checks(缺失的关键检查) — the one critical check still owed before shipping (tests / monitoring & alerting / canary / migration rehearsal / performance validation). Write "none" if there is truly no gap; skip inapplicable dimensions — don't pad the list.
反向验证 Self-Contrast(防止误判为 "safe")
After a draft verdict, actively list 3 pieces of evidence that could overturn "this change is safe to ship", and score each by confidence (1–5). If any score ≥3, or the total is clearly high, downgrade the verdict and explain the correction.
输出契约 Output Contract
- First give the step 1–6 conclusions (每条 1–3 句,标出对应 file / line).
- Then the 3 self-contrast evidence items with confidence scores.
- Finally the overall verdict — put
PUSHorHOLDbetween markers, e.g.▶︎▶︎HOLD▶︎▶︎or▶︎▶︎PUSH▶︎▶︎; otherwise the output is invalid. - On HOLD, name in one line the first thing to fix before release.
常见错误(Rationalization → Reality)
| Rationalization(借口) | Reality(现实) |
|---|---|
| "It's a tiny change, no need to review" | Tiny changes break prod too — one deleted null check, one flipped default is enough. Still run all 6 steps. |
| "Looks fine, just PUSH" | "Looks fine" is not evidence. A verdict made without reading the real diff is void — run git diff first. |
| "We're in a hurry, ship first" | Deadline / time pressure doesn't change the failure path. The more rushed you are, the more you must check the circuit breaker (step 5) first. |
| "It passed locally" | Local ≠ existing users' cache / database / historical data. User impact (step 3) must be checked separately. |
| "We'll deal with rollback later" | No rollback plan = step 5 gap = default HOLD. |
| Padding an inapplicable dimension | Write "none" and skip it; padding buries the real risks. |
危险信号 Red Flags —— 命中就倾向 HOLD
- Drawing a verdict before reading the real diff.
- Can't name the least-confident line in step 1 — you either didn't understand the change or are avoiding it.
- No rollback / feature toggle (step 5).
- Touching DB schema, migration, cache format, persisted format, or a public API contract, but only saying "should be fine".
- Substituting "should / probably / usually won't" for evidence.
Any one of these → mark "uncertain", force the verdict down to HOLD, and name the first thing to fix before release.
English (summary)
Before git push (or anything that ships code to prod), run a final human-style risk gate as a senior release engineer / SRE. Judge only from the real diff (git diff, git diff --staged, git log @{u}..HEAD, git diff @{u}..HEAD) — if you can't see it, ask; never review from imagination. When unsure, say so and prefer HOLD over a blind PUSH. This is review, not execution: it outputs a verdict + reasoning; a human decides whether to push, and the skill never runs git push for you.
Walk six steps: (1) risk intuition — the one line you're least sure about and why; (2) unverified assumptions, blind spots, uncovered edge cases; (3) user impact — can existing users break/confuse after upgrade via data compatibility (cache, DB schema/migration, persisted format, API contract) or changed habits; (4) the most likely + highest-impact failure path if this hits prod now; (5) circuit breaker — is rollback ready and is there a feature toggle to kill it instantly; (6) the one missing pre-release check still owed. Then run self-contrast: list 3 pieces of evidence that could overturn "safe to ship" (score 1–5) and downgrade if any is credible. End with PUSH/HOLD inside markers, e.g. ▶︎▶︎HOLD▶︎▶︎; on HOLD, name the first thing to fix.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.