New to Claude Skills? Learn how to install them β†’

danielmiessler on GitHub

Scientific Method

Free

A structured approach to problem-solving using the scientific method.

Get this skill

Free Β· Opens the source repo

What Scientific Method does

The Scientific Method skill applies a rigorous, structured approach to problem-solving based on the principles of the scientific method. It emphasizes defining clear goals, generating multiple competing hypotheses, designing experiments that can fail, and measuring outcomes honestly. This skill provides a framework that scales from small tasks like test-driven development (TDD) to larger projects such as minimum viable product (MVP) launches. By following this method, users can ensure they are not just guessing but are instead making informed decisions based on data and analysis.

The skill includes seven core workflows that guide users through the problem-solving cycle: defining the goal, generating hypotheses, designing experiments, measuring results, analyzing data, iterating based on findings, and executing a full cycle of investigation. Additionally, it offers two diagnostic workflows for quick debugging and structured investigations, making it versatile for various scenarios. This is particularly useful for developers, researchers, and product managers who need to validate ideas and optimize solutions systematically.

In practice, the skill helps users avoid common pitfalls of confirmation bias and vague goal-setting. By mandating a minimum of three hypotheses before testing, it encourages a more thorough exploration of potential solutions. The structured cycle ensures that users can iterate effectively, learning from each round of testing and refining their approaches based on measurable outcomes. This disciplined methodology fosters a culture of experimentation and continuous improvement, which is crucial in fast-paced development environments.

Whether you're troubleshooting a specific issue or working on a broader project, the Scientific Method skill equips you with the tools needed to make data-driven decisions and achieve your objectives efficiently. It is an essential resource for anyone looking to enhance their problem-solving capabilities using a scientific approach.

When to use it

Use this skill when you need to define goals, generate hypotheses, and conduct experiments to validate ideas.

When not to use it

This skill is not suitable for situations requiring multi-angle analysis or when quick, iterative testing is needed without structured hypotheses.

What you can build with it

Defining Project Goals

Use the DefineGoal workflow to clarify what success looks like for your project before starting any work.

Testing New Features

Employ the GenerateHypotheses and DesignExperiment workflows to systematically test new features and validate their effectiveness.

Conducting Research

Utilize the AnalyzeResults and Iterate workflows to refine your research approach based on data collected from experiments.

How to install Scientific Method

View source

1. Install with the skills CLI

npx skills add danielmiessler/lifeos/Science --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by danielmiessler

Customization

Before executing, check for user customizations at: ~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Science/

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.

🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)

You MUST send this notification BEFORE doing anything else when this skill is invoked.

  1. Send voice notification:

    curl -s -X POST http://localhost:31337/notify \
      -H "Content-Type: application/json" \
      -d '{"message": "Running the WORKFLOWNAME workflow in the Science skill to ACTION"}' \
      > /dev/null 2>&1 &
    
  2. Output text notification:

    Running the **WorkflowName** workflow in the **Science** skill to ACTION...
    

This is not optional. Execute this curl command immediately upon skill invocation.

Science - The Universal Algorithm

What It Does

Applies the scientific method as a general problem-solving algorithm: define the goal first, generate multiple hypotheses, design experiments that can fail, measure honestly, analyze against the goal, iterate. Seven core workflows plus two diagnostic shortcuts (quick 15-minute debugging and structured multi-factor investigation). It scales from micro (TDD) to meso (feature validation) to macro (MVP launch).

The Problem

Most problem-solving is guessing dressed up as work. You pick the first idea that comes to mind, change something, and call it done when it "seems better" β€” which is confirmation bias, not progress. Without a clear definition of success you can't tell whether a change helped, so you keep tweaking forever or stop too early. Single-hypothesis thinking means you only ever test the idea you already believed. This skill forces the discipline that fixes all of that: a stated goal, at least three competing hypotheses, falsifiable tests, and measurement that compares to the goal rather than to your hopes.

How It Works

The whole thing is one repeating cycle, and the goal anchors it β€” without clear success criteria you cannot judge results:

GOAL -----> What does success look like?
   |
