.claude/skills/review-tool-coverage/SKILL.md
Audit query tools for accuracy, gaps, and retirement candidates
npx skillsauth add cwilliams5/Alt-Tabby review-tool-coverageInstall 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.
Enter planning mode. Audit the query tools in tools/ for fitness. Use parallelism where possible.
Query tools (tools/query_*.ps1) exist to give structured answers without loading full files into context. CLAUDE.md lists only the most-used tools — niche tools are intentionally omitted to save per-session context, but they're still referenced by skills when relevant. "Unused by CLAUDE.md" does NOT mean unused.
| Tool | Purpose |
|------|---------|
| query_config.ps1 | Config registry search — sections, groups, usage |
| query_function.ps1 | Extract function body by name |
| query_function_visibility.ps1 | Function definition, public/private, all callers |
| query_global_ownership.ps1 | Global declaration, writers, readers, manifest |
| query_instrumentation.ps1 | Profiler coverage map |
| query_interface.ps1 | File public surface (functions + globals) |
| query_ipc.ps1 | IPC message senders/handlers |
| query_messages.ps1 | Windows message (WM_) handler/sender mapping |
| query_profile.py | Speedscope profile analysis |
| query_state.ps1 | State machine branch extractor |
| query_timers.ps1 | SetTimer inventory by file |
| query_visibility.ps1 | Public functions with few external callers |
| query_callchain.ps1 | Call graph traversal (forward and -Reverse) |
| query_impact.ps1 | Mutation impact analysis |
| query_includes.ps1 | Cross-file #Include analysis |
| query_mutations.ps1 | Global mutation tracking |
Run each query_*.ps1 tool with no args (or a known-good sample query) and check:
Flag tools that produce silently wrong output (no errors, but stale/incorrect data). A tool that errors loudly is less dangerous than one that lies quietly.
Look for patterns in the codebase that suggest a missing tool:
query_messages.ps1 already covers this for WM_ messages; is there an equivalent need for other patterns?)The bar: would a new tool save >50 lines of context per use? If not, grep is fine.
A tool nobody invokes is dead code with maintenance cost. Check:
.claude/skills/?Note: a tool referenced only by skills (not CLAUDE.md) is NOT a retirement candidate — it's a niche tool by design.
Check each skill in .claude/skills/ — could any benefit from referencing a query tool they don't currently mention? Skills only load on invocation, so adding a niche tool reference costs zero per-session context.
Section 1 — Accuracy issues (tools producing wrong output):
| Tool | Issue | Fix |
|------|-------|-----|
| query_config.ps1 | Registry format changed, parser misses fmt field | Update regex on line 42 |
Section 2 — Gap candidates (potential new tools):
| Pattern | Frequency | Context Saved | Recommendation |
|---------|-----------|--------------|----------------|
| "Which files #Include X" | ~2/session | ~80 lines | New tool: query_includes.ps1 |
Section 3 — Retirement candidates (genuinely unused):
| Tool | Last Relevant Use | Recommendation |
|------|------------------|----------------|
| query_foo.ps1 | Subsystem removed in v0.7 | Delete |
Section 4 — Skill cross-references (niche tools that skills should mention):
| Skill | Tool to Add | Why |
|-------|------------|-----|
| review-dead-code | query_visibility.ps1 | Finds public functions with 0 callers |
Ignore any existing plans — create a fresh one.
tools
Create a new git worktree and switch the session into it
tools
Spawn agent to trace code flow via query tools — answer only, no context cost
tools
Commit, push, and create a PR for the current branch
tools
Retire a shader by moving its files to legacy/shaders_retired