Runs before the agent uses a tool for Bash, Write and Edit tool calls, executing push-gate.mjs, sql-surgery-warn.mjs, schedule-cost-warn.mjs, migration-write-warn.mjs and test-write-warn.mjs via node (5 commands). From randommonicle/claude-skills.
Runs after a tool call finishes for Skill, Write and Edit tool calls, executing skill-fire-log.mjs and lint-after-edit.mjs via node (2 commands). From randommonicle/claude-skills.
Any ad-hoc destructive operation against a shared or production-adjacent database outside a test harness — bulk delete, cleanup sweep, re-baseline — follows a fixed protocol: read-only inventory first, BEGIN-ROLLBACK dry run, complement-count proof with NULL-collapsed predicates, a self-check that re-runs every…
Playbook for the always-on norm "probe live state before building from any described state". Load when about to write code, SQL, config, or a fixture from a handover, memory note, README, audit tracker, or code comment, or when two documents disagree. Does not fire on repo/PR/branch state (parallel-work-recon owns…
Serialise shared operations at the single module-level chokepoint every caller passes through, never in per-instance state — and cap fan-out there too. A check-then-act idempotency guard protects sequential retries but loses the race under concurrency. Triggers when adding a lock, in-flight guard, dedupe check, or…
When a test suite goes from green to broadly red, classify before debugging. Find the first root failure (cascades multiply one fault), check for rate-limit walls, truncated runs, and environment defects, and bound the change's blast radius via the lockfile and diff before attributing blame. Triggers whenever a suite…
Playbook for the always-on norm "filters and gates hide empty things; they never drop content". Load when adding any filter, gate, continue, catch, or fallback to a rendering or export path, when parsing model output that carries content, or when two renderers must produce the same content. Does not fire on…
Before declaring any deployed or user-facing change done, shipped, or closed out, run one real end-to-end invocation through the real seams — the deployed function, a real login and JWT, the real model call, the real browser or device. Green CI, green smokes, and a clean typecheck prove the layers; only the ride…
Code that performs an external side effect (email, SMS, payment, webhook) and then records its status must choose which failure harms the recipient less — lost or duplicated — and design for that. A read-then-write "already sent?" check is not a lock. Triggers when writing any send-then-record path or adding retry…
On any repo worked from multiple machines, sessions, or agents, your knowledge of its state is a snapshot with a short half-life. Run git fetch, gh pr list, and git log --all at session start AND again immediately before committing; claim sequential identifiers (migration numbers, versions) by scanning all refs…
State the file list, test list, and out-of-scope items before writing code on any non-trivial commit. Triggers on requests to implement a feature, add a schema-touching change, build a new module, or perform a multi-file refactor. Skip on trivial one-line fixes and doc typo corrections.
Price anything that recurs BEFORE it ships, and report what an action actually cost AFTER it runs. Triggers when adding or reviewing a cron job, scheduled workflow, nightly build, keep-warm ping, polling loop, always-on container, log retention or storage growth, a paid tier or subscription upgrade, or a runner or…
Every test, seed, verification script, CI gate, or check must demonstrably be able to fail when the thing it guards is broken. Ask of each check "what does this print if the thing is broken?" Triggers when writing or reviewing any test, smoke, seed, verification file, or CI job, when marking a test skipped, and when…
Before pushing anything a CI or release pipeline will compile, run the exact production build command locally — the test runner tolerates syntax and dependency drift the release build rejects. Prove any toolchain fix by reconstructing from tracked manifests alone (npm ci into a clean directory). Triggers before…
No verdict from a single uncontrolled run. A fix is proven by re-running the case that failed; a component's deadness or value is proven by a with/without comparison on the current system; a surprisingly good result stays a candidate until three consistent datapoints or a controlled before/after diff back it. Triggers…
Never run destructive operations against shared or live data in tests, smokes, or seeds. Flip-and-restore with try/finally instead of delete; seed in beforeAll and tear down in afterAll; restore shared state exactly as found. Triggers when writing or editing any test, smoke, or seed script that connects to a shared or…
Four server-side authority rules for any client-facing backend. Never trust a client-supplied storage path or object id — derive it server-side from the row the caller owns. An RLS self-update policy must scope columns, not just rows, or a user can promote their own role. Every exposed table gets RLS enabled or its…
Turn a real repository into a project-specific skill library that preserves a senior engineer's operating knowledge, so juniors and smaller models can carry the project forward. Load when asked to build, refresh, or audit a skill library or engineering playbook for a codebase, to capture tribal knowledge before…
Any certification, award, statistic, or third-party performance claim shown to a customer needs a primary or independent source, or explicit attribution ("the manufacturer states…") — never asserted as fact, and never trusted from an AI summary, which blends marketing with real product names. Triggers when writing…
Strips the tells that make source code read as AI-generated and forces code that fits the project instead of the model's default average. It does not write the code for you and it has no preferred style. It removes the surface tells (leftover chat artifacts, placeholder comments, emoji, swallowed errors, narrating…
Strips the cues that make prose read as AI-generated and forces a deliberate human voice instead of the model's default register. It has no house style and does not write for you. It removes the cited tells (the em dash, the "it's not just X, it's Y" cadence, assistant boilerplate, the delve/tapestry diction, listicle…
Strips the cues that make a website read as AI-generated and forces a deliberate, project-specific design choice instead of the model's default. It does not impose a look or hand you taste. It removes tells (default shadcn/Tailwind, AI-purple gradients, gradient heading text, unprompted neon glow, emoji-as-icons, the…
Stops fabricated and drifted references in any document that cites code, schema, config or history. Load BEFORE writing or reviewing a handover, design doc, plan, spec, decision log, lessons entry, audit, review report, PR description, or commit message that points at files, line numbers, migrations, commits, PRs or…
Playbook for the always-on norm "never report success from a proxy signal — assert the actual effect or artifact". Load when a status signal (green CI step, HTTP 200, "accepted", exit 0, progress bar) is about to be read as success, when a step's entire output is a side effect, or when routed here from the…