rattles-terminal-spinners — скилл для Claude Code: спиннеры на Rust
Скилл для работы с rattles — минимальной Rust-библиотекой терминальных спиннеров. Пригодится, когда в CLI нужен индикатор загрузки без лишних зависимостей.
npx skills add reason-machines/trending-skills --skill rattles-terminal-spinners -a claude-codeЧто делает rattles-terminal-spinners
Скилл объясняет, как устроена библиотека rattles и как встроить её в свой проект. Спиннер здесь — это Rattler: набор кадров плюс интервал между ними. Состояния у него нет, поэтому создавать его можно прямо в цикле отрисовки, и стоит это дёшево.
Внутри разобраны пресеты по категориям — стрелки, ASCII, braille, эмодзи, — а также макрос rattle! для своих кадров на этапе компиляции. Для сред без стандартной библиотеки есть TickedRattler: он хранит состояние и продвигается вызовом tick(). Есть и варианты без состояния — по индексу кадра или по переданной длительности от внешнего таймера. Отдельный раздел посвящён интеграции с ratatui: Rattler передаётся по ссылке, оборачивать его в Arc<Mutex<>> не нужно.
Устанавливается библиотека через cargo add rattles, для no_std — с флагом --no-default-features. Если спиннер замер на первом кадре, проверьте, сбрасываете ли вы stdout через flush() и перезаписываете ли строку символом \r, а не \n.
Какие задачи решает
- добавить индикатор загрузки в консольную утилиту на Rust
- выбрать готовый набор кадров для спиннера вместо ручной отрисовки
- сделать анимацию в среде без стандартной библиотеки
- встроить спиннер в интерфейс на ratatui
- задать собственные кадры и интервал через макрос
Примеры запросов агенту
- Добавь спиннер rattles в мой CLI на Rust, используй пресет dots
- Как подключить rattles в проекте с no_std?
- Сделай кастомный спиннер через макрос rattle! с тремя кадрами
Как установить rattles-terminal-spinners
1Через Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill rattles-terminal-spinners -a claude-code2Вручную: положить файлы
~/.claude/skills/rattles-terminal-spinners/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/rattles-terminal-spinners/
1Через Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill rattles-terminal-spinners -a codex2Вручную: положить файлы
.agents/skills/rattles-terminal-spinners/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill rattles-terminal-spinners -a cursor2Вручную: положить файлы
.cursor/skills/rattles-terminal-spinners/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install reason-machines/trending-skills rattles-terminal-spinners2Вручную: положить файлы
.github/skills/rattles-terminal-spinners/SKILL.md1Через Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill rattles-terminal-spinners -a gemini-cli2Командой платформы
gemini skills install https://github.com/reason-machines/trending-skills --path skills/rattles-terminal-spinnersВручную: положить файлы
.devin/skills/rattles-terminal-spinners/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add reason-machines/trending-skills --skill rattles-terminal-spinners -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора42
Похожие
Рядом в теме «Языки программирования»
Все скиллы по теме «Языки программирования» →Вопросы о rattles-terminal-spinners
Как установить rattles-terminal-spinners в Claude?
Выполните npx skills add reason-machines/trending-skills --skill rattles-terminal-spinners -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/rattles-terminal-spinners/SKILL.md.
Что делает rattles-terminal-spinners?
Помогает агенту подключать библиотеку rattles и писать код терминальных спиннеров: пресеты, кастомные кадры, режим no_std, интеграция с ratatui.
Что нужно для работы в no_std?
Библиотеку ставят с отключёнными стандартными возможностями, а анимацию ведут через TickedRattler с вызовом tick(), по индексу кадра или по длительности от внешнего таймера.