sciomc by yeachan-heo/oh-my-claudecode
npx skills add https://github.com/yeachan-heo/oh-my-claudecode --skill sciomc通过并行科学家代理编排全面的研究工作流,可选 AUTO 模式以实现完全自主执行。
研究是一个多阶段工作流,将复杂的研究目标分解为并行调查:
/oh-my-claudecode:sciomc <目标> # 带有用户检查点的标准研究
/oh-my-claudecode:sciomc AUTO: <目标> # 完全自主执行直至完成
/oh-my-claudecode:sciomc status # 检查当前研究会话状态
/oh-my-claudecode:sciomc resume # 恢复中断的研究会话
/oh-my-claudecode:sciomc list # 列出所有研究会话
/oh-my-claudecode:sciomc report <会话ID> # 为会话生成报告
/oh-my-claudecode:sciomc 不同排序算法的性能特征是什么?
/oh-my-claudecode:sciomc AUTO: 分析此代码库中的身份验证模式
/oh-my-claudecode:sciomc 错误处理在 API 层是如何工作的?
当给定一个研究目标时,将其分解为 3-7 个独立阶段:
## 研究分解
**目标:** <原始研究目标>
### 阶段 1: <阶段名称>
- **关注点:** 此阶段调查的内容
- **假设:** 预期发现(如适用)
- **范围:** 要检查的文件/区域
- **层级:** LOW | MEDIUM | HIGH
### 阶段 2: <阶段名称>
...
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
通过 Task 工具并行启动独立阶段:
// 阶段 1 - 简单数据收集
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[RESEARCH_STAGE:1] 调查...")
// 阶段 2 - 标准分析
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[RESEARCH_STAGE:2] 分析...")
// 阶段 3 - 复杂推理
Task(subagent_type="oh-my-claudecode:scientist", model="opus", prompt="[RESEARCH_STAGE:3] 深入分析...")
关键:始终显式传递 model 参数!
| 任务复杂度 | 代理 | 模型 | 用途 |
|---|---|---|---|
| 数据收集 | scientist (model=haiku) | haiku | 文件枚举、模式计数、简单查找 |
| 标准分析 | scientist | sonnet | 代码分析、模式检测、文档审查 |
| 复杂推理 | scientist | opus | 架构分析、跨领域关注点、假设验证 |
| 研究任务 | 层级 | 示例提示 |
|---|---|---|
| "统计 X 的出现次数" | LOW | "统计所有 useState 钩子的使用情况" |
| "查找所有匹配 Y 的文件" | LOW | "列出项目中的所有测试文件" |
| "分析模式 Z" | MEDIUM | "分析 API 路由中的错误处理模式" |
| "记录 W 的工作原理" | MEDIUM | "记录身份验证流程" |
| "解释为什么 X 会发生" | HIGH | "解释为什么在缓存层会出现竞态条件" |
| "比较方法 A 与 B" | HIGH | "比较此处状态管理的 Redux 与 Context" |
并行执行完成后,验证发现结果:
// 交叉验证阶段
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="
[RESEARCH_VERIFICATION]
交叉验证这些发现结果的一致性:
阶段 1 发现:<摘要>
阶段 2 发现:<摘要>
阶段 3 发现:<摘要>
检查:
1. 阶段间的矛盾
2. 缺失的连接
3. 覆盖范围的空白
4. 证据质量
输出:[VERIFIED] 或 [CONFLICTS:<列表>]
")
AUTO 模式通过循环控制自主运行完整的研究工作流。
[RESEARCH + AUTO - ITERATION {{ITERATION}}/{{MAX}}]
您之前的尝试没有输出完成承诺。请继续工作。
当前状态:{{STATE}}
已完成阶段:{{COMPLETED_STAGES}}
待处理阶段:{{PENDING_STAGES}}
| 标签 | 含义 | 何时使用 |
|---|---|---|
[PROMISE:RESEARCH_COMPLETE] | 研究成功完成 | 所有阶段完成、验证、报告生成 |
[PROMISE:RESEARCH_BLOCKED] | 无法继续 | 数据缺失、访问问题、循环依赖 |
/oh-my-claudecode:cancel 或 "stop"、"cancel"/oh-my-claudecode:sciomc AUTO: 对身份验证系统进行全面安全分析
[分解]
- 阶段 1 (LOW):枚举与身份验证相关的文件
- 阶段 2 (MEDIUM):分析令牌处理
- 阶段 3 (MEDIUM):审查会话管理
- 阶段 4 (HIGH):识别漏洞模式
- 阶段 5 (MEDIUM):记录安全控制措施
[执行 - 并行]
并行启动阶段 1-3...
依赖项完成后启动阶段 4-5...
[验证]
交叉验证发现结果...
[综合]
生成报告...
[PROMISE:RESEARCH_COMPLETE]
当阶段分析不同的数据源时:
// 同时启动所有任务
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:1] 分析 src/api/...")
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:2] 分析 src/utils/...")
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:3] 分析 src/components/...")
当测试多个假设时:
// 同时测试假设
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:A] 测试缓存是否改善...")
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:B] 测试批处理是否减少...")
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:C] 测试延迟加载是否有助于...")
当验证依赖于所有发现结果时:
// 等待所有并行阶段完成
[阶段完成]
// 然后进行顺序验证
Task(subagent_type="oh-my-claudecode:scientist", model="opus", prompt="
[CROSS_VALIDATION]
验证所有发现结果的一致性:
- 发现 1:...
- 发现 2:...
- 发现 3:...
")
最多 20 个并发科学家代理,以防止资源耗尽。
如果超过 20 个阶段,请分批处理:
Batch 1: 阶段 1-5 (并行)
[等待完成]
Batch 2: 阶段 6-7 (并行)
.omc/research/{会话ID}/
state.json # 会话状态和进度
stages/
stage-1.md # 阶段 1 发现结果
stage-2.md # 阶段 2 发现结果
...
findings/
raw/ # 科学家的原始发现结果
verified/ # 验证后的发现结果
figures/
figure-1.png # 生成的视觉化图表
...
report.md # 最终综合报告
{
"id": "research-20240115-abc123",
"goal": "原始研究目标",
"status": "in_progress | complete | blocked | cancelled",
"mode": "standard | auto",
"iteration": 3,
"maxIterations": 10,
"stages": [
{
"id": 1,
"name": "阶段名称",
"tier": "LOW | MEDIUM | HIGH",
"status": "pending | running | complete | failed",
"startedAt": "ISO 时间戳",
"completedAt": "ISO 时间戳",
"findingsFile": "stages/stage-1.md"
}
],
"verification": {
"status": "pending | passed | failed",
"conflicts": [],
"completedAt": "ISO 时间戳"
},
"createdAt": "ISO 时间戳",
"updatedAt": "ISO 时间戳"
}
| 命令 | 操作 |
|---|---|
/oh-my-claudecode:sciomc status | 显示当前会话进度 |
/oh-my-claudecode:sciomc resume | 恢复最近中断的会话 |
/oh-my-claudecode:sciomc resume <会话ID> | 恢复特定会话 |
/oh-my-claudecode:sciomc list | 列出所有会话及其状态 |
/oh-my-claudecode:sciomc report <会话ID> | 生成/重新生成报告 |
/oh-my-claudecode:sciomc cancel | 取消当前会话(保留状态) |
科学家使用结构化标签记录发现结果。使用以下模式提取它们:
[FINDING:<ID>] <标题>
<证据和分析>
[/FINDING]
[EVIDENCE:<发现ID>]
- 文件:<路径>
- 行号:<范围>
- 内容:<相关代码/文本>
[/EVIDENCE]
[CONFIDENCE:<级别>] # HIGH | MEDIUM | LOW
<置信度级别的推理>
// 发现提取
const findingPattern = /\[FINDING:(\w+)\]\s*(.*?)\n([\s\S]*?)\[\/FINDING\]/g;
// 证据提取
const evidencePattern = /\[EVIDENCE:(\w+)\]([\s\S]*?)\[\/EVIDENCE\]/g;
// 置信度提取
const confidencePattern = /\[CONFIDENCE:(HIGH|MEDIUM|LOW)\]\s*(.*)/g;
// 阶段完成
const stageCompletePattern = /\[STAGE_COMPLETE:(\d+)\]/;
// 验证结果
const verificationPattern = /\[(VERIFIED|CONFLICTS):?(.*?)\]/;
提取证据时,包含上下文窗口:
[EVIDENCE:F1]
- 文件:/src/auth/login.ts
- 行号:45-52 (上下文:40-57)
- 内容:
```typescript
// 第 45-52 行,上下各有 5 行上下文
[/EVIDENCE]
发现结果必须满足质量阈值:
| 质量检查 | 要求 |
|---|---|
| 存在证据 | 每个 [FINDING] 至少有一个 [EVIDENCE] |
| 声明置信度 | 每个发现都有 [CONFIDENCE] |
| 引用来源 | 文件路径是绝对路径且有效 |
| 可重现 | 其他代理可以验证 |
```markdown
# 研究报告:{{GOAL}}
**会话 ID:** {{SESSION_ID}}
**日期:** {{DATE}}
**状态:** {{STATUS}}
## 执行摘要
{{2-3 段关键发现摘要}}
## 方法论
### 研究阶段
| 阶段 | 关注点 | 层级 | 状态 |
|-------|-------|------|--------|
{{STAGES_TABLE}}
### 方法
{{分解原理和执行策略的描述}}
## 关键发现
### 发现 1:{{TITLE}}
**置信度:** {{HIGH|MEDIUM|LOW}}
{{带证据的详细发现}}
#### 证据
{{嵌入的证据块}}
### 发现 2:{{TITLE}}
...
## 视觉化图表
{{FIGURES}}
## 交叉验证结果
{{验证摘要,任何已解决的冲突}}
## 局限性
- {{局限性 1}}
- {{局限性 2}}
- {{未覆盖的领域及原因}}
## 建议
1. {{可操作的建议}}
2. {{可操作的建议}}
## 附录
### 原始数据
{{指向原始发现结果文件的链接}}
### 会话状态
{{指向 state.json 的链接}}
```
科学家使用此标记生成视觉化图表:
[FIGURE:path/to/figure.png]
标题:图表显示内容的描述
替代文本:可访问性描述
[/FIGURE]
报告生成器嵌入图表:
## 视觉化图表

*标题:图表显示内容的描述*

*标题:图表显示内容的描述*
| 类型 | 用途 | 生成者 |
|---|---|---|
| 架构图 | 系统结构 | scientist |
| 流程图 | 流程 | scientist |
| 依赖关系图 | 模块关系 | scientist |
| 时间线 | 事件序列 | scientist |
| 比较表 | A 与 B 分析 | scientist |
.claude/settings.json 中的可选设置:
{
"omc": {
"research": {
"maxIterations": 10,
"maxConcurrentScientists": 5,
"defaultTier": "MEDIUM",
"autoVerify": true,
"generateFigures": true,
"evidenceContextLines": 5
}
}
}
/oh-my-claudecode:cancel
或者说:"stop research"、"cancel research"、"abort"
进度保存在 .omc/research/{会话ID}/ 中以供恢复。
卡在验证循环中?
科学家返回低质量发现结果?
AUTO 模式耗尽迭代次数?
报告中缺少图表?
每周安装量
93
仓库
GitHub 星标数
11.2K
首次出现
2026年2月14日
安全审计
已安装于
opencode91
gemini-cli90
codex90
cursor89
claude-code88
kimi-cli87
Orchestrate parallel scientist agents for comprehensive research workflows with optional AUTO mode for fully autonomous execution.
Research is a multi-stage workflow that decomposes complex research goals into parallel investigations:
/oh-my-claudecode:sciomc <goal> # Standard research with user checkpoints
/oh-my-claudecode:sciomc AUTO: <goal> # Fully autonomous until complete
/oh-my-claudecode:sciomc status # Check current research session status
/oh-my-claudecode:sciomc resume # Resume interrupted research session
/oh-my-claudecode:sciomc list # List all research sessions
/oh-my-claudecode:sciomc report <session-id> # Generate report for session
/oh-my-claudecode:sciomc What are the performance characteristics of different sorting algorithms?
/oh-my-claudecode:sciomc AUTO: Analyze authentication patterns in this codebase
/oh-my-claudecode:sciomc How does the error handling work across the API layer?
When given a research goal, decompose into 3-7 independent stages:
## Research Decomposition
**Goal:** <original research goal>
### Stage 1: <stage-name>
- **Focus:** What this stage investigates
- **Hypothesis:** Expected finding (if applicable)
- **Scope:** Files/areas to examine
- **Tier:** LOW | MEDIUM | HIGH
### Stage 2: <stage-name>
...
Fire independent stages in parallel via Task tool:
// Stage 1 - Simple data gathering
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[RESEARCH_STAGE:1] Investigate...")
// Stage 2 - Standard analysis
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[RESEARCH_STAGE:2] Analyze...")
// Stage 3 - Complex reasoning
Task(subagent_type="oh-my-claudecode:scientist", model="opus", prompt="[RESEARCH_STAGE:3] Deep analysis of...")
CRITICAL: Always passmodel parameter explicitly!
| Task Complexity | Agent | Model | Use For |
|---|---|---|---|
| Data gathering | scientist (model=haiku) | haiku | File enumeration, pattern counting, simple lookups |
| Standard analysis | scientist | sonnet | Code analysis, pattern detection, documentation review |
| Complex reasoning | scientist | opus | Architecture analysis, cross-cutting concerns, hypothesis validation |
| Research Task | Tier | Example Prompt |
|---|---|---|
| "Count occurrences of X" | LOW | "Count all usages of useState hook" |
| "Find all files matching Y" | LOW | "List all test files in the project" |
| "Analyze pattern Z" | MEDIUM | "Analyze error handling patterns in API routes" |
| "Document how W works" | MEDIUM | "Document the authentication flow" |
| "Explain why X happens" | HIGH | "Explain why race conditions occur in the cache layer" |
| "Compare approaches A vs B" | HIGH | "Compare Redux vs Context for state management here" |
After parallel execution completes, verify findings:
// Cross-validation stage
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="
[RESEARCH_VERIFICATION]
Cross-validate these findings for consistency:
Stage 1 findings: <summary>
Stage 2 findings: <summary>
Stage 3 findings: <summary>
Check for:
1. Contradictions between stages
2. Missing connections
3. Gaps in coverage
4. Evidence quality
Output: [VERIFIED] or [CONFLICTS:<list>]
")
AUTO mode runs the complete research workflow autonomously with loop control.
[RESEARCH + AUTO - ITERATION {{ITERATION}}/{{MAX}}]
Your previous attempt did not output the completion promise. Continue working.
Current state: {{STATE}}
Completed stages: {{COMPLETED_STAGES}}
Pending stages: {{PENDING_STAGES}}
| Tag | Meaning | When to Use |
|---|---|---|
[PROMISE:RESEARCH_COMPLETE] | Research finished successfully | All stages done, verified, report generated |
[PROMISE:RESEARCH_BLOCKED] | Cannot proceed | Missing data, access issues, circular dependency |
/oh-my-claudecode:cancel or "stop", "cancel"/oh-my-claudecode:sciomc AUTO: Comprehensive security analysis of the authentication system
[Decomposition]
- Stage 1 (LOW): Enumerate auth-related files
- Stage 2 (MEDIUM): Analyze token handling
- Stage 3 (MEDIUM): Review session management
- Stage 4 (HIGH): Identify vulnerability patterns
- Stage 5 (MEDIUM): Document security controls
[Execution - Parallel]
Firing stages 1-3 in parallel...
Firing stages 4-5 after dependencies complete...
[Verification]
Cross-validating findings...
[Synthesis]
Generating report...
[PROMISE:RESEARCH_COMPLETE]
When stages analyze different data sources:
// All fire simultaneously
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:1] Analyze src/api/...")
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:2] Analyze src/utils/...")
Task(subagent_type="oh-my-claudecode:scientist", model="haiku", prompt="[STAGE:3] Analyze src/components/...")
When testing multiple hypotheses:
// Test hypotheses simultaneously
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:A] Test if caching improves...")
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:B] Test if batching reduces...")
Task(subagent_type="oh-my-claudecode:scientist", model="sonnet", prompt="[HYPOTHESIS:C] Test if lazy loading helps...")
When verification depends on all findings:
// Wait for all parallel stages
[stages complete]
// Then sequential verification
Task(subagent_type="oh-my-claudecode:scientist", model="opus", prompt="
[CROSS_VALIDATION]
Validate consistency across all findings:
- Finding 1: ...
- Finding 2: ...
- Finding 3: ...
")
Maximum 20 concurrent scientist agents to prevent resource exhaustion.
If more than 20 stages, batch them:
Batch 1: Stages 1-5 (parallel)
[wait for completion]
Batch 2: Stages 6-7 (parallel)
.omc/research/{session-id}/
state.json # Session state and progress
stages/
stage-1.md # Stage 1 findings
stage-2.md # Stage 2 findings
...
findings/
raw/ # Raw findings from scientists
verified/ # Post-verification findings
figures/
figure-1.png # Generated visualizations
...
report.md # Final synthesized report
{
"id": "research-20240115-abc123",
"goal": "Original research goal",
"status": "in_progress | complete | blocked | cancelled",
"mode": "standard | auto",
"iteration": 3,
"maxIterations": 10,
"stages": [
{
"id": 1,
"name": "Stage name",
"tier": "LOW | MEDIUM | HIGH",
"status": "pending | running | complete | failed",
"startedAt": "ISO timestamp",
"completedAt": "ISO timestamp",
"findingsFile": "stages/stage-1.md"
}
],
"verification": {
"status": "pending | passed | failed",
"conflicts": [],
"completedAt": "ISO timestamp"
},
"createdAt": "ISO timestamp",
"updatedAt": "ISO timestamp"
}
| Command | Action |
|---|---|
/oh-my-claudecode:sciomc status | Show current session progress |
/oh-my-claudecode:sciomc resume | Resume most recent interrupted session |
/oh-my-claudecode:sciomc resume <session-id> | Resume specific session |
/oh-my-claudecode:sciomc list | List all sessions with status |
/oh-my-claudecode:sciomc report <session-id> | Generate/regenerate report |
/oh-my-claudecode:sciomc cancel |
Scientists use structured tags for findings. Extract them with these patterns:
[FINDING:<id>] <title>
<evidence and analysis>
[/FINDING]
[EVIDENCE:<finding-id>]
- File: <path>
- Lines: <range>
- Content: <relevant code/text>
[/EVIDENCE]
[CONFIDENCE:<level>] # HIGH | MEDIUM | LOW
<reasoning for confidence level>
// Finding extraction
const findingPattern = /\[FINDING:(\w+)\]\s*(.*?)\n([\s\S]*?)\[\/FINDING\]/g;
// Evidence extraction
const evidencePattern = /\[EVIDENCE:(\w+)\]([\s\S]*?)\[\/EVIDENCE\]/g;
// Confidence extraction
const confidencePattern = /\[CONFIDENCE:(HIGH|MEDIUM|LOW)\]\s*(.*)/g;
// Stage completion
const stageCompletePattern = /\[STAGE_COMPLETE:(\d+)\]/;
// Verification result
const verificationPattern = /\[(VERIFIED|CONFLICTS):?(.*?)\]/;
When extracting evidence, include context window:
[EVIDENCE:F1]
- File: /src/auth/login.ts
- Lines: 45-52 (context: 40-57)
- Content:
```typescript
// Lines 45-52 with 5 lines context above/below
[/EVIDENCE]
### Quality Validation
Findings must meet quality threshold:
| Quality Check | Requirement |
|---------------|-------------|
| Evidence present | At least 1 [EVIDENCE] per [FINDING] |
| Confidence stated | Each finding has [CONFIDENCE] |
| Source cited | File paths are absolute and valid |
| Reproducible | Another agent could verify |
## Report Generation
### Report Template
```markdown
# Research Report: {{GOAL}}
**Session ID:** {{SESSION_ID}}
**Date:** {{DATE}}
**Status:** {{STATUS}}
## Executive Summary
{{2-3 paragraph summary of key findings}}
## Methodology
### Research Stages
| Stage | Focus | Tier | Status |
|-------|-------|------|--------|
{{STAGES_TABLE}}
### Approach
{{Description of decomposition rationale and execution strategy}}
## Key Findings
### Finding 1: {{TITLE}}
**Confidence:** {{HIGH|MEDIUM|LOW}}
{{Detailed finding with evidence}}
#### Evidence
{{Embedded evidence blocks}}
### Finding 2: {{TITLE}}
...
## Visualizations
{{FIGURES}}
## Cross-Validation Results
{{Verification summary, any conflicts resolved}}
## Limitations
- {{Limitation 1}}
- {{Limitation 2}}
- {{Areas not covered and why}}
## Recommendations
1. {{Actionable recommendation}}
2. {{Actionable recommendation}}
## Appendix
### Raw Data
{{Links to raw findings files}}
### Session State
{{Link to state.json}}
Scientists generate visualizations using this marker:
[FIGURE:path/to/figure.png]
Caption: Description of what the figure shows
Alt: Accessibility description
[/FIGURE]
Report generator embeds figures:
## Visualizations

*Caption: Description of what the figure shows*

*Caption: Description of what the figure shows*
| Type | Use For | Generated By |
|---|---|---|
| Architecture diagram | System structure | scientist |
| Flow chart | Process flows | scientist |
| Dependency graph | Module relationships | scientist |
| Timeline | Sequence of events | scientist |
| Comparison table | A vs B analysis | scientist |
Optional settings in .claude/settings.json:
{
"omc": {
"research": {
"maxIterations": 10,
"maxConcurrentScientists": 5,
"defaultTier": "MEDIUM",
"autoVerify": true,
"generateFigures": true,
"evidenceContextLines": 5
}
}
}
/oh-my-claudecode:cancel
Or say: "stop research", "cancel research", "abort"
Progress is preserved in .omc/research/{session-id}/ for resume.
Stuck in verification loop?
Scientists returning low-quality findings?
AUTO mode exhausted iterations?
Missing figures in report?
Weekly Installs
93
Repository
GitHub Stars
11.2K
First Seen
Feb 14, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykFail
Installed on
opencode91
gemini-cli90
codex90
cursor89
claude-code88
kimi-cli87
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
67,500 周安装
| Cancel current session (preserves state) |