first-principles-thinking

Re-derive engineering decisions from verified evidence, invariants, and measurable outcomes.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/369sup/support --skill first-principles-thinking-369sup
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: first-principles-thinking
Source: https://github.com/369sup/support/tree/main/plugins/first-principles-thinking/skills/first-principles-thinking
Command: npx skills add https://github.com/369sup/support --skill first-principles-thinking-369sup

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineering decisions often inherit assumptions, legacy constraints, and industry conventions that were never verified against the actual outcome required. This Skill forces architecture, debugging, migration, and technology-selection decisions to be rebuilt from observable facts and binding invariants, exposing disguised assumptions before they become costly commitments. ## Core Features & Use Cases - Evidence classification: Labels every premise as FACT, INVARIANT, ASSUMPTION, UNKNOWN, CONVENTION, or PREFERENCE, with strict tests before anything earns invariant status. - Assumption challenging: Explicitly interrogates backward compatibility, existing architecture, change size, reversibility, vendor defaults, and sunk-cost work. - Reconstruction and falsification: Builds the smallest sufficient system from verified premises, includes the zero option, and runs counterexamples and pre-mortems before execution. - Use Case: When asked to add a caching layer to fix slow queries, the Skill first verifies whether the queries, schema, or data model are the actual root cause, and may conclude the cache should never be built. ## Quick Start Ask the AI to use first-principles thinking to challenge the current design of your system and rebuild the solution from verified fundamentals.

Frequently Asked Questions about first-principles-thinking

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I apply first principles thinking to software architecture decisions?▼

Restate the desired outcome without naming the proposed implementation, classify every premise as fact, invariant, assumption, or unknown, then rebuild the smallest system that satisfies only verified premises. Compare candidate paths by outcome fit, failure modes, and long-term complexity.

When should I use first-principles reasoning instead of following best practices?▼

Use it for architecture, technology selection, migrations, hard debugging, and high-impact or hard-to-reverse decisions where inherited conventions may not match your actual constraints. Skip it for formatting, simple renames, translations, and direct factual questions.

What is the difference between an invariant and an assumption in system design?▼

An invariant is a condition whose violation prevents the outcome or breaches a binding authority, with an identifiable source, current validity, and concrete failure consequence. Anything failing those tests is downgraded to an assumption or unknown and must be verified before use.

Can first-principles analysis recommend removing or replacing an existing design?▼

Yes. The method explicitly includes the zero option and paths that discard the current design when evidence supports them. Compatibility and reversibility are scored properties, not default vetoes, so removal or replacement is a legitimate outcome.

Why does challenging backward compatibility matter in refactoring decisions?▼

Backward compatibility is often preserved out of habit after its original need expired, creating the legacy trap. The analysis requires tracing compatibility to a real outcome or binding invariant before retaining it, otherwise it is treated as a negotiable convention.