agentsclimarketplace

Readable ultra

Skill asker26/agent-skills/skills/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)

Install
npx -y skills add asker26/agent-skills --skill readable-ultra

Assembled 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 from git 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: timeout vs timeoutSeconds, size vs sizeMb
  • Booleans not named is/has/can/should, or negated (notDisabled, skipValidation = false)
  • Inconsistent vocabulary for one concept within the PR (fetch/get/load/retrieve for 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 else after return/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:

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.