Minor findings from the 0.24.0 fresh-user walkthrough (21/21 commands). All reproduce on 0.23.11-era code paths; none block release. Batch into a future release.
- Check-count inconsistency across surfaces: top-level
--help says "323 checks / 74 categories"; per-scan Observations line says "209 static · 3 semantic"; mcp-serve tool description says "187 security checks across 39 categories". check-metadata confirms 323 entries. The subsets (209, 187) are real but undocumented — either label them ("209 static checks of 323 total") or derive all three from one source.
detect leaks ANSI escapes to non-TTY stdout (24 ESC sequences on a bare pipe). secure/scan-soul/check all auto-strip on pipe; detect only respects NO_COLOR/--no-color explicitly. CI users redirecting to a file get raw codes.
red-team requires a file, not a directory: red-team <skill-dir> → "Cannot read file: " with no hint, while check/secure accept directories. Either accept a directory (resolve SKILL.md) or say "point at a SKILL.md file, e.g. red-team /SKILL.md".
pull-stubs surfaces a raw internal exception when INTERNAL_API_KEY contains a non-Latin1 character: "Cannot convert argument to a ByteString because the character at index 8 has a value of 65533". Exit code is correctly 1; the message should be a clean validation error.
wild runs ~45s with no progress indicator (network fetch, 48 pages). Add a spinner/progress line so fresh users don't assume a hang.
fix-all --dry-run prints "Fixed 3" during a preview where nothing is modified. Wording should be "Would fix 3".
- Quick-start banner repeats at the top of every subcommand --help/no-args output. Minor noise; consider printing it only on the bare invocation.
Minor findings from the 0.24.0 fresh-user walkthrough (21/21 commands). All reproduce on 0.23.11-era code paths; none block release. Batch into a future release.
--helpsays "323 checks / 74 categories"; per-scan Observations line says "209 static · 3 semantic";mcp-servetool description says "187 security checks across 39 categories".check-metadataconfirms 323 entries. The subsets (209, 187) are real but undocumented — either label them ("209 static checks of 323 total") or derive all three from one source.detectleaks ANSI escapes to non-TTY stdout (24 ESC sequences on a bare pipe).secure/scan-soul/checkall auto-strip on pipe;detectonly respects NO_COLOR/--no-color explicitly. CI users redirecting to a file get raw codes.red-teamrequires a file, not a directory:red-team <skill-dir>→ "Cannot read file: " with no hint, whilecheck/secureaccept directories. Either accept a directory (resolve SKILL.md) or say "point at a SKILL.md file, e.g. red-team /SKILL.md".pull-stubssurfaces a raw internal exception when INTERNAL_API_KEY contains a non-Latin1 character: "Cannot convert argument to a ByteString because the character at index 8 has a value of 65533". Exit code is correctly 1; the message should be a clean validation error.wildruns ~45s with no progress indicator (network fetch, 48 pages). Add a spinner/progress line so fresh users don't assume a hang.fix-all --dry-runprints "Fixed 3" during a preview where nothing is modified. Wording should be "Would fix 3".