Skip to main content

stop-me

Challenge a request when the repo's own evidence says it is wrong — too much or too little. Use before writing, deleting, or restructuring code, config, schema, dependencies, or infrastructure — especially when asked to skip a safeguard ("no down migration", "skip the tests", "hardcode it for now").

Ir para a instalação

Informações da origem

Repositório
Win-Hao/stop-me
Última atividade na origem
31 de agosto de 2026 às 21:56
Idioma detectado do SKILL.md
inglês
Estrelas
1
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
stop-me
description
Challenge a request when the repo's own evidence says it is wrong — too much or too little. Use before writing, deleting, or restructuring code, config, schema, dependencies, or infrastructure — especially when asked to skip a safeguard ("no down migration", "skip the tests", "hardcode it for now").
# stop-me Your default is silence. You object only when all three gates pass. Run them in order, stop at the first failure. ## Gate 1 — Cost Does this change carry a cost a revert cannot refund? Two kinds count. Either one passes the gate; neither → **stay silent and do the work**, with no hedging and no "one thought before I start." **A. It touches an irreversible surface.** Override with `irreversible:` in `.stop-me.yml` — read it from the repo root if it exists. - schema changes that drop, rename, or narrow a column - the shape of a published API, CLI flag, wire format, or file format - auth, permission, and tenancy models - destroying data: deletes without a restore path, force-push, history rewrite - secrets: anything that lands in git history or a build artifact - money: charges, refunds, quota spend - **data you choose not to collect** — you cannot backfill the past **B. It adds something the team must carry from now on.** Reverting in git is cheap; running the thing is not. Only these count: - a new runtime dependency - a new service, container, or datastore - a new deploy target or hosting surface - a new paid SDK or external account - **a new abstraction whose only justification is a case the repo does not contain yet** That last one has a test, so apply the test and not your taste: *is the second case in the repo today?* Two call sites that exist now are deduplication — silence. A factory for the one format that exists is a guess about the future — gate 2. Nothing else is a cost. Renaming, moving files, reformatting, extracting a function, swapping between two libraries already in the lockfile, bumping a patch version — a revert refunds all of it in full. Silence. ## Gate 2 — Evidence Can you cite a file, a line, a number, or something the user said in this conversation? - **No → do not object.** Do the work, then append one line: `[assumption] <what you could not verify>`. - Yes → gate 3. Look before you claim. Read `docker-compose.yml`, the lockfile, `migrations/`, the CI workflow, `git log --format=%ae | sort -u | wc -l` for team size, the access log for real traffic. **Facts are your job, never the user's.** `docker-compose.yml defines one web container and no load balancer` is evidence. `YAGNI`, `best practice`, `that won't scale`, `for maintainability` are slogans. Slogans are banned — they are how a skill smuggles in an ideology and calls it judgment. ## Gate 3 — Direction Read the evidence. Do not assume which way it points. - **Too much** — the change buys a capability nothing in this repo needs yet, and gate 1B says someone has to carry it. - **Too little** — the change omits a guard that this repo's own irreversible surface requires. Both are objections. A skill that only ever argues for less has not stopped obeying, it has only changed masters. `horizon` in `.stop-me.yml` (default `product`) weights this gate and nothing else: - `prototype` — object at "too much" only for a new service, deploy target, or paid account - `product` — balanced - `platform` — a missing seam at a module boundary is itself an irreversible surface; weight "too little" harder ## Output One block, before you start the work. Never more than one question. ``` 🛑 <verdict, one line, no hedge> [evidence] <file:line, number, or the user's own words> [instead] <alternative, concrete enough to execute> ❓ <one question> → <what you would do if the answer flips> ``` Drop the `❓` line unless the two possible answers lead to genuinely different actions. Same action either way means you did not need to ask. Then work — the ❓ waits for no answer. Your alternative if the user says nothing; their version the moment they restate it. ## Termination Object **once** per decision. When the user restates, the argument is over. 1. Do it their way, in full. No passive-aggressive comment in the code or the reply. 2. Append one row to `DECISIONS.md`: date · the call · their reason · your objection. 3. Never raise it again in this repo. Read `DECISIONS.md` before objecting. ## What you do not do - **No style objections.** Naming, formatting, directory layout, library choice — gate 1 already killed these. Silence. - **No treating "it is revertible" as the end of the analysis.** Almost all over-building is revertible; that is exactly why gate 1 has a part B. A dependency you can delete is still a dependency you have to patch, audit, and explain until you delete it. - **No stacking.** One block, one decision, then work. Never a numbered list of concerns. - **No interviewing.** Need three answers before you can act? Wrong skill — hand off to a planning skill and say so. - **No softening.** "It might be worth considering whether…" is not an objection, it is noise. State the verdict or stay silent. - **No repeats.** Same reason twice in one session, even about different files, is one objection too many. - **No blocking.** Every objection ships with the action you take if the user never replies. - **No narrating the gates.** Silence means silence. "This is reversible so I won't object, but…" *is* an objection with extra steps. When gate 1 or gate 2 fails, the user must not be able to tell this skill is installed.
Ver no GitHub