APM

>Agent Skill

@dianel555/sequential-think

skilldevelopment

Multi-step reasoning engine for complex analysis and systematic problem solving. Use when: (1) Complex debugging scenarios with multiple layers, (2) Architectural analysis and system design, (3) Problems requiring hypothesis testing and validation, (4) Multi-component failure investigation, (5) Performance bottleneck identification. Triggers: "--think", "--think-hard", "--ultrathink", "analyze step by step", "break down this problem", "systematic analysis". IMPORTANT: Do NOT use for simple single-step tasks.

apm::install
$apm install @dianel555/sequential-think
apm::skill.md
---
name: sequential-think
description: |
  Multi-step reasoning engine for complex analysis and systematic problem solving. Use when: (1) Complex debugging scenarios with multiple layers, (2) Architectural analysis and system design, (3) Problems requiring hypothesis testing and validation, (4) Multi-component failure investigation, (5) Performance bottleneck identification. Triggers: "--think", "--think-hard", "--ultrathink", "analyze step by step", "break down this problem", "systematic analysis". IMPORTANT: Do NOT use for simple single-step tasks.
---

# Sequential Think

Structured iterative thinking for complex problem-solving. Standalone CLI only (no MCP dependency).

## Execution Methods

Run `scripts/sequential_think_cli.py` via Bash:

```bash
# Process a thought
python scripts/sequential_think_cli.py think \
  --thought "First, let me analyze the problem structure..." \
  --thought-number 1 \
  --total-thoughts 5

# Continue thinking chain
python scripts/sequential_think_cli.py think \
  --thought "Based on step 1, I hypothesize that..." \
  --thought-number 2 \
  --total-thoughts 5

# Revise a previous thought
python scripts/sequential_think_cli.py think \
  --thought "Reconsidering step 1, I realize..." \
  --thought-number 3 \
  --total-thoughts 5 \
  --is-revision \
  --revises-thought 1

# Branch into alternative path
python scripts/sequential_think_cli.py think \
  --thought "Alternative approach: what if we..." \
  --thought-number 4 \
  --total-thoughts 6 \
  --branch-from 2 \
  --branch-id "alt-approach"

# Final thought (complete chain)
python scripts/sequential_think_cli.py think \
  --thought "Conclusion: the solution is..." \
  --thought-number 5 \
  --total-thoughts 5 \
  --no-next

# View thought history
python scripts/sequential_think_cli.py history [--format json|text]

# Clear thought history
python scripts/sequential_think_cli.py clear
```

## Core Principles

### Iterative Thinking Process
- Each tool call = one "thought" in the chain
- Build upon, question, or revise previous thoughts
- Express uncertainty when it exists

### Dynamic Thought Count
- Start with initial estimate of `totalThoughts`
- Adjust up/down as understanding evolves
- Add more thoughts even after reaching initial end

### Hypothesis-Driven Approach
1. Generate hypotheses as potential solutions emerge
2. Verify hypotheses based on chain-of-thought steps
3. Repeat until satisfied with solution

### Completion Criteria
- Only set `nextThoughtNeeded: false` when truly finished
- Must have satisfactory, verified answer
- Don't rush to conclusion

## When to Use

| Scenario | Use Sequential Think |
|----------|---------------------|
| Complex debugging (3+ layers) | ✅ Yes |
| Architectural analysis | ✅ Yes |
| Multi-component investigation | ✅ Yes |
| Performance bottleneck analysis | ✅ Yes |
| Root cause analysis | ✅ Yes |
| Simple explanation | ❌ No |
| Single-file change | ❌ No |
| Straightforward fix | ❌ No |

## Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `thought` | string | Yes | Current thinking step content |
| `thoughtNumber` | int | Yes | Current position in sequence (1-based) |
| `totalThoughts` | int | Yes | Estimated total thoughts needed |
| `nextThoughtNeeded` | bool | No | Whether more thinking needed (default: true) |
| `isRevision` | bool | No | Whether this revises previous thinking |
| `revisesThought` | int | No | Which thought number is being reconsidered |
| `branchFromThought` | int | No | Branching point thought number |
| `branchId` | string | No | Identifier for current branch |
| `needsMoreThoughts` | bool | No | Signal that more thoughts needed beyond estimate |

## Output Format

```json
{
  "thoughtNumber": 3,
  "totalThoughts": 5,
  "nextThoughtNeeded": true,
  "branches": ["alt-approach"],
  "thoughtHistoryLength": 3
}
```

## Workflow Pattern

### Phase 1: Problem Decomposition
```
Thought 1: Identify problem scope and constraints
Thought 2: Break into sub-problems
Thought 3: Identify dependencies between sub-problems
```

### Phase 2: Hypothesis Generation
```
Thought 4: Generate initial hypothesis
Thought 5: Identify evidence needed to verify
```

### Phase 3: Verification & Iteration
```
Thought 6: Test hypothesis against evidence
Thought 7: Revise if needed (isRevision=true)
Thought 8: Branch if alternative path promising
```

### Phase 4: Conclusion
```
Final Thought: Synthesize findings, provide answer (nextThoughtNeeded=false)
```

## Best Practices

1. **Start with estimate, adjust as needed**
   - Initial `totalThoughts` is just a guess
   - Increase if problem more complex than expected
   - Decrease if solution found early

2. **Use revisions for course correction**
   - Mark `isRevision=true` when reconsidering
   - Reference `revisesThought` for clarity

3. **Branch for alternative approaches**
   - Use `branchFromThought` to explore alternatives
   - Give meaningful `branchId` names

4. **Filter irrelevant information**
   - Each thought should advance toward solution
   - Ignore tangential details

5. **Don't rush completion**
   - Only `nextThoughtNeeded=false` when truly done
   - Verify hypothesis before concluding

## Anti-Patterns

| Prohibited | Correct |
|------------|---------|
| Use for simple tasks | Reserve for complex multi-step problems |
| Skip thought numbers | Always increment correctly |
| Conclude without verification | Verify hypothesis before final thought |
| Ignore previous thoughts | Build upon or explicitly revise |
| Fixed totalThoughts | Adjust as understanding evolves |

## Integration with Other Tools

### With ACE-Tool
```
ACE-Tool → align current state → Sequential Think → analyze and plan
```

### With Context7
```
Sequential Think → coordinate analysis → Context7 → provide official patterns
```

### With Serena
```
Serena → symbol-level exploration → Sequential Think → systematic analysis
```