Генератор anywidget
Generate anywidget components for marimo notebooks.
AImarimo-team
official
Другое
Что делает навык
Генерирует компоненты anywidget для ноутбуков marimo, используя ванильный JavaScript в поле _esm и CSS в поле _css. Обеспечивает корректное отображение виджета через обёртку mo.ui.anywidget и управление состоянием через traitlets.
Когда применять
- Создание простых интерактивных виджетов, таких как счётчик, с минимальным кодом.
- Разработка сложных виджетов с обильной логикой JavaScript или CSS, требующих выноса кода во внешние файлы.
- Обеспечение кросс-темного оформления (light/dark mode) для интерфейсов виджетов.
- Интеграция пользовательских виджетов в среду marimo для визуализации данных.
Как работает
- Определить класс, наследующийся от anywidget.AnyWidget, с полями _esm (JavaScript) и _css (стили).
- В _esm реализовать функцию render({ model, el }), используя model.get/set для чтения и записи значений и model.on для подписки на изменения.
- В _css добавить минимальные стили, обеспечивающие корректное отображение в светлой и тёмной темах через @media (prefers-color-scheme: dark).
- Для сложной логики вынести код JS и CSS во внешние файлы, используя pathlib для указания путей относительно проекта.
- Обернуть экземпляр виджета в mo.ui.anywidget() для отображения в ноутбуке marimo.
- Доступ к значениям виджета получать через свойство .value, которое возвращает словарь.
Примеры запросов агенту
Создай простой виджет-счётчик на anywidget для marimo с ванильным JavaScript.
Разработай anywidget с обильной логикой, вынеся JS и CSS во внешние файлы, с поддержкой тёмной темы.
Напиши код для отображения anywidget в marimo, где пользователь может изменять числовое значение через интерфейс.
Что понадобится
- Библиотеки anywidget и marimo
- Среда выполнения Python с поддержкой traitlets
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «anywidget-generator» из репозитория:
# https://github.com/marimo-team/skills
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r anywidget-generator/ ~/.claude/skills/anywidget-generator/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.