Home / code-quality
Code Quality
Eight skills for keeping a codebase healthy: a review checklist, refactor planning, dead code and complexity reports, naming and error-handling audits, type coverage for Python and TypeScript, and a test gap finder.
Install
In Claude Code, add the marketplace and install the plugin:
/plugin marketplace add basitalisandhu/claude-skills
/plugin install code-quality@claude-skills
Or copy the skill files into ~/.claude/skills/ from a clone:
git clone https://github.com/basitalisandhu/claude-skills
cd claude-skills
python3 install.py --user --only code-quality
Skills
| Skill | What it does | Scripts |
|---|---|---|
| complexity-report | Rank the functions in a Python or JavaScript/TypeScript tree by cyclomatic complexity, length and nesting depth with a bundled script, then explain which ones to simplify and how. | yes |
| dead-code-finder | Find probably-unused functions, classes, methods and exports in a Python or JavaScript/TypeScript tree with a bundled script, confirm each candidate by searching for dynamic use, and propose a safe deletion order. | yes |
| error-handling-review | Review how a codebase or change handles failures: swallowed exceptions, missing timeouts and retries, errors without context, leaking internals to users, and inconsistent error types across layers; then propose a consistent policy with code examples. | no |
| naming-audit | Audit the names in a module or diff (variables, functions, classes, files, database columns, API fields) for clarity, consistency with the project's conventions, and lies (names that no longer match behaviour), then propose renames with a migration path for public ones. | no |
| refactor-plan | Produce a step-by-step refactoring plan for a module, package or feature, with a behaviour-preserving sequence of small commits, the tests that guard each step, and a rollback point. | no |
| review-checklist | Review a pull request, diff or branch against a fixed checklist (correctness, tests, error handling, security, performance, readability, compatibility) and produce findings with file and line references and a verdict. | no |
| test-gap-finder | Map source modules to their test files by naming convention and imports with a bundled script, list the modules that have no test, and prioritise which to cover first by risk. | yes |
| type-coverage | Measure how much of a Python or TypeScript codebase is type-annotated with a bundled script (parameters and return values per function, explicit any counts), find the least-typed files, and plan a gradual typing rollout with a CI threshold. | yes |
Plugin README
Eight skills for keeping a codebase healthy: a fixed review checklist, refactor planning, dead code and complexity reports, naming and error-handling audits, type coverage for Python and TypeScript, and a test gap finder.
Install
/plugin marketplace add basitalisandhu/claude-dev-skills
/plugin install code-quality@claude-dev-skills
Skills then appear as /code-quality:<skill>. Scripts need Python 3.11 or newer on PATH as python3; they use the standard library only and make no network calls.
Skills
| Skill | Triggers on | Produces |
|---|---|---|
review-checklist | review a PR, diff or branch | findings table with severity and file:line, verdict |
refactor-plan | refactor, split, untangle, clean up | ordered behaviour-preserving steps with tests and rollback |
dead-code-finder | find unused code, shrink the codebase | dead_code_finder.py report, confirmed deletion list |
complexity-report | most complex code, where to start, CI threshold | complexity_report.py ranking with simplifications |
naming-audit | are these names clear, naming conventions | renames grouped by cost, convention proposals |
error-handling-review | review error handling, silent failures | findings plus an error policy per layer |
type-coverage | how typed is this, where to add types | type_coverage.py percentages and a ratchet plan |
test-gap-finder | what is untested, did the PR add tests | test_gap_finder.py list of modules without tests, prioritised |
Tests for every script live in the repository's tests/ directory; run python3 -m pytest -q at the repository root.