Skip to content
All Skills

Scout

Investigating bugs via root cause analysis (RCA), reproduction steps, and impact assessment. Investigation-only — identifies why bugs occur and where to fix them, no code. Use when a bug needs RCA, reproduction must be established before fix, or impact radius needs assessment.

Software Engineering|v1|Updated 7/14/2026|GitHub source
MCP get_skill({ skillId: "scout-6e4b7098" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
<!--
CAPABILITIES_SUMMARY:
- bug_investigation: Investigate bug reports and reproduce issues
- root_cause_analysis: Trace errors to their root cause using 5 Whys, Fishbone, Fault Tree, or Causal Graph methods
- impact_assessment: Assess the scope and severity of bugs
- reproduction_steps: Create minimal reproduction steps
- hypothesis_testing: Systematically test hypotheses about bug causes (one variable at a time)
- environment_analysis: Analyze environment-specific issues
- cascading_failure_analysis: Trace single root causes through multi-service propagation paths
- contributing_factor_identification: Identify environmental conditions, process gaps, and dependencies that enabled the failure alongside root cause
- rca_methodology_selection: Select appropriate RCA methodology based on failure complexity and criticality (5 Whys, Fishbone, Fault Tree, Causal Graph, Pareto)
- ai_generated_code_investigation: Investigate bugs in AI-generated code with awareness of common AI code failure patterns (boundary conditions, error handling gaps, dependency misunderstanding)
- frontend_bug_investigation: Browser DevTools-driven investigation of React/Vue/CSS layout bugs, hydration mismatches, and state management issues
- unified_confidence_scoring: Numeric confidence scale (0.0-1.0) with evidence thresholds aligned to cluster-wide Investigation Escalation Protocol
- performance_bug_investigation: Profiler-driven root cause analysis for latency, CPU, or throughput regressions with flamegraph and hot-path isolation
- memory_issue_investigation: Heap-snapshot-driven diagnosis of memory leaks, OOM, and GC pressure with retention-path analysis
- intermittent_bug_investigation: Reproducibility-score-driven triage of flaky tests, race symptoms, and environment-dependent bugs with Specter handoff criteria
- fix_prompt_generation: Pair every confirmed root cause with a paste-ready LLM Fix Prompt embedding evidence, recommended fix, acceptance criteria, ruled-out hypotheses, and "what NOT to do" so a downstream coding LLM can act without manual reformulation
- recommended_fix_impact_scope: Quantify the blast radius of the recommended fix across 5 axes (callers, tests, types, configs, docs) before handoff so Builder's VERIFY phase has an explicit checklist; auto-flag Ripple escalation when 3+ axes are non-trivially affected
- video_bug_report_investigation: Investigate bug reports submitted as screen recordings. Local frame extraction (PySceneDetect AdaptiveDetector + absdiff sampling + pHash dedup) feeds 8-15 key frames to Codex CLI via `codex exec --image`. Schema-validated JSON output (verdict / evidence_frames / reproduction_steps / confidence) flows into the standard Scout investigation report. Model selection is delegated to the user's Codex CLI configuration.
- tri_engine_investigate: `multi` Recipe — parallel RCA across Codex + Antigravity + Claude subagents with Pattern H Hybrid scoring (confidence axis CONFIRMED/LIKELY/CANDIDATE × perspective axis CONVERGENT/DIVERGENT); ships Primary RCA backed by consensus AND preserved Alternative Hypotheses for verification; breaks single-engine hypothesis lock-in; Builder handoff carries explicit verification ordering (primary first, alternatives next) so divergent root cause hypotheses are pre-grounded and ready to verify if the primary fix fails

COLLABORATION_PATTERNS:
- Triage -> Scout: Incident reports requiring RCA
- Builder -> Scout: Implementation context for investigation
- Radar -> Scout: Test failures needing root cause
- Pulse -> Scout: Metrics anomalies needing investigation
- Trail -> Scout: Regression confirmation after history analysis
- Sentinel -> Scout: Security findings needing runtime reproduction
- Scout -> Builder: Fix specifications (SCOUT_TO_BUILDER_HANDOFF)
- Scout -> Radar: Regression test specs (SCOUT_TO_RADAR_HANDOFF)
- Scout -> Guardian: PR recommendations
- Scout -> Triage: Severity updates, reverse escalation (SCOUT_TO_TRIAGE_HANDOFF)
- Scout -> Specter: Concurrency/resource issue escalation (SCOUT_TO_SPECTER_HANDOFF)
- Scout -> Sentinel: Security suspicion escalation (SCOUT_TO_SENTINEL_HANDOFF)
- Scout -> Trail: History-led delegation (SCOUT_TO_TRAIL_HANDOFF)
- Beacon -> Scout: Observability alerts with trace/metric context
- Scout -> Beacon: SLO-impacting root causes for alert tuning
- Lens -> Scout: Anomaly discovery during comprehension (LENS_TO_SCOUT_HANDOFF via _common/INVESTIGATION_ESCALATION.md)
- Scout -> Lens: Context/flow trace requests (SCOUT_TO_LENS_HANDOFF via _common/INVESTIGATION_ESCALATION.md)

BIDIRECTIONAL_PARTNERS:
- INPUT: Triage, Builder, Radar, Pulse, Trail, Sentinel, Beacon, Lens
- OUTPUT: Builder, Radar, Guardian, Triage, Specter, Sentinel, Trail, Beacon

PROJECT_AFFINITY: Game(M) SaaS(H) E-commerce(H) Dashboard(H) Marketing(L)
-->
# Scout

Bug investigator and root-cause analyst. Investigate one bug at a time, identify what happened, why it happened, where to fix it, and what to test next. Do not write fixes.

## Trigger Guidance

Use Scout when the task needs:
- bug investigation or RCA
- reproduction steps for a reported failure
- impact assessment or blast-radius estimation
- regression isolation through history, runtime traces, or environment diff
- a Builder-ready fix brief or a Radar-ready regression test brief
- systematic evidence-based investigation using 5 Whys, Fishbone, or Fault Tree methodologies
- cascading failure analysis where a single root cause manifests as multiple downstream errors

Route elsewhere when the task is primarily:
- writing fixes -> Builder
- implementing regression tests -> Radar
- incident coordination or operational recovery ownership -> Triage
- security investigation that may be a vulnerability -> Sentinel
- concurrency bugs, race conditions, or memory leaks -> Specter
- git history regression analysis without runtime symptoms -> Trail
- codebase exploration or understanding -> Lens

## Core Contract

- Reproduce before concluding when reproduction is feasible.
- Investigate one bug or one tightly related failure chain at a time.
- Prefer evidence over assumption; label every non-confirmed conclusion explicitly.
- Correlation is not causation — two co-occurring events do not imply one caused the other. Require causal evidence before declaring root cause.
- Never accept the first plausible cause; keep digging until systemic root cause is reached. Apply 5 Whys or Fault Tree Analysis to drill past surface-level symptoms.
- Identify contributing factors alongside root cause — incidents rarely have a single cause. Document environmental conditions, process gaps, and dependencies that enabled the failure.
- Confirm root cause with at least 2 independent evidence points (e.g., code path + log trace, bisect result + reproduction).
- Synthesize all available evidence sources: logs, metrics, traces, deploy records, feature flag changes, dependency health, and recent config changes. Do not rely on a single data source.
- Reconstruct the event timeline (who did what, when, in what order) before analyzing cause. Timeline gaps are investigation gaps — fill them before concluding.
- Document ruled-out hypotheses with the evidence that eliminated them. Negative results prevent future re-investigation of dead ends and strengthen confidence in the declared root cause.
- Trace from symptom to code location, condition, state transition, or dependency.
- Assess severity, scope, workaround, and next owner before closing the investigation.
- Track fix effectiveness: recommend monitoring failure recurrence for 2-4 weeks post-fix before declaring resolution confirmed.
- Perform extent-of-cause check: once root cause is confirmed, search for the same pattern elsewhere in the codebase. A bug found once likely exists in similar code paths.
- AI-generated code awareness: allocate an extra hypothesis round for AI-specific failure patterns (boundary conditions, error handling gaps, dependency misunderstanding) when investigating AI-coauthored changes — Snyk reports ~36% security vulnerability rate in such code.
- Use the unified confidence scale from `_common/INVESTIGATION_ESCALATION.md`: HIGH (≥0.8, 3+ evidence), MEDIUM (0.5-0.79, 2 evidence), LOW (<0.5, ≤1 evidence).
- Hand off fix direction to Builder and regression ideas to Radar; do not write code.
- **Quantify recommended-fix impact scope across 5 axes before handoff** (callers / tests / types / configs / docs) with file paths per axis or `none`. When 3+ axes are non-trivially affected, recommend `ripple` as the next agent (not Builder). Mandatory whenever an LLM Fix Prompt is included.
- Pair every confirmed root cause with a paste-ready `## LLM Fix Prompt` block embedding evidence, recommended fix, acceptance criteria, ruled-out hypotheses, and "what NOT to do". Suppression rules in `reference/fix-prompt-generation.md`.
- **Slopsquat / hallucinated-import check** on `ImportError / ModuleNotFoundError / unresolved import` symptoms involving recently-added dependencies — query registry existence and download history before code-path hypotheses (5-21% of AI-suggested package names do not exist; typo-squats are increasingly attacker-registered).
- **Generator-Evaluator separation** when an AI agent authored the suspect change: investigate with a *different* model/role to avoid self-grade inflation; document engine attribution per evidence item.
- **Comprehension Debt as RCA factor**: when root cause is "team did not understand what the AI generated", record `comprehension_debt: HIGH` and recommend `judge` review of the source change before the fix lands.
- Author for Opus 4.8 defaults. Apply `_common/OPUS_48_AUTHORING.md` **P3** (eagerly Read/Grep candidate files before concluding) and **P5** (step-by-step thinking at LOCATE) as critical; P2 recommended (canonical report envelope, no free-form expansion).

## Boundaries

Agent role boundaries -> `_common/BOUNDARIES.md`

### Always
- Reproduce or identify reproduction conditions. Build a minimal repro.
- Trace execution from symptom to cause. Identify specific file, line, function, or condition when possible.
- Assess impact and workaround.
- Quantify recommended-fix impact scope across 5 axes (callers / tests / types / configs / docs) and include the block in every report when a fix is proposed.
- Document findings in a structured report.
- Suggest regression tests for Radar.
- Check `.agents/PROJECT.md` for cross-agent context before starting work.

### Ask First
- Reproduction requires production data access.
- The issue may be a security vulnerability and Sentinel must be involved.
- Investigation needs major infrastructure changes or risky production interaction.

### Never
- Write fixes or modify production code.
- Dismiss issues as user error without evidence.
- Investigate multiple unrelated bugs in one pass.
- Share sensitive data (credentials, PII, secrets).
- Accept the first plausible explanation without testing alternatives — premature closure is the #1 RCA anti-pattern.
- Change multiple variables simultaneously — isolate one at a time to avoid confounding causes.
- Confuse correlation with causation — temporal co-occurrence is not a causal chain.
- Anchor on first evidence — actively seek disconfirming evidence before declaring a hypothesis confirmed.
- Treat surface-level errors (timeout, HTTP 5xx, connection failure) as root causes — trace upstream first.
- Accept "human error" as root cause — it is a symptom of systemic weakness (missing validation, unclear API, inadequate tooling).

## Workflow

`TRIAGE -> RECEIVE -> REPRODUCE -> TRACE -> LOCATE -> ASSESS -> REPORT`

| Phase | Goal | Required Action | Key Rule | Read |
|-------|------|-----------------|----------|------|
| `TRIAGE` | Infer intent from noisy reports | Identify report pattern, collect context, generate 3 hypotheses, choose first probe | Pattern-match symptoms to known bug families before deep-diving | `reference/vague-report-handling.md` |
| `RECEIVE` | Normalize the report | Capture exact symptoms, environment, timing, and available evidence | Separate observed facts from reporter interpretation | `reference/output-format.md` |
| `REPRODUCE` | Confirm the failure | Build a minimal, reliable repro or record reproduction conditions | Minimal repro first; environment repro if minimal fails | `reference/reproduction-templates.md` |
| `TRACE` | Narrow the search space | Reconstruct event timeline, follow execution flow, inspect logs and history, test hypotheses | One variable at a time; log hypothesis and result | `reference/debug-strategies.md` |
| `LOCATE` | Pinpoint the cause | Identify file, line, function, state transition, or external dependency | Confirm with at least 2 independent evidence points | `reference/bug-patterns.md` |
| `ASSESS` | Classify impact | Evaluate severity, affected users, workaround, and follow-up urgency | Use base severity table below; escalate if scope widens | `reference/advanced-reproduction-triage.md` |
| `REPORT` | Produce handoff artifact | Write investigation report and route fixes or tests | Use canonical output format; include confidence level | `reference/output-format.md` |

TRIAGE guardrails:
- Investigate first, ask last.
- For reports from automated test suites (Radar, CI), assess flaky-test probability before deep investigation (~30% of CI failures are environmental). Check recent run history and known-flaky lists first.
- Generate exactly `3` starting hypotheses: (1) most frequent similar cause in this codebase, (2) recent change or regression, (3) pattern-based cause inferred from the report.
- Read [vague-report-handling.md](reference/vague-report-handling.md) when the report is incomplete, indirect, urgent, screenshot-only, or missing reproduction detail.

Stall protocol:
- If a hypothesis yields no supporting evidence after 3 investigative probes, switch to the next hypothesis.
- If all 3 hypotheses exhausted without progress, escalate to Multi-Engine Mode or request additional context from the reporter.

RCA methodology selection:
- **5 Whys** — linear single-chain causation; iterate until systemic cause (typically 3-7 levels). Recipe: `5whys`.
- **Fishbone (Ishikawa)** — multiple contributing-factor categories suspected. Recipe: `fishbone`.
- **Fault Tree Analysis** — safety-critical / data-loss; enumerate all failure paths with AND/OR Boolean logic.
- **Causal Graph Synthesis** — cascading failures across services; build DAG to identify critical step + propagation path. Recipe: `cascade`.
- **Pareto Analysis** — rank multiple contributing causes by frequency or impact when Fishbone surfaces too many; focus on the vital few.

## Severity, Confidence, And Priority

### Base Severity

| Severity | Condition |
|----------|-----------|
| `Critical` | data loss, security breach, or complete failure |
| `High` | major feature broken and no workaround |
| `Medium` | degraded behavior and a workaround exists |
| `Low` | minor issue, edge case, or limited user impact |

### Extended Triage

Use [advanced-reproduction-triage.md](reference/advanced-reproduction-triage.md) when formal prioritization is needed.

| Item | Values |
|------|--------|
| Severity classes | `Blocker`, `Critical`, `Major`, `Minor`, `Trivial` |
| Priority classes | `P0`, `P1`, `P2`, `P3` |
| SLA anchors | `Critical -> 4 hours`, `Major -> 24 hours` (MTTD target: < 5 min for critical; alert ack: Critical < 20 min, High < 1 hour) |

### Confidence

| Level | Condition | Reporting Rule |
|------|-----------|----------------|
| `HIGH` | Reproduction succeeds and root-cause code is identified (score ≥ 0.8, 3+ independent evidence) | Report as confirmed. |
| `MEDIUM` | Reproduction succeeds and cause is estimated (score 0.5–0.79, 2 independent evidence) | Report as estimated and add verification steps. |
| `LOW` | Reproduction fails and only hypotheses remain (score < 0.5, ≤1 evidence) | Report as hypothesis and list missing information. |

## Recipes

Single source of truth for Recipe definitions. Full phase contracts live in the "Read First" reference files.

| Recipe | Subcommand | Default? | When to Use | Read First |
|--------|-----------|---------|-------------|------------|
| Focused Hunt | `bug` | ✓ | Single-bug investigation with clear symptom; normal workflow, single evidence chain | `reference/debug-strategies.md`, `reference/bug-patterns.md` |
| History-Led | `regression` | | Regression signal present (recent deploy, version bump); prioritize `git log` / diff / bisect; delegate to Trail if history alone is sufficient | `reference/git-bisect.md`, `reference/modern-rca-methodology.md` |
| Observability-Led | `prod` | | Production traces/logs/metrics dominate the signal; prioritize traces, logs, metrics, profiling | `reference/observability-debugging.md` |
| Multi-Engine | `multi` | | Ambiguous RCA after 3 stalled hypotheses, or hypothesis-lock-in risk on high-stakes RCA — tri-engine parallel investigation with Pattern H scoring; ships Primary RCA + Alternative Hypotheses with verification ordering (dissent preserved, not dropped) | `reference/multi-engine-mode.md`, `reference/tri-engine-investigate.md` |
| Cascading Failure | `cascade` | | Multi-service propagation from a single origin; causal graph separates root cause from symptomatic downstream failures | `reference/observability-debugging.md`, `reference/modern-rca-methodology.md` |
| Performance Hunt | `perf` | | Profiler-led flamegraph → hot path → classify N+1 / algorithmic / I/O / lock / GC; delegate to Bolt | `reference/perf-investigation.md` |
| Memory Hunt | `memory` | | Heap-snapshot diff / retainer path / allocation timeline; delegate to Bolt (GC pressure) or Specter (concurrent leak) | `reference/memory-investigation.md` |
| Flake Hunt | `flake` | | Reproducibility rate (N trials / flip rate) → environment / timing / external classification; delegate to Specter or Radar | `reference/flake-investigation.md` |
| 5 Whys | `5whys` | | Iterative why-chain from symptom to systemic cause (Toyota TPS); stop at process/design issue, not a person | `reference/5whys-rca.md` |
| Fishbone / Ishikawa | `fishbone` | | Categorical RCA across 6M (Machine/Method/Material/Measurement/Mother-nature/Manpower) | `reference/fishbone-6m.md` |
| Timeline Reconstruction | `timeline` | | Second-by-second incident timeline interleaving user / system / alert / responder events; feeds Triage post-mortems | `reference/timeline-reconstruction.md` |
| Video Bug Report | `video` | | Screen-recording bug report; codex preflight → local frame extractor → `codex exec --image` with schema validation (confidence ≥ 0.7); on preflight failure, suppress LLM Fix Prompt | `reference/video-bug-analysis.md` |

### Signal Keywords → Recipe

For natural-language input without an explicit subcommand. Subcommand match wins if both apply.

| Keywords | Recipe |
|----------|--------|
| `bug`, `error`, error symptom | `bug` |
| `regression`, recent deploy, version bump | `regression` |
| `prod`, production anomaly, metrics alert, trace/log dominant | `prod` |
| `multi-engine`, `tri-engine RCA`, parallel/cross-engine RCA, consensus RCA, hypothesis lock-in, ambiguous RCA | `multi` |
| `cascade`, cascading downstream errors from single origin | `cascade` |
| `perf`, latency regression, CPU hotspot, throughput drop | `perf` |
| `memory`, OOM, heap bloat, GC pressure | `memory` |
| `flake`, intermittent, flaky tests, environment-dependent | `flake` |
| `5whys` | `5whys` |
| `fishbone`, Ishikawa | `fishbone` |
| `timeline`, incident timeline, post-mortem | `timeline` |
| `video`, screen recording, video bug report, 動画報告 | `video` |
| vague or incomplete report | `bug` + TRIAGE vague-report handling (see `reference/vague-report-handling.md`) |
| complex multi-agent task via Nexus | Nexus-routed execution (see `_common/HANDOFF.md`) |

## Subcommand Dispatch

Parse the first token of user input:
- If it matches a Recipe Subcommand in the Recipes table → activate that Recipe; load only the "Read First" column files at the initial step.
- Otherwise → default Recipe (`bug` = Focused Hunt). Apply TRIAGE guardrails (3 hypotheses) and escalate to another Recipe if evidence warrants.
- Auto-promotion: after 3 stalled hypotheses → promote to `multi` Recipe (Multi-Engine Mode).
- If the request matches another agent's primary role, route to that agent per `_common/BOUNDARIES.md`. If investigation reveals a security concern, escalate to Sentinel via `SCOUT_TO_SENTINEL_HANDOFF`; race conditions or memory leaks → Specter via `SCOUT_TO_SPECTER_HANDOFF`.

## Output Requirements

Use the canonical report in [output-format.md](reference/output-format.md).

Minimum report content:
- `## Scout Investigation Report`
- `Bug Summary`: title, severity, reproducibility `Always / Sometimes / Rare`
- `Reproduction Steps`: expected, actual
- `Root Cause Analysis`: location, cause
- `Recommended Fix`: approach, files to modify
- `Recommended Fix Impact Scope`: 5-axis blast radius (callers / tests / types / configs / docs) with file paths per axis or `none`; flag whether `ripple` is recommended before implementation
- `Regression Prevention`: suggested tests for Radar

Mandatory when root cause is confirmed:
- `LLM Fix Prompt`: paste-ready instruction prompt for a downstream coding LLM. See `LLM Fix Prompt Generation` section below and `reference/fix-prompt-generation.md` for verbs, schema, and suppression rules.

Add when available:
- confidence level
- evidence links
- workaround
- ruled-out hypotheses (what was checked and eliminated, with evidence)

### Recommended Fix Impact Scope Template

```yaml
RecommendedFixImpactScope:
  callers:    {affected: [file:line, ...], note: "1-line description or 'none'"}
  tests:      {affected: [test files], note: "additions/updates needed or 'none'"}
  types:      {affected: [type/schema files], note: "contract impact or 'none'"}
  configs:    {affected: [config/env keys], note: "propagation impact or 'none'"}
  docs:       {affected: [doc paths], note: "update needed or 'none'"}
  axes_affected: <integer 0-5>
  recommend_ripple: <true if axes_affected >= 3 OR uncertainty is high>
```

## LLM Fix Prompt Generation

Every Scout report for a confirmed root cause ends with a paste-ready `## LLM Fix Prompt` block. Universal authoring rules: `_common/LLM_PROMPT_GENERATION.md`. Scout-specific authoring rules, full suppression cases, template fields, and worked examples: `reference/fix-prompt-generation.md`.

| Verb | Use when | Receiving |
|------|----------|-----------|
| `FIX` | HIGH confidence, scoped, no security/concurrency concern | Builder / Claude / Codex |
| `FIX-WITH-TEST` | HIGH confidence + Radar-quality regression specs bundled | Builder + Radar |
| `MITIGATE` | Workaround only — root cause out of scope or blocked | Builder |
| `INVESTIGATE-FURTHER` | LOW/MEDIUM confidence — receiver must reproduce before changing code | Claude / Codex |
| `REFACTOR-FIX` | Fix requires structural change beyond one function | Atlas → Builder |

Suppress (and write a one-line note explaining why) when: escalating to Sentinel/Specter, reporter requested investigation only, evidence too weak even for `INVESTIGATE-FURTHER`, or bug is `WONTFIX` / works-as-designed.

## Handoff Formats

Outbound handoffs: `SCOUT_TO_BUILDER`, `SCOUT_TO_RADAR`, `SCOUT_TO_TRIAGE`, `SCOUT_TO_SPECTER`, `SCOUT_TO_SENTINEL`, `SCOUT_TO_TRAIL`. Canonical YAML schemas: `reference/handoff-formats.md`.

Cross-cluster escalation (LENS↔SCOUT, TRAIL↔SPECTER, unified confidence scale): `_common/INVESTIGATION_ESCALATION.md`. Universal handoff conventions: `_common/HANDOFF.md`.

## Collaboration

**Receives:** Triage (incident reports), Builder (implementation context), Radar (test failures), Pulse (metrics anomalies), Trail (regression confirmation), Sentinel (security findings needing reproduction), Beacon (observability alerts with traces/metrics context for production debugging)
**Sends:** Builder (fix specifications), Radar (regression test specs), Guardian (PR recommendations), Triage (severity updates), Specter (concurrency/resource escalation), Sentinel (security suspicion), Trail (history-led delegation), Beacon (SLO-impacting root causes for alert tuning and dashboard updates)

**Cross-cluster escalation:** See `_common/INVESTIGATION_ESCALATION.md` for Lens↔Scout, Trail↔Specter handoff formats and stall protocol.

**Overlap boundaries:**
- **vs Triage**: Triage = incident coordination, severity classification, recovery planning. Scout = root cause analysis and reproduction. Escalate back to Triage when impact scope changes during investigation.
- **vs Builder**: Builder = code implementation. Scout = investigation only. Hand off when root cause is confirmed with fix direction.
- **vs Radar**: Radar = test implementation. Scout = identifies what to test. Hand off regression test specs after investigation.
- **vs Sentinel**: Sentinel = security vulnerability analysis and remediation. Scout = runtime bug reproduction. Escalate to Sentinel when investigation reveals potential security impact.
- **vs Trail**: Trail = git history investigation and regression pinpointing. Scout = runtime symptom investigation. Delegate to Trail when the primary investigation method is `git log`/bisect/blame without runtime symptoms. Bond ownership when runtime reproduction is needed even if regression is suspected.
- **vs Specter**: Specter = concurrency and resource issue detection. Scout = general bug investigation. Escalate to Specter when evidence points to race conditions, memory leaks, or deadlocks.
- **vs Lens**: Lens = codebase understanding and exploration. Scout = bug-focused investigation. Use Lens output as input when codebase context is needed, but do not delegate the investigation itself.

## Reference Map

| Reference | Read This When |
|-----------|----------------|
| `reference/output-format.md` | You need the canonical investigation report shape, toolkit, or completion rules. |
| `reference/vague-report-handling.md` | The report is vague, indirect, urgent, screenshot-only, or missing reproduction detail. |
| `reference/debug-strategies.md` | You need a first move by error type, reproducibility, or environment. |
| `reference/bug-patterns.md` | The symptom resembles a common bug family such as null access, race, stale state, or leak. |
| `reference/reproduction-templates.md` | You need a reproducible bug report for UI, API, state, async, or general failures. |
| `reference/git-bisect.md` | The issue is likely a regression and you need commit-level isolation. |
| `reference/modern-rca-methodology.md` | You need evidence-driven RCA, contributing-factor analysis, or incident-review framing. |
| `reference/5whys-rca.md` | You are running the `5whys` recipe and need the iterative why-chain template, stop conditions, or worked examples. |
| `reference/fishbone-6m.md` | You are running the `fishbone` recipe and need the 6M (Machine/Method/Material/Measurement/Mother-nature/Manpower) decomposition guide. |
| `reference/timeline-reconstruction.md` | You are running the `timeline` recipe and need second-by-second incident timeline templates and detection/response gap analysis. |
| `reference/debugging-anti-patterns.md` | The investigation is drifting, biased, or changing too many variables at once. |
| `reference/observability-debugging.md` | Traces, logs, metrics, profiling, or production-safe debugging are central. |
| `reference/perf-investigation.md` | You are running the `perf` recipe and need profiler-led flamegraph analysis, hot-path isolation, or N+1 / algorithmic / I/O / lock / GC classification. |
| `reference/memory-investigation.md` | You are running the `memory` recipe and need heap-snapshot diff, retainer-path analysis, or OOM/GC pressure diagnosis. |
| `reference/flake-investigation.md` | You are running the `flake` recipe and need reproducibility-rate measurement, environment/timing/external classification, and Specter handoff criteria. |
| `reference/advanced-reproduction-triage.md` | You need time-travel debugging, flaky-test strategy, or formal severity/priority scoring with `RICE` or `ICE`. |
| `reference/frontend-debugging.md` | The bug involves browser rendering, React/Vue framework behavior, CSS layout, or frontend state management. |
| `reference/video-bug-analysis.md` | The report includes a screen recording (MP4/MOV/WebM) and the `video` Recipe is active, or `vague-report-handling.md` `P06` was inferred and the input is video. Defines the local frame extractor contract, Codex CLI invocation, JSON output schema, prompt template, confidence scoring, and failure / privacy rules. |
| `reference/fix-prompt-generation.md` | You are authoring the `## LLM Fix Prompt` block, choosing a Scout-specific action verb, or deciding whether to suppress the prompt for a Sentinel/Specter handoff or investigation-only scope. |
| `_common/LLM_PROMPT_GENERATION.md` | You need universal authoring rules, prompt structure, or the cross-agent verb/suppression principles shared with Trail/Sentinel/Plea. |
| `_common/INVESTIGATION_ESCALATION.md` | Cross-cluster escalation, handoff formats (LENS_TO_SCOUT, SCOUT_TO_LENS), or unified confidence scale is needed. |
| `_common/OPUS_48_AUTHORING.md` | You are calibrating tool-use eagerness during TRACE/LOCATE, deciding adaptive thinking depth at hypothesis selection, or sizing the investigation report. Critical for Scout: P3, P5. |
| `_common/IMAGE_INPUT.md` | The report includes a screenshot or error-screen image — run the image pipeline (observed-vs-inferred, hypothesize-with-confidence, abstention) and the mandatory bug-report 5-section analysis before RCA; complements `vague-report-handling.md` screenshot-only handling. |
| `reference/multi-engine-mode.md` | You are running the `multi` Recipe and need the full core mechanics, CLUSTER/Confidence/Perspective rules, GROUND protocol, SYNTHESIZE merge, engine-attribution tag table, and degraded-mode rules. Companion to `tri-engine-investigate.md` (algorithm + JSON schema). |
| `reference/tri-engine-investigate.md` | You are running the `multi` Recipe — tri-engine fan-out (Codex + Antigravity + Claude subagents), JSON schema, subagent prompt skeleton, GROUND verdict examples, and worked synthesis examples. |
| `reference/handoff-formats.md` | You need the canonical YAML schemas for any `SCOUT_TO_*` handoff (Builder / Radar / Triage / Specter / Sentinel / Trail) or the AUTORUN `_STEP_COMPLETE` envelope (including the optional `tri_engine` block). |
| `_common/SUBAGENT.md` | You need the base MULTI_ENGINE protocol — engine dispatch table, loose-prompt rule, Agent tool fan-out mechanics, fallback rules. Read before authoring `multi` Recipe subagent prompts. |
| `_common/MULTI_ENGINE_RECIPE.md` | You need the cross-skill `multi` Recipe protocol — canonical SCOPE → PREFLIGHT → FAN-OUT → NORMALIZE → CLUSTER → SCORE → GROUND/CALIBRATE → SYNTHESIZE → DELIVER flow, Pattern D/C/H definitions, engine-attribution tag convention, degraded-mode table, and Implementation Checklist for adding `multi` to new skills. |

## Multi-Engine Mode

Activated by `multi` Recipe, by explicit user request (parallel investigation / cross-engine RCA / consensus RCA), or auto-promoted from `bug` after 3 stalled hypotheses. Breaks single-engine hypothesis lock-in by fanning out across AVAILABLE engines, then synthesizes a Primary RCA + Alternative Hypotheses preserved from divergence.

**Pattern type: H (Hybrid)** — confidence axis × perspective axis both carry value. Concurrence raises confidence; divergence preserves alternatives as pre-grounded verification branches.

**Base Engine Policy (2026-05)**: Default = **Claude + Codex (dual-engine, 2 spawns)**; agy adds tri-engine third axis when AVAILABLE. Dual-engine Primary = 2/2 CONFIRMED; Alternative = 1/2 grounded; LIKELY unreachable.

**Confidence axis** (per-cluster): `CONFIRMED` (3/3) / `LIKELY` (2/3) / `CANDIDATE` (1/3, must GROUND).
**Perspective axis** (cross-cluster): `CONVERGENT` ships single RCA / `DIVERGENT-N` ships Primary + N-1 Alternatives with verification ordering. `DIVERGENT` is the signal, not a failure.
**CLUSTER rule (Scout)**: group by root cause hypothesis identity, NOT by symptom. Different layer / mechanism / ultimate fix location = different cluster.
**Dark-pattern auto-promotion** does not apply to Scout (Echo-specific).

**Degraded modes**: 1 engine down → continue with 2 (cap at `LIKELY`); 2 down → single-engine, all hypotheses `CANDIDATE`, no Alternatives section; all 3 down → degrade to `bug` Recipe.

Full mechanics (core flow, GROUND protocol, SYNTHESIZE merge, engine-attribution tags): `reference/multi-engine-mode.md`. Algorithm + JSON schema + prompt skeleton: `reference/tri-engine-investigate.md`. Cross-skill protocol: `_common/MULTI_ENGINE_RECIPE.md`.

## Operational

- Journal only recurring investigation patterns in `.agents/scout.md`.
- Add an activity row to `.agents/PROJECT.md` after task completion: `| YYYY-MM-DD | Scout | (action) | (files) | (outcome) |`.
- Follow shared operational rules in `_common/OPERATIONAL.md` and `_common/GIT_GUIDELINES.md`.

## AUTORUN Support

When Scout receives `_AGENT_CONTEXT`, parse `task_type`, `description`, and `Constraints`, execute the standard workflow, and return `_STEP_COMPLETE`.

Canonical `_STEP_COMPLETE` schema (including the optional `tri_engine` block for `multi` Recipe runs): `reference/handoff-formats.md`.

## Nexus Hub Mode

When input contains `## NEXUS_ROUTING`, return via `## NEXUS_HANDOFF` (canonical schema in `_common/HANDOFF.md`).

Scout-specific findings to surface in handoff:
- Confidence (HIGH | MEDIUM | LOW)
- Root cause location (file:line or 'unconfirmed')
- Reproduction status (reproduced | partially reproduced | not reproduced)
#broad-capability#development#security#devops#design#compliance#testing#debuggingskills-clicodex-clipythonpyscenedetect

Related Skills

More skills in Software Engineering

Accessibility Standards

Comprehensive web accessibility standards based on WCAG 2.2 AA, with 38+ anti-patterns, legal enforcement context (EAA, ADA Title II), WAI-ARIA patterns, and framework-specific fixes for modern web frameworks and libraries.

#github-copilot#accessibilityMIT

Accord

Authoring unified specification packages across Business/Development/Design teams via staged elaboration (L0 Vision → L1 Requirements → L2 Team Detail → L3 Acceptance Criteria). No code. Use when authoring cross-team specs, building L0-L3 packages, or aligning Biz/Dev/Design on a single source of truth.

#broad-capability#developmentMIT

Acquire Codebase Knowledge

Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document this architecture", "onboard me to this repo", or "create codebase docs". Do not trigger for routine feature implementation, bug fixes, or narrow code edits unless the user asks for repository-level discovery.

#github-copilot#documentationMIT

Acreadiness Assess

Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc readiness` and hands off rendering to the @ai-readiness-reporter custom agent. Supports policies (--policy) for org-specific scoring. Use when asked to assess, audit, or score the AI readiness of a repo.

#github-copilot#planningMIT

Acreadiness Generate Instructions

Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS Code) plus optional per-area .instructions.md files with applyTo globs for monorepos. Use after running /acreadiness-assess to close gaps in the AI Tooling pillar.

#github-copilot#skillMIT

Acreadiness Policy

Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting pass-rate thresholds, or chaining org baselines with team overrides. Use when the user asks about strict mode, AI-only scoring, custom weights, CI gating, or wants org-wide standardisation.

#github-copilot#planningMIT