К основному содержанию
скилл CX Codex

clean-code · pproenca — скилл для Claude Code: правила чистого кода

Скилл для ревью и рефакторинга: 48 правил из книги Роберта Мартина с современными поправками. Пригодится, когда агент пишет или разбирает код.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add pproenca/dot-skills --skill clean-code -a claude-code
Открыть на GitHub

Что делает clean-code

Скилл разбит на 10 категорий с приоритетами: имена, функции, комментарии, форматирование, обработка ошибок, объекты, границы, классы, тесты и простота дизайна. У каждого правила свой префикс — name-, func-, cmt- и так далее — и отдельный файл с объяснением и примерами. Примеры в основном на Java, но принципы не привязаны к языку.

Внутри лежит таблица приоритетов: имена и функции помечены как CRITICAL, комментарии, форматирование и ошибки — HIGH, остальное ниже. Агент подтягивает нужное правило, когда вы просите назвать переменную, разбить функцию или написать тест. Есть шаблон для добавления своих правил.

Скилл опирается на издание 2008 года, поэтому часть советов переписана под современную практику. Если в проекте свой гайдлайн по стилю, правила форматирования из скилла могут с ним разойтись — это повод проверить, что победит в вашем ревью.

Какие задачи решает

  • переименовать переменные так, чтобы имя объясняло смысл
  • разбить длинную функцию на части с одним уровнем абстракции
  • убрать закомментированный код и лишние комментарии
  • обернуть стороннюю библиотеку и написать к ней learning tests
  • переписать тест, который проверяет сразу несколько вещей

Примеры запросов агенту

  • проверь этот модуль по правилам clean-code и покажи, что нарушено
  • предложи имена для этих переменных по name-intention-revealing
  • разбей функцию processOrder по func-one-thing и func-small

Как установить clean-code

1Через Skills CLI (Vercel)

npx skills add pproenca/dot-skills --skill clean-code -a claude-code

2Вручную: положить файлы

~/.claude/skills/clean-code/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/clean-code/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о clean-code

Как установить clean-code в Claude?

Выполните npx skills add pproenca/dot-skills --skill clean-code -a claude-code. После этого скилл окажется в ~/.claude/skills/clean-code/SKILL.md.

Что делает скилл clean-code?

Даёт агенту 48 правил по именам, функциям, комментариям, ошибкам, классам и тестам. Он применяет их при написании кода, ревью и рефакторинге.

Чем этот скилл отличается от книги Clean Code?

Он собран по книге Роберта Мартина, но советы 2008 года, которые устарели, переписаны. Правила разложены по 10 категориям и отсортированы по влиянию на код.

Исходный текст

SKILL.md · MIT
---
name: clean-code
description: Use when writing, reviewing, or refactoring code for maintainability and readability. Triggers on code reviews, naming discussions, function design, error handling, and test writing. Based on Robert C. Martin's Clean Code handbook with modern corrections.
---

# Robert C. Martin (Uncle Bob) Clean Code Best Practices

Comprehensive software craftsmanship guide based on Robert C. Martin's "Clean Code: A Handbook of Agile Software Craftsmanship", updated with modern corrections where the original 2008 advice has been superseded. Contains 48 rules across 10 categories, prioritized by impact to guide code reviews, refactoring decisions, and new development. Examples are primarily in Java but principles are language-agnostic.

## When to Apply

Reference these guidelines when:
- Writing new functions, classes, or modules
- Naming variables, functions, classes, or files
- Reviewing code for maintainability issues
- Refactoring existing code to improve clarity
- Writing or improving unit tests
- Wrapping third-party dependencies

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Meaningful Names | CRITICAL | `name-` |
| 2 | Functions | CRITICAL | `func-` |
| 3 | Comments | HIGH | `cmt-` |
| 4 | Formatting | HIGH | `fmt-` |
| 5 | Error Handling | HIGH | `err-` |
| 6 | Objects and Data Structures | MEDIUM-HIGH | `obj-` |
| 7 | Boundaries | MEDIUM-HIGH | `bound-` |
| 8 | Classes and Systems | MEDIUM-HIGH | `class-` |
| 9 | Unit Tests | MEDIUM | `test-` |
| 10 | Emergence and Simple Design | MEDIUM | `emerge-` |

## Quick Reference

### 1. Meaningful Names (CRITICAL)

