kotlin-best-practices — скилл для Claude Code: стандарты Kotlin
Скилл задаёт правила Kotlin-кода: null safety, Either вместо исключений, корутины и паттерны Exposed ORM. Пригодится при написании и ревью Kotlin-кода.
npx skills add c0x12c/ai-toolkit --skill kotlin-best-practices -a claude-codeЧто делает kotlin-best-practices
Скилл описывает, как писать Kotlin в проекте: !! запрещён, вместо него ?., ?: или проверка на null со smart cast. Менеджеры возвращают Either<ClientException, T> и не бросают исключения, а контроллеры разворачивают результат через .throwOrValue(). Строки для enum не хардкодят — берут EnumName.VALUE.value.
В работе с базой скилл требует наследовать таблицы от UUIDTable, а не от Table, и использовать text() вместо varchar(). Удаление — только мягкое, через обновление deletedAt, и в каждом запросе нужен фильтр deletedAt.isNull(). Чтения идут через db.replica, записи через db.primary, а изменения в нескольких таблицах собираются в один транзакционный блок: либо всё проходит, либо всё откатывается.
Ещё одно правило касается DTO: конвертация живёт в companion object { fun from(entity) } внутри самого Response DTO, отдельные файлы-мапперы не создаются. Под каждый раздел есть подробные примеры в code-patterns.md, но сам файл в скилл не входит — без него останутся только краткие формулировки. Скилл работает с инструментами Read, Write, Edit, Glob и Grep.
Какие задачи решает
- писать Kotlin-код без
!!и лишних исключений - разворачивать
Eitherв контроллере через.throwOrValue() - делать мягкое удаление записей вместо физического
- разносить чтения и записи по
db.replicaиdb.primary - выносить конвертацию сущности в Response DTO, а не в отдельный маппер
Примеры запросов агенту
- Напиши репозиторий на Kotlin по правилам скилла: таблица от
UUIDTable, фильтрdeletedAt.isNull()в запросах - Отревьюй этот менеджер — он должен возвращать
Either, а не бросать исключение - Добавь метод обновления в одной транзакции: запись в две таблицы через
db.primary
Как установить kotlin-best-practices
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill kotlin-best-practices -a claude-code2Вручную: положить файлы
~/.claude/skills/kotlin-best-practices/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/kotlin-best-practices/
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill kotlin-best-practices -a codex2Вручную: положить файлы
.agents/skills/kotlin-best-practices/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill kotlin-best-practices -a cursor2Вручную: положить файлы
.cursor/skills/kotlin-best-practices/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install c0x12c/ai-toolkit kotlin-best-practices2Вручную: положить файлы
.github/skills/kotlin-best-practices/SKILL.md1Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill kotlin-best-practices -a gemini-cli2Командой платформы
gemini skills install https://github.com/c0x12c/ai-toolkit --path toolkit/skills/kotlin-best-practicesВручную: положить файлы
.devin/skills/kotlin-best-practices/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add c0x12c/ai-toolkit --skill kotlin-best-practices -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о kotlin-best-practices
Как установить kotlin-best-practices в Claude Code?
Выполните npx skills add c0x12c/ai-toolkit --skill kotlin-best-practices -a claude-code. Скилл встанет по пути ~/.claude/skills/kotlin-best-practices/SKILL.md.
Что делает kotlin-best-practices?
Задаёт агенту стандарты Kotlin-кода: null safety без !!, возврат Either из менеджеров, мягкое удаление в Exposed ORM, разделение чтений и записей по реплике и праймари, конвертация внутри Response DTO.
На каких платформах работает скилл?
Кроме Claude есть установка для Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.