Readable ultra
Multi-agent PR review skills for Claude Code: reviewer-ultra (regressions/bugs/smells + root-cause adjudication) and readable-ultra (readability review from Clean Code principles)
npx -y skills add asker26/agent-skills --skill readable-ultraAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 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
Deep readability review of a PR with finder + adversarial validator agents, based on Clean Code / The Art of Readable Code principles. Usage: /readable-ultra <PR#> [repo]
SKILL.md
6.1 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it
Readable Ultra
Multi-agent readability review. Finds code that compiles fine and works fine but slows the next reader down. Companion to /reviewer-ultra (which hunts regressions/bugs/smells) — this skill hunts comprehension cost only. Can run standalone or as an extra finder inside a reviewer-ultra run.
Core metric (The Art of Readable Code): minimize time-to-understand for a new reader. A finding is only valid if it materially slows a reader down or misleads them — not because it violates a rule in the abstract.
Arguments
<PR#>(required): PR number to review[repo](optional): org/repo slug. If omitted, detect fromgit remote get-url origin.
Round 1: Discovery (1–3 parallel finder agents)
For PRs under ~30 changed files, one finder. Larger PRs: split file list into 2–3 batches by directory/module, one finder per batch. Each finder reads the PR diff (gh pr diff <PR#> --repo <repo>, or a pre-cached copy in /tmp) and may grep the local clone read-only for surrounding context and sibling-file conventions.
Each finder checks ONLY new/changed code against this checklist:
Naming
- Vague/generic names on non-trivial scopes:
tmp,data,result,info,handle(),process(),manager - Names that can be misread or lie about what the thing does/holds
- Missing units or qualifiers:
timeoutvstimeoutSeconds,sizevssizeMb - Booleans not named
is/has/can/should, or negated (notDisabled,skipValidation = false) - Inconsistent vocabulary for one concept within the PR (
fetch/get/load/retrievefor the same kind of operation) - Unsearchable names: single letters or magic numbers where a named constant is warranted
Functions & structure
- Function does several unrelated things (name contains "and", or wants to)
- Mixed abstraction levels in one body (business rule next to byte-twiddling)
- Long parameter lists (>3) or boolean flag parameters that fork behavior
- Surprising side effects (a getter/checker that mutates or writes)
- Copy-paste blocks with slight variations that should be one extracted helper (DRY)
- Speculative generality: abstraction/config/indirection nothing uses yet (YAGNI)
Control flow & expressions
- Deep nesting where guard clauses / early returns would flatten it
- Complex boolean expressions needing "explaining variables" or De Morgan simplification
- Clever one-liners requiring mental simulation to verify
- Redundant
elseafterreturn/throw; positive case not first
Comments
- Comments restating the code; noise comments; commented-out code
- Stale or wrong comments (worse than none)
- Surprising/counterintuitive code with NO why-comment ("director's commentary" missing)
- TODOs with no context, owner, or condition
Error handling readability
- Happy path buried inside error handling
- Silently swallowed exceptions
- Returning
null/sentinels that force checks at every call site
Consistency
- Deviates from this codebase's established patterns (always check 1–2 sibling files before flagging)
- Inconsistent response/DTO/format shapes introduced within the PR itself
Tests
- Test names that don't state the behavior under test
- Multiple unrelated assertions in one test; no arrange/act/assert shape
Out of scope: pure formatter territory (indentation, spacing, import order — linters/formatters own that), bugs/regressions (that's /reviewer-ultra), and personal style preferences with no comprehension cost.
For each finding: file + line range, the issue, why it slows a reader down, suggested fix, severity:
- high — actively misleading (name/comment lies; will cause maintenance bugs)
- medium — real comprehension cost, should fix in this PR
- low — nice-to-have polish
Round 2: Validation (adversarial, chunked)
Spawn validators with ≤5 findings each (never more than 6 per validator). Each validator tries to refute every finding:
- Re-read the actual diff hunk and surrounding code
- Grep the local clone (read-only) — if the "violation" is the project-wide convention, it's a FALSE POSITIVE
- Verdict per finding: CONFIRMED, FALSE_POSITIVE (reason), or ADJUSTED (new severity + reason)
- Flag high-confidence readability issues Round 1 MISSED
Final Report
## PR #<N> Readability Review: <title>
**Repo:** <org/repo> | **Files:** <N> | **Changes:** +<adds>/-<dels>
### High (misleading)
| # | File:Line | Finding | Fix | Status |
### Medium (should fix)
| # | File:Line | Finding | Fix | Status |
### Low (polish)
| # | File:Line | Finding | Fix | Status |
### False positives removed
(what Round 1 flagged, why Round 2 rejected it)
**Verdict:** READABLE / NEEDS_WORK / HARD_TO_MAINTAIN
**Summary:** 1–2 sentences on overall time-to-understand for this PR.
Rules
- Finders and validators are READ-ONLY — never edit, checkout, or run mutating commands in the local clone
- Validators get ≤5 findings each; split larger sets across parallel validators
- Every finding must name the principle it violates AND the concrete reader cost
- Project conventions beat book rules: consistent-but-imperfect beats novel-but-clean
- Prefer a cached diff in /tmp over re-fetching per agent on large PRs
Sources
Distilled from:
- 5 key practices for improving code readability — Invensity
- The Complete Guide to Readable Code: 11 Principles — Fellow
- 7 Clean Coding Principles Every Developer Should Know — PullChecklist
- Summary of Clean Code by Robert C. Martin — wojteklu gist
- The Art of Readable Code — Boswell & Foster, O'Reilly
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.