Reason from fundamentals with in-session claim ledgers, mechanism maps, assumption checks, Fermi estimates, evidence grounding, verification questions, red-t...
Coding
thinking-first-principles
Try itWhen a constraint is treated as fixed, separate physics from convention, keep only independently supported primitives, and rebuild the simplest solution that satisfies real constraints.
What it does
When a constraint is treated as fixed, separate physics from convention, keep only independently supported primitives, and rebuild the simplest solution that satisfies real constraints.
The skill document
First Principles
Strip assumed constraints to independently supported primitives, then rebuild. Escape analogy when convention fails or looks artificially expensive.
When to Use
- A constraint is treated as fixed ("too expensive," "impossible," "always done this way") without independent support.
- Convention or analogy has failed, stalled, or only yields weak incremental variants.
- Greenfield design where industry defaults may smuggle false requirements.
- Cost or feasibility claims rest on pricing, precedent, or authority rather than physics, math, or measured need.
When NOT to Use
- The constraint is verified physics, hard regulation, or measured capacity → accept it and optimize within it.
- A proven standard library, protocol, or known-good pattern already fits → use it; do not re-derive.
- Time-critical incidents → act on the most likely cause first; reserve first-principles rebuild for post-incident redesign.
- Incremental polish of a working system with no false-constraint signal → skip.
Procedure
- State the problem and claimed constraints. List every limit treated as fixed (cost, scale, stack, process, "must use X").
- Classify each constraint. Tag as
physics/math,regulation/contract,measured fact, orconvention/analogy/authority. Keep only the first three as binding unless evidence upgrades a convention. - Decompose to primitives. Required inputs, conservation/complexity bounds, true non-negotiables. Demand independent support (measurement, derivation, primary requirement)—not vendor pricing or competitor precedent.
- Discard unsupported assumptions. For each convention tag, state a falsifier. Drop or renegotiate anything lacking support.
- Rebuild from remaining primitives only. Simplest solution that satisfies binding constraints and ignores artificial ones. Prefer commodity inputs and fewer moving parts over analogy.
- Validate and stop. Check against real physics, contracts, and measured needs. Define the cheapest kill test. Stop when a coherent rebuild plus discriminating validation exists, or when only verified hard constraints remain.
Output
Emit a first-principles rebuild:
claimed_constraints: list with classification tagsprimitives: independently supported truths onlydiscarded_assumptions: conventions dropped and whyrebuild: solution derived only from primitivesbinding_residuals: real limits that remainkill_test: cheapest check that would falsify the rebuild
Verification
- Independence check: every primitive must cite measurement, derivation, or primary requirement—not precedent alone.
- No smuggled analogy: if the rebuild still depends on "how others do it" without a primitive, strip it.
- Constraint honesty: verified physics/regulation must remain; do not wish them away.
- Over-application guard: if a standard solution is already optimal under verified constraints, do not rebuild for novelty.
- Stop: one decompose → classify → rebuild → kill-test pass; do not recurse without new evidence.
Related skills
Use when the reflex is to add a feature, layer, or process. Prefer removing harmful or nonessential elements first, with an irreversibility guard before deletion.
Use when search or investigation could run forever. Set an explicit good-enough threshold first, then stop at the first option that clears it.
When throughput or latency is pipeline-limited, identify the single binding constraint and exploit, subordinate, elevate, then recheck—ignore non-constraints.
Deciding what to build or why adoption fails. Recover the progress users hire a solution for under a circumstance, then rank by outcome and competing workarounds.
When the right response mode is unclear, classify the cause-effect domain first; decompose disorder.