К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

code-quality — скилл для Claude Code: правила корректности

Набор правил корректности, Rust-паттернов и принципов без переусложнения для агентов, которые пишут код в вашем проекте.

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

Что делает 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-code

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

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

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

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

Весь набор →
storage-format tursodatabase Справочник по формату файла SQLite: заголовок, страницы, B-деревья, ячейки, overflow и freelist, с привязкой к коду Turso. Claude Code CX Codex Cursor +1 1 300установок testing tursodatabase Скилл помогает писать тесты для SQL и Rust: учит выбирать между форматами .sqltest, TCL и интеграционными тестами, показывает команды для запуска. Claude Code CX Codex Cursor +1 1 300установок async-io-model tursodatabase Обучает агента архитектуре асинхронного ввода-вывода в Turso: явным стейт-машинам, типу IOResult и защите от багов повторного входа. Claude Code CX Codex Cursor +1 1 300установок debugging tursodatabase Скилл по отладке tursodb: сравнить байткод с SQLite, включить трейс-логи, прогнать ThreadSanitizer, воспроизвести баг по seed и замерить стек. Claude Code CX Codex Cursor +1 1 300установок index-knowledge tursodatabase Скилл автоматически создаёт иерархическую документацию AGENTS.md для кодовой базы. Анализирует структуру проекта, оценивает сложность каждой папки и генерирует файлы с инструкциями для ИИ-агентов. Claude Code CX Codex Cursor +1 1 300установок mvcc tursodatabase Справочник по экспериментальному MVCC в кодовой базе Turso: многоверсионность строк, изоляция снимков и ограничения памяти. Пригодится при отладке и разработке ядра базы данных. Claude Code CX Codex Cursor +1 1 200установок differential-fuzzer tursodatabase Скилл помогает запускать дифференциальный фаззер Turso и разбирать расхождения с SQLite. Нужен при поиске ошибок корректности в сгенерированных SQL-запросах. Claude Code CX Codex Cursor +1 1 200установок transaction-correctness tursodatabase Объясняет механику транзакций в Turso: как работает WAL, чекпоинты, восстановление после сбоя и правила конкурентного доступа. Claude Code CX Codex Cursor +1 1 200установок

Похожие

build-graph tirth8205 Собирает или обновляет граф знаний для code review в репозитории. Нужен при первой настройке, смене ветки или крупном рефакторинге. Claude Code CX Codex Cursor +1 1 300установок hyperplan code-yeongyu Команда из пяти агентов с противоположными ролями проверяет план на прочность. В финальную схему попадает только то, что устояло под перекрёстным огнём. Claude Code CX Codex Cursor +1 576установок swiftui-performance-audit официальный OpenAI Находит причины просадок кадров, долгого рендеринга и утечек памяти в SwiftUI. Помогает разобрать код вьюшек или подготовить замеры для профилирования. CX Codex GP ChatGPT 109установок patch официальный anthropics Скилл готовит патчи для подтверждённых уязвимостей без изменения кода в репозитории. Claude Code CX Codex Cursor +1 1 100установок triage официальный anthropics Скилл проверяет находки сканеров, убирает дубли и ранжирует уязвимости по эксплуатационной сложности. Нужен для разбора файла или каталога с результатами. Claude Code CX Codex Cursor +1 1 100установок vuln-scan официальный anthropics Статический сканер уязвимостей в исходном коде. Читает директорию, запускает параллельные субагенты для проверки разных областей и записывает находки в JSON и markdown для дальнейшего разбора. Claude Code CX Codex Cursor +1 1 100установок improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. Claude Code 1 163 035установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. Claude Code 1 141 062установок

Вопросы о 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

Смотрите также

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

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