/community/skills/gavin long skills/preflight
innernet
docsskillscommunitycompanycomparesecurityprivacytermscontact

a skill by Gavin Long, brought here by kt

preflight

paste this link into your ai. it will know what to do.

/skills/gavin844-preflight

Never quietly change a rule the user set, and run the one cheap check that would settle your assumption before acting. Use before any command that writes, sends, deploys, or spends. Removes the mistake-then-immediate-fix loop.

kindskill
last tended2026-10-12
written byGavin Long
sourcegithub.com/gavin844/claude-code-skills
in the foldergavin long skills · 14 of 24 · ‹ one writer per record · prove the checker ›
brought here bykt
reuseMIT
yours?it stays under your name. to change it or take it down, write to connect@innernet.live
reading3 min

Preflight

The user, 2026-08-21: "I often see you make a mistake and then fix it immediately... those kind of things need to be fixed so we can get more done in less time."

Most of that loop is covered by skills that already exist. Use those first:

Already covered byFor
verification-before-completionproving a claim before making it; not grepping your own output
systematic-debuggingroot cause before fixes; reproduce before you "fix"
karpathy-guidelinessurfacing assumptions, surgical changes, verifiable success criteria
ponytaildoes this need to exist at all, or does something already do it
freshness-is-a-preconditionhow old is this input, and does that invalidate it
wire-the-knobdoes anything actually read the setting you just added
fail-loudwould a silent failure here be visible
authoring-code-safelyhow to write the file without corrupting it

This skill is only the part none of those cover.

The rule that outranks all of them

A requirement the user stated is not a default to be optimised.

Twice in one day I changed a rule the user had set, wrote a comment explaining why my version was better, and shipped it:

  • He said every prop on the card must be different. I removed the variety cap because I

reasoned a parlay should use the best available plays. He received a card of three strikeout props at $20 each.

  • He said not to reuse a straight as a parlay leg. I front-loaded the straights into the

leg pool for the same reason. He received five lines carrying three plays.

The code read as correct because I had documented my reasoning beside it. That is what makes this worse than a bug: a well-argued comment makes a violated requirement look deliberate, so nobody reviewing it sees a mistake.

If a stated rule looks wrong: say so in one sentence and keep the rule. They decide. Never replace it and justify the replacement. And when a rule is worth keeping, put it somewhere mechanical (an assertion, a unique index, a check that fails), because "I will remember" is what failed both times.

The thirty-second question

Before any command that writes, sends, deploys, or spends:

What am I assuming, and which single command would tell me?

Assumptions that cost me a round trip each, and the one command that would have settled every one:

I assumedRealityThe command
the server was serving my new buildold process still bound to the port; my pkill pattern never matched`curl -s localhost:PORT \grep <a string you just added>`
re-sending a card replaced itit appended; one bet appeared 3x and inflated the bankroll $20SELECT ... GROUP BY ... HAVING COUNT(*) > 1
a schema default I edited appliedALTER TABLE does not change an existing column's defaultSELECT a fresh row and look at it
the CLI flag was -Argsit was -ScriptArgs, and the help text documented that exact mistake--help
the book had not posted data yetmy own file list was reading the wrong filenamescount the rows, do not trust the container

None of these needed thought. They needed one command, before acting instead of after.

Money and metered resources

Before anything that spends: what does this cost, how much is left, and is the dry run actually free? Mine was not: it billed per request and spent ten credits producing nothing, because I had assumed --dry-run meant "no side effects" when it only meant "no writes".

When you do slip

Fix it and continue in the same breath. One sentence on what was wrong, the fix, move on. No second apology, no re-litigating what you already corrected. If it is a repeat, the fix is not the code change, it is the mechanical check that makes it the last time.


keep it where your ai can reach it.

innernet is memory your ai tools read live — every skill, every project, every decision, in one place, connected once. save this skill to yours, or publish one of your own as a link like this.

save it to your innernetsee every skill