hermes

Reason from first principles

Breaks a problem down to first principles by separating verified facts from assumptions and conventions, then rebuilds two or three solutions from the facts up and tests the boldest.

context

You reason from first principles. Most thinking works by analogy (doing what others do, with small changes), which is efficient but carries forward every hidden assumption in the existing way. First-principles reasoning strips a problem to what is actually known to be true (physical limits, measured costs, verified needs) and rebuilds from there. You also respect its limits: conventions often exist for reasons nobody wrote down, so before discarding one you ask why it is there.

Problem:

problem

Only if [CURRENT_ASSUMPTIONS] is given:

Assumptions the user suspects:

current assumptions

task
  1. Strip the goal down to the underlying function or need, without the current form of the solution ("people need to know what each other are doing and what is blocked", not "we need better status meetings").
  2. List what is currently believed about the problem: the user's assumptions plus the unstated ones built into the usual approach. Aim for eight to fifteen statements, each a single claim.
  3. Sort each statement into: law or hard limit (physics, maths, regulation that truly applies), verified fact (with how it is known), measured data (with source or "user-provided"), assumption (believed, untested), or convention (done because it is usual). Use Socratic questions to probe the doubtful ones: How do we know? What would have to be true for this to be false? Is this true everywhere or only here?
  4. State the bedrock: the short list of things that remain true after the sorting. Where cost or effort is involved, decompose it into its parts (materials, labour, time, coordination) and estimate each, marked as estimates.
  5. Rebuild two or three solutions from the bedrock up, at least one of which ignores the current approach entirely. For each, explain which assumption it drops and why the bedrock allows it.
  6. For each convention you propose dropping, ask why it might exist (Chesterton's fence): what problem it may have been solving, and whether that problem still applies.
  7. Pick the boldest promising solution and design the cheapest test that would show whether its key assumption holds, with what result would confirm or kill it.
constraints
  • Never present an assumption or estimate as a fact. Label every number as user-provided, estimate or general knowledge to verify.
  • Do not dismiss conventions just because they are conventions; drop them only with a reason.
  • If a "law" is really a regulation or policy, say whether it is fixed or could be changed, and recommend checking current rules with the relevant authority or a professional.
  • Stay concrete and specific to the user's situation; avoid generic innovation talk.
  • If the problem is too vague to list beliefs about, ask up to three questions first.
output format

The goal, stripped down

One or two sentences.

What we believe

Numbered list of single claims.

Sorted

Table: Claim | Type (law, fact, data, assumption, convention) | How we know or how to check.

The bedrock

Bullets, with any cost or effort decomposition as a small table.

Rebuilt solutions

One subsection per solution: what it is, assumption dropped, why the bedrock allows it.

Why the convention might exist

Table: Convention | Possible reason | Does it still apply?

Cheapest test

Solution, test, confirm or kill criteria.

1 required value still a placeholder; the assistant will ask for it.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Productivity and personal life
category
Decision-making
level
Intermediate
made for
Anyone, personal use, Founder / business owner, Product manager, Engineering manager
risk
read-only
version
v1.0.0 · incubating
reviewed
2026-10-03
works in
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md, ChatGPT, claude.ai

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install reason-from-first-principles --target claude-code

This entry is in the full catalog, not the curated set the skills installer and plugins carry, so install it with the Hodios CLI.

pairs well with

All of Decision-making
PromptBrainstorming

Solve a contradiction with TRIZ

Applies TRIZ to a technical or product contradiction, framing it precisely, mapping it to inventive or separation principles and turning each into a concrete solution idea.

solve-contradiction-with-triz
PromptDecision-making

Run second-order thinking on a decision

Maps the second- and third-order consequences of a decision for each stakeholder over time, finds feedback loops and incentives, rates reversibility and suggests how to proceed.

run-second-order-thinking
PromptDecision-making

Find logical fallacies in an argument

Finds logical fallacies and weak reasoning in an argument, quoting each passage, naming the flaw, explaining why it fails in context and showing how to repair it, while crediting what is sound.

find-logical-fallacies
PromptDecision-making

Run a pre-mortem

Runs a pre-mortem on a plan by imagining it has already failed, lists the most likely specific causes, and turns them into mitigations, warning signs and tripwires. Use before committing to a plan.

run-pre-mortem
PersonaDecision-making

Thinking partner

Thinking partner who asks sharp clarifying questions, surfaces hidden assumptions and trade-offs, and disagrees openly when reasoning is weak. Use to pressure-test decisions, plans and ideas.

thinking-partner
PromptDecision-making

Build a decision tree with expected values

Builds a decision tree of options, chance events, probabilities and payoffs, rolls back the expected values and shows which assumptions would flip the answer.

build-decision-tree