Purpose
Diagnose Android issues with hypothesis-ranked investigation, reproducible experiments, and evidence-based root-cause closure.
Scope and authority
This skill is root-cause authority for incident triage and narrowing workflow.
When not to use
- when the primary question is architecture topology rather than incident diagnosis (
android-architecture) - when the task is release go/no-go decision without active root-cause investigation (
android-release-engineering)
When to use
- intermittent crashes and inconsistent behavior
- cross-layer regressions
- environment- or device-specific failures
Decision engine workflow
- Define symptom, scope, and impact.
- Build reproducibility matrix.
- Rank hypotheses by likelihood and blast radius.
- Add targeted instrumentation.
- Run narrowing experiments and update confidence per hypothesis.
- Propose fix candidates and verification path.
Branching decision tree
Branch A: reproducibility state
reproducible:- run controlled experiments and binary-search recent changes
non-reproducible:- invest first in telemetry and environment narrowing before proposing fixes
Branch B: incident severity
production-impacting:- optimize for fast containment and rollback-safe mitigation
non-blocking:- optimize for high-confidence root-cause isolation before code change
Branch C: issue class
crash-heavy:- prioritize crash signature clustering and deterministic repro around top signatures
ANR/jank-heavy:- prioritize thread-state and timing instrumentation; escalate to
android-performance
- prioritize thread-state and timing instrumentation; escalate to
data-integrity risk:- prioritize correctness containment and rollback-safe mitigations
Quantitative gates
Use measurable debugging gates before declaring closure:
- reproducibility gate:
passwhen deterministic repro or high-signal repro matrix existsat-riskwhen repro is intermittent but boundedfailwhen no meaningful repro path exists
- evidence convergence gate:
passwhen top hypothesis has converging signals across independent instrumentationat-riskwhen signals are partially convergentfailwhen evidence conflicts materially
- verification gate:
passwhen proposed fix eliminates symptom in controlled validation runsat-riskwhen partial improvement onlyfailwhen regression or no improvement appears
Uncertainty protocol
Always provide confidence per primary hypothesis:
High(>= 0.80)Medium(0.60-0.79)Low(< 0.60)
If confidence is medium/low:
- list assumptions explicitly
- request minimum additional evidence needed to finalize root cause
- provide at least one fallback containment option
- escalate to supporting skill by domain when cross-skill impact is material
Cross-skill handoff payload
Use the standard payload defined in ../../AGENTS.md (section: Cross-skill handoff contract).
Set requesting_skill to android-debugging.
Output contract
Follow global order from ../../AGENTS.md:
Context and constraintsDecision and rationaleAlternatives consideredTradeoffsRisks and mitigationsConfidence and unknownsCross-skill impactsNext implementation steps
Then include debugging-specific artifacts:
Observed symptomsMost likely root causesReproduction strategyInstrumentation planNarrowing experimentsFix candidates and verification
Anti-pattern detection
- guess-based fixes without evidence
- no reproducible baseline
- noisy logs without diagnostic hypothesis
- deep refactor before root cause confirmation
Related resources
references/debugging-playbook.mdtemplates/debug-investigation.md