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 CHANGED
@@ -68,37 +68,60 @@ Want explicit control? Include these words anywhere in your message:
68
68
 
69
69
  ---
70
70
 
71
- ## Data Analysis with Scientist Agent (v3.3.0)
71
+ ## Data Analysis & Research (v3.3.3)
72
72
 
73
- The scientist agent provides persistent Python execution for data analysis:
73
+ ### Scientist Agent Tiers
74
74
 
75
- ```
76
- # Variables persist across calls - no need to reload data!
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 in the next call
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
- **Features:**
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> # Standard research with checkpoints
97
- /research AUTO: <goal> # Fully autonomous until complete
98
- /research status # Check current session
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
- Features multi-stage decomposition, smart model routing, cross-validation, and structured report generation.
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 (new in 3.3.0)
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
@@ -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
- 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:
7
+ [RESEARCH MODE ACTIVATED]
15
8
 
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
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 Pattern
24
+ ### Stage Decomposition
43
25
 
44
26
  When given a research goal, decompose into 3-7 independent stages:
45
27
 
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
- ```
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
- ### 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:
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 (configurable)
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
- ### 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
- ![Figure 1: Description](figures/figure-1.png)
446
- *Caption: Description of what the figure shows*
447
-
448
- ![Figure 2: Description](figures/figure-2.png)
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 in `.omc/research/{session-id}/` for resume.
94
+ Progress is preserved for resume.
490
95
 
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
96
+ ---
507
97
 
508
- **Missing figures in report?**
509
- - Verify figures/ directory exists
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
 
@@ -10,7 +10,7 @@
10
10
 
11
11
  # oh-my-claudecode
12
12
 
13
- [![Version](https://img.shields.io/badge/version-3.2.0-ff6b6b)](https://github.com/Yeachan-Heo/oh-my-claudecode)
13
+ [![Version](https://img.shields.io/badge/version-3.3.3-ff6b6b)](https://github.com/Yeachan-Heo/oh-my-claudecode)
14
14
  [![npm version](https://img.shields.io/npm/v/oh-my-claudecode?color=cb3837)](https://www.npmjs.com/package/oh-my-claudecode)
15
15
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
16
16
  [![Node.js](https://img.shields.io/badge/Node.js-20+-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-claude-sisyphus",
3
- "version": "3.3.1",
3
+ "version": "3.3.3",
4
4
  "description": "Multi-agent orchestration system for Claude Code - Inspired by oh-my-opencode",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -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
+ ![Figure 1: Description](figures/figure-1.png)
446
+ *Caption: Description of what the figure shows*
447
+
448
+ ![Figure 2: Description](figures/figure-2.png)
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