BB Rust
Пишет, отлаживает и оптимизирует код Rust, крейты и сборки Cargo: владение, время жизни, трейты, async, unsafe и FFI. Используйте, когда borrow checker отклоняет код, когда rustc сообщает о перемещении значения, невозможности заимствовать как изменяемое, недостаточном времени жизни, отсутствующем спецификаторе времени жизни, неудовлетворенном ограничении трейта или несовместимости с dyn; когда future не может быть отправлен между потоками, Mutex guard пересекает await, задача блокирует асинхронную среду выполнения, или select! теряет данные; когда код входит в deadlock, паникует при unwrap или сталкивается с BorrowMutError; когда сборки cargo медленные, функции неожиданно объединяются, сталкиваются две версии одного крейта или сборка завершается с ошибкой только в CI; при написании unsafe, C FFI, proc макросов, serde derives, no_std прошивки или wasm; при кросс-компиляции в musl или другую цель; при профилировании, бенчмаркинге или уменьшении размера бинарного файла Rust. Не для C++ или независимой от языка теории конкурентности.
машинный переводПоказать оригиналСкрыть оригинал«Writes, debugs, and optimizes Rust code, crates, and Cargo builds: own…»
Writes, debugs, and optimizes Rust code, crates, and Cargo builds: ownership, lifetimes, traits, async, unsafe, and FFI. Use when the borrow checker rejects code, when rustc reports value moved, cannot borrow as mutable, does not live long enough, missing lifetime specifier, trait bound not satisfied, or not dyn compatible; when a future cannot be sent between threads, a Mutex guard crosses an await, a task blocks the async runtime, or select! loses data; when code deadlocks, panics on unwrap, or hits BorrowMutError; when cargo builds are slow, features unify unexpectedly, two versions of one crate collide, or the build fails only in CI; when writing unsafe, C FFI, proc macros, serde derives, no_std firmware, or wasm; when cross-compiling to musl or another target; when profiling, benchmarking, or shrinking a Rust binary. Not for C++ or language-agnostic concurrency theory.
Пишет, отлаживает и оптимизирует код Rust, крейты и сборки Cargo: владение, время жизни, трейты, async, unsafe и FFI.
Как процесс B 71/100 · Почти готов — слабые места: входы и предусловия, повторный запуск, отчётность по ходу
Как улучшить
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 28. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - предупреждение
body-longтело SKILL.md ≈ 5539 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "slug" - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage" - заметка
frontmatter-keyнеизвестное поле фронтматтера "changelog"
Процессный рейтинг: все десять параметров 71/100
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 15, без проверки текущего состояния
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Стоимость исполнения. Тело инструкции 5539 токенов
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 50
- 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (9 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +3Длина description 886: рекомендуется 120–800 символов
- +4Нет примеров входа/выхода
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +4Структура: 12 заголовков
- +3Пошаговые инструкции: 50 пунктов
- +3Формат ответа описан явно
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 66.