oh-my-claude-sisyphus 3.3.1 → 3.3.3
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/README.md +42 -18
- package/commands/research.md +19 -431
- package/docs/CLAUDE.md +7 -0
- package/docs/FULL-README.md +1 -1
- package/package.json +1 -1
- package/skills/research/SKILL.md +511 -0
package/README.md
CHANGED
|
@@ -68,37 +68,60 @@ Want explicit control? Include these words anywhere in your message:
|
|
|
68
68
|
|
|
69
69
|
---
|
|
70
70
|
|
|
71
|
-
## Data Analysis
|
|
71
|
+
## Data Analysis & Research (v3.3.3)
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
### Scientist Agent Tiers
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
Three tiers of scientist agents for quantitative analysis and data science:
|
|
76
|
+
|
|
77
|
+
| Agent | Model | Use For |
|
|
78
|
+
|-------|-------|---------|
|
|
79
|
+
| `scientist-low` | Haiku | Quick data inspection, simple statistics, file enumeration |
|
|
80
|
+
| `scientist` | Sonnet | Standard analysis, pattern detection, visualization |
|
|
81
|
+
| `scientist-high` | Opus | Complex reasoning, hypothesis validation, ML workflows |
|
|
82
|
+
|
|
83
|
+
**Features:**
|
|
84
|
+
- **Persistent Python REPL** - Variables persist across calls (no pickle/reload overhead)
|
|
85
|
+
- **Structured markers** - `[FINDING]`, `[STAT:*]`, `[DATA]`, `[LIMITATION]` for parsed output
|
|
86
|
+
- **Quality gates** - Every finding requires statistical evidence (CI, effect size, p-value)
|
|
87
|
+
- **Auto-visualization** - Charts saved to `.omc/scientist/figures/`
|
|
88
|
+
- **Report generation** - Markdown reports with embedded figures
|
|
89
|
+
|
|
90
|
+
```python
|
|
91
|
+
# Variables persist across calls!
|
|
77
92
|
python_repl(action="execute", researchSessionID="analysis",
|
|
78
93
|
code="import pandas as pd; df = pd.read_csv('data.csv')")
|
|
79
94
|
|
|
80
|
-
# df still exists
|
|
95
|
+
# df still exists - no need to reload
|
|
81
96
|
python_repl(action="execute", researchSessionID="analysis",
|
|
82
97
|
code="print(df.describe())")
|
|
83
98
|
```
|
|
84
99
|
|
|
85
|
-
|
|
86
|
-
- Variable persistence via Unix socket bridge
|
|
87
|
-
- Structured markers: `[FINDING]`, `[STAT:*]`, `[DATA]`, `[LIMITATION]`
|
|
88
|
-
- Memory tracking (RSS/VMS)
|
|
89
|
-
- Session locking for safe concurrent access
|
|
90
|
-
|
|
91
|
-
### /research Command
|
|
100
|
+
### /research Command (NEW)
|
|
92
101
|
|
|
93
|
-
Orchestrate parallel scientist agents for comprehensive research:
|
|
102
|
+
Orchestrate parallel scientist agents for comprehensive research workflows:
|
|
94
103
|
|
|
95
104
|
```
|
|
96
|
-
/research <goal>
|
|
97
|
-
/research AUTO: <goal>
|
|
98
|
-
/research status
|
|
105
|
+
/research <goal> # Standard research with checkpoints
|
|
106
|
+
/research AUTO: <goal> # Fully autonomous until complete
|
|
107
|
+
/research status # Check current session
|
|
108
|
+
/research resume # Resume interrupted session
|
|
109
|
+
/research list # List all sessions
|
|
110
|
+
/research report <session-id> # Generate report for session
|
|
99
111
|
```
|
|
100
112
|
|
|
101
|
-
|
|
113
|
+
**Research Protocol:**
|
|
114
|
+
1. **Decomposition** - Breaks goal into 3-7 independent stages
|
|
115
|
+
2. **Parallel Execution** - Fires scientist agents concurrently (max 5)
|
|
116
|
+
3. **Cross-Validation** - Verifies consistency across findings
|
|
117
|
+
4. **Synthesis** - Generates comprehensive markdown report
|
|
118
|
+
|
|
119
|
+
**Smart Model Routing:**
|
|
120
|
+
- Data gathering tasks → `scientist-low` (Haiku)
|
|
121
|
+
- Standard analysis → `scientist` (Sonnet)
|
|
122
|
+
- Complex reasoning → `scientist-high` (Opus)
|
|
123
|
+
|
|
124
|
+
**Session Management:** Research state persists at `.omc/research/{session-id}/` enabling resume after interruption.
|
|
102
125
|
|
|
103
126
|
---
|
|
104
127
|
|
|
@@ -117,7 +140,8 @@ I'll intelligently determine what to stop based on context.
|
|
|
117
140
|
|
|
118
141
|
- **28 Specialized Agents** - architect, researcher, explore, designer, writer, vision, critic, analyst, executor, planner, qa-tester, scientist (with tier variants)
|
|
119
142
|
- **30 Skills** - orchestrate, ultrawork, ralph, planner, deepsearch, deepinit, git-master, frontend-ui-ux, learner, research, and more
|
|
120
|
-
- **Persistent Python REPL** - True variable persistence for data analysis
|
|
143
|
+
- **Persistent Python REPL** - True variable persistence for data analysis
|
|
144
|
+
- **Research Workflow** - Parallel scientist orchestration with `/research` command (new in 3.3.3)
|
|
121
145
|
- **HUD Statusline** - Real-time visualization of orchestration state
|
|
122
146
|
- **Learned Skills** - Extract reusable insights from sessions with `/learner`
|
|
123
147
|
- **Memory System** - Persistent context that survives compaction
|
package/commands/research.md
CHANGED
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: research
|
|
3
2
|
description: Orchestrate parallel scientist agents for comprehensive research with AUTO mode
|
|
4
|
-
user-invocable: true
|
|
5
|
-
argument-hint: <research goal>
|
|
6
3
|
---
|
|
7
4
|
|
|
8
5
|
# Research Skill
|
|
9
6
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## Overview
|
|
13
|
-
|
|
14
|
-
Research is a multi-stage workflow that decomposes complex research goals into parallel investigations:
|
|
7
|
+
[RESEARCH MODE ACTIVATED]
|
|
15
8
|
|
|
16
|
-
|
|
17
|
-
2. **Execution** - Run parallel scientist agents on each stage
|
|
18
|
-
3. **Verification** - Cross-validate findings, check consistency
|
|
19
|
-
4. **Synthesis** - Aggregate results into comprehensive report
|
|
9
|
+
Orchestrate parallel scientist agents for comprehensive research workflows with optional AUTO mode for fully autonomous execution.
|
|
20
10
|
|
|
21
11
|
## Usage Examples
|
|
22
12
|
|
|
@@ -29,34 +19,16 @@ Research is a multi-stage workflow that decomposes complex research goals into p
|
|
|
29
19
|
/research report <session-id> # Generate report for session
|
|
30
20
|
```
|
|
31
21
|
|
|
32
|
-
### Quick Examples
|
|
33
|
-
|
|
34
|
-
```
|
|
35
|
-
/research What are the performance characteristics of different sorting algorithms?
|
|
36
|
-
/research AUTO: Analyze authentication patterns in this codebase
|
|
37
|
-
/research How does the error handling work across the API layer?
|
|
38
|
-
```
|
|
39
|
-
|
|
40
22
|
## Research Protocol
|
|
41
23
|
|
|
42
|
-
### Stage Decomposition
|
|
24
|
+
### Stage Decomposition
|
|
43
25
|
|
|
44
26
|
When given a research goal, decompose into 3-7 independent stages:
|
|
45
27
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
**
|
|
50
|
-
|
|
51
|
-
### Stage 1: <stage-name>
|
|
52
|
-
- **Focus:** What this stage investigates
|
|
53
|
-
- **Hypothesis:** Expected finding (if applicable)
|
|
54
|
-
- **Scope:** Files/areas to examine
|
|
55
|
-
- **Tier:** LOW | MEDIUM | HIGH
|
|
56
|
-
|
|
57
|
-
### Stage 2: <stage-name>
|
|
58
|
-
...
|
|
59
|
-
```
|
|
28
|
+
1. **Decomposition** - Break research goal into independent stages/hypotheses
|
|
29
|
+
2. **Execution** - Run parallel scientist agents on each stage
|
|
30
|
+
3. **Verification** - Cross-validate findings, check consistency
|
|
31
|
+
4. **Synthesis** - Aggregate results into comprehensive report
|
|
60
32
|
|
|
61
33
|
### Parallel Scientist Invocation
|
|
62
34
|
|
|
@@ -75,65 +47,20 @@ Task(subagent_type="oh-my-claudecode:scientist-high", model="opus", prompt="[RES
|
|
|
75
47
|
|
|
76
48
|
### Smart Model Routing
|
|
77
49
|
|
|
78
|
-
**CRITICAL: Always pass `model` parameter explicitly!**
|
|
79
|
-
|
|
80
50
|
| Task Complexity | Agent | Model | Use For |
|
|
81
51
|
|-----------------|-------|-------|---------|
|
|
82
52
|
| Data gathering | `scientist-low` | haiku | File enumeration, pattern counting, simple lookups |
|
|
83
53
|
| Standard analysis | `scientist` | sonnet | Code analysis, pattern detection, documentation review |
|
|
84
54
|
| Complex reasoning | `scientist-high` | opus | Architecture analysis, cross-cutting concerns, hypothesis validation |
|
|
85
55
|
|
|
86
|
-
###
|
|
87
|
-
|
|
88
|
-
| Research Task | Tier | Example Prompt |
|
|
89
|
-
|---------------|------|----------------|
|
|
90
|
-
| "Count occurrences of X" | LOW | "Count all usages of useState hook" |
|
|
91
|
-
| "Find all files matching Y" | LOW | "List all test files in the project" |
|
|
92
|
-
| "Analyze pattern Z" | MEDIUM | "Analyze error handling patterns in API routes" |
|
|
93
|
-
| "Document how W works" | MEDIUM | "Document the authentication flow" |
|
|
94
|
-
| "Explain why X happens" | HIGH | "Explain why race conditions occur in the cache layer" |
|
|
95
|
-
| "Compare approaches A vs B" | HIGH | "Compare Redux vs Context for state management here" |
|
|
96
|
-
|
|
97
|
-
### Verification Loop
|
|
98
|
-
|
|
99
|
-
After parallel execution completes, verify findings:
|
|
56
|
+
### Concurrency Limit
|
|
100
57
|
|
|
101
|
-
|
|
102
|
-
// Cross-validation stage
|
|
103
|
-
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="
|
|
104
|
-
[RESEARCH_VERIFICATION]
|
|
105
|
-
Cross-validate these findings for consistency:
|
|
106
|
-
|
|
107
|
-
Stage 1 findings: <summary>
|
|
108
|
-
Stage 2 findings: <summary>
|
|
109
|
-
Stage 3 findings: <summary>
|
|
110
|
-
|
|
111
|
-
Check for:
|
|
112
|
-
1. Contradictions between stages
|
|
113
|
-
2. Missing connections
|
|
114
|
-
3. Gaps in coverage
|
|
115
|
-
4. Evidence quality
|
|
116
|
-
|
|
117
|
-
Output: [VERIFIED] or [CONFLICTS:<list>]
|
|
118
|
-
")
|
|
119
|
-
```
|
|
58
|
+
**Maximum 5 concurrent scientist agents** to prevent resource exhaustion.
|
|
120
59
|
|
|
121
60
|
## AUTO Mode
|
|
122
61
|
|
|
123
62
|
AUTO mode runs the complete research workflow autonomously with loop control.
|
|
124
63
|
|
|
125
|
-
### Loop Control Protocol
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
[RESEARCH + AUTO - ITERATION {{ITERATION}}/{{MAX}}]
|
|
129
|
-
|
|
130
|
-
Your previous attempt did not output the completion promise. Continue working.
|
|
131
|
-
|
|
132
|
-
Current state: {{STATE}}
|
|
133
|
-
Completed stages: {{COMPLETED_STAGES}}
|
|
134
|
-
Pending stages: {{PENDING_STAGES}}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
64
|
### Promise Tags
|
|
138
65
|
|
|
139
66
|
| Tag | Meaning | When to Use |
|
|
@@ -143,340 +70,18 @@ Pending stages: {{PENDING_STAGES}}
|
|
|
143
70
|
|
|
144
71
|
### AUTO Mode Rules
|
|
145
72
|
|
|
146
|
-
1. **Max Iterations:** 10
|
|
73
|
+
1. **Max Iterations:** 10
|
|
147
74
|
2. **Continue until:** Promise tag emitted OR max iterations
|
|
148
75
|
3. **State tracking:** Persist after each stage completion
|
|
149
76
|
4. **Cancellation:** `/cancel-research` or "stop", "cancel"
|
|
150
77
|
|
|
151
|
-
### AUTO Mode Example
|
|
152
|
-
|
|
153
|
-
```
|
|
154
|
-
/research AUTO: Comprehensive security analysis of the authentication system
|
|
155
|
-
|
|
156
|
-
[Decomposition]
|
|
157
|
-
- Stage 1 (LOW): Enumerate auth-related files
|
|
158
|
-
- Stage 2 (MEDIUM): Analyze token handling
|
|
159
|
-
- Stage 3 (MEDIUM): Review session management
|
|
160
|
-
- Stage 4 (HIGH): Identify vulnerability patterns
|
|
161
|
-
- Stage 5 (MEDIUM): Document security controls
|
|
162
|
-
|
|
163
|
-
[Execution - Parallel]
|
|
164
|
-
Firing stages 1-3 in parallel...
|
|
165
|
-
Firing stages 4-5 after dependencies complete...
|
|
166
|
-
|
|
167
|
-
[Verification]
|
|
168
|
-
Cross-validating findings...
|
|
169
|
-
|
|
170
|
-
[Synthesis]
|
|
171
|
-
Generating report...
|
|
172
|
-
|
|
173
|
-
[PROMISE:RESEARCH_COMPLETE]
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
## Parallel Execution Patterns
|
|
177
|
-
|
|
178
|
-
### Independent Dataset Analysis (Parallel)
|
|
179
|
-
|
|
180
|
-
When stages analyze different data sources:
|
|
181
|
-
|
|
182
|
-
```
|
|
183
|
-
// All fire simultaneously
|
|
184
|
-
Task(subagent_type="oh-my-claudecode:scientist-low", model="haiku", prompt="[STAGE:1] Analyze src/api/...")
|
|
185
|
-
Task(subagent_type="oh-my-claudecode:scientist-low", model="haiku", prompt="[STAGE:2] Analyze src/utils/...")
|
|
186
|
-
Task(subagent_type="oh-my-claudecode:scientist-low", model="haiku", prompt="[STAGE:3] Analyze src/components/...")
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Hypothesis Battery (Parallel)
|
|
190
|
-
|
|
191
|
-
When testing multiple hypotheses:
|
|
192
|
-
|
|
193
|
-
```
|
|
194
|
-
// Test hypotheses simultaneously
|
|
195
|
-
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:A] Test if caching improves...")
|
|
196
|
-
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:B] Test if batching reduces...")
|
|
197
|
-
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:C] Test if lazy loading helps...")
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
### Cross-Validation (Sequential)
|
|
201
|
-
|
|
202
|
-
When verification depends on all findings:
|
|
203
|
-
|
|
204
|
-
```
|
|
205
|
-
// Wait for all parallel stages
|
|
206
|
-
[stages complete]
|
|
207
|
-
|
|
208
|
-
// Then sequential verification
|
|
209
|
-
Task(subagent_type="oh-my-claudecode:scientist-high", model="opus", prompt="
|
|
210
|
-
[CROSS_VALIDATION]
|
|
211
|
-
Validate consistency across all findings:
|
|
212
|
-
- Finding 1: ...
|
|
213
|
-
- Finding 2: ...
|
|
214
|
-
- Finding 3: ...
|
|
215
|
-
")
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### Concurrency Limit
|
|
219
|
-
|
|
220
|
-
**Maximum 5 concurrent scientist agents** to prevent resource exhaustion.
|
|
221
|
-
|
|
222
|
-
If more than 5 stages, batch them:
|
|
223
|
-
```
|
|
224
|
-
Batch 1: Stages 1-5 (parallel)
|
|
225
|
-
[wait for completion]
|
|
226
|
-
Batch 2: Stages 6-7 (parallel)
|
|
227
|
-
```
|
|
228
|
-
|
|
229
78
|
## Session Management
|
|
230
79
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
stages/
|
|
237
|
-
stage-1.md # Stage 1 findings
|
|
238
|
-
stage-2.md # Stage 2 findings
|
|
239
|
-
...
|
|
240
|
-
findings/
|
|
241
|
-
raw/ # Raw findings from scientists
|
|
242
|
-
verified/ # Post-verification findings
|
|
243
|
-
figures/
|
|
244
|
-
figure-1.png # Generated visualizations
|
|
245
|
-
...
|
|
246
|
-
report.md # Final synthesized report
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### State File Format
|
|
250
|
-
|
|
251
|
-
```json
|
|
252
|
-
{
|
|
253
|
-
"id": "research-20240115-abc123",
|
|
254
|
-
"goal": "Original research goal",
|
|
255
|
-
"status": "in_progress | complete | blocked | cancelled",
|
|
256
|
-
"mode": "standard | auto",
|
|
257
|
-
"iteration": 3,
|
|
258
|
-
"maxIterations": 10,
|
|
259
|
-
"stages": [
|
|
260
|
-
{
|
|
261
|
-
"id": 1,
|
|
262
|
-
"name": "Stage name",
|
|
263
|
-
"tier": "LOW | MEDIUM | HIGH",
|
|
264
|
-
"status": "pending | running | complete | failed",
|
|
265
|
-
"startedAt": "ISO timestamp",
|
|
266
|
-
"completedAt": "ISO timestamp",
|
|
267
|
-
"findingsFile": "stages/stage-1.md"
|
|
268
|
-
}
|
|
269
|
-
],
|
|
270
|
-
"verification": {
|
|
271
|
-
"status": "pending | passed | failed",
|
|
272
|
-
"conflicts": [],
|
|
273
|
-
"completedAt": "ISO timestamp"
|
|
274
|
-
},
|
|
275
|
-
"createdAt": "ISO timestamp",
|
|
276
|
-
"updatedAt": "ISO timestamp"
|
|
277
|
-
}
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
### Session Commands
|
|
281
|
-
|
|
282
|
-
| Command | Action |
|
|
283
|
-
|---------|--------|
|
|
284
|
-
| `/research status` | Show current session progress |
|
|
285
|
-
| `/research resume` | Resume most recent interrupted session |
|
|
286
|
-
| `/research resume <session-id>` | Resume specific session |
|
|
287
|
-
| `/research list` | List all sessions with status |
|
|
288
|
-
| `/research report <session-id>` | Generate/regenerate report |
|
|
289
|
-
| `/research cancel` | Cancel current session (preserves state) |
|
|
290
|
-
|
|
291
|
-
## Tag Extraction
|
|
292
|
-
|
|
293
|
-
Scientists use structured tags for findings. Extract them with these patterns:
|
|
294
|
-
|
|
295
|
-
### Finding Tags
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
[FINDING:<id>] <title>
|
|
299
|
-
<evidence and analysis>
|
|
300
|
-
[/FINDING]
|
|
301
|
-
|
|
302
|
-
[EVIDENCE:<finding-id>]
|
|
303
|
-
- File: <path>
|
|
304
|
-
- Lines: <range>
|
|
305
|
-
- Content: <relevant code/text>
|
|
306
|
-
[/EVIDENCE]
|
|
307
|
-
|
|
308
|
-
[CONFIDENCE:<level>] # HIGH | MEDIUM | LOW
|
|
309
|
-
<reasoning for confidence level>
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
### Extraction Regex Patterns
|
|
313
|
-
|
|
314
|
-
```javascript
|
|
315
|
-
// Finding extraction
|
|
316
|
-
const findingPattern = /\[FINDING:(\w+)\]\s*(.*?)\n([\s\S]*?)\[\/FINDING\]/g;
|
|
317
|
-
|
|
318
|
-
// Evidence extraction
|
|
319
|
-
const evidencePattern = /\[EVIDENCE:(\w+)\]([\s\S]*?)\[\/EVIDENCE\]/g;
|
|
320
|
-
|
|
321
|
-
// Confidence extraction
|
|
322
|
-
const confidencePattern = /\[CONFIDENCE:(HIGH|MEDIUM|LOW)\]\s*(.*)/g;
|
|
323
|
-
|
|
324
|
-
// Stage completion
|
|
325
|
-
const stageCompletePattern = /\[STAGE_COMPLETE:(\d+)\]/;
|
|
326
|
-
|
|
327
|
-
// Verification result
|
|
328
|
-
const verificationPattern = /\[(VERIFIED|CONFLICTS):?(.*?)\]/;
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
### Evidence Window
|
|
332
|
-
|
|
333
|
-
When extracting evidence, include context window:
|
|
334
|
-
|
|
335
|
-
```
|
|
336
|
-
[EVIDENCE:F1]
|
|
337
|
-
- File: /src/auth/login.ts
|
|
338
|
-
- Lines: 45-52 (context: 40-57)
|
|
339
|
-
- Content:
|
|
340
|
-
```typescript
|
|
341
|
-
// Lines 45-52 with 5 lines context above/below
|
|
342
|
-
```
|
|
343
|
-
[/EVIDENCE]
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
### Quality Validation
|
|
347
|
-
|
|
348
|
-
Findings must meet quality threshold:
|
|
349
|
-
|
|
350
|
-
| Quality Check | Requirement |
|
|
351
|
-
|---------------|-------------|
|
|
352
|
-
| Evidence present | At least 1 [EVIDENCE] per [FINDING] |
|
|
353
|
-
| Confidence stated | Each finding has [CONFIDENCE] |
|
|
354
|
-
| Source cited | File paths are absolute and valid |
|
|
355
|
-
| Reproducible | Another agent could verify |
|
|
356
|
-
|
|
357
|
-
## Report Generation
|
|
358
|
-
|
|
359
|
-
### Report Template
|
|
360
|
-
|
|
361
|
-
```markdown
|
|
362
|
-
# Research Report: {{GOAL}}
|
|
363
|
-
|
|
364
|
-
**Session ID:** {{SESSION_ID}}
|
|
365
|
-
**Date:** {{DATE}}
|
|
366
|
-
**Status:** {{STATUS}}
|
|
367
|
-
|
|
368
|
-
## Executive Summary
|
|
369
|
-
|
|
370
|
-
{{2-3 paragraph summary of key findings}}
|
|
371
|
-
|
|
372
|
-
## Methodology
|
|
373
|
-
|
|
374
|
-
### Research Stages
|
|
375
|
-
|
|
376
|
-
| Stage | Focus | Tier | Status |
|
|
377
|
-
|-------|-------|------|--------|
|
|
378
|
-
{{STAGES_TABLE}}
|
|
379
|
-
|
|
380
|
-
### Approach
|
|
381
|
-
|
|
382
|
-
{{Description of decomposition rationale and execution strategy}}
|
|
383
|
-
|
|
384
|
-
## Key Findings
|
|
385
|
-
|
|
386
|
-
### Finding 1: {{TITLE}}
|
|
387
|
-
|
|
388
|
-
**Confidence:** {{HIGH|MEDIUM|LOW}}
|
|
389
|
-
|
|
390
|
-
{{Detailed finding with evidence}}
|
|
391
|
-
|
|
392
|
-
#### Evidence
|
|
393
|
-
|
|
394
|
-
{{Embedded evidence blocks}}
|
|
395
|
-
|
|
396
|
-
### Finding 2: {{TITLE}}
|
|
397
|
-
...
|
|
398
|
-
|
|
399
|
-
## Visualizations
|
|
400
|
-
|
|
401
|
-
{{FIGURES}}
|
|
402
|
-
|
|
403
|
-
## Cross-Validation Results
|
|
404
|
-
|
|
405
|
-
{{Verification summary, any conflicts resolved}}
|
|
406
|
-
|
|
407
|
-
## Limitations
|
|
408
|
-
|
|
409
|
-
- {{Limitation 1}}
|
|
410
|
-
- {{Limitation 2}}
|
|
411
|
-
- {{Areas not covered and why}}
|
|
412
|
-
|
|
413
|
-
## Recommendations
|
|
414
|
-
|
|
415
|
-
1. {{Actionable recommendation}}
|
|
416
|
-
2. {{Actionable recommendation}}
|
|
417
|
-
|
|
418
|
-
## Appendix
|
|
419
|
-
|
|
420
|
-
### Raw Data
|
|
421
|
-
|
|
422
|
-
{{Links to raw findings files}}
|
|
423
|
-
|
|
424
|
-
### Session State
|
|
425
|
-
|
|
426
|
-
{{Link to state.json}}
|
|
427
|
-
```
|
|
428
|
-
|
|
429
|
-
### Figure Embedding Protocol
|
|
430
|
-
|
|
431
|
-
Scientists generate visualizations using this marker:
|
|
432
|
-
|
|
433
|
-
```
|
|
434
|
-
[FIGURE:path/to/figure.png]
|
|
435
|
-
Caption: Description of what the figure shows
|
|
436
|
-
Alt: Accessibility description
|
|
437
|
-
[/FIGURE]
|
|
438
|
-
```
|
|
439
|
-
|
|
440
|
-
Report generator embeds figures:
|
|
441
|
-
|
|
442
|
-
```markdown
|
|
443
|
-
## Visualizations
|
|
444
|
-
|
|
445
|
-

|
|
446
|
-
*Caption: Description of what the figure shows*
|
|
447
|
-
|
|
448
|
-

|
|
449
|
-
*Caption: Description of what the figure shows*
|
|
450
|
-
```
|
|
451
|
-
|
|
452
|
-
### Figure Types
|
|
453
|
-
|
|
454
|
-
| Type | Use For | Generated By |
|
|
455
|
-
|------|---------|--------------|
|
|
456
|
-
| Architecture diagram | System structure | scientist-high |
|
|
457
|
-
| Flow chart | Process flows | scientist |
|
|
458
|
-
| Dependency graph | Module relationships | scientist |
|
|
459
|
-
| Timeline | Sequence of events | scientist |
|
|
460
|
-
| Comparison table | A vs B analysis | scientist |
|
|
461
|
-
|
|
462
|
-
## Configuration
|
|
463
|
-
|
|
464
|
-
Optional settings in `.claude/settings.json`:
|
|
465
|
-
|
|
466
|
-
```json
|
|
467
|
-
{
|
|
468
|
-
"omc": {
|
|
469
|
-
"research": {
|
|
470
|
-
"maxIterations": 10,
|
|
471
|
-
"maxConcurrentScientists": 5,
|
|
472
|
-
"defaultTier": "MEDIUM",
|
|
473
|
-
"autoVerify": true,
|
|
474
|
-
"generateFigures": true,
|
|
475
|
-
"evidenceContextLines": 5
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
```
|
|
80
|
+
Sessions are stored at `.omc/research/{session-id}/` with:
|
|
81
|
+
- `state.json` - Session state and progress
|
|
82
|
+
- `stages/` - Individual stage findings
|
|
83
|
+
- `findings/` - Raw and verified findings
|
|
84
|
+
- `report.md` - Final synthesized report
|
|
480
85
|
|
|
481
86
|
## Cancellation
|
|
482
87
|
|
|
@@ -486,26 +91,9 @@ Optional settings in `.claude/settings.json`:
|
|
|
486
91
|
|
|
487
92
|
Or say: "stop research", "cancel research", "abort"
|
|
488
93
|
|
|
489
|
-
Progress is preserved
|
|
94
|
+
Progress is preserved for resume.
|
|
490
95
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
**Stuck in verification loop?**
|
|
494
|
-
- Check for conflicting findings between stages
|
|
495
|
-
- Review state.json for specific conflicts
|
|
496
|
-
- May need to re-run specific stages with different approach
|
|
497
|
-
|
|
498
|
-
**Scientists returning low-quality findings?**
|
|
499
|
-
- Check tier assignment - complex analysis needs HIGH tier
|
|
500
|
-
- Ensure prompts include clear scope and expected output format
|
|
501
|
-
- Review if research goal is too broad
|
|
502
|
-
|
|
503
|
-
**AUTO mode exhausted iterations?**
|
|
504
|
-
- Review state to see where it's stuck
|
|
505
|
-
- Check if goal is achievable with available data
|
|
506
|
-
- Consider breaking into smaller research sessions
|
|
96
|
+
---
|
|
507
97
|
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
- Check [FIGURE:] tags in findings
|
|
511
|
-
- Ensure paths are relative to session directory
|
|
98
|
+
Research goal:
|
|
99
|
+
{{PROMPT}}
|
package/docs/CLAUDE.md
CHANGED
|
@@ -34,6 +34,7 @@ RULE 4: NEVER complete without Architect verification
|
|
|
34
34
|
| **Deep analysis** | NEVER | architect / analyst |
|
|
35
35
|
| **Codebase exploration** | NEVER | explore / explore-medium |
|
|
36
36
|
| **Research tasks** | NEVER | researcher |
|
|
37
|
+
| **Data analysis** | NEVER | scientist / scientist-high |
|
|
37
38
|
| **Visual analysis** | NEVER | vision |
|
|
38
39
|
|
|
39
40
|
### Mandatory Skill Invocation
|
|
@@ -52,6 +53,7 @@ When you detect these patterns, you MUST invoke the corresponding skill:
|
|
|
52
53
|
| Git/commit work | `git-master` (silent) |
|
|
53
54
|
| "analyze", "debug", "investigate" | `analyze` |
|
|
54
55
|
| "search", "find in codebase" | `deepsearch` |
|
|
56
|
+
| "research", "analyze data", "statistics" | `research` |
|
|
55
57
|
| "stop", "cancel", "abort" | appropriate cancel skill |
|
|
56
58
|
|
|
57
59
|
### Smart Model Routing (SAVE TOKENS)
|
|
@@ -186,6 +188,7 @@ User says "stop", "cancel", "abort" → You determine what to stop:
|
|
|
186
188
|
| `cancel-ralph` | Cancel active ralph loop | "stop" in ralph | `/cancel-ralph` |
|
|
187
189
|
| `cancel-ultrawork` | Cancel ultrawork mode | "stop" in ultrawork | `/cancel-ultrawork` |
|
|
188
190
|
| `cancel-ultraqa` | Cancel ultraqa workflow | "stop" in ultraqa | `/cancel-ultraqa` |
|
|
191
|
+
| `research` | Parallel scientist orchestration | "research", "analyze data" | `/research` |
|
|
189
192
|
|
|
190
193
|
### All 28 Agents
|
|
191
194
|
|
|
@@ -208,6 +211,7 @@ Always use `oh-my-claudecode:` prefix when calling via Task tool.
|
|
|
208
211
|
| **Build** | `build-fixer-low` | `build-fixer` | - |
|
|
209
212
|
| **TDD** | `tdd-guide-low` | `tdd-guide` | - |
|
|
210
213
|
| **Code Review** | `code-reviewer-low` | - | `code-reviewer` |
|
|
214
|
+
| **Data Science** | `scientist-low` | `scientist` | `scientist-high` |
|
|
211
215
|
|
|
212
216
|
### Agent Selection Guide
|
|
213
217
|
|
|
@@ -237,6 +241,9 @@ Always use `oh-my-claudecode:` prefix when calling via Task tool.
|
|
|
237
241
|
| Quick test suggestions | `tdd-guide-low` | haiku |
|
|
238
242
|
| Code review | `code-reviewer` | opus |
|
|
239
243
|
| Quick code check | `code-reviewer-low` | haiku |
|
|
244
|
+
| Data analysis/stats | `scientist` | sonnet |
|
|
245
|
+
| Quick data inspection | `scientist-low` | haiku |
|
|
246
|
+
| Complex ML/hypothesis | `scientist-high` | opus |
|
|
240
247
|
|
|
241
248
|
---
|
|
242
249
|
|
package/docs/FULL-README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
# oh-my-claudecode
|
|
12
12
|
|
|
13
|
-
[](https://github.com/Yeachan-Heo/oh-my-claudecode)
|
|
14
14
|
[](https://www.npmjs.com/package/oh-my-claudecode)
|
|
15
15
|
[](https://opensource.org/licenses/MIT)
|
|
16
16
|
[](https://nodejs.org/)
|
package/package.json
CHANGED
|
@@ -0,0 +1,511 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: Orchestrate parallel scientist agents for comprehensive research with AUTO mode
|
|
4
|
+
user-invocable: true
|
|
5
|
+
argument-hint: <research goal>
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Research Skill
|
|
9
|
+
|
|
10
|
+
Orchestrate parallel scientist agents for comprehensive research workflows with optional AUTO mode for fully autonomous execution.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
Research is a multi-stage workflow that decomposes complex research goals into parallel investigations:
|
|
15
|
+
|
|
16
|
+
1. **Decomposition** - Break research goal into independent stages/hypotheses
|
|
17
|
+
2. **Execution** - Run parallel scientist agents on each stage
|
|
18
|
+
3. **Verification** - Cross-validate findings, check consistency
|
|
19
|
+
4. **Synthesis** - Aggregate results into comprehensive report
|
|
20
|
+
|
|
21
|
+
## Usage Examples
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
/research <goal> # Standard research with user checkpoints
|
|
25
|
+
/research AUTO: <goal> # Fully autonomous until complete
|
|
26
|
+
/research status # Check current research session status
|
|
27
|
+
/research resume # Resume interrupted research session
|
|
28
|
+
/research list # List all research sessions
|
|
29
|
+
/research report <session-id> # Generate report for session
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Quick Examples
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
/research What are the performance characteristics of different sorting algorithms?
|
|
36
|
+
/research AUTO: Analyze authentication patterns in this codebase
|
|
37
|
+
/research How does the error handling work across the API layer?
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Research Protocol
|
|
41
|
+
|
|
42
|
+
### Stage Decomposition Pattern
|
|
43
|
+
|
|
44
|
+
When given a research goal, decompose into 3-7 independent stages:
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
## Research Decomposition
|
|
48
|
+
|
|
49
|
+
**Goal:** <original research goal>
|
|
50
|
+
|
|
51
|
+
### Stage 1: <stage-name>
|
|
52
|
+
- **Focus:** What this stage investigates
|
|
53
|
+
- **Hypothesis:** Expected finding (if applicable)
|
|
54
|
+
- **Scope:** Files/areas to examine
|
|
55
|
+
- **Tier:** LOW | MEDIUM | HIGH
|
|
56
|
+
|
|
57
|
+
### Stage 2: <stage-name>
|
|
58
|
+
...
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Parallel Scientist Invocation
|
|
62
|
+
|
|
63
|
+
Fire independent stages in parallel via Task tool:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
// Stage 1 - Simple data gathering
|
|
67
|
+
Task(subagent_type="oh-my-claudecode:scientist-low", model="haiku", prompt="[RESEARCH_STAGE:1] Investigate...")
|
|
68
|
+
|
|
69
|
+
// Stage 2 - Standard analysis
|
|
70
|
+
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[RESEARCH_STAGE:2] Analyze...")
|
|
71
|
+
|
|
72
|
+
// Stage 3 - Complex reasoning
|
|
73
|
+
Task(subagent_type="oh-my-claudecode:scientist-high", model="opus", prompt="[RESEARCH_STAGE:3] Deep analysis of...")
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Smart Model Routing
|
|
77
|
+
|
|
78
|
+
**CRITICAL: Always pass `model` parameter explicitly!**
|
|
79
|
+
|
|
80
|
+
| Task Complexity | Agent | Model | Use For |
|
|
81
|
+
|-----------------|-------|-------|---------|
|
|
82
|
+
| Data gathering | `scientist-low` | haiku | File enumeration, pattern counting, simple lookups |
|
|
83
|
+
| Standard analysis | `scientist` | sonnet | Code analysis, pattern detection, documentation review |
|
|
84
|
+
| Complex reasoning | `scientist-high` | opus | Architecture analysis, cross-cutting concerns, hypothesis validation |
|
|
85
|
+
|
|
86
|
+
### Routing Decision Guide
|
|
87
|
+
|
|
88
|
+
| Research Task | Tier | Example Prompt |
|
|
89
|
+
|---------------|------|----------------|
|
|
90
|
+
| "Count occurrences of X" | LOW | "Count all usages of useState hook" |
|
|
91
|
+
| "Find all files matching Y" | LOW | "List all test files in the project" |
|
|
92
|
+
| "Analyze pattern Z" | MEDIUM | "Analyze error handling patterns in API routes" |
|
|
93
|
+
| "Document how W works" | MEDIUM | "Document the authentication flow" |
|
|
94
|
+
| "Explain why X happens" | HIGH | "Explain why race conditions occur in the cache layer" |
|
|
95
|
+
| "Compare approaches A vs B" | HIGH | "Compare Redux vs Context for state management here" |
|
|
96
|
+
|
|
97
|
+
### Verification Loop
|
|
98
|
+
|
|
99
|
+
After parallel execution completes, verify findings:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
// Cross-validation stage
|
|
103
|
+
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="
|
|
104
|
+
[RESEARCH_VERIFICATION]
|
|
105
|
+
Cross-validate these findings for consistency:
|
|
106
|
+
|
|
107
|
+
Stage 1 findings: <summary>
|
|
108
|
+
Stage 2 findings: <summary>
|
|
109
|
+
Stage 3 findings: <summary>
|
|
110
|
+
|
|
111
|
+
Check for:
|
|
112
|
+
1. Contradictions between stages
|
|
113
|
+
2. Missing connections
|
|
114
|
+
3. Gaps in coverage
|
|
115
|
+
4. Evidence quality
|
|
116
|
+
|
|
117
|
+
Output: [VERIFIED] or [CONFLICTS:<list>]
|
|
118
|
+
")
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## AUTO Mode
|
|
122
|
+
|
|
123
|
+
AUTO mode runs the complete research workflow autonomously with loop control.
|
|
124
|
+
|
|
125
|
+
### Loop Control Protocol
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
[RESEARCH + AUTO - ITERATION {{ITERATION}}/{{MAX}}]
|
|
129
|
+
|
|
130
|
+
Your previous attempt did not output the completion promise. Continue working.
|
|
131
|
+
|
|
132
|
+
Current state: {{STATE}}
|
|
133
|
+
Completed stages: {{COMPLETED_STAGES}}
|
|
134
|
+
Pending stages: {{PENDING_STAGES}}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Promise Tags
|
|
138
|
+
|
|
139
|
+
| Tag | Meaning | When to Use |
|
|
140
|
+
|-----|---------|-------------|
|
|
141
|
+
| `[PROMISE:RESEARCH_COMPLETE]` | Research finished successfully | All stages done, verified, report generated |
|
|
142
|
+
| `[PROMISE:RESEARCH_BLOCKED]` | Cannot proceed | Missing data, access issues, circular dependency |
|
|
143
|
+
|
|
144
|
+
### AUTO Mode Rules
|
|
145
|
+
|
|
146
|
+
1. **Max Iterations:** 10 (configurable)
|
|
147
|
+
2. **Continue until:** Promise tag emitted OR max iterations
|
|
148
|
+
3. **State tracking:** Persist after each stage completion
|
|
149
|
+
4. **Cancellation:** `/cancel-research` or "stop", "cancel"
|
|
150
|
+
|
|
151
|
+
### AUTO Mode Example
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
/research AUTO: Comprehensive security analysis of the authentication system
|
|
155
|
+
|
|
156
|
+
[Decomposition]
|
|
157
|
+
- Stage 1 (LOW): Enumerate auth-related files
|
|
158
|
+
- Stage 2 (MEDIUM): Analyze token handling
|
|
159
|
+
- Stage 3 (MEDIUM): Review session management
|
|
160
|
+
- Stage 4 (HIGH): Identify vulnerability patterns
|
|
161
|
+
- Stage 5 (MEDIUM): Document security controls
|
|
162
|
+
|
|
163
|
+
[Execution - Parallel]
|
|
164
|
+
Firing stages 1-3 in parallel...
|
|
165
|
+
Firing stages 4-5 after dependencies complete...
|
|
166
|
+
|
|
167
|
+
[Verification]
|
|
168
|
+
Cross-validating findings...
|
|
169
|
+
|
|
170
|
+
[Synthesis]
|
|
171
|
+
Generating report...
|
|
172
|
+
|
|
173
|
+
[PROMISE:RESEARCH_COMPLETE]
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Parallel Execution Patterns
|
|
177
|
+
|
|
178
|
+
### Independent Dataset Analysis (Parallel)
|
|
179
|
+
|
|
180
|
+
When stages analyze different data sources:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
// All fire simultaneously
|
|
184
|
+
Task(subagent_type="oh-my-claudecode:scientist-low", model="haiku", prompt="[STAGE:1] Analyze src/api/...")
|
|
185
|
+
Task(subagent_type="oh-my-claudecode:scientist-low", model="haiku", prompt="[STAGE:2] Analyze src/utils/...")
|
|
186
|
+
Task(subagent_type="oh-my-claudecode:scientist-low", model="haiku", prompt="[STAGE:3] Analyze src/components/...")
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Hypothesis Battery (Parallel)
|
|
190
|
+
|
|
191
|
+
When testing multiple hypotheses:
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
// Test hypotheses simultaneously
|
|
195
|
+
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:A] Test if caching improves...")
|
|
196
|
+
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:B] Test if batching reduces...")
|
|
197
|
+
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:C] Test if lazy loading helps...")
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Cross-Validation (Sequential)
|
|
201
|
+
|
|
202
|
+
When verification depends on all findings:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
// Wait for all parallel stages
|
|
206
|
+
[stages complete]
|
|
207
|
+
|
|
208
|
+
// Then sequential verification
|
|
209
|
+
Task(subagent_type="oh-my-claudecode:scientist-high", model="opus", prompt="
|
|
210
|
+
[CROSS_VALIDATION]
|
|
211
|
+
Validate consistency across all findings:
|
|
212
|
+
- Finding 1: ...
|
|
213
|
+
- Finding 2: ...
|
|
214
|
+
- Finding 3: ...
|
|
215
|
+
")
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### Concurrency Limit
|
|
219
|
+
|
|
220
|
+
**Maximum 5 concurrent scientist agents** to prevent resource exhaustion.
|
|
221
|
+
|
|
222
|
+
If more than 5 stages, batch them:
|
|
223
|
+
```
|
|
224
|
+
Batch 1: Stages 1-5 (parallel)
|
|
225
|
+
[wait for completion]
|
|
226
|
+
Batch 2: Stages 6-7 (parallel)
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
## Session Management
|
|
230
|
+
|
|
231
|
+
### Directory Structure
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
.omc/research/{session-id}/
|
|
235
|
+
state.json # Session state and progress
|
|
236
|
+
stages/
|
|
237
|
+
stage-1.md # Stage 1 findings
|
|
238
|
+
stage-2.md # Stage 2 findings
|
|
239
|
+
...
|
|
240
|
+
findings/
|
|
241
|
+
raw/ # Raw findings from scientists
|
|
242
|
+
verified/ # Post-verification findings
|
|
243
|
+
figures/
|
|
244
|
+
figure-1.png # Generated visualizations
|
|
245
|
+
...
|
|
246
|
+
report.md # Final synthesized report
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### State File Format
|
|
250
|
+
|
|
251
|
+
```json
|
|
252
|
+
{
|
|
253
|
+
"id": "research-20240115-abc123",
|
|
254
|
+
"goal": "Original research goal",
|
|
255
|
+
"status": "in_progress | complete | blocked | cancelled",
|
|
256
|
+
"mode": "standard | auto",
|
|
257
|
+
"iteration": 3,
|
|
258
|
+
"maxIterations": 10,
|
|
259
|
+
"stages": [
|
|
260
|
+
{
|
|
261
|
+
"id": 1,
|
|
262
|
+
"name": "Stage name",
|
|
263
|
+
"tier": "LOW | MEDIUM | HIGH",
|
|
264
|
+
"status": "pending | running | complete | failed",
|
|
265
|
+
"startedAt": "ISO timestamp",
|
|
266
|
+
"completedAt": "ISO timestamp",
|
|
267
|
+
"findingsFile": "stages/stage-1.md"
|
|
268
|
+
}
|
|
269
|
+
],
|
|
270
|
+
"verification": {
|
|
271
|
+
"status": "pending | passed | failed",
|
|
272
|
+
"conflicts": [],
|
|
273
|
+
"completedAt": "ISO timestamp"
|
|
274
|
+
},
|
|
275
|
+
"createdAt": "ISO timestamp",
|
|
276
|
+
"updatedAt": "ISO timestamp"
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Session Commands
|
|
281
|
+
|
|
282
|
+
| Command | Action |
|
|
283
|
+
|---------|--------|
|
|
284
|
+
| `/research status` | Show current session progress |
|
|
285
|
+
| `/research resume` | Resume most recent interrupted session |
|
|
286
|
+
| `/research resume <session-id>` | Resume specific session |
|
|
287
|
+
| `/research list` | List all sessions with status |
|
|
288
|
+
| `/research report <session-id>` | Generate/regenerate report |
|
|
289
|
+
| `/research cancel` | Cancel current session (preserves state) |
|
|
290
|
+
|
|
291
|
+
## Tag Extraction
|
|
292
|
+
|
|
293
|
+
Scientists use structured tags for findings. Extract them with these patterns:
|
|
294
|
+
|
|
295
|
+
### Finding Tags
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
[FINDING:<id>] <title>
|
|
299
|
+
<evidence and analysis>
|
|
300
|
+
[/FINDING]
|
|
301
|
+
|
|
302
|
+
[EVIDENCE:<finding-id>]
|
|
303
|
+
- File: <path>
|
|
304
|
+
- Lines: <range>
|
|
305
|
+
- Content: <relevant code/text>
|
|
306
|
+
[/EVIDENCE]
|
|
307
|
+
|
|
308
|
+
[CONFIDENCE:<level>] # HIGH | MEDIUM | LOW
|
|
309
|
+
<reasoning for confidence level>
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Extraction Regex Patterns
|
|
313
|
+
|
|
314
|
+
```javascript
|
|
315
|
+
// Finding extraction
|
|
316
|
+
const findingPattern = /\[FINDING:(\w+)\]\s*(.*?)\n([\s\S]*?)\[\/FINDING\]/g;
|
|
317
|
+
|
|
318
|
+
// Evidence extraction
|
|
319
|
+
const evidencePattern = /\[EVIDENCE:(\w+)\]([\s\S]*?)\[\/EVIDENCE\]/g;
|
|
320
|
+
|
|
321
|
+
// Confidence extraction
|
|
322
|
+
const confidencePattern = /\[CONFIDENCE:(HIGH|MEDIUM|LOW)\]\s*(.*)/g;
|
|
323
|
+
|
|
324
|
+
// Stage completion
|
|
325
|
+
const stageCompletePattern = /\[STAGE_COMPLETE:(\d+)\]/;
|
|
326
|
+
|
|
327
|
+
// Verification result
|
|
328
|
+
const verificationPattern = /\[(VERIFIED|CONFLICTS):?(.*?)\]/;
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
### Evidence Window
|
|
332
|
+
|
|
333
|
+
When extracting evidence, include context window:
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
[EVIDENCE:F1]
|
|
337
|
+
- File: /src/auth/login.ts
|
|
338
|
+
- Lines: 45-52 (context: 40-57)
|
|
339
|
+
- Content:
|
|
340
|
+
```typescript
|
|
341
|
+
// Lines 45-52 with 5 lines context above/below
|
|
342
|
+
```
|
|
343
|
+
[/EVIDENCE]
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### Quality Validation
|
|
347
|
+
|
|
348
|
+
Findings must meet quality threshold:
|
|
349
|
+
|
|
350
|
+
| Quality Check | Requirement |
|
|
351
|
+
|---------------|-------------|
|
|
352
|
+
| Evidence present | At least 1 [EVIDENCE] per [FINDING] |
|
|
353
|
+
| Confidence stated | Each finding has [CONFIDENCE] |
|
|
354
|
+
| Source cited | File paths are absolute and valid |
|
|
355
|
+
| Reproducible | Another agent could verify |
|
|
356
|
+
|
|
357
|
+
## Report Generation
|
|
358
|
+
|
|
359
|
+
### Report Template
|
|
360
|
+
|
|
361
|
+
```markdown
|
|
362
|
+
# Research Report: {{GOAL}}
|
|
363
|
+
|
|
364
|
+
**Session ID:** {{SESSION_ID}}
|
|
365
|
+
**Date:** {{DATE}}
|
|
366
|
+
**Status:** {{STATUS}}
|
|
367
|
+
|
|
368
|
+
## Executive Summary
|
|
369
|
+
|
|
370
|
+
{{2-3 paragraph summary of key findings}}
|
|
371
|
+
|
|
372
|
+
## Methodology
|
|
373
|
+
|
|
374
|
+
### Research Stages
|
|
375
|
+
|
|
376
|
+
| Stage | Focus | Tier | Status |
|
|
377
|
+
|-------|-------|------|--------|
|
|
378
|
+
{{STAGES_TABLE}}
|
|
379
|
+
|
|
380
|
+
### Approach
|
|
381
|
+
|
|
382
|
+
{{Description of decomposition rationale and execution strategy}}
|
|
383
|
+
|
|
384
|
+
## Key Findings
|
|
385
|
+
|
|
386
|
+
### Finding 1: {{TITLE}}
|
|
387
|
+
|
|
388
|
+
**Confidence:** {{HIGH|MEDIUM|LOW}}
|
|
389
|
+
|
|
390
|
+
{{Detailed finding with evidence}}
|
|
391
|
+
|
|
392
|
+
#### Evidence
|
|
393
|
+
|
|
394
|
+
{{Embedded evidence blocks}}
|
|
395
|
+
|
|
396
|
+
### Finding 2: {{TITLE}}
|
|
397
|
+
...
|
|
398
|
+
|
|
399
|
+
## Visualizations
|
|
400
|
+
|
|
401
|
+
{{FIGURES}}
|
|
402
|
+
|
|
403
|
+
## Cross-Validation Results
|
|
404
|
+
|
|
405
|
+
{{Verification summary, any conflicts resolved}}
|
|
406
|
+
|
|
407
|
+
## Limitations
|
|
408
|
+
|
|
409
|
+
- {{Limitation 1}}
|
|
410
|
+
- {{Limitation 2}}
|
|
411
|
+
- {{Areas not covered and why}}
|
|
412
|
+
|
|
413
|
+
## Recommendations
|
|
414
|
+
|
|
415
|
+
1. {{Actionable recommendation}}
|
|
416
|
+
2. {{Actionable recommendation}}
|
|
417
|
+
|
|
418
|
+
## Appendix
|
|
419
|
+
|
|
420
|
+
### Raw Data
|
|
421
|
+
|
|
422
|
+
{{Links to raw findings files}}
|
|
423
|
+
|
|
424
|
+
### Session State
|
|
425
|
+
|
|
426
|
+
{{Link to state.json}}
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Figure Embedding Protocol
|
|
430
|
+
|
|
431
|
+
Scientists generate visualizations using this marker:
|
|
432
|
+
|
|
433
|
+
```
|
|
434
|
+
[FIGURE:path/to/figure.png]
|
|
435
|
+
Caption: Description of what the figure shows
|
|
436
|
+
Alt: Accessibility description
|
|
437
|
+
[/FIGURE]
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Report generator embeds figures:
|
|
441
|
+
|
|
442
|
+
```markdown
|
|
443
|
+
## Visualizations
|
|
444
|
+
|
|
445
|
+

|
|
446
|
+
*Caption: Description of what the figure shows*
|
|
447
|
+
|
|
448
|
+

|
|
449
|
+
*Caption: Description of what the figure shows*
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
### Figure Types
|
|
453
|
+
|
|
454
|
+
| Type | Use For | Generated By |
|
|
455
|
+
|------|---------|--------------|
|
|
456
|
+
| Architecture diagram | System structure | scientist-high |
|
|
457
|
+
| Flow chart | Process flows | scientist |
|
|
458
|
+
| Dependency graph | Module relationships | scientist |
|
|
459
|
+
| Timeline | Sequence of events | scientist |
|
|
460
|
+
| Comparison table | A vs B analysis | scientist |
|
|
461
|
+
|
|
462
|
+
## Configuration
|
|
463
|
+
|
|
464
|
+
Optional settings in `.claude/settings.json`:
|
|
465
|
+
|
|
466
|
+
```json
|
|
467
|
+
{
|
|
468
|
+
"omc": {
|
|
469
|
+
"research": {
|
|
470
|
+
"maxIterations": 10,
|
|
471
|
+
"maxConcurrentScientists": 5,
|
|
472
|
+
"defaultTier": "MEDIUM",
|
|
473
|
+
"autoVerify": true,
|
|
474
|
+
"generateFigures": true,
|
|
475
|
+
"evidenceContextLines": 5
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
## Cancellation
|
|
482
|
+
|
|
483
|
+
```
|
|
484
|
+
/cancel-research
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
Or say: "stop research", "cancel research", "abort"
|
|
488
|
+
|
|
489
|
+
Progress is preserved in `.omc/research/{session-id}/` for resume.
|
|
490
|
+
|
|
491
|
+
## Troubleshooting
|
|
492
|
+
|
|
493
|
+
**Stuck in verification loop?**
|
|
494
|
+
- Check for conflicting findings between stages
|
|
495
|
+
- Review state.json for specific conflicts
|
|
496
|
+
- May need to re-run specific stages with different approach
|
|
497
|
+
|
|
498
|
+
**Scientists returning low-quality findings?**
|
|
499
|
+
- Check tier assignment - complex analysis needs HIGH tier
|
|
500
|
+
- Ensure prompts include clear scope and expected output format
|
|
501
|
+
- Review if research goal is too broad
|
|
502
|
+
|
|
503
|
+
**AUTO mode exhausted iterations?**
|
|
504
|
+
- Review state to see where it's stuck
|
|
505
|
+
- Check if goal is achievable with available data
|
|
506
|
+
- Consider breaking into smaller research sessions
|
|
507
|
+
|
|
508
|
+
**Missing figures in report?**
|
|
509
|
+
- Verify figures/ directory exists
|
|
510
|
+
- Check [FIGURE:] tags in findings
|
|
511
|
+
- Ensure paths are relative to session directory
|