sciomc について
sciomc は、並行調査、相互検証、レポートの統合を行う研究オーケストレーション用スキルです。チェックポイント付きの標準フローと自動実行の AUTO モードに対応し、中断したセッションも再開できます。
主な機能
- 01目標を研究ステージに分解
- 02scientist エージェントを並列実行
- 03各ステージの結果を相互検証
- 04結果を統合してレポートを作成
- 05自動実行とセッション再開
活用シーン
- 01コードベースの複雑な課題を調査
- 02複数の研究仮説を並行して検証
- 03研究ステージ間の結果を照合
- 04中断した作業を再開してレポートを作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yeachan-heo/ oh-my-claudecode --skill sciomcインストール後、Claude Code で/sciomcを入力して読み込まれたか確認します。
詳細
リサーチスキル
自律実行を完全に行うオプションの AUTO モードを備えた、科学者エージェントの並列実行による包括的なリサーチワークフローです。
概要
リサーチは、複雑なリサーチ目標を並列調査に分解する複数段階のワークフローです。
- 分解 - リサーチ目標を独立した段階/仮説に分割します
- 実行 - 各段階で科学者エージェントを並列実行します
- 検証 - 調査結果を相互検証し、一貫性を確認します
- 統合 - 結果を包括的なレポートにまとめます
使用例
/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?
リサーチプロトコル
段階分解パターン
リサーチ目標を受け取ったら、3~7 個の独立した段階に分解します。
## 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>
...
科学者エージェントの並列実行
Task ツールを使って、独立した段階を並列実行します。
// 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...")
スマートなモデル振り分け
重要:必ず model パラメーターを明示的に指定してください!
| タスクの複雑さ | エージェント | モデル | 用途 |
|---|---|---|---|
| データ収集 | scientist(model=haiku) | haiku | ファイルの列挙、パターンの集計、簡単な検索 |
| 標準的な分析 | scientist | sonnet | コード分析、パターン検出、ドキュメントのレビュー |
| 複雑な推論 | scientist | opus | アーキテクチャ分析、横断的な懸念事項、仮説の検証 |
振り分けの判断ガイド
| リサーチタスク | レベル | プロンプトの例 |
|---|---|---|
| 「X の出現回数を数える」 | 低 | 「useState フックの使用箇所をすべて数える」 |
| 「Y に一致するファイルをすべて見つける」 | 低 | 「プロジェクト内のテストファイルをすべて一覧表示する」 |
| 「パターン Z を分析する」 | 中 | 「API ルートのエラーハンドリングパターンを分析する」 |
| 「W の仕組みを説明する」 | 中 | 「認証フローを説明する」 |
| 「X が起こる理由を説明する」 | 高 | 「キャッシュレイヤーで競合状態が発生する理由を説明する」 |
| 「アプローチ A と B を比較する」 | 高 | 「この場面での状態管理における Redux と Context を比較する」 |
検証ループ
並列実行が完了したら、調査結果を検証します。
// 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 モード
AUTO モードでは、ループ制御を用いてリサーチワークフロー全体を自律的に実行します。
ループ制御プロトコル
[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}}
Promise タグ
| タグ | 意味 | 使用するタイミング |
|---|---|---|
[PROMISE:RESEARCH_COMPLETE] | リサーチが正常に完了しました | すべての段階が完了し、検証済みで、レポートが生成された |
[PROMISE:RESEARCH_BLOCKED] | 続行できません | データ不足、アクセスの問題、循環依存 |
AUTO モードのルール
- 最大反復回数: 10(設定可能)
- 次の条件まで続行: Promise タグが出力される、または最大反復回数に達する
- 状態の追跡: 各段階の完了後に状態を保存します
- キャンセル:
/oh-my-claudecode:cancelまたは「stop」、「cancel」
AUTO モードの例
/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]
並列実行パターン
独立したデータセットの分析(並列)
段階ごとに異なるデータソースを分析する場合:
// 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/...")
仮説の一括検証(並列)
複数の仮説を検証する場合:
// 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...")
相互検証(逐次)
検証にすべての調査結果が必要な場合:
// 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: ...
")
同時実行数の上限
リソースの枯渇を防ぐため、科学者エージェントの同時実行数は最大 20 です。
段階が 20 を超える場合は、バッチに分けます。
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"
}
セッションコマンド
| コマンド | 動作 |
|---|---|
/oh-my-claudecode:sciomc status | 現在のセッションの進行状況を表示します |
/oh-my-claudecode:sciomc resume | 最も新しい中断済みセッションを再開します |
/oh-my-claudecode:sciomc resume <session-id> | 指定したセッションを再開します |
/oh-my-claudecode:sciomc list | すべてのセッションとその状態を一覧表示します |
/oh-my-claudecode:sciomc report <session-id> | レポートを生成/再生成します |
/oh-my-claudecode:sciomc cancel | 現在のセッションをキャンセルします(状態は保持されます) |
タグの抽出
科学者エージェントは、調査結果に構造化タグを使用します。以下のパターンで抽出してください。
調査結果タグ
[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):?(.*?)\]/;
エビデンスウィンドウ
エビデンスを抽出する際は、コンテキストウィンドウを含めてください。
[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}}
図の埋め込みプロトコル
科学者は次のマーカーを使用して視覚化を生成します。
[FIGURE:path/to/figure.png]
Caption: Description of what the figure shows
Alt: Accessibility description
[/FIGURE]
レポート生成ツールは図を埋め込みます。
## Visualizations

*Caption: Description of what the figure shows*

*Caption: Description of what the figure shows*
図の種類
| 種類 | 用途 | 生成者 |
|---|---|---|
| アーキテクチャ図 | システム構造 | 科学者 |
| フローチャート | プロセスの流れ | 科学者 |
| 依存関係グラフ | モジュール間の関係 | 科学者 |
| タイムライン | イベントの順序 | 科学者 |
| 比較表 | AとBの分析 | 科学者 |
設定
.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/{session-id}/ に保存されます。
トラブルシューティング
検証ループから抜け出せない場合
- 各ステージ間で調査結果に矛盾がないか確認してください
- 具体的な矛盾については state.json を確認してください
- アプローチを変えて、特定のステージを再実行する必要がある場合があります
科学者から質の低い調査結果が返される場合
- ティアの割り当てを確認してください。複雑な分析には HIGH ティアが必要です
- プロンプトに明確な範囲と期待する出力形式が含まれていることを確認してください
- 調査目標の範囲が広すぎないか確認してください
AUTO モードの反復回数を使い切った場合
- 状態を確認し、どこで停止しているかを把握してください
- 利用可能なデータで目標を達成できるか確認してください
- 調査を複数の小さなセッションに分割することを検討してください
レポートに図がない場合
- figures/ ディレクトリが存在することを確認してください
- 調査結果内の [FIGURE:] タグを確認してください
- パスがセッションディレクトリからの相対パスであることを確認してください