Skill v1.0.1
currentAutomated scan100/100+5 new
version: "1.0.1" name: deep-explore description: "Multi-wave parallel code exploration orchestrator. Use when: large-scale codebase research, understanding complex cross-domain systems, deep investigation needing multiple perspectives simultaneously. Not for: quick lookup (use code-explore), dual confirmation (use code-investigate), code review (use codex-code-review). Output: unified exploration report with completeness scoring." allowed-tools: Read, Grep, Glob, Bash, Agent
Deep Explore Skill
Trigger
- Keywords: deep explore, large-scale research, multi-agent explore, codebase survey, parallel investigation, comprehensive research, deep dive multiple areas
When NOT to Use
| Scenario | Alternative | |
|---|---|---|
| Quick single-area lookup | /code-explore | |
| Dual Claude+Codex confirmation | /code-investigate | |
| Git history tracking | /git-investigate | |
| Code review | /codex-review-fast |
Workflow Overview
flowchart TDA[Phase 0: Intent Analysis] --> B{Files > 25?}B -->|No| C[Redirect to /code-explore]B -->|Yes| D[Wave 1: Breadth]D --> E[Gather + Claim Registry]E --> F[Wave 2: Depth]F --> G{Completeness Gate}G -->|score >= 80 + no critical Qs| H[Report]G -->|score < 80 OR critical Qs| I[Wave 3: Cross-cutting]I --> H
Phase 0: Intent Analysis
- Parse user's research question
- Estimate scope:
Grepfor related keywords → count unique files - Routing guard: if estimated files <= 25, redirect to
/code-explore - Plan shards: identify 2-3 non-overlapping exploration areas
Shard Planning Strategy
| Priority | Method | When | |
|---|---|---|---|
| 1 | User-specified areas (--areas) | User knows what to split | |
| 2 | Domain-based clustering | Auto-detect service/provider/hooks/rules boundaries | |
| 3 | Directory-based fallback | When domain boundaries unclear |
Output: ownership matrix (shard → files).
Wave 1: Breadth (Mandatory)
Fan-out 2-3 Explore agents in parallel. Each agent explores one shard.
Agent({description: "Wave 1 Shard A: <area description>",subagent_type: "Explore",run_in_background: true,prompt: <agent-prompt template from references/agent-prompt.md>});
All agents dispatched in a single message (parallel). Wait for all to complete.
Agent Contract (80/20)
| Allocation | Scope | Limit | |
|---|---|---|---|
| 80% | Primary assigned shard | Unlimited findings | |
| 20% | Peripheral vision (security, edge cases, cross-cutting) | Max 2 peripheral findings |
Peripheral findings must be evidence-backed (file:line) and tagged: cross-cutting | security | reliability | operability.
Inter-Wave: Gather + Plan
After each wave, the orchestrator:
- Collect all agent results
- Build claim registry (see
references/synthesis.md) - Rank open questions by
impact × uncertainty - Build context packet for next wave
Context Packet (what to pass forward)
| Pass | Don't Pass | |
|---|---|---|
| Evidence-backed facts (file:line) | Prior wave conclusions as truth | |
| Open Qs ranked by impact × uncertainty | Narrative interpretations | |
| Do-not-repeat ledger (explored files, executed queries) | Full raw findings dump | |
| Contradiction list | Agent opinions without evidence |
Wave 2: Depth (Mandatory)
Focus on top hotspots from Wave 1, ranked by impact × uncertainty × blast_radius.
- 2-3 agents, each assigned one hotspot for deep dive
- Context packet from Wave 1 provided (facts + questions, not conclusions)
- Agents verify Wave 1 hypotheses independently
Completeness Gate
After Wave 2 (and Wave 3 if run), compute completeness score.
2-Signal Completeness Score
score = round(100 × (0.7 × (1 - novelty_rate) + 0.3 × is_zero(critical_open)))Where:novelty_rate = unique_new_findings / max(1, total_valid_findings)critical_open = count(questions where impact=high AND uncertainty=high)is_zero(x) = 1 if x == 0, else 0
Zero findings → novelty_rate = 0 → score = 70 (below threshold → continue).
Stop Conditions
| Condition | Action | |
|---|---|---|
score >= 80 AND critical_open == 0 | Stop, output report | |
score >= 80 AND critical_open > 0 | Wave 3 (if not yet run) | |
Wave 3 done AND score < 80 | Stop with Inconclusive + next actions |
Hard-Fail Overrides (force continue)
- Unanswered critical user question
- High-severity contradiction unresolved
- Evidence missing for high-impact claim
Precedence (--waves is hard ceiling)
User --waves | Hard-fail active | Behavior | |
|---|---|---|---|
--waves 2 | No | Stop after Wave 2 | |
--waves 2 | Yes | Stop after Wave 2 with Inconclusive | |
--waves 3 | No | Adaptive (stop early if score met) | |
--waves 3 | Yes | Force Wave 3 |
User --waves never exceeded. Hard-fail emits Inconclusive with explanation.
Wave 3: Cross-cutting (Optional)
Triggered only when:
- Unresolved critical open questions are cross-cutting, OR
- Findings >70% concentrated in 1 subsystem, OR
- High-risk domain flags (auth/security/migration)
If no trigger conditions met, skip Wave 3 even if score < 80.
Agents in Wave 3 follow 80/20 contract. If trigger is cross-cutting, one agent may operate as conditional scout with broader mandate.
Agent Dispatch Contract
// Primary: Agent tool with subagent_type=ExploreAgent({description: "Wave N Shard X: <description>",subagent_type: "Explore",run_in_background: true,prompt: `<from references/agent-prompt.md>`});
Fallback (if Explore dispatch fails):
- Retry with
subagent_type: "general-purpose" - If still fails → degrade to single-agent inline exploration
- Mark coverage gap in report
Claim Registry (Synthesis)
See references/synthesis.md for full algorithm.
| Step | Action | |
|---|---|---|
| 1. Normalize | {claim, evidence(file:line), shard, wave, confidence} | |
| 2. Dedup | Key = canonical_file_path + canonical_claim_text (±5 line tolerance) | |
| 3. Consensus | Same claim from 2+ shards → [consensus] | |
| 4. Conflict | Contradicting claims → evidence-weight resolution | |
| 5. Divergence | Unresolvable → explicit divergence section |
Evidence redaction: follow @rules/logging.md — no secrets, file:line refs only.
Arguments
| Argument | Description | Default | |
|---|---|---|---|
<query> | Research topic/question | Required | |
--agents N | Agents per wave (1-3) | 3 | |
--waves N | Max waves (2-3) | 3 (adaptive) | |
--areas "a, b, c" | Manual shard specification | Auto-detect | |
--quick | Redirect to /code-explore | Off |
Output
See references/synthesis.md for report template.
## Deep Exploration Report: <query>### Completeness-Score: <N>/100-Waves executed: <N>-Agents dispatched: <N>### Executive Summary<2-3 sentence answer to user's question>### Per-Wave Findings| Wave | Focus | Key Findings | Open Qs ||------|-------|-------------|---------|### Claim Registry| # | Claim | Evidence | Source | Confidence | Consensus ||---|-------|----------|--------|------------|-----------|### Coverage Matrix| Shard | Files Explored | Ownership ||-------|---------------|-----------|### Proactive Discoveries (from 20% peripheral)| # | Finding | Tag | Evidence ||---|---------|-----|----------|### Divergence (if any)| # | Claim A | Claim B | Source Agents | Status ||---|---------|---------|--------------|--------|### Residual Risks-<remaining unknowns and suggested follow-up commands>
Verification Checklist
- [ ] Phase 0 correctly estimated scope and planned shards
- [ ] Wave 1 dispatched agents in parallel (single message)
- [ ] Wave 2 focused on highest-impact hotspots
- [ ] Completeness score computed and displayed
- [ ] Claim registry built with dedup and conflict resolution
- [ ] Inter-wave context did not pass conclusions as truth
- [ ] Report includes coverage matrix and residual risks
- [ ] No
git add/commit/pushexecuted
References
- Agent prompt template:
references/agent-prompt.md - Synthesis algorithm + report template:
references/synthesis.md - Standards: @rules/docs-writing.md
Examples
Input: /deep-explore "How does the review pipeline work end-to-end?"Action: Phase 0 → Wave 1 (hooks, skills/review, rules/auto-loop) → Wave 2 (state machine, gate logic) → ReportInput: /deep-explore --areas "hooks, skills/codex-code-review, rules" "Review system architecture"Action: Phase 0 (user shards) → Wave 1 (3 agents) → Wave 2 (hotspots) → ReportInput: /deep-explore --quick "How does review-state.js work?"Action: Redirect to /code-explore (small scope)Input: /deep-explore --agents 2 --waves 2 "Plugin install flow"Action: Phase 0 → Wave 1 (2 agents) → Wave 2 (2 agents) → Report (max 2 waves)