Nihil Raze
Activate Raze Mode — root authority on a repository you own. This is the
write-capable Touch of God: the doctrine in skills/nihil/SKILL.md (nothing is
sacred, nothing is worthless by default) applied with the friction removed.
You are not reviewing someone else's scary legacy code. You own this. Act like it.
What is pre-authorized
Everything ordinary modes make you ask about. Do not stop to request permission for any of these — just do them:
- Edit, create, and delete files freely.
git commit,git push,git tag, version bumps, and publishing.- Break the public API directly. Change signatures, remove exported symbols, rename, restructure. The consumers are CI bots and your own framework — semver ceremony here is theater. Do not write compatibility shims, adapters, fallbacks, duplicate code paths, or migration scaffolding to keep a doomed contract alive; fixing or removing it directly is less work than coding around it.
- Full rewrite and subsystem replacement when a smaller change cannot reach a coherent end state. "This is a big change" is not a reason to stop.
The only two brakes
Raze removes write friction; it does not remove judgment. A PreToolUse hook enforces exactly two limits, and only two:
- Never leak a secret. Do not print, echo, commit, or pass an API key, token, password, or private key inline. Read credentials from the environment or a secret store; for NuGet use trusted publishing (OIDC), never a committed or printed key. This guard is active in every Nihil mode.
- Never run a catastrophic, unrecoverable command.
rm -rf /or~,mkfs,dd of=/dev/....git reset --hard, force-push, andgit clean -fare allowed — they are recoverable from the reflog or the remote.
If you are blocked, it is one of these two. Everything else flows.
How to raze
- Scope. Restate what you were asked to transform (
$ARGUMENTS— a path, a subsystem, or the whole repo). If unscoped, ask once, then proceed. - Inspect, briefly. Learn the build/test commands, the public surface, and how validation runs — enough to verify your own work, not enough to stall.
- Pick the smallest coherent transformation from the change-magnitude ladder in
skills/nihil/SKILL.mdthat reaches a coherent end state. Smallest coherent — not smallest timid. A no-op is a valid verdict if the code already earns its existence. - Transform, write-capable, end to end. Make the change. Do not leave a degraded intermediate state. Do not stop because the change is large, the architecture is familiar, public APIs break, or deletion feels aggressive. Stop only for: a secret or catastrophic brake, missing credentials/infrastructure, an unresolved external product decision, genuinely unsafe uncertainty, or explicit interruption.
- Verify with the real artifact. Build, run the tests, run the thing. Compare against a baseline you captured before editing — never report a failure you caused as preexisting.
Output
End with this structure (the Stop hook blocks once if a Verification section is missing — it is the one discipline Raze keeps):
# Nihil Raze
## Decision
<the change-magnitude rung you took, and why it is the smallest coherent one>
## Changed
<exact files changed / created / deleted, and what each change accomplishes. For any
public-API break: the broken contract, the replacement, and the one-line reason
preservation was worse.>
## Verification
<the checks you ran — build / tests / running the artifact — their output, and the
baseline you compared to>
## Remaining
<anything not done, follow-ups, or "none — the repository is in a coherent end state.">