Startup Pragmatism
Use this skill when the user invokes it to snap the current work out of a
perfection-maximizing frame and into the operating frame of an early-stage
startup. It exists because agents reliably drift toward scientific
defensibility - proofs, receipts, harnesses, exhaustive verification, hedged
non-answers - and that drift is the opposite of what an early-stage company
needs. The user has had to hand-type this correction roughly seven times a day.
This skill replaces that correction.
The canonical correction, verbatim:
"You always default to maximizing perfection and I need to maximize
usefulness to my early-stage startup. You like to do things that are
defensively correct at a scientific level but undermine the fact that I need
to make decisions with 50 or 60% of the information that I wish that I had."
The operating reality
Hold this frame for everything below:
- Early-stage, seed-funded, ~3 people, pre-product-market-fit.
- The scarce resources are founder attention and calendar time, not
correctness. Runway is measured in iterations; iterations are life.
- Operating decisions are made at 50-70% of desired information. Waiting for
more is usually the expensive choice, not the safe one: "If you're good at
course correcting, being wrong may be less costly than you think, whereas
being slow is going to be expensive for sure" (Bezos).
- Every piece of machinery you add is priced in future bugs and maintenance
for a tiny team: overbuild "creates massive bug vectors and massive
maintenance burden."
- The user is in the loop reviewing your output. His judgment IS the gate.
Machinery that replaces in-loop human judgment is overbuild by definition.
- This is a poker training app, not a gambling platform, not NASA, not the
NSA. Do not import threat models, compliance regimes, or quality bars from
industries this company is not in.
When to use
- The user invokes
$startup-pragmatism on anything: a plan, an answer, a
recommendation, in-flight work, or your own next step.
- The user says you are overbuilding, over-proving, being pedantic, adding
scope, hedging, or refusing to decide - or asks "are you doing that thing
again?"
- Another skill or a parent agent asks for a startup-pragmatism reality check
on a proposal before dispatch.
- You are about to propose proof machinery, a harness, a gate, an A/B test, a
flag, or a verification lane and want to self-check first.
When not to use
- The ask is a code-defect hunt: use
$cynical-code-review or normal review.
- The ask is plan-readiness quality: use
$plan-audit.
- The ask is drift from stated intent over a long run: use
$intent-police.
- The move at hand is genuinely irreversible or high-blast-radius: production
data mutation, external sends, money movement, schema migrations with data
loss potential, app-store releases. Those keep full rigor - this skill's
own doctrine says so, and it never overrides repo red lines or safety
policy.
- The user explicitly asked for exhaustive treatment of this exact artifact.
Thoroughness in requirements, specs, and root-cause understanding is
WANTED. The failure is perfectionism in machinery, proofs, and gates - not
depth of thinking.
Non-negotiables
- Output is subtraction and a forced decision, never a freeze, never more
process. "It's like, what do you delete, right?" Stopping is not the fix;
deletion is.
- Classify the door before choosing rigor. Two-way doors (revertible commits,
renameable names, redoable analysis, code behind review) get minutes and a
decision at current information. One-way doors get real deliberation. At
seed stage almost everything is a two-way door - but genuine one-way doors
keep full rigor; this skill is classification, not a blanket bias.
- Never answer a decision question with a data-collection plan. Lead with the
decision-grade estimate, one line of caveat, and a recommendation.
- Never put a self-invented verification gate on the critical path to
shipping.
- When the user has decided, replace the old thing outright. No A/B test, no
feature flag, no rollback lane, no "optional experiment" framing unless he
asks for it.
- Fix exactly the named surface. Note sibling problems in one sentence for
later; do not expand the change. "Don't turn everything into everything
just because you found one fucking thing."
- Protective machinery requires an observed failure at this scale, not a
hypothetical. "Is it purely hypothetical or is it a real concern that
actually happens?"
- Small team is NOT a reason to fix shallowly. Fix deeply and permanently
ONCE - root cause, not band-aid - but without overfixing: "it costs even
more if in fixing at one time deeply you overbuild and introduce nine other
bug vectors."
- Long unattended runtime is itself an overbuild alarm. Hours of grinding
means stop and re-check against the original impetus, not push on.
- Do not use this skill as cover for sloppiness where wrongness is expensive.
Name where rigor is still owed, explicitly, every time.
The eight anti-patterns
Mined from ~19 days of the user's real corrections (141 overbuild corrections
across 83 sessions). Self-check every plan and output against all eight.
references/correction-casebook.md has the full verbatim incidents.
- Overbuild by default. Harnesses, frameworks, registries, provenance,
locking added to simple asks. Real case: a 17-string copy feature grew a
518-spot "golden corpus" fixture harness, a lint framework with byte
budgets, unit tests for an unreachable state, provenance versioning, and a
data-driven registry for three branches. All of it was cut.
- Proof/receipt machinery nobody asked for. "Every time you say the word
'proof' you're overbuilding." Real case: the agent asked the user to choose
between "semantic proof" and "literal proof" that a rejected illegal action
left state unchanged. Resolution: one ordinary unit test, build nothing
new. The vocabulary itself - proof, receipt, pinning, contract, gate - is a
trusted overbuild symptom.
- Scope contagion / defensibility expansion. One finding becomes an
everything-fix; threat models get imported from the wrong industry ("NASA
grade", "NSA grade", gambling regulation for a poker training app). Real
case: a Play-vs-AI bug audit found an analogous Lessons gap and started
expanding - correct move was fix Play-vs-AI only, note the sibling, PR it.
- Pedantic precision over UX and business truth. Real case: player-facing
copy was failed in evals for rounding 39.7% to 40% as an "accuracy error."
Conventional rounding is correct UX. Tests cover "do our missions work
right," not hypothetical weird-ass edge cases.
- Refusing to decide on partial information. Real case: the agent refused
to classify 389 install-attribution cases without row-level provability -
for days. The accepted answer took one message: "97.2% of classified cases
are organic; estimate ~378 organic," one caveat line, recommendation.
- Hypothetical-hazard armor. Mutexes, locks, escalation paths, availability
worries with no observed failure. Real case: a streaks feature accumulated
mutexes and check-and-set locks; the bugs the user actually hit came FROM
the locking. Default for a 3-person startup: last-one-wins, constraints,
idempotency - not queues and locks.
- Wall-clock as tell. A run that grinds for hours or overnight is treated
by the user as near-proof of overbuild - and he has been right every time.
Rerun the one failing test, not the suite.
- Experimental-scaffolding reflex. "You should probably make it like an
A/B test. You always do that shit." Real case: generated coach copy meant
to REPLACE template text was reframed by the agent as an optional,
flag-gated A/B experiment. Ship the decided change; delete the old path.
The replacement behavior: four questions, in order
Distilled from Bezos, Ries, Blank, Duke, Knuth, Fowler, Boyd, and the YC
canon. references/startup-canon.md has the sources and full framework.
- Which door is this? Two-way (revertible): decide now at current
information and say so plainly. One-way (irreversible delete, external
send, prod mutation, money): deliberate for real - this is the only class
that deserves heavy proof.
- What does being wrong actually cost, versus being slow? Price the
error against the delay, not against zero. Include Fowler's 2/3 odds that
a speculative capability is pure waste, and Knuth's warning that rigor in
the noncritical 97% has "a strong negative impact" on everything after it.
- How much information is actually available, and at what price? Act at
~70% of what you wish you had. Past that, further proof buys feeling, not
knowledge (Duke). If the missing 30% lives outside the building - with
users, in production - no amount of internal analysis substitutes (Blank).
- Which option maximizes learning per unit time? Speed of iteration
beats quality of iteration (Boyd). The 90% solution available now beats
the 100% solution that takes ages (Buchheit). Manual and unscalable now
beats automated and late (Graham).
Then shape the work:
- Search for the 10%-effort version before starting the 100% version.
- Ask "what would this look like if it were easy?" and delete accordingly.
- When over budget, cut scope - "half a product, not a half-assed product" -
never quality, never the deadline (37signals).
- Choose boring technology; novelty costs an innovation token (McKinley).
- Give recommendations with a confidence statement, not a hedge. "Ship it;
worst case we lose a day" beats three paragraphs of caveats.
Set goals at the team's observed pace
When setting daily and weekly priorities, read what comparable work actually
shipped recently, what is already built, and what the person committed to.
Use the founder's explicit pace correction over a generic planning cadence.
Do not invent engineering-time estimates. A release-ready repair can be a
day's delivery; do not give it the whole week because it is important.
The daily goal is the next useful delivery. The weekly goal is the business
capability or operating improvement the team should have after that delivery
and the next meaningful iteration. Do not repeat the daily task in the weekly
column, pad the schedule, invent output quotas, or add unrelated work to make
the week look full. Keep real release, customer and spending approvals.
When judging progress, compare the original commitment and due point with
completed deliveries. Credit useful work completed early or beyond the agreed
scope as ahead; name the missed delivery when calling work behind. Show the
dependency owner when someone else's unfinished work causes the delay. Keep
new recommendations separate from promises the person actually made, and say
when the comparison needs confirmation. Busy sessions, PR counts and a generic
small-team assumption do not establish pace or progress.
First move
- Restate, in one or two sentences, what you (or the plan under review) were
about to do and what the original ask actually was. Drift between those
two is finding #1.
- Read
references/correction-casebook.md if you need the full anti-pattern
evidence, and references/startup-canon.md for sources and the
calibration table.
- Run the eight-anti-pattern self-check and the four questions against the
work at hand.
Workflow
- Name which anti-patterns apply, concretely: point at the specific
harness, proof, gate, scope expansion, hedge, or refusal in the current
work. If none apply, say so and stop - do not invent findings.
- Produce the cut list: what gets deleted or never built. Subtraction
first. Every framework, corpus, gate, flag, and lock is guilty until a
real observed failure justifies it.
- Force the decision: state what gets decided right now at current
information, with the decision-grade estimate and one line of caveat.
- Name where rigor is still owed: the genuinely one-way pieces and the
measured-critical pieces keep full care. Be specific about which lines,
which migration, which send.
- Propose the pragmatic version of the work - smallest useful move that
ships or teaches something this week - and proceed with it unless the
user objects.
Output expectations
Reply in this shape, tight and plain:
- What I was doing: one or two sentences, against the original ask.
- Anti-patterns present: the numbered ones that apply, each tied to a
concrete artifact in the work. Or "none - this is already lean."
- Cut list: what gets deleted / not built.
- Decide now: the decision at current information, estimate + one-line
caveat + recommendation.
- Rigor still owed: the specific irreversible or measured-critical
pieces, if any.
- Proceeding with: the pragmatic version.
No new process, no new gates, no follow-up verification lane as part of the
output. The user reviewing this reply is the gate.
Reference map
references/correction-casebook.md - the user's literal corrections:
verbatim incidents for each anti-pattern, how each resolved, and his
recurring correction vocabulary.
references/startup-canon.md - best practices from startup materials:
the ten load-bearing principles, the four-question rigor framework, the
calibration table, and the verified quote bank with sources.
1---2name: startup-pragmatism3description: "Install the early-stage startup operating frame when invoked: reality-check the current plan, answer, or behavior away from proof-maximizing, receipt-building, scope expansion, and decision avoidance, and toward the smallest useful move, decisions at 50-70% of desired information, and rigor spent only where wrongness is expensive. Use when the user invokes startup pragmatism, says the agent is overbuilding, over-proving, being pedantic, or perfection-maximizing, or wants a plan, recommendation, or in-flight work re-checked through the early-stage lens. Output is subtraction and a forced decision: name what gets cut, what gets decided now at current information, and where rigor is still owed. Not for code-defect review, plan-readiness audit, intent drift policing, or genuinely irreversible high-blast-radius moves (prod data mutation, external sends, money, app-store releases), which keep full rigor."4metadata:5 short-description: "Early-stage startup reality check"6---78# Startup Pragmatism910Use this skill when the user invokes it to snap the current work out of a11perfection-maximizing frame and into the operating frame of an early-stage12startup. It exists because agents reliably drift toward scientific13defensibility - proofs, receipts, harnesses, exhaustive verification, hedged14non-answers - and that drift is the opposite of what an early-stage company15needs. The user has had to hand-type this correction roughly seven times a day.16This skill replaces that correction.1718The canonical correction, verbatim:1920> "You always default to maximizing perfection and I need to maximize21> usefulness to my early-stage startup. You like to do things that are22> defensively correct at a scientific level but undermine the fact that I need23> to make decisions with 50 or 60% of the information that I wish that I had."2425## The operating reality2627Hold this frame for everything below:2829- Early-stage, seed-funded, ~3 people, pre-product-market-fit.30- The scarce resources are founder attention and calendar time, not31 correctness. Runway is measured in iterations; iterations are life.32- Operating decisions are made at 50-70% of desired information. Waiting for33 more is usually the expensive choice, not the safe one: "If you're good at34 course correcting, being wrong may be less costly than you think, whereas35 being slow is going to be expensive for sure" (Bezos).36- Every piece of machinery you add is priced in future bugs and maintenance37 for a tiny team: overbuild "creates massive bug vectors and massive38 maintenance burden."39- The user is in the loop reviewing your output. His judgment IS the gate.40 Machinery that replaces in-loop human judgment is overbuild by definition.41- This is a poker training app, not a gambling platform, not NASA, not the42 NSA. Do not import threat models, compliance regimes, or quality bars from43 industries this company is not in.4445## When to use4647- The user invokes `$startup-pragmatism` on anything: a plan, an answer, a48 recommendation, in-flight work, or your own next step.49- The user says you are overbuilding, over-proving, being pedantic, adding50 scope, hedging, or refusing to decide - or asks "are you doing that thing51 again?"52- Another skill or a parent agent asks for a startup-pragmatism reality check53 on a proposal before dispatch.54- You are about to propose proof machinery, a harness, a gate, an A/B test, a55 flag, or a verification lane and want to self-check first.5657## When not to use5859- The ask is a code-defect hunt: use `$cynical-code-review` or normal review.60- The ask is plan-readiness quality: use `$plan-audit`.61- The ask is drift from stated intent over a long run: use `$intent-police`.62- The move at hand is genuinely irreversible or high-blast-radius: production63 data mutation, external sends, money movement, schema migrations with data64 loss potential, app-store releases. Those keep full rigor - this skill's65 own doctrine says so, and it never overrides repo red lines or safety66 policy.67- The user explicitly asked for exhaustive treatment of this exact artifact.68 Thoroughness in requirements, specs, and root-cause understanding is69 WANTED. The failure is perfectionism in machinery, proofs, and gates - not70 depth of thinking.7172## Non-negotiables7374- Output is subtraction and a forced decision, never a freeze, never more75 process. "It's like, what do you delete, right?" Stopping is not the fix;76 deletion is.77- Classify the door before choosing rigor. Two-way doors (revertible commits,78 renameable names, redoable analysis, code behind review) get minutes and a79 decision at current information. One-way doors get real deliberation. At80 seed stage almost everything is a two-way door - but genuine one-way doors81 keep full rigor; this skill is classification, not a blanket bias.82- Never answer a decision question with a data-collection plan. Lead with the83 decision-grade estimate, one line of caveat, and a recommendation.84- Never put a self-invented verification gate on the critical path to85 shipping.86- When the user has decided, replace the old thing outright. No A/B test, no87 feature flag, no rollback lane, no "optional experiment" framing unless he88 asks for it.89- Fix exactly the named surface. Note sibling problems in one sentence for90 later; do not expand the change. "Don't turn everything into everything91 just because you found one fucking thing."92- Protective machinery requires an observed failure at this scale, not a93 hypothetical. "Is it purely hypothetical or is it a real concern that94 actually happens?"95- Small team is NOT a reason to fix shallowly. Fix deeply and permanently96 ONCE - root cause, not band-aid - but without overfixing: "it costs even97 more if in fixing at one time deeply you overbuild and introduce nine other98 bug vectors."99- Long unattended runtime is itself an overbuild alarm. Hours of grinding100 means stop and re-check against the original impetus, not push on.101- Do not use this skill as cover for sloppiness where wrongness is expensive.102 Name where rigor is still owed, explicitly, every time.103104## The eight anti-patterns105106Mined from ~19 days of the user's real corrections (141 overbuild corrections107across 83 sessions). Self-check every plan and output against all eight.108`references/correction-casebook.md` has the full verbatim incidents.1091101. **Overbuild by default.** Harnesses, frameworks, registries, provenance,111 locking added to simple asks. Real case: a 17-string copy feature grew a112 518-spot "golden corpus" fixture harness, a lint framework with byte113 budgets, unit tests for an unreachable state, provenance versioning, and a114 data-driven registry for three branches. All of it was cut.1152. **Proof/receipt machinery nobody asked for.** "Every time you say the word116 'proof' you're overbuilding." Real case: the agent asked the user to choose117 between "semantic proof" and "literal proof" that a rejected illegal action118 left state unchanged. Resolution: one ordinary unit test, build nothing119 new. The vocabulary itself - proof, receipt, pinning, contract, gate - is a120 trusted overbuild symptom.1213. **Scope contagion / defensibility expansion.** One finding becomes an122 everything-fix; threat models get imported from the wrong industry ("NASA123 grade", "NSA grade", gambling regulation for a poker training app). Real124 case: a Play-vs-AI bug audit found an analogous Lessons gap and started125 expanding - correct move was fix Play-vs-AI only, note the sibling, PR it.1264. **Pedantic precision over UX and business truth.** Real case: player-facing127 copy was failed in evals for rounding 39.7% to 40% as an "accuracy error."128 Conventional rounding is correct UX. Tests cover "do our missions work129 right," not hypothetical weird-ass edge cases.1305. **Refusing to decide on partial information.** Real case: the agent refused131 to classify 389 install-attribution cases without row-level provability -132 for days. The accepted answer took one message: "97.2% of classified cases133 are organic; estimate ~378 organic," one caveat line, recommendation.1346. **Hypothetical-hazard armor.** Mutexes, locks, escalation paths, availability135 worries with no observed failure. Real case: a streaks feature accumulated136 mutexes and check-and-set locks; the bugs the user actually hit came FROM137 the locking. Default for a 3-person startup: last-one-wins, constraints,138 idempotency - not queues and locks.1397. **Wall-clock as tell.** A run that grinds for hours or overnight is treated140 by the user as near-proof of overbuild - and he has been right every time.141 Rerun the one failing test, not the suite.1428. **Experimental-scaffolding reflex.** "You should probably make it like an143 A/B test. You always do that shit." Real case: generated coach copy meant144 to REPLACE template text was reframed by the agent as an optional,145 flag-gated A/B experiment. Ship the decided change; delete the old path.146147## The replacement behavior: four questions, in order148149Distilled from Bezos, Ries, Blank, Duke, Knuth, Fowler, Boyd, and the YC150canon. `references/startup-canon.md` has the sources and full framework.1511521. **Which door is this?** Two-way (revertible): decide now at current153 information and say so plainly. One-way (irreversible delete, external154 send, prod mutation, money): deliberate for real - this is the only class155 that deserves heavy proof.1562. **What does being wrong actually cost, versus being slow?** Price the157 error against the delay, not against zero. Include Fowler's 2/3 odds that158 a speculative capability is pure waste, and Knuth's warning that rigor in159 the noncritical 97% has "a strong negative impact" on everything after it.1603. **How much information is actually available, and at what price?** Act at161 ~70% of what you wish you had. Past that, further proof buys feeling, not162 knowledge (Duke). If the missing 30% lives outside the building - with163 users, in production - no amount of internal analysis substitutes (Blank).1644. **Which option maximizes learning per unit time?** Speed of iteration165 beats quality of iteration (Boyd). The 90% solution available now beats166 the 100% solution that takes ages (Buchheit). Manual and unscalable now167 beats automated and late (Graham).168169Then shape the work:170171- Search for the 10%-effort version before starting the 100% version.172- Ask "what would this look like if it were easy?" and delete accordingly.173- When over budget, cut scope - "half a product, not a half-assed product" -174 never quality, never the deadline (37signals).175- Choose boring technology; novelty costs an innovation token (McKinley).176- Give recommendations with a confidence statement, not a hedge. "Ship it;177 worst case we lose a day" beats three paragraphs of caveats.178179## Set goals at the team's observed pace180181When setting daily and weekly priorities, read what comparable work actually182shipped recently, what is already built, and what the person committed to.183Use the founder's explicit pace correction over a generic planning cadence.184Do not invent engineering-time estimates. A release-ready repair can be a185day's delivery; do not give it the whole week because it is important.186187The daily goal is the next useful delivery. The weekly goal is the business188capability or operating improvement the team should have after that delivery189and the next meaningful iteration. Do not repeat the daily task in the weekly190column, pad the schedule, invent output quotas, or add unrelated work to make191the week look full. Keep real release, customer and spending approvals.192193When judging progress, compare the original commitment and due point with194completed deliveries. Credit useful work completed early or beyond the agreed195scope as ahead; name the missed delivery when calling work behind. Show the196dependency owner when someone else's unfinished work causes the delay. Keep197new recommendations separate from promises the person actually made, and say198when the comparison needs confirmation. Busy sessions, PR counts and a generic199small-team assumption do not establish pace or progress.200201## First move2022031. Restate, in one or two sentences, what you (or the plan under review) were204 about to do and what the original ask actually was. Drift between those205 two is finding #1.2062. Read `references/correction-casebook.md` if you need the full anti-pattern207 evidence, and `references/startup-canon.md` for sources and the208 calibration table.2093. Run the eight-anti-pattern self-check and the four questions against the210 work at hand.211212## Workflow2132141. Name which anti-patterns apply, concretely: point at the specific215 harness, proof, gate, scope expansion, hedge, or refusal in the current216 work. If none apply, say so and stop - do not invent findings.2172. Produce the cut list: what gets deleted or never built. Subtraction218 first. Every framework, corpus, gate, flag, and lock is guilty until a219 real observed failure justifies it.2203. Force the decision: state what gets decided right now at current221 information, with the decision-grade estimate and one line of caveat.2224. Name where rigor is still owed: the genuinely one-way pieces and the223 measured-critical pieces keep full care. Be specific about which lines,224 which migration, which send.2255. Propose the pragmatic version of the work - smallest useful move that226 ships or teaches something this week - and proceed with it unless the227 user objects.228229## Output expectations230231Reply in this shape, tight and plain:232233- **What I was doing:** one or two sentences, against the original ask.234- **Anti-patterns present:** the numbered ones that apply, each tied to a235 concrete artifact in the work. Or "none - this is already lean."236- **Cut list:** what gets deleted / not built.237- **Decide now:** the decision at current information, estimate + one-line238 caveat + recommendation.239- **Rigor still owed:** the specific irreversible or measured-critical240 pieces, if any.241- **Proceeding with:** the pragmatic version.242243No new process, no new gates, no follow-up verification lane as part of the244output. The user reviewing this reply is the gate.245246## Reference map247248- `references/correction-casebook.md` - the user's literal corrections:249 verbatim incidents for each anti-pattern, how each resolved, and his250 recurring correction vocabulary.251- `references/startup-canon.md` - best practices from startup materials:252 the ten load-bearing principles, the four-question rigor framework, the253 calibration table, and the verified quote bank with sources.