openclaw-skills/scout/SKILL.md
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.
npx skillsauth add seaworld008/commonly-used-high-value-skills scoutInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Use Scout when the task needs:
Route elsewhere when the task is primarily:
_common/INVESTIGATION_ESCALATION.md: HIGH (≥0.8, 3+ evidence), MEDIUM (0.5-0.79, 2 evidence), LOW (<0.5, ≤1 evidence).none. When 3+ axes are non-trivially affected, recommend ripple as the next agent (not Builder). Mandatory whenever an LLM Fix Prompt is included.## 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.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).comprehension_debt: HIGH and recommend judge review of the source change before the fix lands._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).Agent role boundaries -> _common/BOUNDARIES.md
.agents/PROJECT.md for cross-agent context before starting work.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:
3 starting hypotheses: (1) most frequent similar cause in this codebase, (2) recent change or regression, (3) pattern-based cause inferred from the report.Stall protocol:
RCA methodology selection:
5whys.fishbone.cascade.| 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 |
Use 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) |
| 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. |
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) | reference/memory-investigation.md |
| Flake Hunt | flake | | Reproducibility rate (N trials / flip rate) → environment / timing / external classification; delegate to 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 |
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) |
Parse the first token of user input:
bug = Focused Hunt). Apply TRIAGE guardrails (3 hypotheses) and escalate to another Recipe if evidence warrants.multi Recipe (Multi-Engine Mode)._common/BOUNDARIES.md. If investigation reveals a security concern, escalate to Sentinel via SCOUT_TO_SENTINEL_HANDOFF.Use the canonical report in output-format.md.
Minimum report content:
## Scout Investigation ReportBug Summary: title, severity, reproducibility Always / Sometimes / RareReproduction Steps: expected, actualRoot Cause Analysis: location, causeRecommended Fix: approach, files to modifyRecommended 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 implementationRegression Prevention: suggested tests for RadarMandatory 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:
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>
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, reporter requested investigation only, evidence too weak even for INVESTIGATE-FURTHER, or bug is WONTFIX / works-as-designed.
Outbound handoffs: SCOUT_TO_BUILDER, SCOUT_TO_RADAR, SCOUT_TO_TRIAGE, SCOUT_TO_SENTINEL, SCOUT_TO_TRAIL. Canonical YAML schemas: reference/handoff-formats.md.
Cross-cluster escalation (LENS↔SCOUT, unified confidence scale): _common/INVESTIGATION_ESCALATION.md. Universal handoff conventions: _common/HANDOFF.md.
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), 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 handoff formats and stall protocol.
Overlap boundaries:
git log/bisect/blame without runtime symptoms. Bond ownership when runtime reproduction is needed even if regression is suspected.| 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 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 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 / 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. |
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.
.agents/scout.md..agents/PROJECT.md after task completion: | YYYY-MM-DD | Scout | (action) | (files) | (outcome) |._common/OPERATIONAL.md and _common/GIT_GUIDELINES.md.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.
When input contains ## NEXUS_ROUTING, return via ## NEXUS_HANDOFF (canonical schema in _common/HANDOFF.md).
Scout-specific findings to surface in handoff:
development
Enumerating failure modes via pre-mortem analysis. Systematically identifies failure scenarios for plans, designs, and features, scoring them with RPN/AP. Does not write code.
testing
Orchestrating specialist AI agent teams as a meta-coordinator. Decomposes requests into minimum viable chains, spawns each as an independent session in AUTORUN modes, and drives to final output. Use when a task spans multiple specialist domains, requires parallel agent execution, or needs hub-and-spoke routing across the skill ecosystem.
development
Converting document formats (Markdown/Word/Excel/PDF/HTML). Converts specs from Scribe and reports from Harvest into distributable formats; generates reusable conversion scripts. Use when converting documents, building accessibility-compliant PDFs, or creating Pandoc/LibreOffice pipelines.
testing
Curating cross-agent knowledge and guarding institutional memory. Extracts patterns from agent journals into METAPATTERNS.md, detects knowledge decay, propagates best practices, prevents organizational forgetting. Use when consolidating cross-agent insights, curating memory, or auditing knowledge decay.