# clean-code

Проверяет ваш код на связность, имена, дублирование и размер функций. Плюс подсказывает, как спроектировать новое, чтобы читалось без автора.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 24
- Автор: rainmanjam
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/rainmanjam/poka-yoke/tree/HEAD/benchmarks/controls/clean-code/skills/clean-code/SKILL.md
- Обновлён: 2026-10-14
- HTML: https://affpapa.org/nevibecode/skills/rainmanjam-clean-code

## Что делает

Скилл задаёт пять правил: одна причина для изменения у функции, группировка по смыслу, а не по папкам, явные зависимости, имена, которые понятны без контекста, и правило «три раза повторилось — тогда абстрагируй». Дальше он разводит работу по направлениям: `design` для новых модулей, `audit` для ревью готового кода, `retro` для разбора поломки, ещё `ux`, `authz`, `data`, `ops`, `guardrails`, `agent-guardrails` и `llm`. Если ни одно не подходит, работает по основному документу.

Внутри есть инструкция, как выдавать замечания: указывать конкретные строки, сортировать по цене игнорирования, показывать «до и после» и не мешать структурные проблемы с форматированием. Отдельный раздел — что не считать проблемой: паттерны ради паттернов, переписывание на свой вкус, длинная функция без разветвлений.

Скилл ориентирован на чтение, а не на автоправку: он объясняет, почему форма кода плоха, но не меняет файлы сам. Это значит, что вывод придётся приложить к делу руками; без вас он ничего не рефакторит.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add rainmanjam/poka-yoke --skill clean-code -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/clean-code/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/clean-code/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add rainmanjam/poka-yoke --skill clean-code -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/clean-code/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add rainmanjam/poka-yoke --skill clean-code -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/clean-code/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install rainmanjam/poka-yoke clean-code
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/clean-code/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add rainmanjam/poka-yoke --skill clean-code -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/rainmanjam/poka-yoke --path benchmarks/controls/clean-code/skills/clean-code
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/clean-code/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add rainmanjam/poka-yoke --skill clean-code -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/rainmanjam/poka-yoke/tree/HEAD/benchmarks/controls/clean-code/skills/clean-code/SKILL.md

## Когда брать
- найти, почему функция на 200 строк мешает менять бизнес-правила
- разложить модуль по фичам вместо слоёв
- объяснить в ревью, что не так с именами, без спора о вкусах
- решить, пора ли выносить дублирующийся код в общий модуль
- спроектировать интерфейс до того, как появились вызывающие

## Примеры запросов агенту
- Проведи аудит функции `process` в `report.py`: что мешает тестировать её без сети
- Спроектируй структуру нового модуля экспорта отчётов, пока у него нет вызывающих
- Разбери, почему упал деплой вчера, и что поменять в конфиге, чтобы это не повторилось

## Похожие
- [improve-codebase-architecture](https://affpapa.org/nevibecode/skills/improve-codebase-architecture.md) — скилл · 1163035 установок
- [tdd](https://affpapa.org/nevibecode/skills/tdd.md) — скилл · 1141062 установки
- [triage](https://affpapa.org/nevibecode/skills/triage.md) — скилл · 990453 установки
- [codebase-design](https://affpapa.org/nevibecode/skills/codebase-design.md) — скилл · 850344 установки
- [code-review](https://affpapa.org/nevibecode/skills/code-review.md) — скилл · 789521 установка
- [implement](https://affpapa.org/nevibecode/skills/implement.md) — скилл · 774700 установок

## Другие версии с тем же именем
- [clean-code · sickn33](https://affpapa.org/nevibecode/skills/sickn33-clean-code.md) — 12400 установок
- [clean-code · wondelai](https://affpapa.org/nevibecode/skills/wondelai-clean-code.md) — 6600 установок
- [clean-code · decebals](https://affpapa.org/nevibecode/skills/decebals-clean-code.md) — 379 установок
- [clean-code · pproenca](https://affpapa.org/nevibecode/skills/pproenca-clean-code.md) — 842 установки
- [clean-code · davila7](https://affpapa.org/nevibecode/skills/clean-code.md) — 7176 установок

Из того же набора: [rainmanjam/poka-yoke](https://affpapa.org/nevibecode/by/rainmanjam/poka-yoke.md) — 7 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
