From sd0x-dev-flow
Orchestrates multi-wave parallel agent exploration for large-scale codebase research (>25 files) and complex cross-domain systems, outputting unified reports with completeness scores.
npx claudepluginhub sd0xdev/sd0x-dev-flow --plugin sd0x-dev-flowThis skill is limited to using the following tools:
- Keywords: deep explore, large-scale research, multi-agent explore, codebase survey, parallel investigation, comprehensive research, deep dive multiple areas
Explores codebases on a topic via grep and prior knowledge search with ao, writing multi-angle findings to .agents/research/*.md.
Orchestrates autonomous deep research on codebases and technical topics via map-reduce explorer architecture with sub-agents, generating structured reports.
Performs deep codebase exploration with parallel agents to discover architecture, find files, trace data flows, analyze patterns, and assess code health. Invoke for repo walkthroughs or feature tracing.
Share bugs, ideas, or general feedback.
| Scenario | Alternative |
|---|---|
| Quick single-area lookup | /code-explore |
| Dual Claude+Codex confirmation | /code-investigate |
| Git history tracking | /git-investigate |
| Code review | /codex-review-fast |
flowchart TD
A[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
Grep for related keywords → count unique files/code-explore| 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).
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.
| 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.
After each wave, the orchestrator:
references/synthesis.md)impact × uncertainty| 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 |
Focus on top hotspots from Wave 1, ranked by impact × uncertainty × blast_radius.
After Wave 2 (and Wave 3 if run), compute 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).
| 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 |
--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.
Triggered only when:
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.
// Primary: Agent tool with subagent_type=Explore
Agent({
description: "Wave N Shard X: <description>",
subagent_type: "Explore",
run_in_background: true,
prompt: `<from references/agent-prompt.md>`
});
Fallback (if Explore dispatch fails):
subagent_type: "general-purpose"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.
| 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 |
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>
git add/commit/push executedreferences/agent-prompt.mdreferences/synthesis.mdInput: /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) → Report
Input: /deep-explore --areas "hooks, skills/codex-code-review, rules" "Review system architecture"
Action: Phase 0 (user shards) → Wave 1 (3 agents) → Wave 2 (hotspots) → Report
Input: /deep-explore --quick "How does emit-review-gate 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)