- [`name-intention-revealing`](references/name-intention-revealing.md) - Use names that reveal intent
- [`name-avoid-disinformation`](references/name-avoid-disinformation.md) - Avoid misleading names
- [`name-meaningful-distinctions`](references/name-meaningful-distinctions.md) - Make meaningful distinctions
- [`name-pronounceable`](references/name-pronounceable.md) - Use pronounceable names
- [`name-searchable`](references/name-searchable.md) - Use searchable names
- [`name-avoid-encodings`](references/name-avoid-encodings.md) - Avoid encodings in names
- [`name-class-noun`](references/name-class-noun.md) - Use noun phrases for class names
- [`name-method-verb`](references/name-method-verb.md) - Use verb phrases for method names

### 2. Functions (CRITICAL)

- [`func-small`](references/func-small.md) - Keep functions small
- [`func-one-thing`](references/func-one-thing.md) - Functions should do one thing
- [`func-abstraction-level`](references/func-abstraction-level.md) - Maintain one level of abstraction
- [`func-minimize-arguments`](references/func-minimize-arguments.md) - Minimize function arguments
- [`func-no-side-effects`](references/func-no-side-effects.md) - Avoid side effects
- [`func-command-query-separation`](references/func-command-query-separation.md) - Separate commands from queries
- [`func-dry`](references/func-dry.md) - Do not repeat yourself

### 3. Comments (HIGH)

- [`cmt-express-in-code`](references/cmt-express-in-code.md) - Express yourself in code, not comments
- [`cmt-explain-intent`](references/cmt-explain-intent.md) - Use comments to explain intent
- [`cmt-avoid-redundant`](references/cmt-avoid-redundant.md) - Avoid redundant comments
- [`cmt-avoid-commented-out-code`](references/cmt-avoid-commented-out-code.md) - Delete commented-out code
- [`cmt-warning-consequences`](references/cmt-warning-consequences.md) - Use warning comments for consequences

### 4. Formatting (HIGH)

- [`fmt-vertical-formatting`](references/fmt-vertical-formatting.md) - Use vertical formatting for readability
- [`fmt-horizontal-alignment`](references/fmt-horizontal-alignment.md) - Avoid horizontal alignment
- [`fmt-team-rules`](references/fmt-team-rules.md) - Follow team formatting rules
- [`fmt-indentation`](references/fmt-indentation.md) - Respect indentation rules

### 5. Error Handling (HIGH)

- [`err-use-exceptions`](references/err-use-exceptions.md) - Separate error handling from happy path
- [`err-write-try-catch-first`](references/err-write-try-catch-first.md) - Write try-catch-finally first
- [`err-provide-context`](references/err-provide-context.md) - Provide context with exceptions
- [`err-define-by-caller-needs`](references/err-define-by-caller-needs.md) - Define exceptions by caller needs
- [`err-avoid-null`](references/err-avoid-null.md) - Avoid returning and passing null

### 6. Objects and Data Structures (MEDIUM-HIGH)

- [`obj-data-abstraction`](references/obj-data-abstraction.md) - Hide data behind abstractions
- [`obj-data-object-asymmetry`](references/obj-data-object-asymmetry.md) - Understand data/object anti-symmetry
- [`obj-law-of-demeter`](references/obj-law-of-demeter.md) - Follow the Law of Demeter
- [`obj-avoid-hybrids`](references/obj-avoid-hybrids.md) - Avoid hybrid data-object structures
- [`obj-dto`](references/obj-dto.md) - Use DTOs for data transfer

### 7. Boundaries (MEDIUM-HIGH)

- [`bound-wrap-third-party`](references/bound-wrap-third-party.md) - Wrap third-party APIs
- [`bound-learning-tests`](references/bound-learning-tests.md) - Write learning tests for third-party code

### 8. Classes and Systems (MEDIUM-HIGH)

- [`class-small`](references/class-small.md) - Keep classes small
- [`class-cohesion`](references/class-cohesion.md) - Maintain class cohesion
- [`class-organize-for-change`](references/class-organize-for-change.md) - Organize classes for change
- [`class-isolate-from-change`](references/class-isolate-from-change.md) - Isolate classes from change
- [`class-separate-concerns`](references/class-separate-concerns.md) - Separate construction from use

### 9. Unit Tests (MEDIUM)

- [`test-first-law`](references/test-first-law.md) - Follow the three laws of TDD
- [`test-keep-clean`](references/test-keep-clean.md) - Keep tests clean
- [`test-one-assert`](references/test-one-assert.md) - One concept per test
- [`test-first-principles`](references/test-first-principles.md) - Follow FIRST principles
- [`test-build-operate-check`](references/test-build-operate-check.md) - Use Build-Operate-Check pattern

### 10. Emergence and Simple Design (MEDIUM)

