thinking-scientific-method

thinking-scientific-method is a skill for Claude Code from tjboudreaux/cc-thinking-skills. It costs 38 tokens per session (883 once invoked), scanned A, original, MIT.

A debugging method for cases where a bug or unusual result could have several causes. It lists explanations that can be disproved and checks the observation most likely to distinguish them.

In plain words
What is it for?
Use it to investigate bugs, incidents, and anomalies by checking logs, code, changes, traces, tests, settings, or data in an efficient order.
Why use it?
It reduces guesswork and helps locate the faulty code, configuration, data, or rule before making a fix.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Part of the cc-thinking-skills plugin — 28 skills shipped together

not rated 1.3krepo +8 1mo ago A scan Socket: passSnyk: passSkillSpector: pass 38 tokens original MIT

Good fit Use it to investigate bugs, incidents, and anomalies by checking logs, code, changes, traces, tests, settings, or data in an efficient order.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tjboudreaux/cc-thinking-skills/thinking-scientific-method
About the project

Claude Code Thinking Skills is a catalogue of 28 portable skills that give coding agents structured procedures for reasoning about decisions, diagnosis, risk, strategy, and related problems. It is intended for Claude Code, GitHub Copilot, Codex, Cursor, and other tools that support Agent Skills.

tjboudreaux/cc-thinking-skills · 1,293 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add tjboudreaux/cc-thinking-skills --skill thinking-scientific-method
Clone the repo
git clone --depth 1 https://github.com/tjboudreaux/cc-thinking-skills

Made for: Claude Code.

Or install cc-thinking-skills, the plugin that ships this one along with the rest of its 28 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for thinking-scientific-method

README.md
[![agentmods](https://agentmods.dev/badge/skills/tjboudreaux/cc-thinking-skills/thinking-scientific-method/github.svg)](https://agentmods.dev/skills/tjboudreaux/cc-thinking-skills/thinking-scientific-method)
Your own site
<a href="https://agentmods.dev/skills/tjboudreaux/cc-thinking-skills/thinking-scientific-method"><img src="https://agentmods.dev/badge/skills/tjboudreaux/cc-thinking-skills/thinking-scientific-method/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for thinking-scientific-method

Your own site · 80×15
<a href="https://agentmods.dev/skills/tjboudreaux/cc-thinking-skills/thinking-scientific-method"><img src="https://agentmods.dev/badge/skills/tjboudreaux/cc-thinking-skills/thinking-scientific-method.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 883 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Socket pass 12 Mar 2026
  • Snyk pass 12 Mar 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00038 $0.00883
Opus 5 $0.00019 $0.00441
Sonnet 5 $0.00008 $0.00177
Haiku 4.5 $0.00004 $0.00088

Measured 10d ago against content hash fc0440edac8f, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

thinking-scientific-method scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/thinking-scientific-method/SKILL.md · 57 lines

How it starts

The opening of the file, as written. The whole thing — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Scientific Method (Hypothesis Differential)

When a symptom could come from several places, enumerate competing falsifiable hypotheses and spend the cheapest observation on the one that best discriminates among them. After each observation, keep only hypotheses that still fit, then prefer the survivor with the fewest unsupported assumptions as the working explanation.

When to Use

  • A bug, incident, or anomaly has more than one plausible cause.
  • You can observe code, logs, diffs, traces, tests, configs, or data now.
  • You must localize the faulty file, function, branch, config, or invariant before fixing.
  • Competing explanations fit the same surface facts and you need a discriminating check.

When NOT to Use

  • Cause is already obvious from a single stack, failing test, or recent diff — fix directly.
  • Only one plausible hypothesis exists — test it; do not invent rivals for ritual.
  • No observation is possible yet — obtain access first; do not speculate a localization.
  • Multi-week experiments, product A/B tests, or policy trials — this skill is for agent-now checks.
  • Fault is already localized and you need systemic root/prevention depth — use five-whys-plus.
  • Selective "only these objects/times" defects better suited to IS/IS-NOT comparison — use Kepner-Tregoe.
  • Representation (doc/dashboard) may be stale versus reality — verify territory with map-territory first, then resume hypotheses.

Procedure

  1. State the symptom precisely. Capture failing behavior, scope, timing, environment, and constraints. Separate observation from interpretation.
  2. Enumerate 2–5 competing hypotheses. Name specific files, functions, configs, input conditions, or invariants. Reject vague buckets ("backend issue"). If no serious alternative remains after a deliberate check, exit this differential and test or fix the sole evidenced cause directly; never fabricate a rival to continue the procedure.
  3. Name falsifiers and cheap observations before looking. For each hypothesis: what result drops it, and what read/grep/diff/log/test check can you run now. Prefer observations available immediately over deploys, canaries, or long waits.
  4. Rank observations by discrimination × cheapness. Run the cheapest check that best separates the top contenders. Do not deep-dive the favorite first if a cheap cross-check would kill alternatives.
  5. Update after each observation. Drop falsified hypotheses. Among survivors that still fit all evidence, prefer the one with the fewest independent unsupported assumptions (extra components, rare timing, external dependencies). Parsimony ranks survivors after fit; it never rescues a leaner hypothesis that evidence already contradicts. Escalate complexity only when simpler survivors are ruled out.
  6. Localize and stop. When one hypothesis has direct supporting evidence and key alternatives are ruled out, name the file/function/config to change and the evidence that localizes it. Stop analyzing once localization is direct.

Read the full file on GitHub · 57 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 57 lines · 38 tokens per session scan A fc0440edac8f

Subscribe to this mod's changes

thinking-scientific-method is a skill published in the GitHub repository tjboudreaux/cc-thinking-skills (1,293 stars, last pushed 1mo ago), licensed MIT. It adds 38 tokens to every session and 883 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

swiftui-debugging

Diagnose SwiftUI performance issues including unnecessary re-renders, view identity problems, and slow body evaluations. Use when SwiftUI views are slow, janky, or re-rendering too often.

rshankras/claude-code-apple-skills · 44 tokens

performance-profiling

Guide performance profiling with Instruments, diagnose hangs, memory issues, slow launches, and energy drain. Use when reviewing app performance or investigating specific bottlenecks.

rshankras/claude-code-apple-skills · 36 tokens

debug-menu

Generates a developer debug menu with feature flag toggles, environment switching, network log viewer, cache clearing, crash trigger, and diagnostic info export. Only included in DEBUG builds. Use when user wants a debug panel, dev tools menu, or shake-to-debug functionality.

rshankras/claude-code-apple-skills · 57 tokens

error-monitoring

Generates protocol-based error/crash monitoring with swappable providers (Sentry, Crashlytics). Use when user wants to add crash reporting, error tracking, or production monitoring.

rshankras/claude-code-apple-skills · 40 tokens

logging-setup

Generates structured logging infrastructure using os.log/Logger to replace print() statements. Use when user wants to add proper logging, replace print statements, or set up app logging.

rshankras/claude-code-apple-skills · 39 tokens

dead-code-detector

Detect unused/unreachable code in polyglot codebases (Python, TypeScript, Rust). TRIGGERS - dead code, unused functions, unused imports.

terrylica/cc-skills · 37 tokens