Standard sequential, information-theoretic, and hybrid reasoning methods. Use when the user invokes `/think sequential`, `/think shannon`, or `/think hybrid`, or asks to break down a complex task into ordered steps, decompose uncertainty systematically, or compose multiple reasoning modes for a cross-cutting problem.
$ARGUMENTS
Parse these arguments. The first word should be sequential, shannon, or hybrid (or omitted if invoked via the think router). The rest is the problem to reason about.
This category skill contains three reasoning methods: Sequential, Shannon, and Hybrid.
Sequential reasoning is general-purpose iterative thinking: break a problem into a chain of thoughts, each building on the previous, with the ability to revise or branch as understanding deepens.
Do not use Sequential when:
totalThoughts — how many steps you expect this will take. It's fine to adjust later.dependencies.isRevision: true, set revisesThought to the earlier thought's id, and explain in revisionReason.branchFrom and branchId to explore a parallel line of thinking without abandoning the main chain.reference/output-formats/sequential.md.nextThoughtNeeded: true when the reasoning is not complete. Set it to false only when the chain has reached a conclusion.See reference/output-formats/sequential.md for the authoritative JSON schema, worked example, and verification checklist.
{
"mode": "sequential",
"thoughtNumber": 1,
"totalThoughts": <your estimate>,
"content": "<this thought as natural language>",
"nextThoughtNeeded": <true if more steps remain>,
"dependencies": [<ids of earlier thoughts this builds on>]
}
mode is exactly "sequential"thoughtNumber ≤ totalThoughtscontent is a complete sentence, not a stubnextThoughtNeeded is a booleanisRevision: true, then revisesThought is setInput: "Break down the steps to migrate our Postgres database to a new region."
Output (thought 1 of a chain):
{
"mode": "sequential",
"thoughtNumber": 1,
"totalThoughts": 4,
"content": "First, inventory the services that touch the database. We need to know everything that will need its connection string updated: API, workers, cron jobs, and any dashboards.",
"nextThoughtNeeded": true,
"dependencies": []
}
Natural-language summary: "I'm treating this as a four-step migration plan. Step 1 is service inventory — without knowing what connects to the DB, any migration plan is incomplete."
Shannon methodology is a systematic 5-stage problem-solving approach inspired by Claude Shannon. Rather than generic decomposition, it treats a problem as an information-theoretic object: you begin by quantifying what is unknown, then progressively reduce that uncertainty through constraint identification, mathematical modelling, proof, and implementation. Tracking uncertainty as a 0–1 score across all five stages is what distinguishes Shannon from sequential reasoning.
Do not use Shannon when:
uncertainty a high starting value (0.6–0.85) reflecting how much you do not yet know. Name the subsystems or variables whose behaviour is uncertain.knownLimitations that the proof does not cover.At every stage: list explicit assumptions and, where helpful, score confidenceFactors (dataQuality, methodologyRobustness, assumptionValidity).
See reference/output-formats/shannon.md for the authoritative JSON schema, field descriptions, worked example, and verification checklist.
{
"mode": "shannon",
"thoughtNumber": 1,
"totalThoughts": 5,
"content": "<what is unknown and how this stage reduces that uncertainty>",
"nextThoughtNeeded": true,
"stage": "problem_definition",
"uncertainty": 0.75,
"dependencies": [],
"assumptions": ["<explicit assumption>"]
}
mode is exactly "shannon"stage is one of: problem_definition, constraints, model, proof, implementationuncertainty is a number between 0 and 1uncertainty decreases from problem_definition through proofdependencies is [] at stage 1; non-empty thereafterassumptions is explicitly stated by stage 2 at the latestcontent mentions what unknown or uncertainty this stage addressesnextThoughtNeeded is false only at implementationInput: "Decompose the problem of reducing p99 latency on our user-search API."
Output (thought 1 of 5 — problem_definition):
{
"mode": "shannon",
"thoughtNumber": 1,
"totalThoughts": 5,
"content": "Define the problem: our user-search API has unacceptable p99 latency (>800ms observed, target <200ms). The reducible uncertainty is: we do not know which subsystem contributes most to tail latency. Decompose into three independently measurable sources: (1) query parsing and tokenisation, (2) index lookup and ranking, (3) serialisation and network round-trip.",
"nextThoughtNeeded": true,
"stage": "problem_definition",
"uncertainty": 0.75,
"dependencies": [],
"assumptions": [
"p99 is measured at the load balancer, not inside the service",
"the three subsystems are approximately independent",
"existing tracing covers all three stages"
],
"confidenceFactors": {
"dataQuality": 0.7,
"methodologyRobustness": 0.8,
"assumptionValidity": 0.65
}
}
Natural-language summary: "I'm treating the latency problem as having three independently quantifiable uncertainty sources. Stage 1 names them; subsequent stages will constrain and model each one until uncertainty is near zero."
Hybrid mode composes two or more reasoning modes for problems that span multiple analytical dimensions. The key insight is that different modes excel at different sub-problems: Sequential is good at ordered chains, Shannon is good at uncertainty reduction, Bayesian is good at updating beliefs, Causal is good at identifying mechanisms. Hybrid lets you pick the right lens for each part of the problem and then synthesise the insights.
Do not use Hybrid when a single mode genuinely suffices — unnecessarily invoking Hybrid adds overhead without benefit.
Hybrid reasoning follows a three-phase structure within a thought chain:
Phase 1 — Mode Selection (thought 1): Identify the primary mode that structures the overall chain and the secondary lenses that address specific dimensions. Set thoughtType: "mode_selection". State explicitly in content what each active lens will contribute. Set switchReason to justify the composition.
Phase 2 — Per-lens analysis (thoughts 2..N-1): Work through the problem. In each thought, name which secondary lens is active and what insight it provides. Use switchReason when changing the dominant lens mid-chain.
Phase 3 — Convergence (thought N): Set thoughtType: "convergence_check". In content, explicitly state what each lens concluded and integrate those conclusions into a single recommendation. uncertainty should be at its lowest here.
primaryMode| Situation | primaryMode |
|---|---|
| Decision or investigation with multiple steps | sequential |
| Uncertainty reduction with a formal model | shannon |
| Problem with mathematical structure | mathematics |
| Problem involving physical quantities | physics |
secondaryFeaturesList the additional mode names as strings (e.g., ["causal", "bayesian"]). These are not formal mode identifiers — they are reasoning lenses. Common secondary features: causal, bayesian, optimization, shannon, inductive, deductive.
See reference/output-formats/hybrid.md for the authoritative JSON schema, worked example, and verification checklist.
{
"mode": "hybrid",
"thoughtNumber": 1,
"totalThoughts": <estimate>,
"content": "<what each active lens contributes and how they will be composed>",
"nextThoughtNeeded": true,
"primaryMode": "sequential",
"secondaryFeatures": ["<lens1>", "<lens2>"],
"thoughtType": "mode_selection",
"switchReason": "<why this combination is needed>"
}
mode is exactly "hybrid"primaryMode is one of: sequential, shannon, mathematics, physicssecondaryFeatures is a non-empty array (Hybrid with no secondary features is just Sequential)content names what each secondary lens contributes — not just "I used Bayesian" but what specific insight it producedthoughtType: "mode_selection" and switchReason setthoughtType: "convergence_check" and nextThoughtNeeded: falsethoughtNumber ≤ totalThoughtsInput: "Should we rewrite the auth system in Rust? (requires comparing safety, performance, team expertise, and migration cost.)"
Output (thought 1 of 4 — mode selection):
{
"mode": "hybrid",
"thoughtNumber": 1,
"totalThoughts": 4,
"content": "This decision requires three incommensurable lenses. (1) Causal: will rewriting in Rust actually cause the safety and performance outcomes we expect, or are the failure modes in our auth system elsewhere? (2) Bayesian: given our team's current Rust proficiency, what is the posterior probability of shipping on time without regressions? (3) Shannon/constraints: what are the hard constraints—migration window, zero-downtime requirement, backward compatibility of JWTs—that any solution must satisfy regardless of language? Selecting primaryMode=sequential to frame the overall decision chain; secondaryFeatures draws on causal and bayesian lenses at each step.",
"nextThoughtNeeded": true,
"primaryMode": "sequential",
"secondaryFeatures": ["causal", "bayesian", "shannon"],
"thoughtType": "mode_selection",
"uncertainty": 0.65,
"dependencies": [],
"assumptions": [
"team has 2 engineers with production Rust experience",
"current auth system has documented failure modes",
"migration must be zero-downtime and backward-compatible"
],
"switchReason": "The rewrite decision spans safety (causal), probability of success (bayesian), and hard constraints (shannon); no single mode is sufficient."
}
Natural-language summary: "I'm treating this as a four-step hybrid chain. Step 1 selects the modes and justifies the composition. Steps 2-3 apply each lens. Step 4 converges on a recommendation."