- [`emerge-simple-design`](references/emerge-simple-design.md) - Follow the four rules of simple design
- [`emerge-expressiveness`](references/emerge-expressiveness.md) - Maximize expressiveness

## How to Use

Read individual reference files for detailed explanations and code examples:

- [Section definitions](references/_sections.md) - Category structure and impact levels
- [Rule template](assets/templates/_template.md) - Template for adding new rules

## Reference Files

| File | Description |
|------|-------------|
| [references/_sections.md](references/_sections.md) | Category definitions and ordering |
| [assets/templates/_template.md](assets/templates/_template.md) | Template for new rules |
| [metadata.json](metadata.json) | Version and reference information |

© pproenca · MIT · pproenca/dot-skills

Похожие скиллы

Всё по теме «Код-ревью и рефакторинг» →

Сначала — clean-code от других авторов.

clean-code sickn33 Скилл помогает писать, проверять и рефакторить код по принципам Clean Code. Пригодится для ревью, legacy-кода и изменений с тестами. CX Codex +1 12 400установок clean-code wondelai Скилл для ИИ-агентов, который задаёт планку читаемости кода: имена, мелкие функции, дисциплина комментариев, единая обработка ошибок. CX Codex +1 6 600установок clean-code decebals Скилл учит агента принципам DRY, KISS и YAGNI, правилам именования и структурированию функций. Помогает при рефакторинге запутанного кода с длинными методами. CX Codex +1 379установок clean-code davila7 Задаёт агенту правила чистого кода: короткие функции, понятные имена, никаких очевидных комментариев и лишних абстракций. Пригодится, когда агент пишет рабочий код, а не учебник. 7 176установок clean-code-guard amElnagdy Скилл проверяет свежий код по Clean Code и SOLID, ловит повторяющиеся провалы LLM и работает в трёх режимах: прогон диффа, правка по правилам, ревью. CX Codex +1 4 700установок typescript-clean-code bmad-labs Скилл для ревью и рефакторинга TypeScript: каталоги запахов кода, четыре слоя проверки и готовые рабочие процессы. CX Codex +1 628установок clean-code-principles AsyrafHussin Скилл для ревью архитектуры и качества кода: SOLID, DRY, KISS, паттерны проектирования. Пригодится при рефакторинге и обсуждении решений по дизайну. CX Codex +1 1 800установок code-refactoring-refactor-clean sickn33 Скилл анализирует запахи кода и готовит пошаговый план рефакторинга по принципам SOLID. Пригодится при разборе запутанных модулей перед добавлением новых функций. CX Codex +1 1 200установок indexion-identity trkbt10 Скилл проверяет, совпадают ли имена функций, файлов и папок с их содержимым, и планирует переименования. Пригодится при рефакторинге. CX Codex +1 4 900установок code-simplification addyosmani Упрощает код без изменения поведения: убирает лишнюю сложность, проясняет имена и структуру. Пригодится после рабочих изменений и на ревью. CX Codex +1 62 800установок

Из того же набора45

code-simplifier Скилл для ИИ-агентов: чистит недавно изменённый код, снижает вложенность и дублирование, сохраняя поведение программы. CX Codex +1 1 600установок expo-react-native-performance Набор из 42 правил оптимизации приложений на Expo и React Native. Помогает настроить запуск, списки на FlashList, анимации и рендеринг без ручного поиска узких мест. CX Codex +1 1 500установок framer-motion Скилл оптимизирует анимации Framer Motion в React: предотвращает лишние ререндеры, уменьшает размер бандла и настраивает переходы жестов или скролла. CX Codex +1 1 100установок msw Скилл с 45 правилами по MSW v2: настройка, хендлеры, интеграция с тестами, GraphQL. Пригодится, когда агент пишет или правит моки HTTP-запросов. CX Codex +1 842установок terminal-ui Скилл с 42 правилами для терминальных интерфейсов на TypeScript: рендеринг, ввод с клавиатуры, промпты. Пригодится, когда пишете CLI на Ink или Clack. CX Codex +1 836установок typescript-refactor Скилл с 47 правилами по рефакторингу TypeScript и React/TSX: типы, сужение, дженерики, современные фичи TS 6.0 и React 19. CX Codex +1 788установок react-refactor Скилл с 40 правилами архитектурного рефакторинга React-проектов. Помогает декомпозировать крупные компоненты, выносить хуки и наводить порядок в модулях. CX Codex +1 776установок shadcn Скилл с 58 правилами для shadcn/ui: подсказывает агенту, как правильно ставить компоненты, писать формы и не ломать доступность. CX Codex +1 724установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой