@vantagesec/socc 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/socc.md +47 -107
- package/.claude/references/evidence-rules.md +30 -0
- package/.claude/references/intelligence-source-registry.md +32 -0
- package/.claude/references/ioc-extraction.md +25 -0
- package/.claude/references/knowledge-ingestion-policy.md +34 -0
- package/.claude/references/mitre-guidance.md +21 -0
- package/.claude/references/output-contract.md +31 -0
- package/.claude/references/security-json-patterns.md +129 -0
- package/.claude/references/telemetry-investigation-patterns.md +39 -0
- package/.claude/rules/socc-business-rules.md +328 -0
- package/.claude/skills/code-review-excellence/SKILL.md +538 -0
- package/.claude/skills/cybersecurity-analyst/QUICK_REFERENCE.md +263 -0
- package/.claude/skills/cybersecurity-analyst/README.md +243 -0
- package/.claude/skills/cybersecurity-analyst/SKILL.md +1707 -0
- package/.claude/skills/cybersecurity-analyst/tests/quiz.md +472 -0
- package/.claude/skills/data-visualization/SKILL.md +304 -0
- package/.claude/skills/deep-research/SKILL.md +192 -0
- package/.claude/skills/excel-analysis/SKILL.md +247 -0
- package/.claude/skills/find-skills/SKILL.md +133 -0
- package/.claude/skills/humanizer/README.md +120 -0
- package/.claude/skills/humanizer/SKILL.md +439 -0
- package/.claude/skills/malware-behavior/SKILL.md +54 -0
- package/.claude/skills/mitre/SKILL.md +200 -0
- package/.claude/skills/observability-logs-search/SKILL.md +237 -0
- package/.claude/skills/observability-logs-search/references/log-search-reference.md +76 -0
- package/.claude/skills/payload-triage/SKILL.md +53 -0
- package/.claude/skills/phishing-analysis/SKILL.md +51 -0
- package/.claude/skills/prd/SKILL.md +143 -0
- package/.claude/skills/remembering-conversations/MCP-TOOLS.md +137 -0
- package/.claude/skills/remembering-conversations/SKILL.md +65 -0
- package/.claude/skills/sequential-thinking/README.md +118 -0
- package/.claude/skills/sequential-thinking/SKILL.md +93 -0
- package/.claude/skills/sequential-thinking/references/advanced.md +122 -0
- package/.claude/skills/sequential-thinking/references/examples.md +274 -0
- package/.claude/skills/soc-generalist/SKILL.md +53 -0
- package/.claude/skills/suspicious-url/SKILL.md +51 -0
- package/.claude/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/.claude/skills/systematic-debugging/SKILL.md +296 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/.claude/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/.claude/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/.claude/skills/systematic-debugging/find-polluter.sh +63 -0
- package/.claude/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/.claude/skills/systematic-debugging/test-academic.md +14 -0
- package/.claude/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/.claude/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/.claude/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/.claude/skills/translation-expertise/SKILL.md +284 -0
- package/.claude/skills/translation-expertise/chinese-traditional.md +535 -0
- package/.claude/skills/translation-expertise/english.md +372 -0
- package/.claude/skills/translation-expertise/japanese.md +515 -0
- package/.claude/skills/translation-expertise/tools-resources.md +527 -0
- package/.claude/skills/translation-expertise/translation-challenges.md +603 -0
- package/.claude/skills/web-search/SKILL.md +322 -0
- package/dist/cli.mjs +31 -31
- package/package.json +4 -1
- package/scripts/bootstrap-socc-soul.mjs +347 -26
- package/socc-canonical/.agents/generated/socc-agent-manifest.json +218 -3
- package/socc-canonical/.agents/generated/socc-agent.md +47 -107
- package/socc-canonical/.agents/rules/AGENT.md +109 -0
- package/socc-canonical/.agents/rules/AQL_REFERENCE.md +40 -0
- package/socc-canonical/.agents/rules/MEMORY.md +19 -0
- package/socc-canonical/.agents/rules/TOOLS.md +48 -0
- package/socc-canonical/.agents/soc-copilot/AGENTS.md +0 -5
- package/socc-canonical/.agents/soc-copilot/MEMORY.md +0 -6
- package/socc-canonical/.agents/soc-copilot/SKILL.md +10 -14
- package/socc-canonical/.agents/soc-copilot/SOUL.md +1 -18
- package/socc-canonical/.agents/soc-copilot/TOOLS.md +16 -30
- package/socc-canonical/.agents/soc-copilot/USER.md +6 -7
- package/socc-canonical/.agents/soc-copilot/identity.md +3 -9
- package/socc-canonical/.agents/soc-copilot/skills/code-review-excellence/SKILL.md +538 -0
- package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/QUICK_REFERENCE.md +263 -0
- package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/README.md +243 -0
- package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/SKILL.md +1707 -0
- package/socc-canonical/.agents/soc-copilot/skills/cybersecurity-analyst/tests/quiz.md +472 -0
- package/socc-canonical/.agents/soc-copilot/skills/data-visualization/SKILL.md +304 -0
- package/socc-canonical/.agents/soc-copilot/skills/deep-research/SKILL.md +192 -0
- package/socc-canonical/.agents/soc-copilot/skills/excel-analysis/SKILL.md +247 -0
- package/socc-canonical/.agents/soc-copilot/skills/find-skills/SKILL.md +133 -0
- package/socc-canonical/.agents/soc-copilot/skills/humanizer/README.md +120 -0
- package/socc-canonical/.agents/soc-copilot/skills/humanizer/SKILL.md +439 -0
- package/socc-canonical/.agents/soc-copilot/skills/malware-behavior/SKILL.md +54 -0
- package/socc-canonical/.agents/soc-copilot/skills/mitre/SKILL.md +200 -0
- package/socc-canonical/.agents/soc-copilot/skills/observability-logs-search/SKILL.md +237 -0
- package/socc-canonical/.agents/soc-copilot/skills/observability-logs-search/references/log-search-reference.md +76 -0
- package/socc-canonical/.agents/soc-copilot/skills/payload-triage/SKILL.md +53 -0
- package/socc-canonical/.agents/soc-copilot/skills/phishing-analysis/SKILL.md +51 -0
- package/socc-canonical/.agents/soc-copilot/skills/prd/SKILL.md +143 -0
- package/socc-canonical/.agents/soc-copilot/skills/remembering-conversations/MCP-TOOLS.md +137 -0
- package/socc-canonical/.agents/soc-copilot/skills/remembering-conversations/SKILL.md +65 -0
- package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/README.md +118 -0
- package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/SKILL.md +93 -0
- package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/references/advanced.md +122 -0
- package/socc-canonical/.agents/soc-copilot/skills/sequential-thinking/references/examples.md +274 -0
- package/socc-canonical/.agents/soc-copilot/skills/soc-generalist/SKILL.md +53 -0
- package/socc-canonical/.agents/soc-copilot/skills/suspicious-url/SKILL.md +51 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/CREATION-LOG.md +119 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/SKILL.md +296 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/condition-based-waiting.md +115 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/defense-in-depth.md +122 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/find-polluter.sh +63 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/root-cause-tracing.md +169 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-academic.md +14 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-1.md +58 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-2.md +68 -0
- package/socc-canonical/.agents/soc-copilot/skills/systematic-debugging/test-pressure-3.md +69 -0
- package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/SKILL.md +284 -0
- package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/chinese-traditional.md +535 -0
- package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/english.md +372 -0
- package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/japanese.md +515 -0
- package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/tools-resources.md +527 -0
- package/socc-canonical/.agents/soc-copilot/skills/translation-expertise/translation-challenges.md +603 -0
- package/socc-canonical/.agents/soc-copilot/skills/web-search/SKILL.md +322 -0
- package/socc-canonical/.agents/soc-copilot/skills.md +11 -18
- package/socc-canonical/.agents/workflows/SOP.md +137 -0
- package/socc-canonical/README.md +2 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Episodic Memory MCP Tools Reference
|
|
2
|
+
|
|
3
|
+
The episodic-memory plugin exposes two MCP tools for searching and displaying past conversations.
|
|
4
|
+
|
|
5
|
+
## search
|
|
6
|
+
|
|
7
|
+
Search your episodic memory of past Claude Code conversations using semantic or text search.
|
|
8
|
+
|
|
9
|
+
**Tool name:** `mcp__plugin_episodic-memory_episodic-memory__search`
|
|
10
|
+
|
|
11
|
+
### Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Required | Description |
|
|
14
|
+
|-----------|------|----------|-------------|
|
|
15
|
+
| `query` | `string` or `string[]` | Yes | Search query. String for single-concept search, array of 2-5 strings for multi-concept AND search |
|
|
16
|
+
| `mode` | `"vector"` \| `"text"` \| `"both"` | No | Search mode (default: `"both"`). Only used for single-concept searches |
|
|
17
|
+
| `limit` | `number` | No | Maximum results to return, 1-50 (default: 10) |
|
|
18
|
+
| `after` | `string` | No | Only return conversations after this date (YYYY-MM-DD) |
|
|
19
|
+
| `before` | `string` | No | Only return conversations before this date (YYYY-MM-DD) |
|
|
20
|
+
| `response_format` | `"markdown"` \| `"json"` | No | Output format (default: `"markdown"`) |
|
|
21
|
+
|
|
22
|
+
### Search Modes
|
|
23
|
+
|
|
24
|
+
- **`vector`** - Semantic similarity search using embeddings
|
|
25
|
+
- **`text`** - Exact text matching (case-insensitive)
|
|
26
|
+
- **`both`** - Combined semantic + text search (default, recommended)
|
|
27
|
+
|
|
28
|
+
### Single-Concept Search
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
{
|
|
32
|
+
query: "React Router authentication errors",
|
|
33
|
+
mode: "both",
|
|
34
|
+
limit: 10
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Multi-Concept Search (AND)
|
|
39
|
+
|
|
40
|
+
Search for conversations containing ALL concepts:
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
{
|
|
44
|
+
query: ["authentication", "React Router", "error handling"],
|
|
45
|
+
limit: 10
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Note: `mode` is ignored for multi-concept searches (always uses vector similarity).
|
|
50
|
+
|
|
51
|
+
### Date Filtering
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
{
|
|
55
|
+
query: "refactoring patterns",
|
|
56
|
+
after: "2025-09-01",
|
|
57
|
+
before: "2025-10-01"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Response Format
|
|
62
|
+
|
|
63
|
+
#### Markdown (default)
|
|
64
|
+
|
|
65
|
+
Human-readable format with:
|
|
66
|
+
- Project name and date
|
|
67
|
+
- Conversation summary
|
|
68
|
+
- Matched exchange snippet
|
|
69
|
+
- Similarity score
|
|
70
|
+
- File path and line numbers
|
|
71
|
+
|
|
72
|
+
#### JSON
|
|
73
|
+
|
|
74
|
+
Machine-readable format:
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"results": [...],
|
|
78
|
+
"count": 5,
|
|
79
|
+
"mode": "both"
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## read
|
|
84
|
+
|
|
85
|
+
Display a full conversation from episodic memory as markdown.
|
|
86
|
+
|
|
87
|
+
**Tool name:** `mcp__plugin_episodic-memory_episodic-memory__read`
|
|
88
|
+
|
|
89
|
+
### Parameters
|
|
90
|
+
|
|
91
|
+
| Parameter | Type | Required | Description |
|
|
92
|
+
|-----------|------|----------|-------------|
|
|
93
|
+
| `path` | `string` | Yes | Absolute path to the JSONL conversation file |
|
|
94
|
+
| `startLine` | `number` | No | Starting line number (1-indexed, inclusive) |
|
|
95
|
+
| `endLine` | `number` | No | Ending line number (1-indexed, inclusive) |
|
|
96
|
+
|
|
97
|
+
### Usage
|
|
98
|
+
|
|
99
|
+
**Read entire conversation:**
|
|
100
|
+
```typescript
|
|
101
|
+
{
|
|
102
|
+
path: "/Users/name/.config/superpowers/conversation-archive/project/uuid.jsonl"
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Read specific range:**
|
|
107
|
+
```typescript
|
|
108
|
+
{
|
|
109
|
+
path: "/Users/name/.config/superpowers/conversation-archive/project/uuid.jsonl",
|
|
110
|
+
startLine: 100,
|
|
111
|
+
endLine: 200
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Response Format
|
|
116
|
+
|
|
117
|
+
Markdown-formatted conversation with:
|
|
118
|
+
- Message roles (user/assistant)
|
|
119
|
+
- Content (including tool uses and results)
|
|
120
|
+
- Line numbers for reference
|
|
121
|
+
|
|
122
|
+
## Error Handling
|
|
123
|
+
|
|
124
|
+
Both tools return errors as text content with `isError: true`:
|
|
125
|
+
- Invalid parameters (validation errors)
|
|
126
|
+
- File not found
|
|
127
|
+
- Date parsing errors
|
|
128
|
+
- Search failures
|
|
129
|
+
|
|
130
|
+
## Performance Notes
|
|
131
|
+
|
|
132
|
+
- **Search** is fast (< 100ms typically)
|
|
133
|
+
- **Show** can be slow for large conversations
|
|
134
|
+
- Use `startLine`/`endLine` to paginate
|
|
135
|
+
- Conversations can be 1000+ lines
|
|
136
|
+
- Vector search uses sqlite-vec with cached embeddings
|
|
137
|
+
- Text search uses SQLite FTS5 full-text index
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remembering-conversations
|
|
3
|
+
description: Use when user asks 'how should I...' or 'what's the best approach...' after exploring code, OR when you've tried to solve something and are stuck, OR for unfamiliar workflows, OR when user references past work. Searches conversation history.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Remembering Conversations
|
|
7
|
+
|
|
8
|
+
**Core principle:** Search before reinventing. Searching costs nothing; reinventing or repeating mistakes costs everything.
|
|
9
|
+
|
|
10
|
+
## Mandatory: Use the Search Agent
|
|
11
|
+
|
|
12
|
+
**YOU MUST dispatch the search-conversations agent for any historical search.**
|
|
13
|
+
|
|
14
|
+
Announce: "Dispatching search agent to find [topic]."
|
|
15
|
+
|
|
16
|
+
Then use the Task tool with `subagent_type: "search-conversations"`:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Task tool:
|
|
20
|
+
description: "Search past conversations for [topic]"
|
|
21
|
+
prompt: "Search for [specific query or topic]. Focus on [what you're looking for - e.g., decisions, patterns, gotchas, code examples]."
|
|
22
|
+
subagent_type: "search-conversations"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The agent will:
|
|
26
|
+
1. Search with the `search` tool
|
|
27
|
+
2. Read top 2-5 results with the `show` tool
|
|
28
|
+
3. Synthesize findings (200-1000 words)
|
|
29
|
+
4. Return actionable insights + sources
|
|
30
|
+
|
|
31
|
+
**Saves 50-100x context vs. loading raw conversations.**
|
|
32
|
+
|
|
33
|
+
## When to Use
|
|
34
|
+
|
|
35
|
+
You often get value out of consulting your episodic memory once you understand what you're being asked. Search memory in these situations:
|
|
36
|
+
|
|
37
|
+
**After understanding the task:**
|
|
38
|
+
- User asks "how should I..." or "what's the best approach..."
|
|
39
|
+
- You've explored current codebase and need to make architectural decisions
|
|
40
|
+
- User asks for implementation approach after describing what they want
|
|
41
|
+
|
|
42
|
+
**When you're stuck:**
|
|
43
|
+
- You've investigated a problem and can't find the solution
|
|
44
|
+
- Facing a complex problem without obvious solution in current code
|
|
45
|
+
- Need to follow an unfamiliar workflow or process
|
|
46
|
+
|
|
47
|
+
**When historical signals are present:**
|
|
48
|
+
- User says "last time", "before", "we discussed", "you implemented"
|
|
49
|
+
- User asks "why did we...", "what was the reason..."
|
|
50
|
+
- User says "do you remember...", "what do we know about..."
|
|
51
|
+
|
|
52
|
+
**Don't search first:**
|
|
53
|
+
- For current codebase structure (use Grep/Read to explore first)
|
|
54
|
+
- For info in current conversation
|
|
55
|
+
- Before understanding what you're being asked to do
|
|
56
|
+
|
|
57
|
+
## Direct Tool Access (Discouraged)
|
|
58
|
+
|
|
59
|
+
You CAN use MCP tools directly, but DON'T:
|
|
60
|
+
- `mcp__plugin_episodic-memory_episodic-memory__search`
|
|
61
|
+
- `mcp__plugin_episodic-memory_episodic-memory__show`
|
|
62
|
+
|
|
63
|
+
Using these directly wastes your context window. Always dispatch the agent instead.
|
|
64
|
+
|
|
65
|
+
See MCP-TOOLS.md for complete API reference if needed for advanced usage.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Sequential Thinking Skill
|
|
2
|
+
|
|
3
|
+
Agent skill for systematic problem-solving through iterative reasoning with revision and branching capabilities.
|
|
4
|
+
|
|
5
|
+
## What This Skill Does
|
|
6
|
+
|
|
7
|
+
Enables Claude to break down complex problems into sequential thought steps, revise conclusions when needed, and explore alternative solution paths—all while maintaining context throughout the reasoning process.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
This skill requires the Sequential Thinking MCP server to be installed and configured in your Claude Desktop or Claude Code environment.
|
|
12
|
+
|
|
13
|
+
### Step 1: Install MCP Server
|
|
14
|
+
|
|
15
|
+
Choose one of the following methods:
|
|
16
|
+
|
|
17
|
+
#### NPX (Recommended)
|
|
18
|
+
|
|
19
|
+
Add to your `claude_desktop_config.json` or MCP settings:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"sequential-thinking": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"]
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
#### Docker
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"mcpServers": {
|
|
37
|
+
"sequentialthinking": {
|
|
38
|
+
"command": "docker",
|
|
39
|
+
"args": ["run", "--rm", "-i", "mcp/sequentialthinking"]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Step 2: Add Skill to Project
|
|
46
|
+
|
|
47
|
+
Copy this skill folder to your project's `.claude/skills/` directory:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
cp -r sequential-thinking /path/to/your/project/.claude/skills/
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Step 3: Verify Installation
|
|
54
|
+
|
|
55
|
+
Restart Claude and check that the `mcp__reasoning__sequentialthinking` tool is available.
|
|
56
|
+
|
|
57
|
+
## Usage
|
|
58
|
+
|
|
59
|
+
Once installed, Claude will automatically use this skill when:
|
|
60
|
+
- Facing complex multi-step problems
|
|
61
|
+
- Needing to revise earlier conclusions
|
|
62
|
+
- Exploring alternative solution approaches
|
|
63
|
+
- Working through uncertain or evolving scopes
|
|
64
|
+
|
|
65
|
+
You can also explicitly request it:
|
|
66
|
+
```
|
|
67
|
+
"Let's think through this step-by-step using sequential thinking"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Configuration
|
|
71
|
+
|
|
72
|
+
### Disable Logging (Optional)
|
|
73
|
+
|
|
74
|
+
To suppress thought information logging, set environment variable:
|
|
75
|
+
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"mcpServers": {
|
|
79
|
+
"sequential-thinking": {
|
|
80
|
+
"command": "npx",
|
|
81
|
+
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
|
|
82
|
+
"env": {
|
|
83
|
+
"DISABLE_THOUGHT_LOGGING": "true"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Skill Structure
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
sequential-thinking/
|
|
94
|
+
├── SKILL.md # Main skill definition
|
|
95
|
+
├── README.md # This file
|
|
96
|
+
└── references/
|
|
97
|
+
├── advanced.md # Revision and branching patterns
|
|
98
|
+
└── examples.md # Real-world use cases
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## When Claude Uses This Skill
|
|
102
|
+
|
|
103
|
+
The skill activates for:
|
|
104
|
+
- **Complex analysis**: Breaking down multi-faceted problems
|
|
105
|
+
- **Design decisions**: Exploring and comparing alternatives
|
|
106
|
+
- **Debugging**: Systematic investigation with course correction
|
|
107
|
+
- **Planning**: Multi-stage project planning with evolving scope
|
|
108
|
+
- **Architecture**: Evaluating trade-offs across approaches
|
|
109
|
+
|
|
110
|
+
## Learn More
|
|
111
|
+
|
|
112
|
+
- [MCP Sequential Thinking Server](https://github.com/modelcontextprotocol/servers/tree/main/src/sequentialthinking)
|
|
113
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
114
|
+
- [Agent Skills Documentation](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview.md)
|
|
115
|
+
|
|
116
|
+
## License
|
|
117
|
+
|
|
118
|
+
MIT
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sequential-thinking
|
|
3
|
+
description: Use when complex problems require systematic step-by-step reasoning with ability to revise thoughts, branch into alternative approaches, or dynamically adjust scope. Ideal for multi-stage analysis, design planning, problem decomposition, or tasks with initially unclear scope.
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Sequential Thinking
|
|
8
|
+
|
|
9
|
+
Enables structured problem-solving through iterative reasoning with revision and branching capabilities.
|
|
10
|
+
|
|
11
|
+
## Core Capabilities
|
|
12
|
+
|
|
13
|
+
- **Iterative reasoning**: Break complex problems into sequential thought steps
|
|
14
|
+
- **Dynamic scope**: Adjust total thought count as understanding evolves
|
|
15
|
+
- **Revision tracking**: Reconsider and modify previous conclusions
|
|
16
|
+
- **Branch exploration**: Explore alternative reasoning paths from any point
|
|
17
|
+
- **Maintained context**: Keep track of reasoning chain throughout analysis
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
Use `mcp__reasoning__sequentialthinking` when:
|
|
22
|
+
- Problem requires multiple interconnected reasoning steps
|
|
23
|
+
- Initial scope or approach is uncertain
|
|
24
|
+
- Need to filter through complexity to find core issues
|
|
25
|
+
- May need to backtrack or revise earlier conclusions
|
|
26
|
+
- Want to explore alternative solution paths
|
|
27
|
+
|
|
28
|
+
**Don't use for**: Simple queries, direct facts, or single-step tasks.
|
|
29
|
+
|
|
30
|
+
## Basic Usage
|
|
31
|
+
|
|
32
|
+
The MCP tool `mcp__reasoning__sequentialthinking` accepts these parameters:
|
|
33
|
+
|
|
34
|
+
### Required Parameters
|
|
35
|
+
|
|
36
|
+
- `thought` (string): Current reasoning step
|
|
37
|
+
- `nextThoughtNeeded` (boolean): Whether more reasoning is needed
|
|
38
|
+
- `thoughtNumber` (integer): Current step number (starts at 1)
|
|
39
|
+
- `totalThoughts` (integer): Estimated total steps needed
|
|
40
|
+
|
|
41
|
+
### Optional Parameters
|
|
42
|
+
|
|
43
|
+
- `isRevision` (boolean): Indicates this revises previous thinking
|
|
44
|
+
- `revisesThought` (integer): Which thought number is being reconsidered
|
|
45
|
+
- `branchFromThought` (integer): Thought number to branch from
|
|
46
|
+
- `branchId` (string): Identifier for this reasoning branch
|
|
47
|
+
|
|
48
|
+
## Workflow Pattern
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
1. Start with initial thought (thoughtNumber: 1)
|
|
52
|
+
2. For each step:
|
|
53
|
+
- Express current reasoning in `thought`
|
|
54
|
+
- Estimate remaining work via `totalThoughts` (adjust dynamically)
|
|
55
|
+
- Set `nextThoughtNeeded: true` to continue
|
|
56
|
+
3. When reaching conclusion, set `nextThoughtNeeded: false`
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Simple Example
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
// First thought
|
|
63
|
+
{
|
|
64
|
+
thought: "Problem involves optimizing database queries. Need to identify bottlenecks first.",
|
|
65
|
+
thoughtNumber: 1,
|
|
66
|
+
totalThoughts: 5,
|
|
67
|
+
nextThoughtNeeded: true
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Second thought
|
|
71
|
+
{
|
|
72
|
+
thought: "Analyzing query patterns reveals N+1 problem in user fetches.",
|
|
73
|
+
thoughtNumber: 2,
|
|
74
|
+
totalThoughts: 6, // Adjusted scope
|
|
75
|
+
nextThoughtNeeded: true
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// ... continue until done
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Advanced Features
|
|
82
|
+
|
|
83
|
+
For revision patterns, branching strategies, and complex workflows, see:
|
|
84
|
+
- [Advanced Usage](references/advanced.md) - Revision and branching patterns
|
|
85
|
+
- [Examples](references/examples.md) - Real-world use cases
|
|
86
|
+
|
|
87
|
+
## Tips
|
|
88
|
+
|
|
89
|
+
- Start with rough estimate for `totalThoughts`, refine as you progress
|
|
90
|
+
- Use revision when assumptions prove incorrect
|
|
91
|
+
- Branch when multiple approaches seem viable
|
|
92
|
+
- Express uncertainty explicitly in thoughts
|
|
93
|
+
- Adjust scope freely - accuracy matters less than progress visibility
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Advanced Usage: Revision and Branching
|
|
2
|
+
|
|
3
|
+
## Revising Previous Thoughts
|
|
4
|
+
|
|
5
|
+
When a thought proves incorrect or incomplete, use revision to correct the reasoning chain:
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
{
|
|
9
|
+
thought: "Actually, the N+1 problem isn't the bottleneck—profiling shows the issue is missing indexes on join columns.",
|
|
10
|
+
thoughtNumber: 5,
|
|
11
|
+
totalThoughts: 7,
|
|
12
|
+
isRevision: true,
|
|
13
|
+
revisesThought: 2, // References thought #2
|
|
14
|
+
nextThoughtNeeded: true
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**When to revise**:
|
|
19
|
+
- New evidence contradicts earlier conclusions
|
|
20
|
+
- Assumptions prove incorrect
|
|
21
|
+
- Scope was misunderstood
|
|
22
|
+
- Need to correct factual errors
|
|
23
|
+
|
|
24
|
+
## Branching Into Alternatives
|
|
25
|
+
|
|
26
|
+
Explore different solution paths by branching from a specific thought:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
// Main path (thoughts 1-3)
|
|
30
|
+
{
|
|
31
|
+
thought: "Could optimize with caching or database indexes.",
|
|
32
|
+
thoughtNumber: 3,
|
|
33
|
+
totalThoughts: 6,
|
|
34
|
+
nextThoughtNeeded: true
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Branch A: Explore caching
|
|
38
|
+
{
|
|
39
|
+
thought: "If we implement Redis caching, we'd need to handle cache invalidation.",
|
|
40
|
+
thoughtNumber: 4,
|
|
41
|
+
totalThoughts: 6,
|
|
42
|
+
branchFromThought: 3,
|
|
43
|
+
branchId: "caching-approach",
|
|
44
|
+
nextThoughtNeeded: true
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Branch B: Explore indexing (alternative from thought 3)
|
|
48
|
+
{
|
|
49
|
+
thought: "Adding composite index would avoid query overhead entirely.",
|
|
50
|
+
thoughtNumber: 4,
|
|
51
|
+
totalThoughts: 5,
|
|
52
|
+
branchFromThought: 3,
|
|
53
|
+
branchId: "indexing-approach",
|
|
54
|
+
nextThoughtNeeded: true
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**When to branch**:
|
|
59
|
+
- Multiple viable approaches exist
|
|
60
|
+
- Need to compare trade-offs
|
|
61
|
+
- Exploring contingencies
|
|
62
|
+
- Testing hypotheses in parallel
|
|
63
|
+
|
|
64
|
+
## Combining Revision and Branching
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
// Original branch proves problematic
|
|
68
|
+
{
|
|
69
|
+
thought: "The caching approach has too many edge cases for our timeline.",
|
|
70
|
+
thoughtNumber: 6,
|
|
71
|
+
totalThoughts: 8,
|
|
72
|
+
branchId: "caching-approach",
|
|
73
|
+
isRevision: true,
|
|
74
|
+
revisesThought: 4,
|
|
75
|
+
nextThoughtNeeded: true
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// Return to indexing branch
|
|
79
|
+
{
|
|
80
|
+
thought: "Returning to index optimization—this approach is more reliable.",
|
|
81
|
+
thoughtNumber: 7,
|
|
82
|
+
totalThoughts: 9,
|
|
83
|
+
branchId: "indexing-approach",
|
|
84
|
+
nextThoughtNeeded: true
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Dynamic Scope Adjustment
|
|
89
|
+
|
|
90
|
+
Freely adjust `totalThoughts` as understanding evolves:
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
// Initial estimate
|
|
94
|
+
{ thoughtNumber: 1, totalThoughts: 5, ... }
|
|
95
|
+
|
|
96
|
+
// Complexity increases
|
|
97
|
+
{ thoughtNumber: 3, totalThoughts: 8, ... }
|
|
98
|
+
|
|
99
|
+
// Actually simpler than expected
|
|
100
|
+
{ thoughtNumber: 5, totalThoughts: 6, ... }
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Purpose**: Provide progress visibility, not strict planning. The estimate guides pacing but should adapt to reality.
|
|
104
|
+
|
|
105
|
+
## Session Management
|
|
106
|
+
|
|
107
|
+
Each reasoning session maintains its own context. The tool tracks:
|
|
108
|
+
- All thoughts in sequence
|
|
109
|
+
- Revision relationships
|
|
110
|
+
- Branch hierarchies
|
|
111
|
+
- Current state
|
|
112
|
+
|
|
113
|
+
You don't need to manually manage state—focus on expressing reasoning clearly.
|
|
114
|
+
|
|
115
|
+
## Best Practices
|
|
116
|
+
|
|
117
|
+
1. **Express uncertainty**: "This might be...", "Uncertain if...", "Need to verify..."
|
|
118
|
+
2. **Show reasoning**: Not just conclusions, but how you arrived there
|
|
119
|
+
3. **Revise freely**: Correcting course is expected and valuable
|
|
120
|
+
4. **Branch decisively**: When exploring alternatives, commit to exploring each fully
|
|
121
|
+
5. **Adjust scope**: Don't lock into initial estimates
|
|
122
|
+
6. **Maintain clarity**: Each thought should be self-contained enough to understand in isolation
|