full-quality-scanlisted
Install: claude install-skill silvio-l/skills
# Full Quality Scan & Fix
## Overview
Threshold: **≤ 10 findings → fix directly. > 10 → plan first, then fix with subagents.**
## Phase 1 — Scan
Run the bundled wrapper. It is the single source of truth for tool flags and skip-rules — never duplicate the tool invocations into the agent's prompt.
```bash
bash skills/full-quality-scan/scripts/scan-all.sh
# or, when invoked as the installed skill:
bash ~/.claude/skills/full-quality-scan/scripts/scan-all.sh
```
Output contract — **one finding per line**:
```
BUCKET|FILE:LINE|MESSAGE
…
---
TOTAL_FINDINGS=<n>
```
Exit code: `0` = clean, `1` = findings present. The wrapper skips silently for tools that are not installed; the summary line is always emitted.
Bucket names emitted by the wrapper: `dart`, `cpp`, `js_ts`, `sast`, `deps`. Anything else is a wrapper bug, not an unknown tool — fix the wrapper.
## Phase 2 — Triage
Parse each `BUCKET|FILE:LINE|MESSAGE` row and group by bucket. The bucket names map directly to fix strategies:
| Bucket | Source tool | Fix strategy |
|---|---|---|
| `dart` | flutter analyze | `dart fix --apply`, then manual |
| `cpp` | cppcheck | manual C++ edits |
| `js_ts` | eslint | `eslint --fix`, then manual |
| `sast` | semgrep | manual, case-by-case |
| `deps` | osv-scanner | `npm audit fix` / `flutter pub upgrade` |
`TOTAL_FINDINGS` from the wrapper's summary line is the threshold input:
**≤ 10 total → go directly to Phase 4 (fix inline).**
**> 10 total → build a plan in Phase 3.**
## Phase