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 репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
