code-quality — скилл для Claude Code: правила корректности
Набор правил корректности, Rust-паттернов и принципов без переусложнения для агентов, которые пишут код в вашем проекте.
npx skills add tursodatabase/turso --skill code-quality -a claude-codeЧто делает code-quality
Скилл code-quality от tursodatabase содержит правила, которые агент должен учитывать при написании кода. Главный принцип: корректность важнее всего, сбой лучше повреждения данных.
Внутри — правила обработки ошибок: никаких обходных путей, assert на инвариантах, сбой при недопустимом состоянии. Для Rust заданы паттерны: недопустимые состояния делать непредставимыми, исчерпывающее сопоставление образцов, enum вместо строк, минимизация аллокаций в куче.
Скилл также требует не переусложнять: только запрошенные изменения, без абстракций ради одной операции. При операциях с индексами сверяйте порядок с SQLite — ошибка ведёт к несоответствию индексов, которое легко пропустить.
Какие задачи решает
- заставить агента обрабатывать все ошибки, а не глотать крайние случаи
- добавить assert на инвариантах вместо тихих сбоев
- убрать недостижимые ветки if-else, где одна ветка «не должна случиться»
- сократить переусложнение: абстракции, докстринги, обработку невозможных сценариев
- проверить порядок операций с индексами против SQLite
Примеры запросов агенту
- Проверь этот код по скиллу code-quality
- Напиши функцию обработки конфликтов индекса с учётом code-quality
- Перед ревью примени правила code-quality к diff
Как установить code-quality
1Через Skills CLI (Vercel)
npx skills add tursodatabase/turso --skill code-quality -a claude-code2Вручную: положить файлы
~/.claude/skills/code-quality/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/code-quality/
1Через Skills CLI (Vercel)
npx skills add tursodatabase/turso --skill code-quality -a codex2Вручную: положить файлы
.agents/skills/code-quality/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add tursodatabase/turso --skill code-quality -a cursor2Вручную: положить файлы
.cursor/skills/code-quality/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install tursodatabase/turso code-quality2Вручную: положить файлы
.github/skills/code-quality/SKILL.md1Через Skills CLI (Vercel)
npx skills add tursodatabase/turso --skill code-quality -a gemini-cli2Командой платформы
gemini skills install https://github.com/tursodatabase/turso --path .claude/skills/code-qualityВручную: положить файлы
.devin/skills/code-quality/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add tursodatabase/turso --skill code-quality -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора10
Весь набор →Похожие
Вопросы о code-quality
Как установить code-quality в Claude Code?
Выполните npx skills add tursodatabase/turso --skill code-quality -a claude-code. Скилл появится в ~/.claude/skills/code-quality/SKILL.md.
Что делает code-quality?
Задаёт правила корректности для агента: обработка всех ошибок, assert на инвариантах, сбой при недопустимом состоянии. Плюс Rust-паттерны и запрет на переусложнение.
Для каких языков подходит скилл?
Паттерны написаны под Rust, но правила корректности и анти-over-engineering применимы к любому языку.
Исходный текст
SKILL.md · MIT
---
name: code-quality
description: General Correctness rules, Rust patterns, comments, avoiding over-engineering. When writing code always take these into account
---
# Code Quality Guide
## Core Principle
Production database. Correctness paramount. Crash > corrupt.
## Correctness Rules
1. **No workarounds or quick hacks.** Handle all errors, check invariants
2. **Assert often.** Never silently fail or swallow edge cases
3. **Crash on invalid state** if it risks data integrity. Don't continue in undefined state
4. **Consider edge cases.** On long enough timeline, all possible bugs will happen
## Rust Patterns
- Make illegal states unrepresentable
- Exhaustive pattern matching
- Prefer enums over strings/sentinels
- Minimize heap allocations
- Write CPU-friendly code (microsecond = long time)
## If-Statements
Wrong:
```rust
if condition {
// happy path
} else {
// "shouldn't happen" - silently ignored
}
```
Right:
```rust
// If only one branch should ever be hit:
assert!(condition, "invariant violated: ...");
// OR
return Err(LimboError::InternalError("unexpected state".into()));
// OR
unreachable!("impossible state: ...");
```
Use if-statements only when both branches are expected paths.
## Comments
- Don't add code comments, except for rust `SAFETY` comments.
## Avoid Over-Engineering
- Only changes directly requested or clearly necessary
- Don't add features beyond what's asked
- Don't add docstrings/comments to unchanged code
- Don't add error handling for impossible scenarios
- Don't create abstractions for one-time operations
- Three similar lines > premature abstraction
## Index Mutations
When code involves index inserts, deletes, or conflict resolution, double-check the ordering against SQLite. Wrong ordering causes index inconsistencies. and easy to miss.
## Ensure understanding of IO model
- [Async IO model](../async-io-model/SKILL.md)
## Cleanup
- Delete unused code completely
- No backwards-compat hacks (renamed `_vars`, re-exports, `// removed` comments)
## Single-use helpers
If a helper function has no meaning outside of a single use case, move it inside the function that uses it:
```rust
fn do_something() {
something_specific();
fn something_specific() {
}
}
```
© tursodatabase · MIT · tursodatabase/turso