# code-quality

Скилл проводит ревью TypeScript- и React-кода, опираясь на линтер, строгую типизацию и проверку размеров компонентов. Пригодится перед созданием PR или после завершения фичи.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 2000 установок · ★ 6
- Автор: cognitedata
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/cognitedata/builder-skills/tree/HEAD/skills/code-quality/SKILL.md
- Обновлён: 2026-10-20
- HTML: https://affpapa.org/nevibecode/skills/code-quality

## Что делает

Скилл запускает аудит кодовой базы в фиксированном порядке. Сначала он выполняет `pnpm run lint` и строгую компиляцию `pnpm exec tsc --noEmit`. Если проверки падают с ошибками, дальше ревью не идёт. Все ошибки линтера должны быть исправлены сразу.

Далее агент ищет типы `any`, флаги загрузки и ручное дублирование схем с помощью `grep`. Вместо этого скилл требует дискриминированные объединения, брендированные типы и вывод типов через `Pick` или `ReturnType`. Компоненты длиннее 150 строк проверяются на нарушение единой ответственности с предложением вынести логику в хуки.

Для работы требуются установленный `pnpm` и локальный TypeScript, иначе шаги линтинга сломаются в самом начале. Скилл также отслеживает прямое создание клиента CDF и настаивает на передаче зависимостей через контекст вроде `useCogniteClient()`.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add cognitedata/builder-skills --skill code-quality -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add cognitedata/builder-skills --skill code-quality -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add cognitedata/builder-skills --skill code-quality -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install cognitedata/builder-skills code-quality
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add cognitedata/builder-skills --skill code-quality -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/cognitedata/builder-skills --path skills/code-quality
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add cognitedata/builder-skills --skill code-quality -a opencode
```

### Claude.ai

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

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

## Когда брать
- Устранить типы any и заменить их на Zod-схемы или unknown
- Заменить комбинации булевых флагов на дискриминированные объединения
- Разбить React-компоненты длиннее 150 строк с выносом логики в хуки
- Найти дублирование строковых классов Tailwind и вызовов API
- Изолировать вызовы SDK через внедрение зависимостей

## Примеры запросов агенту
- Проверь качество кода в src/components/AssetPanel.tsx перед открытием PR
- Проведи код-ревью всего приложения и найди все типы any
- Найди дублирование логики и компоненты длиннее 150 строк в папке src

## Похожие
- [typescript-clean-code](https://affpapa.org/nevibecode/skills/typescript-clean-code.md) — скилл · 628 установок
- [narrow-react-prop-types](https://affpapa.org/nevibecode/skills/narrow-react-prop-types.md) — скилл · 1300 установок
- [typescript-quality](https://affpapa.org/nevibecode/skills/typescript-quality.md) — скилл · 1100 установок
- [thermo-nuclear-code-quality-review](https://affpapa.org/nevibecode/skills/thermo-nuclear-code-quality-review.md) — скилл · 22200 установок
- [eslint-prettier-config](https://affpapa.org/nevibecode/skills/eslint-prettier-config.md) — скилл · 1100 установок
- [nextjs-code-quality-enforcer](https://affpapa.org/nevibecode/hooks/nextjs-code-quality-enforcer.md) — хук · 2249 установок

## Другие версии с тем же именем
- [code-quality · tursodatabase](https://affpapa.org/nevibecode/skills/tursodatabase-code-quality.md) — 1800 установок
- [code-quality · miles990](https://affpapa.org/nevibecode/skills/miles990-code-quality.md) — 782 установки
- [code-quality · zernie](https://affpapa.org/nevibecode/skills/zernie-code-quality.md) — 391 установка

Из того же набора: [cognitedata/builder-skills](https://affpapa.org/nevibecode/by/cognitedata/builder-skills.md) — 24 карточки

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

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