ask-investigateworkflow★23
Minokun/xdev ↗What it does
Parallelize xdev health-check across 6 code dimensions
Best for
Parallelizing /xdev:ask health-check to break single-thread sampling budget; each dimension can operate independently with its own rg pattern + optional graphify read.
Inputs
- · graphState: fresh|stale|none (passed from ask.md orchestrator after graph freshness check)
- · scans all 6 dimensions by default (or focused single-dimension if ask.md routes directly)
Outputs
- · per-dimension findings (severity: high|medium|low, what, evidence file:line, suggestion)
- · degraded boolean per dimension (true if graph-dependent scan downgraded to rg/dir estimate)
- · aggregated top 10 findings (ranked by severity × dimension priority)
- · dropped dimension names (if agent failed)
- · note field explaining scan method + limitations (Chinese)
Requires
- · agent fan-out (1 per health-check dimension, parallel)
- · rg (pattern search per dimension: security, testing, errors, architecture, deadcode, observability)
- · graphify query (only if graphState='fresh', read-only, for architecture/deadcode cycles + cross-cluster coupling)
- · file read (core modules, entry points)
Preconditions
- · graphState must be provided (fresh|stale|none) by ask.md orchestrator
- · 6 dimensions defined with rg patterns + hints (security, testing, errors, architecture, deadcode, observability)
- · graph freshness already judged by ask.md (only reads, never writes graph)
- · only called from /xdev:ask体检 mode (not direct skill call)
Failure modes
- · graphState=none or stale but architecture dimension tries graphify (fails gracefully, marked degraded)
- · rg pattern too broad → noise in findings
- · dimension agent fails entirely → dropped, logged in droppedDimensions array
- · top 10 deduplicate logic misses cross-dimension duplicates
- · evidence file:line missing (violates 源码确认 honesty level)
- · cyclic dependencies missed if graph is stale (degraded=true annotation required)
Trust signals
- · 6 health-check dimensions named + defined with rg patterns (security, testing, errors, architecture, deadcode, observability)
- · graphState passed in (fresh|stale|none) to control graphify usage per dimension
- · FINDINGS_SCHEMA per dimension: dimension, findings[], degraded, note (all Chinese)
- · evidence must include file:line (源码确认 requirement)
- · suggestion field points to next action (e.g., /xdev:bugfix route)
- · aggregation step post-processes to top 10 + rank by severity
- · degraded flag + note explain why (e.g., 'Graphify needed for accurate coupling judgment, using rg estimate')