OBSERVE --> What is the current state?
   |
HYPOTHESIZE -> What might work? (Generate MULTIPLE)
   |
EXPERIMENT -> Design and run the test
   |
MEASURE --> What happened? (Data collection)
   |
ANALYZE --> How does it compare to the goal?
   |
ITERATE --> Adjust hypothesis and repeat
   |
   +------> Back to HYPOTHESIZE

The answer emerges from the cycle, not from guessing.


Workflow Routing

Output when executing: Running the **WorkflowName** workflow in the **Science** skill to ACTION...

Core Workflows

WorkflowTriggerFile
DefineGoal"define the goal", "what are we trying to achieve"Workflows/DefineGoal.md
GenerateHypotheses"what might work", "ideas", "hypotheses"Workflows/GenerateHypotheses.md
DesignExperiment"how do we test", "experiment design"Workflows/DesignExperiment.md
MeasureResults"what happened", "measure", "results"Workflows/MeasureResults.md
AnalyzeResults"analyze", "compare to goal"Workflows/AnalyzeResults.md
Iterate"iterate", "try again", "next cycle"Workflows/Iterate.md
FullCycleFull structured cycleWorkflows/FullCycle.md

Diagnostic Workflows

WorkflowTriggerFile
QuickDiagnosisQuick debugging (15-min rule)Workflows/QuickDiagnosis.md
StructuredInvestigationComplex investigationWorkflows/StructuredInvestigation.md

Resource Index

ResourceDescription
Methodology.mdDeep dive into each phase
Protocol.mdHow skills implement Science
Templates.mdGoal, Hypothesis, Experiment, Results templates
Examples.mdWorked examples across scales

Domain Applications

DomainManifestationRelated Skill
CodingTDD (Red-Green-Refactor)Development
ProductsMVP -> Measure -> IterateDevelopment
ResearchQuestion -> Study -> AnalyzeResearch
PromptsPrompt -> Eval -> IterateEvals
DecisionsOptions -> Council -> ChooseCouncil

Scale of Application

LevelCycle TimeExample
MicroMinutesTDD: test, code, refactor
MesoHours-DaysFeature: spec, implement, validate
MacroWeeks-MonthsProduct: MVP, launch, measure PMF

Integration Points

PhaseSkills to Invoke
GoalCouncil for validation
ObserveResearch for context
HypothesizeCouncil for ideas, RedTeam for stress-test
ExperimentDevelopment (Worktrees) for parallel tests
MeasureEvals for structured measurement
AnalyzeCouncil for multi-perspective analysis

Anti-Patterns

BadGood
"Make it better""Reduce load time from 3s to 1s"
"I think X will work""Here are 3 approaches: X, Y, Z"
"Prove I'm right""Design test that could disprove"
"Pretend failure didn't happen""What did we learn?"
"Keep experimenting forever""Ship and learn from production"

Gotchas

  • Minimum 3 hypotheses before testing. Single-hypothesis testing is confirmation bias β€” going straight to a single test is trial-and-error, not science.
  • Measurements must be specific and reproducible. "It seems better" is not a measurement.
  • Full cycle is for systematic investigation. For quick debugging, use quick diagnosis mode.

Examples

Example 1: Quick diagnosis

User: "figure out why Surface time filters show stale items"
β†’ Quick diagnosis mode
β†’ Hypothesis: timestamp format mismatch in D1
β†’ Test: query D1 for actual stored format
β†’ Analyze: compare stored vs expected format
β†’ Result: ISO string vs Unix timestamp mismatch

Example 2: Full systematic investigation

User: "experiment with different prompt structures for better output"
β†’ Full cycle mode
β†’ 3+ hypotheses generated
β†’ Controlled experiments with measurements
β†’ Analysis identifies winning approach
β†’ Iterates until convergence

Execution Log

After completing any workflow, append a single JSONL entry:

echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Science","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl

Replace WORKFLOW_USED with the workflow executed, 8_WORD_SUMMARY with a brief input description, and SECONDS with approximate wall-clock time. Log status: "error" if the workflow failed.

Frequently asked questions about Scientific Method

Similar skills