sequential-thinking

star 21

Dynamic, reflective problem-solving through structured sequential thoughts with support for branching, revision, and adaptive depth. Use this skill when: (1) Breaking down complex problems into steps, (2) Planning and design with room for revision, (3) Analysis that might need course correction, (4) Problems where the full scope is not clear initially, (5) Multi-step solutions requiring maintained context, (6) Situations where irrelevant information must be filtered out, (7) Any task benefiting from hypothesis generation, verification, and iterative refinement. Triggers: think through, step by step, break this down, sequential thinking, reason through, analyze step by step, think carefully, or when a problem clearly benefits from structured multi-step reasoning.

thedotmack By thedotmack schedule Updated 2/27/2026

name: sequential-thinking description: "Dynamic, reflective problem-solving through structured sequential thoughts with support for branching, revision, and adaptive depth. Use this skill when: (1) Breaking down complex problems into steps, (2) Planning and design with room for revision, (3) Analysis that might need course correction, (4) Problems where the full scope is not clear initially, (5) Multi-step solutions requiring maintained context, (6) Situations where irrelevant information must be filtered out, (7) Any task benefiting from hypothesis generation, verification, and iterative refinement. Triggers: think through, step by step, break this down, sequential thinking, reason through, analyze step by step, think carefully, or when a problem clearly benefits from structured multi-step reasoning."

Sequential Thinking

A tool for dynamic, reflective problem-solving through a chain of numbered thoughts. Full parity with the Sequential Thinking MCP server — same parameters, same state management, same behavioral contract.

How to Use This Skill

When this skill is activated, use scripts/think.ts as your primary reasoning mechanism. Do not reason in prose — reason through the script. Every step of your analysis should be a thought submitted via the script, making your reasoning chain explicit and trackable.

Workflow

  1. Reset state at the start of every new thinking session
  2. Loop: Submit thoughts one at a time via the script, incrementing thoughtNumber each time
  3. Adapt: Revise earlier thoughts, branch into alternatives, or extend depth as needed
  4. Terminate: Set nextThoughtNeeded false only when you have a confident final answer
  5. Respond: After the final thought, provide the answer to the user

Each thought should be a single Bash tool call. Think in the thought, not outside it.

Script Location

scripts/think.ts

Run via bun from the skill's base directory.

Commands

Reset (required before every new session)

bun scripts/think.ts --reset

Submit a Thought

Required flags: --thought, --thoughtNumber, --totalThoughts, --nextThoughtNeeded

bun scripts/think.ts \
  --thought "Your analysis for this step" \
  --thoughtNumber 1 \
  --totalThoughts 5 \
  --nextThoughtNeeded true

Submit a Revision

Revises a previous thought. The original stays in history; the revision is appended as a new entry. Requires --isRevision and --revisesThought.

bun scripts/think.ts \
  --thought "Corrected analysis" \
  --thoughtNumber 3 \
  --totalThoughts 5 \
  --nextThoughtNeeded true \
  --isRevision --revisesThought 1

Submit a Branch

Explores an alternative path from a prior thought. Requires both --branchFromThought and --branchId.

bun scripts/think.ts \
  --thought "Alternative approach" \
  --thoughtNumber 4 \
  --totalThoughts 7 \
  --nextThoughtNeeded true \
  --branchFromThought 2 --branchId alt-approach

Extend Depth

Signal that more thoughts are needed beyond the original estimate.

bun scripts/think.ts \
  --thought "Scope is larger than expected" \
  --thoughtNumber 6 \
  --totalThoughts 8 \
  --nextThoughtNeeded true \
  --needsMoreThoughts

Inspect Full State

bun scripts/think.ts --status

Returns JSON with fullHistory and branchDetails.

Output Format

Each thought invocation prints the thought to stderr and a compact status line to stdout:

💭 Thought 3/7
The analysis shows that...
[3/7] history=3 next=true

Revision and branch thoughts use 🔄 Revision and 🌿 Branch headers respectively.

Parameters (Full MCP Parity)

Parameter Type Required Description
--thought string yes The content of this thinking step
--thoughtNumber int >= 1 yes Current thought number in the sequence
--totalThoughts int >= 1 yes Estimated total thoughts needed (adjustable)
--nextThoughtNeeded bool yes true to continue, false to terminate
--isRevision flag no Marks this thought as revising a previous one
--revisesThought int >= 1 no Which thought number is being revised (required with --isRevision)
--branchFromThought int >= 1 no Create a branch starting from this thought number
--branchId string no Label for the branch (required with --branchFromThought)
--needsMoreThoughts flag no Signal that totalThoughts should be expanded

Behavioral Rules

These match the MCP server's tool description exactly:

  1. Start with an initial estimate of totalThoughts, but adjust freely as understanding deepens
  2. Auto-adjust: If thoughtNumber exceeds totalThoughts, the script raises totalThoughts to match
  3. Revise previous thoughts when you realize an earlier step was wrong or incomplete — set --isRevision and --revisesThought N. The original stays in history; the revision is appended
  4. Branch to explore alternative reasoning paths — set both --branchFromThought N and --branchId label. This does not abandon the main line
  5. Extend beyond the initial estimate at any time with --needsMoreThoughts and an increased --totalThoughts
  6. Express uncertainty — not every thought needs confidence. Questioning and exploring is encouraged
  7. Filter noise — ignore information irrelevant to the current step
  8. Generate hypotheses when you have enough evidence, then verify them against prior thoughts in the chain
  9. Iterate hypothesis-verification cycles until satisfied with the answer
  10. Terminate only when you have a satisfactory answer — set --nextThoughtNeeded false
  11. Non-linear paths are first-class — branching, backtracking, and revision are features, not failures

State Management

  • State is persisted to scripts/.think_state.json between invocations
  • thoughtHistory[] is append-only — thoughts are never deleted
  • branches{} maps branch IDs to their thought arrays
  • --reset clears all state for a fresh session
  • --status dumps the full state as JSON for inspection

Example Session

See references/example-session.md for a complete worked example demonstrating normal thoughts, revisions, branches, and dynamic depth adjustment.

Install via CLI
npx skills add https://github.com/thedotmack/sequential-thinking-skill --skill sequential-thinking
Repository Details
star Stars 21
call_split Forks 8
navigation Branch main
article Path SKILL.md
More from Creator