一键导入
parallel-exploration
Use when you need parallel, read-only exploration with task() (Scout fan-out)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when you need parallel, read-only exploration with task() (Scout fan-out)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Use when working with Docker containers — debugging container failures, writing Dockerfiles, docker-compose for integration tests, image optimization, or deploying containerized applications
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Use when you need parallel, read-only exploration with the agent tool (Scout fan-out)
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
| name | parallel-exploration |
| description | Use when you need parallel, read-only exploration with task() (Scout fan-out) |
When you need to answer "where/how does X work?" across multiple domains (codebase, tests, docs, OSS), investigating sequentially wastes time. Each investigation is independent and can happen in parallel.
Core principle: Decompose into independent sub-questions that fit in one context window, spawn one task per sub-question, then synthesize the bounded results.
Safe in Planning mode: This is read-only exploration. It is OK to use during exploratory research even when there is no feature, no plan, and no approved tasks.
This skill is for read-only research. For parallel implementation work, use hive_skill("dispatching-parallel-agents") with hive_worktree_start.
Default to this skill when: Use when:
Only skip this skill when:
Important: Do not treat "this is exploratory" as a reason to avoid delegation. This skill is specifically for exploratory research when fan-out makes it faster and cleaner.
Split your investigation into 2-4 independent sub-questions. Each sub-question should fit in one context window. If a request will not fit in one context window, narrow the slice, capture bounded findings, and return to Hive with recommended next steps instead of pushing toward an oversized final report. Good decomposition:
| Domain | Question Example |
|---|---|
| Codebase | "Where is X implemented? What files define it?" |
| Tests | "How is X tested? What test patterns exist?" |
| Docs/OSS | "How do other projects implement X? What's the recommended pattern?" |
| Config | "How is X configured? What environment variables affect it?" |
Bad decomposition (dependent questions):
Stop and return to Hive when:
Launch all tasks before waiting for any results:
// Parallelize by issuing multiple task() calls in the same assistant message.
task({
subagent_type: 'scout-researcher',
description: 'Find API route implementation',
prompt: `Where are API routes implemented and registered?
- Find the tool definition
- Find the plugin registration
- Return file paths with line numbers`,
});
task({
subagent_type: 'scout-researcher',
description: 'Analyze background task concurrency',
prompt: `How does background task concurrency/queueing work?
- Find the manager/scheduler code
- Document the concurrency model
- Return file paths with evidence`,
});
task({
subagent_type: 'scout-researcher',
description: 'Find parent notification mechanism',
prompt: `How does parent notification work for background tasks?
- Where is the notification built?
- How is it sent to the parent session?
- Return file paths with evidence`,
});
Key points:
subagent_type: 'scout-researcher' for read-only explorationdescriptionAfter the fan-out message, collect the task results through the normal task() return flow. Do not invent background polling or a separate async workflow.
When each task completes, its result is returned directly. Collect the outputs from each task and proceed to synthesis.
Combine results from all tasks:
No manual cancellation is required in task mode.
Investigate [TOPIC] in the codebase:
- Where is [X] defined/implemented?
- What files contain [X]?
- How does [X] interact with [Y]?
Return:
- File paths with line numbers
- Brief code snippets as evidence
- Key patterns observed
Investigate how [TOPIC] is tested:
- What test files cover [X]?
- What testing patterns are used?
- What edge cases are tested?
Return:
- Test file paths
- Example test patterns
- Coverage gaps if obvious
Research [TOPIC] in external sources:
- How do other projects implement [X]?
- What does the official documentation say?
- What are common patterns/anti-patterns?
Return:
- Links to relevant docs/repos
- Key recommendations
- Patterns that apply to our codebase
Investigation: "How does the API routing system work?"
Decomposition:
Fan-out:
// Parallelize by issuing multiple task() calls in the same assistant message.
task({
subagent_type: 'scout-researcher',
description: 'Find API route implementation',
prompt: 'Where are API routes implemented? Find tool definition and registration.',
});
task({
subagent_type: 'scout-researcher',
description: 'Analyze concurrency model',
prompt: 'How does background task concurrency work? Find the manager/scheduler.',
});
task({
subagent_type: 'scout-researcher',
description: 'Find notification mechanism',
prompt: 'How are parent sessions notified of task completion?',
});
Results:
background-tools.ts (tool definition), index.ts (registration)manager.ts with concurrency=3 default, queue-based schedulingsession.prompt() call in manager for parent notificationSynthesis: Complete picture of background task lifecycle in ~1/3 the time of sequential investigation.
Spawning sequentially (defeats the purpose):
// BAD: Wait for each before spawning next
await task({ ... });
await task({ ... });
// GOOD: Spawn all in the same assistant message
task({ ... });
task({ ... });
task({ ... });
Too many tasks (diminishing returns):
Dependent questions:
Using for edits:
After using this pattern, verify:
task() fan-out pattern used for parallel exploration