review-codebase
О программе
Этот навык выполняет комплексный многоэтапный анализ кодовой базы, охватывающий архитектуру, безопасность, качество кода и UX/доступность в рамках единого согласованного прохода. Он формирует таблицу приоритизированных результатов с оценкой критичности, которые могут быть напрямую преобразованы в задачи GitHub с помощью навыка create-github-issues. Используйте его для глубокого, целостного анализа целых проектов или подпроектов по всем аспектам качества.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-codebaseСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
Review Codebase
Multi-phase deep codebase review producing severity-rated findings w/ fix-order rec. Unlike review-pull-request (scoped to diff) or single-domain reviews (security-audit-codebase, review-software-architecture), covers entire project/subproject across all quality dims in one pass.
Use When
- Whole-project or subproject review (not PR-scoped)
- New codebase onboarding — building mental model of what exists + needs attention
- Periodic health checks after sustained dev
- Pre-release quality gate across architecture, security, code quality, UX
- Output should feed directly into issue creation or sprint planning
In
- Required:
target_path— root dir of codebase/subproject - Optional:
scope— phases to run:full(default),security,architecture,quality,uxoutput_format—findings(table only),report(narrative),both(default)severity_threshold— min severity:LOW(default),MEDIUM,HIGH,CRITICAL
Do
Step 1: Census
Inventory codebase → est scope + ID review targets.
- Count files by lang/type:
find target_path -type f | sort by extension - Measure total line counts per lang
- ID test dirs + estimate coverage (files w/ tests vs without)
- Check dep state: lockfiles present, outdated deps, known vulns
- Note build system, CI/CD config, docs state
- Record census as opening section of report
→ Factual inventory — file counts, langs, test presence, dep health. No judgments yet.
If err: target empty/inaccessible → stop + report. Specific subdirs inaccessible → note + continue w/ available.
Step 2: Architecture Review
Assess structural health: coupling, duplication, data flow, separation of concerns.
- Map module/dir structure + ID primary architectural pattern
- Check code duplication — repeated logic across files, copy-paste
- Assess coupling — how many files must change for single feature mod
- Eval data flow — clear boundaries between layers (UI, logic, data)?
- ID dead code, unused exports, orphaned files
- Check consistent patterns — codebase follows own conventions?
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of architectural findings w/ severity + file refs. Common: mode dispatch duplication, missing abstraction layers, circular deps.
If err: codebase too small for meaningful review (<5 files) → note + skip Step 3. Architecture review needs enough code to have structure.
Step 3: Security Audit
ID security vulns + defensive coding gaps.
- Scan injection vectors: HTML (
innerHTML), SQL, command injection - Check authn + authz patterns (if applicable)
- Review error handling — silently swallowed? Leak internals?
- Audit dep versions vs known CVEs
- Check hardcoded secrets, API keys, creds
- Review Docker/container security: root user, exposed ports, build secrets
- Check localStorage/sessionStorage for sensitive data
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of security findings w/ severity, affected files, remediation. CRITICAL = injection vulns + exposed secrets.
If err: no security-relevant code (pure docs project) → note + skip Step 4.
Step 4: Code Quality
Eval maintainability, readability, defensive coding.
- ID magic numbers + hardcoded values should be named consts
- Check consistent naming across codebase
- Find missing input validation at system boundaries
- Assess error handling — consistent? Useful messages?
- Check commented-out code, TODO/FIXME, incomplete impls
- Review test quality — testing behavior or impl details?
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of quality findings → maintainability. Common: magic numbers, inconsistent patterns, missing guards.
If err: codebase generated/minified → note + adjust expectations. Generated code has diff quality criteria than hand-written.
Step 5: UX + a11y (if frontend exists)
Eval UX + a11y compliance.
- Check ARIA roles, labels, landmarks on interactive
- Verify keyboard nav — all interactive reachable via Tab?
- Test focus mgmt — focus moves logically when panels open/close?
- Check responsive — test at common breakpoints (320px, 768px, 1024px)
- Verify color contrast meets WCAG 2.1 AA
- Check screen reader compat — dynamic content changes announced?
- Rate each: CRITICAL, HIGH, MEDIUM, LOW
→ List of UX/a11y findings w/ WCAG refs. No frontend → "N/A — no frontend code detected."
If err: frontend exists but can't render (missing build step) → audit source code statically + note runtime testing not possible.
Step 6: Findings Synthesis
Compile all findings → prioritized summary.
- Merge findings from all phases → single table
- Sort by severity (CRITICAL first, then HIGH, MEDIUM, LOW)
- Within each severity, group by theme (security, architecture, quality, UX)
- Each finding: severity, phase, file(s), one-line description, suggested fix
- Produce rec fix order considering deps between fixes
- Summarize: total findings by severity, top 3 priorities, est effort level
→ Findings table w/ columns: #, Severity, Phase, File(s), Finding, Fix. Fix-order rec accounting for deps (e.g. "refactor architecture before adding tests").
If err: no findings produced → finding itself — codebase exceptionally clean or review too shallow. Re-examine ≥1 phase deeper.
Check
- All requested phases done (or explicitly skipped w/ justification)
- Every finding has severity rating (CRITICAL/HIGH/MEDIUM/LOW)
- Every finding refs ≥1 file or dir
- Findings table sorted by severity
- Fix-order recs account for deps between findings
- Summary has total counts by severity
- If
output_formatincludesreport, narrative sections accompany table
Scaling w/ Rest
Between review phases, use /rest as checkpoint — esp between phases 2-5 needing diff analytical perspectives. Checkpoint rest (brief, transitional) prevents momentum of one phase biasing next. See rest "Scaling Rest" for guidance on checkpoint vs full rest.
Traps
- Boiling ocean: Reviewing every line of large codebase produces noise. Focus high-impact: entry points, security boundaries, architectural seams.
- Severity inflation: Not every finding CRITICAL. Reserve CRITICAL for exploitable vulns + data-loss risks. Most architectural = MEDIUM.
- Missing forest for trees: Individual code quality matters less than systemic patterns. Magic numbers in 20 files = 1 architectural finding not 20 quality.
- Skip census: Census (Step 1) seems bureaucratic but prevents reviewing code that doesn't exist or missing entire dirs.
- Phase bleed: Security findings during architecture, or quality during security audit. Note for correct phase, no mix concerns — produces cleaner table.
→
security-audit-codebase— deep-dive when review-codebase security phase reveals complex vulnsreview-software-architecture— detailed architecture review for specific subsystemsreview-ux-ui— comprehensive UX/a11y audit beyond phase 5review-pull-request— diff-scoped review for individual changesclean-codebase— impl code quality fixes ID'd by this reviewcreate-github-issues— convert findings → tracked GH issues
GitHub репозиторий
Frequently asked questions
What is the review-codebase skill?
review-codebase is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform review-codebase-related tasks without extra prompting.
How do I install review-codebase?
Use the install commands on this page: add review-codebase to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does review-codebase belong to?
review-codebase is in the Meta category, tagged general.
Is review-codebase free to use?
Yes. review-codebase is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Похожие навыки
Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
