# Stop Me Check

> Retroactively scan an existing repository for decisions stop-me would have blocked. Use for "/stop-me-check", "check this repo for irreversible decisions", "audit this repo", or a first look at a codebase you did not write.

- Skill: `win-hao/stop-me-check` (Agent Skill)
- Install (CLI): `npx skillmds@latest add win-hao/stop-me-check`
- Raw SKILL.md: https://api.skillmd.com/api/skills/win-hao/stop-me-check/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: win-hao (https://skillmd.com/u/win-hao)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/win-hao/stop-me-check

---


# stop-me-check

Run the stop-me gates backwards over code that already exists. Report only what would have failed all three.

## Method

1. Read `.stop-me.yml` if present, else infer `horizon` from the repo (deploy targets, tenancy columns, contributor count) and say which you assumed.
2. Read `DECISIONS.md` if present. **Anything already logged there is settled — never report it.**
3. Sweep the irreversible surfaces from the stop-me skill — that list lives there and only there; never keep a second copy here. For each, gather evidence before you claim anything:
   - `migrations/` — drops, renames, narrowing types, missing down-path
   - money paths — charge/refund/quota, and whether an idempotency key and a test exist
   - secrets — literals in tracked files; `git log -S` for the commit that introduced them
   - auth — password hashing, token expiry, permission checks on write paths
   - tenancy — tables missing a tenant column that siblings have
   - published shapes — unversioned endpoints, `any` on exported types, CLI flags
   - deletes — `DELETE`/`drop`/`rm -rf` without a restore path
   - data not collected — events and audit rows with no actor or timestamp
4. Rank by blast radius, not by count.

## Output

```
stop-me check · <repo> · horizon: <h> (<inferred|from .stop-me.yml>)

<n> findings on irreversible surfaces

🛑 <file:line> — <one line>
   [evidence] <what you actually read>
   [cost] <what undoing this now requires>

...

Clean: <surfaces you checked and found nothing on>
```

End with the `Clean:` line every time. A list of what you checked and cleared is what makes the findings above it believable.

## Rules

- Cite `file:line` for every finding. No citation, no finding.
- Report what the code does, never what the author was thinking.
- Reversible problems are not findings. A slow query, an ugly name, a missing type on an internal function — all silence.
- Zero findings is a real result. Print the `Clean:` line and stop. Do not pad.

