Audit correctness
Agent skills for agentic coding tools. Extremely opinionated. Updated (almost) daily.
npx -y skills add JHostalek/dotclaude --skill audit-correctnessAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when auditing and fixing logic bugs in a scope — off-by-one, wrong operator, inverted condition, unhandled boundary cases, unit/dimension mismatch, code that doesn't do what its name or docstring claims. Triggers on "audit correctness", "fix logic bugs", "check for off-by-one", "correctness review".
SKILL.md
1.6 KB, as published. Nobody here has run it
!cat "${CLAUDE_SKILL_DIR}/../audit-workflow.md"
Run as the correctness dimension.
Find code whose behavior diverges from what it claims to do. Intent lives in names, signatures, docstrings, comments, caller expectations — behavior contradicting any of them → one is wrong, usually the code. Read for what code does, not what it claims; names, comments, and diff messages prime confirmation bias toward the claimed intent.
High-yield patterns:
- off-by-one in loop bounds, slicing, range checks (
<vs<=against length) - inverted conditions, wrong logical operator (
||vs&&, missing De Morgan flip) - unhandled boundary cases (empty collection, single element, zero, negative, max) where surrounding logic implicitly assumes more
- unit/dimension mismatch (ms vs seconds, bytes vs KB, 0- vs 1-indexed)
- time bugs (naive vs timezone-aware datetimes, DST)
- concurrency hazards (stale reads, TOCTOU, missing atomicity)
Scope: producing the wrong answer w/ no error. Distinguish from audit-error-handling (errors that vanish — swallowed, unobserved).
<fix_gate> Auto-fix only where intent is pinned — by name, signature, docstring, or caller pattern. The split decides who fixes a divergence, never whether it gets reported. </fix_gate>