m12-lifecycle — скилл для Claude Code: жизненный цикл
Помогает проектировать жизненный цикл ресурсов в Rust: создание, область действия, очистку и поведение при ошибках.
npx skills add actionbook/rust-skills --skill m12-lifecycle -a claude-codeЧто делает m12-lifecycle
Скилл помогает выбрать способ управления ресурсом в Rust. Он связывает RAII с Drop, отложенную инициализацию с OnceLock и LazyLock, повторное использование соединений с r2d2 или deadpool, а ограниченный доступ с паттерном MutexGuard.
Внутри есть вопросы для выбора области действия и владельца очистки, таблицы событий жизненного цикла, шаблоны RAII-охранника и ленивого синглтона, а также разбор типичных ошибок: утечек, двойного освобождения, E0509 и исчерпания пула. Отдельно показано, как связать проектирование с m02-resource, m03-mutability, m06-error-handling и m07-concurrency.
Для очистки, которая может завершиться ошибкой, скилл советует использовать явный close, возвращающий Result, поэтому этот сценарий стоит проверить до выбора одного Drop. Для автоматической очистки на выходе из области действия подходит Drop и RAII-обёртка.
Какие задачи решает
- выбрать область действия ресурса
- спроектировать очистку при ошибке
- настроить ленивую инициализацию
- подобрать пул для дорогих соединений
- разобрать причину утечки ресурса
Примеры запросов агенту
- Спроектируй жизненный цикл соединений с учётом стоимости создания, области действия и очистки при ошибках.
- Сравни
Drop,OnceLock,LazyLockи пул для этого ресурса, затем предложи вариант на Rust. - Проверь, почему пул исчерпывается, и покажи, где ресурс должен возвращаться через
Drop.
Как установить m12-lifecycle
1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m12-lifecycle -a claude-code2Вручную: положить файлы
~/.claude/skills/m12-lifecycle/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/m12-lifecycle/
1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m12-lifecycle -a codex2Вручную: положить файлы
.agents/skills/m12-lifecycle/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m12-lifecycle -a cursor2Вручную: положить файлы
.cursor/skills/m12-lifecycle/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install actionbook/rust-skills m12-lifecycle2Вручную: положить файлы
.github/skills/m12-lifecycle/SKILL.md1Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m12-lifecycle -a gemini-cli2Командой платформы
gemini skills install https://github.com/actionbook/rust-skills --path skills/m12-lifecycleВручную: положить файлы
.devin/skills/m12-lifecycle/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add actionbook/rust-skills --skill m12-lifecycle -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о m12-lifecycle
Как установить m12-lifecycle в Claude Code?
Выполните npx skills add actionbook/rust-skills --skill m12-lifecycle -a claude-code, затем повторите эту же команду: npx skills add actionbook/rust-skills --skill m12-lifecycle -a claude-code. Файл скилла находится по пути ~/.claude/skills/m12-lifecycle/SKILL.md.
Что делает m12-lifecycle?
Скилл помогает выбрать модель жизненного цикла ресурса в Rust: RAII и Drop, ленивую инициализацию, пул, guard-паттерн или границу транзакции. Он также разбирает очистку при ошибках и типичные проблемы владения.
Что выбрать для ленивой инициализации в Rust?
Для отложенного создания скилл рассматривает OnceLock и LazyLock. Для потокобезопасной инициализации в связанных рекомендациях указан OnceLock, а LazyLock связан с синхронизацией.