| name | sequential-thinking |
| description | Dynamic problem-solving through thought sequences — iterative reasoning, hypothesis testing, and solution refinement. Use when working with sequential thinking. |
| domain | mcp |
| author | oyi77 |
| license | Apache-2.0 |
| subdomain | mcp |
| tags | ["mcp-server","model-context-protocol","sequential","testing","thinking","tool-integration"] |
| version | 1.0.0 |
Overview
Sequential thinking is a structured reasoning approach where problems are solved through a chain of thoughts, each building on the previous. Supports backtracking, hypothesis testing, and solution refinement.
Capabilities
- Break complex problems into sequential thought steps
- Generate and test hypotheses iteratively
- Backtrack and revise when initial approaches fail
- Estimate solution complexity and adjust strategy
- Maintain reasoning context across thought chains
When to Use
Trigger phrases:
-
"sequential thinking"
-
"Dynamic problem-solving through thought sequences — iterative reasoning, hypothe"
-
Complex problems that need multi-step reasoning
-
Debugging where the root cause isn't obvious
-
Architecture decisions with multiple trade-offs
-
Planning tasks with many interdependencies
When NOT to Use
- Task is outside your authorization scope
- You need to implement controls (use implementing-* skills)
- Task is about analysis, not action (use analyzing-* skills)
- You don't have access to target systems
- Task requires compliance expertise (consult professionals)
- Task is about defense, not offense (use defensive skills)
Pseudo Code
def execute(input_data):
if not input_data:
raise ValueError("Input data is required")
result = process(input_data)
validate_output(result)
return result
Thought Chain
def sequential_think(problem, max_thoughts=10):
thoughts = []
current_thought = generate_initial_thought(problem)
for i in range(max_thoughts):
thoughts.append(current_thought)
if is_solution_complete(current_thought, problem):
return thoughts
current_thought = generate_next_thought(problem, thoughts)
if is_stuck(thoughts):
thoughts = backtrack(thoughts, steps=2)
current_thought = generate_alternative(problem, thoughts)
return thoughts
Hypothesis Testing
def test_hypothesis(hypothesis, evidence):
supports = [e for e in evidence if supports(hypothesis, e)]
contradicts = [e for e in evidence if contradicts(hypothesis, e)]
confidence = len(supports) / (len(supports) + len(contradicts) + 1)
return {
"hypothesis": hypothesis,
"confidence": confidence,
"supports": supports,
"contradicts": contradicts,
"verdict": "accept" if confidence > 0.7 else "reject" if confidence < 0.3 else "uncertain"
}
Common Patterns
- Number your thoughts: Explicit numbering helps track reasoning progress
- State assumptions: List assumptions at each step for validation
- Backtrack explicitly: When a path fails, state why and explore alternatives
- Complexity estimation: Estimate difficulty before diving in — adjust strategy if needed
How to Use
- Invoke the skill when relevant domain keywords appear in the request
- Provide required inputs as specified in the skill definition
- Review the output for correctness before delivering to the user
- Combine with related skills for complex multi-step workflows
Verification
After completing this skill, confirm:
Process
- Analyze the task requirements
- Apply domain expertise
- Verify output quality
Anti-Rationalization Table
| Rationalization | Reality |
|---|
| "I will just use curl" | MCP handles auth, retries, streaming, and type safety. Use the SDK. |
| "One mega-server is simpler" | Single-responsibility servers are easier to debug and maintain. |
| "MCP is just a wrapper" | MCP enables cross-platform tool sharing. It is infrastructure, not overhead. |