(Spine Ch. 56.)
“It is a profoundly erroneous truism, repeated by all copy-books and by eminent people when they are making speeches, that we should cultivate the habit of thinking of what we are doing. The precise opposite is the case. Civilization advances by extending the number of important operations which we can perform without thinking about them.” Alfred North Whitehead, An Introduction to Mathematics, Chapter V (1911)
Two years. That is how long I spent tuning the phrase “you are a senior staff engineer with 20 years of experience” like it was a carburetor. Meanwhile, on one bad morning in August, I sat down with an inherited handoff file and grinded away at a bottleneck that turned out to be 1.8% of the failures, lined up seventeen branches to merge that were already merged, and got within one command of a deploy that would have taken production from 20 replicas to zero and reported success on the way down. Every one of those was a forty-second check I did not run. The rule that would have caught all three was already written down. Not by me.
Then I read a plugin directory on my own laptop,
~/.claude/plugins/cache/pstack-claude/pstack/0.9.27/skills/,
counted 54 directories, 23 of them doctrine, and realized the thing I
had been building badly by hand for two years already existed as an
operating system. Not a persona. A set of named plays with entry
conditions.
Bottom line: A personality prompt tells the model who to be. A named play tells it what to do when a specific condition is true, and what artifact proves it did. Fifty-four of those, cross-linked, with stop conditions, is an OS. One of them is a costume. Speed is not something you ask for at the top of a prompt. It is what falls out when the model does not have to re-derive your engineering judgment from scratch on every task.
pstack is Lauren Tan’s (@poteto). The canonical repo is
cursor/plugins/pstack; the Claude Code port I run is
michael-denyer/pstack-claude, whose
plugin.json at 0.9.27 credits “Original pstack by Lauren
Tan (poteto)”. None of the three says SpaceXAI, so the “built at
SpaceXAI” line everyone repeats, mine included until I checked, rests on
one third-party write-up (Coursiv, August 2026). I carry it as
attribution, not fact. It ships as two kinds of file, and the split is
the interesting part.
Workflows are the plays you invoke.
/architect (types, signatures and module boundaries before
any code). /arena (run N candidates in parallel, pick a
base, graft the winners on). /swarm (fan out workers, one
report back). /figure-it-out is the fallback when nothing
narrower fits, and its instruction is not “try hard.” The deliverable
before any code is the workflow itself.
Principles are the doctrine. Every one of them
carries user-invocable: false in its frontmatter. You do
not call principle-attack-the-premise. It gets pulled in
when its entry condition fires. Read the description line on
~/.claude/plugins/cache/pstack-claude/pstack/0.9.27/skills/principle-attack-the-premise/SKILL.md:
“Apply when two or more fixes that share one premise have failed the same gate.”
That is a trigger with a count in it. Two failures under one premise,
and the next move is not a third fix, it is a census of which actors
hold the imbalance, written as a rerunnable script. That links to
principle-build-the-lever, which closes:
“Applying this principle produces a file. If you cited it and there is no codemod, script, generator, or delegate skill in the diff, you didn’t apply it.”
There are 23 principle skills in 0.9.27.
principle-foundational-thinking says get the data
structures right first, and isolate shared state unless concurrent
modification is provably harmless. principle-prove-it-works
bans the proxy: no mtimes, no self-reports, no “it compiles.”
The plays cross-reference each other. attack-the-premise
says how it differs from redesign-from-first-principles:
one questions a fact the design assumes, the other rebuilds around a new
requirement. That disambiguation is the expensive part of engineering
judgment, sitting in a file a model reads at decision time.
When Tan published the skills to the Cursor Marketplace on July 30,
2026, she led with /create-verification-skill and
/maintain-verification-skill (X, @poteto, 170.4K views). A skill that writes
the skill that proves the feature, plus one that keeps it from rotting.
Proof is a thing you build once, not retype every task.
The Cursor Marketplace listing pitches it as “if you want to go fast, go deep first,” which is where this chapter stole its title. The going-fast claim is not theoretical. Tan’s engineering team ran these skills 10,000 times in one week (LinkedIn, June 2026). Not 10,000 prompts. Ten thousand invocations of named plays with entry conditions and stop rules in seven days, about one a minute around the clock. My two years produced one prompt I kept rewriting.
airank, August 7, 2026. I picked up a handoff file with three inherited claims in it. Each cost one command to check. Total elapsed: about forty seconds.
Claim one: the brand-recognition gate is the real bottleneck. Stated
twice in the file, which reads as corroboration and is actually one
belief typed twice. One GROUP BY: 78.1% of failures were
navigation_failed, and the brand gate was 1.8%. I had been
working the 1.8% with real focus. Jeremy Schoemaker, twenty-five years
of shipping software, stuck on 1.8% of the problem like a RealPlayer
stream buffering at 14% while you tell yourself it is definitely about
to load.
Claim two: seventeen branches need merging.
git branch --no-merged answers whether a SHA is an ancestor
of main, a different question from whether the contribution landed. All
seventeen had landed by other routes. Two were dangerous: one a revert
scoped to its own lineage that would have deleted verified cutoff data,
the other reinventing a bug main had already tested and rejected.
Claim three: the stack.yml describes production.
Production was running 20 replicas, max 4 per node, image
cc4c39a. Git said replicas: 0,
max_replicas_per_node: 1, image 9c1a21f. The
real config had been applied imperatively and never committed. A
docker stack deploy from the repo does not error. It
reports success, zeroes production, and halts 95% of the work while
looking green.
The outcome was a rule, and the rule is the point of this chapter. Before acting on the top priority, re-measure the number the priority rests on. If X is the bottleneck, run the count. If branches are unmerged, diff the contents. If the manifest describes prod, read prod.
That rule is principle-attack-the-premise and
principle-prove-it-works, both already sitting in a file on
my own disk. The win isn’t the forty seconds; it’s that the rule now
lives in a file with a trigger condition instead of in my memory, which
is what principle-encode-lessons-in-structure says to do
when you give the same correction twice.
The second receipt is commander-in-chief, my Godot
remake of the 1986 vertical run-and-gun: 1,217 test methods, 38.5k
asserts, int-only arithmetic so behavior is bit-identical across x86_64
and arm64, and a CI gate that verifies it. Its DECISIONS.md
holds no opinions about game feel, only lines like “16 of 22
occupied-tank ignitions per the pre-flight are artillery.” Every balance
call is answered by the code as it stands:
principle-prove-it-works and
principle-sequence-verifiable-units applied to a game.
The loud failure is the agent that ignores your prompt.
The quiet failure is writing one skill per problem you had, and ending up with 200 skills that are really 200 diary entries. I walked into this one myself, enthusiastically: do not clone a skill per chapter, per bug, per incident. I wrote skills that fired on exactly one stack trace in exactly one repo, then felt organized about it. That is not doctrine. That is a LiveJournal with YAML on top. pstack has 54 files covering an entire discipline; 23 are principles that apply everywhere and never get invoked by name. If it only fires on the exact repo and stack trace where you learned it, it is a log entry, not a lesson.
The second quiet failure: principles you can invoke. The moment
principle-prove-it-works becomes something the agent
chooses to run, it becomes optional, and optional doctrine is
decoration. user-invocable: false is doing real work in
that frontmatter. The condition fires or it does not. Nobody votes.
Third: an OS with no stop rules is just a longer prompt. Almost every
pstack skill has an explicit Stop section.
attack-the-premise says do not start the next fix before
the premise is written down and the census exists, and what to conclude
if it comes back even. Instructions without stop conditions produce
agents that apply the doctrine forever.
Fourth, and this one is mine: I told myself I quit writing
personality prompts in February 2026, then I grepped my own disk. On 17
February I shipped “You are an expert at writing image generation
prompts” into
ShoeMoneyVelle/app/Services/OpenRouterService.php, where it
still sits. Then on 16 April I wrote one more anyway.
WinnersWin/book-review-prompt.md, 1,789 words, first line
under the title: “You are a senior developmental editor reviewing the
first draft of a nonfiction book.” The other 1,780 words are the part
that worked. A seven-beat chapter shape. Twenty coined terms, each with
a four-part test. Seven scenes that must land. A required output order.
That is a play, with entry conditions and a named artifact, and I buried
it under a costume.
The tell came four weeks later. On 14 May I copied that file byte for
byte into a second book project, JeremyChrist.
diff says identical. Two copies of a play I could not
invoke, because a file with no name and no trigger is not a skill, it is
a document you have to remember to open. The 1,780 words behind that
persona line were a principle file I did not know I had written, and the
proof I did not know it is that when the same job came around again I
reached for cp.
Do
user-invocable: false. If it can be
skipped, it will be.Don’t
Ch. 13 argued that skills beat your giant brain dump. This chapter adds the table of contents: entry conditions, cross-links, and stop rules on top of the extracted instructions.
Ch. 57 takes principle-prove-it-works and
/blast-radius on their own, because “it compiles” is the
most expensive sentence in this business. Ch. 58 is
subtract-before-you-add. Ch. 59 is /swarm,
/arena, and /interrogate: parallelism with a
merge story. Ch. 60 is never-block-on-the-human. Ch. 61 is
build-the-lever, where the tool becomes the artifact.
Verified
/create-verification-skill and
/maintain-verification-skill. X, July 30, 2026 (170.4K
views). https://x.com/poteto/status/2082874054483255805cursor/plugins/pstack, read
2026-09-09. https://github.com/cursor/plugins/tree/main/pstackmichael-denyer/pstack-claude, 2026.
https://github.com/michael-denyer/pstack-claude~/.claude/plugins/cache/pstack-claude/pstack/0.9.27/.claude-plugin/plugin.json,
read 2026-09-09~/.claude/plugins/cache/pstack-claude/pstack/0.9.27/skills/
(54 skill directories, 23 of them principle-*, every one
carrying user-invocable: false; text quoted from
attack-the-premise, build-the-lever,
foundational-thinking,
sequence-verifiable-units, prove-it-works,
figure-it-out)~/Projects/ShoeMoneyVelle/app/Services/OpenRouterService.php,
added 2026-02-17 (commit ef4e521), last touched 2026-03-08
(187787a)wc -w:
~/Projects/WinnersWin/book-review-prompt.md, file mtime
2026-04-16, committed 2026-05-12 (812ceca). Byte-identical
copy at ~/Projects/JeremyChrist/book-review-prompt.md,
mtime 2026-05-14, confirmed with diff~/Projects/airank/blog/2026-08-07-seventeen-branches-zero-merges.md~/Projects/commander-in-chief/README.md and
DECISIONS.mdWhat I could not verify:
plugin.json credit poteto and none mention SpaceXAI. That
origin rests on the Coursiv write-up alone.