130 lines
4.7 KiB
Markdown
130 lines
4.7 KiB
Markdown
---
|
|
name: sequential-thinking
|
|
description: Performs dynamic, reflective problem-solving through iterative thought chains. Use for complex planning requiring revision, branching, backtracking, or hypothesis verification. Ideal for multi-step analysis where context maintenance is required or the full scope isn't initially clear.
|
|
---
|
|
|
|
# Sequential Thinking
|
|
|
|
A structured approach to complex problem-solving that breaks down challenges into iterative thought steps with built-in flexibility for revision and course correction.
|
|
|
|
## When to Use This Skill
|
|
|
|
- Breaking down complex problems into manageable steps
|
|
- Planning and design requiring iterative refinement
|
|
- Analysis that might need course correction mid-stream
|
|
- Problems where the full scope emerges during analysis
|
|
- Multi-step solutions requiring context across steps
|
|
- Filtering out irrelevant information
|
|
- Hypothesis generation and verification workflows
|
|
|
|
## Core Methodology
|
|
|
|
Sequential thinking follows a dynamic process:
|
|
|
|
1. **Initial estimation**: Start with an estimate of thoughts needed, but remain flexible
|
|
2. **Iterative analysis**: Work through thoughts sequentially while building context
|
|
3. **Revision capability**: Question or revise previous thoughts as understanding deepens
|
|
4. **Branch exploration**: Explore alternative approaches when needed
|
|
5. **Hypothesis cycle**: Generate hypotheses, verify against thought chain, repeat
|
|
6. **Convergence**: Continue until reaching a satisfactory solution
|
|
|
|
## Instructions
|
|
|
|
### Thought Structure
|
|
|
|
Each thought in the sequence should include:
|
|
|
|
- **thought**: Current thinking step content
|
|
- **thoughtNumber**: Position in sequence (1, 2, 3, ...)
|
|
- **totalThoughts**: Current estimate of total thoughts needed (adjustable)
|
|
- **nextThoughtNeeded**: Whether another thought step is required
|
|
|
|
Optional revision/branching metadata:
|
|
- **isRevision**: Boolean indicating if reconsidering previous thinking
|
|
- **revisesThought**: Which thought number is being revised
|
|
- **branchFromThought**: Branching point thought number
|
|
- **branchId**: Identifier for current branch
|
|
- **needsMoreThoughts**: Flag when reaching end but requiring more analysis
|
|
|
|
### Process Guidelines
|
|
|
|
**Starting out:**
|
|
- Estimate initial thoughts needed based on problem complexity
|
|
- Begin with thought 1, establishing context and approach
|
|
- Set totalThoughts conservatively; you can adjust later
|
|
|
|
**During analysis:**
|
|
- Build on previous thoughts while maintaining context
|
|
- Filter out irrelevant information at each step
|
|
- Express uncertainty when present
|
|
- Don't hesitate to revise if you spot errors or better approaches
|
|
- Adjust totalThoughts up/down as the problem's scope becomes clearer
|
|
|
|
**Revision pattern:**
|
|
When reconsidering previous thinking:
|
|
```json
|
|
{
|
|
"thought": "On reflection, thought 3's assumption about X was incorrect because Y...",
|
|
"thoughtNumber": 6,
|
|
"totalThoughts": 10,
|
|
"isRevision": True,
|
|
"revisesThought": 3,
|
|
"nextThoughtNeeded": True
|
|
}
|
|
```
|
|
|
|
**Hypothesis cycle:**
|
|
1. Generate hypothesis based on current understanding
|
|
2. Verify against previous thought chain
|
|
3. If verification fails, revise or branch
|
|
4. Repeat until hypothesis is validated
|
|
|
|
**Completion:**
|
|
- Only set `nextThoughtNeeded: False` when truly satisfied with the solution
|
|
- Provide a single, clear final answer
|
|
- Ensure the answer directly addresses the original problem
|
|
|
|
### Working with Context
|
|
|
|
**Maintain continuity:**
|
|
- Reference specific previous thoughts by number
|
|
- Build logical connections between thoughts
|
|
- Track which thoughts are still valid vs. revised
|
|
|
|
**Filter information:**
|
|
- Ignore details irrelevant to current thought step
|
|
- Focus on information that advances understanding
|
|
- Re-evaluate relevance as context evolves
|
|
|
|
**Manage complexity:**
|
|
- If a thought becomes too complex, break it into multiple thoughts
|
|
- Increase totalThoughts estimate accordingly
|
|
- Keep each individual thought focused
|
|
|
|
### Output Format
|
|
|
|
Present your sequential thinking in a structured format:
|
|
```
|
|
Thought [N/Total]: [Current thought content]
|
|
[If revision: "This revises thought X because..."]
|
|
[If branching: "Branching from thought X to explore..."]
|
|
|
|
[Continue with next thought when nextThoughtNeeded is True]
|
|
|
|
Final output after all thoughts complete:
|
|
Solution: [Clear, direct answer to the original problem]
|
|
|
|
```
|
|
|
|
## Examples
|
|
|
|
For concrete examples of sequential thinking in action, see `resources/examples.md`.
|
|
|
|
## Key Principles
|
|
|
|
- **Flexibility over rigidity**: Adjust your approach as understanding deepens
|
|
- **Revision is strength**: Correcting course shows good reasoning
|
|
- **Hypothesis-driven**: Generate and test hypotheses iteratively
|
|
- **Context-aware**: Maintain awareness of previous thoughts while progressing
|
|
- **Clarity at completion**: Deliver a single, clear final answer
|