FirstPrinciples
danielmiessler
First principles analysis. USE WHEN first principles, fundamental, root cause, decompose. SkillSearch('firstprinciples') for docs.
bunx add-skill danielmiessler/personal_ai_infrastructure -s FirstPrinciplesLoadingβ¦
danielmiessler
First principles analysis. USE WHEN first principles, fundamental, root cause, decompose. SkillSearch('firstprinciples') for docs.
bunx add-skill danielmiessler/personal_ai_infrastructure -s FirstPrinciplesLoadingβ¦
Before executing, check for user customizations at:
~/.claude/skills/CORE/USER/SKILLCUSTOMIZATIONS/FirstPrinciples/
If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
You MUST send this notification BEFORE doing anything else when this skill is invoked.
Send voice notification:
curl -s -X POST http://localhost:8888/notify \
-H "Content-Type: application/json" \
-d '{"message": "Running the WORKFLOWNAME workflow in the FirstPrinciples skill to ACTION"}' \
> /dev/null 2>&1 &
Output text notification:
Running the **WorkflowName** workflow in the **FirstPrinciples** skill to ACTION...
This is not optional. Execute this curl command immediately upon skill invocation.
Foundational reasoning methodology based on Elon Musk's physics-based thinking framework. Deconstructs problems to fundamental truths rather than reasoning by analogy.
Reasoning by Analogy (default, often wrong):
Reasoning from First Principles (this skill):
Route to the appropriate workflow based on the request.
When executing a workflow, output this notification directly:
Running the **WorkflowName** workflow in the **FirstPrinciples** skill to ACTION...
Workflows/Deconstruct.mdWorkflows/Challenge.mdWorkflows/Reconstruct.mdβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STEP 1: DECONSTRUCT β
β "What is this really made of?" β
β Break down to constituent parts and fundamental truths β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STEP 2: CHALLENGE β
β "Is this a real constraint or an assumption?" β
β Classify each element as hard/soft constraint β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STEP 3: RECONSTRUCT β
β "Given only the truths, what's optimal?" β
β Build new solution from fundamentals, ignoring form β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
When analyzing any system, classify constraints:
| Type | Definition | Example | Can Change? |
|---|---|---|---|
| Hard | Physics/reality | "Data can't travel faster than light" | No |
| Soft | Policy/choice | "We always use REST APIs" | Yes |
| Assumption | Unvalidated belief | "Users won't accept that UX" | Maybe false |
Rule: Only hard constraints are truly immutable. Soft constraints and assumptions should be challenged.
Other skills invoke FirstPrinciples like this:
## Before Analysis
β Use FirstPrinciples/Challenge on all stated constraints
β Classify each as hard/soft/assumption
## When Stuck
β Use FirstPrinciples/Deconstruct to break down the problem
β Use FirstPrinciples/Reconstruct to rebuild from fundamentals
## For Adversarial Analysis
β RedTeam uses FirstPrinciples/Challenge to attack assumptions
β Pentester uses FirstPrinciples/Deconstruct on security model
Problem: "We need microservices because that's how modern apps are built"
First Principles Analysis:
Problem: "The firewall protects the internal network"
First Principles Analysis:
Problem: "Cloud hosting costs $10,000/month - that's just what it costs"
First Principles Analysis:
When using FirstPrinciples, output should include:
## First Principles Analysis: [Topic]
### Deconstruction
- **Constituent Parts**: [List fundamental elements]
- **Actual Values**: [Real costs/metrics, not market prices]
### Constraint Classification
| Constraint | Type | Evidence | Challenge |
|------------|------|----------|-----------|
| [X] | Hard/Soft/Assumption | [Why] | [What if removed?] |
### Reconstruction
- **Fundamental Truths**: [Only the hard constraints]
- **Optimal Solution**: [Built from fundamentals]
- **Form vs Function**: [Are we optimizing the right thing?]
### Key Insight
[One sentence: what assumption was limiting us?]
Attribution: Framework derived from Elon Musk's first principles methodology as documented by James Clear, Mayo Oshin, and public interviews.
Use when you need to run Flow type checking, or when seeing Flow type errors in React code.
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
Use when you need to check feature flag states, compare channels, or debug why a feature behaves differently across release channels.