riso-windowseat — скилл
Набор скиллов для Claude Code делает процедурные ризографические фильмы и постеры: один HTML-файл на Canvas 2D и Web Audio
- 317 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Команда `npm run setup` скачивает сборки Chromium и Firefox, а `npm install` ставит пакеты с bundled ffmpeg
- Агент запускает скрипты `tools/` и пишет файлы в `films/`, `prints/` и `out/`
- Хук после правки фильма запускается автоматически и смотрит файл на `Math.random()`
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/riso-windowseatОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Команда `npm run setup` скачивает сборки Chromium и Firefox, а `npm install` ставит пакеты с bundled ffmpeg
- Агент запускает скрипты `tools/` и пишет файлы в `films/`, `prints/` и `out/`
- Хук после правки фильма запускается автоматически и смотрит файл на `Math.random()`
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Репозиторий вырос из релиза фильма Window Seat. На его создание ушел набор скиллов для Claude Code, конспекты ремесла и инструмент рендера, и теперь все это лежит открытым набором. Каждый фильм и постер здесь — один файл `index.html`: Canvas 2D и Web Audio без библиотек, шрифтов, картинок и сетевых запросов, а сэмплированная музыка хранится внутри файла. Девять фильмов (Window Seat, Roost, Held, Nonpareil, Eclosion, Passenger, Standby, Lumen, Emergence) идут в формате 1080 на 1080 при 30 кадрах в секунду, MP4 лежат в релизе v1.0. В `.claude/skills/` три скилла. Скилл `riso-film` проектирует и собирает процедурную анимацию и выдает `films/<имя>/index.html` и проверенный MP4 в `out/`. `riso-still` делает постеры и серии отпечатков, результат это `prints/<имя>/index.html` и PNG в родном разрешении. `riso-score` пишет или переделывает музыку: детерминированную `renderAudio()` длиной ровно в фильм, с замером громкости и синхронизации. Скилл `riso-still` не подменяет процедурную графику растровой генерацией ИИ. Сама сборка идет в `tools/`: `npm install` ставит playwright-core и ffmpeg, `npm run setup` скачивает Chromium и Firefox для рендера, `npm test` запускает самопроверку. Затем Claude Code открывают в корне репозитория и просят, например, сделать сорокасекундный фильм про ночь смотрителя маяка или постер с цаплей на пирсе. `CLAUDE.md` задает сессии контракт и команды. Хук после каждой правки фильма отмечает вызовы `Math.random()` и отсутствие `window.__riso`.
Для кого. Дизайнерам и энтузиастам creative coding, которые хотят делать короткие процедурные фильмы и постеры в стиле ризографии вместе с Claude Code.
Подходит, если
- Нужен сорокасекундный фильм по сюжету, например о ночи смотрителя маяка
- Нужен постер в стиле ризографии, скажем цапля на пирсе в сумерках
- Готовый фильм надо озвучить или смягчить слишком громкий эпизод (`riso-score`)
- Хочется продлить Window Seat новым эпизодом, например снежным перевалом после озера
- Нужно разобраться, как устроены процедурная графика и звук: в `docs/` лежат конспекты ремесла, а в `studies/` интерактивные страницы
Не подходит, если
- Нужна растровая генерация изображений ИИ: `riso-still` процедурный и такую подмену не делает
- Скиллы нужны в чужом проекте: они работают из корня клонированного репозитория
- Фильм надо смонтировать из реальных съемок: здесь все рисуется кодом
Пример запроса к агенту
Сделай 40-секундный ризографический фильм про ночь смотрителя маяка и озвучь его через `riso-score`Ограничения
- Скиллы работают из корня клонированного репозитория, а в чужой проект их надо переносить вместе с `CLAUDE.md`, правилом `riso-plates` и хуком.
- Нужны Node.js 18 или новее и Claude Code. Команда `npm run setup` скачивает сборки Chromium и Firefox, опубликованные MP4 отрисованы в Firefox (`render.mjs --engine firefox`).
- Лицензия MIT, кроме материалов третьих сторон: фортепиано Window Seat под CC BY 3.0 (нужно оставлять авторство), геометрия крыла в Eclosion под CC BY-SA 4.0.
- Фильм Standby на сайте seveneves.ai/riso не проигрывается, его смотрят из файла.
Как отключить. Скиллы действуют только внутри клона, поэтому достаточно не открывать Claude Code в этой папке или удалить ее. Скачанные для рендера браузеры лежат в окружении Playwright и удаляются вместе с папкой `tools/node_modules` и кэшем Playwright.
Частые вопросы
Как начать работать с riso-windowseat?
Клонируйте репозиторий, перейдите в `tools/` и выполните `npm install && npm run setup && npm test`. Затем откройте Claude Code в корне репозитория и опишите фильм или постер.
Что на выходе: видео или код?
И то и другое. Скилл `riso-film` отдает `films/<имя>/index.html`, который играет в браузере по кнопке Play, и проверенный MP4 в `out/`. Постеры выходят как `prints/<имя>/index.html` и PNG.
Нужны ли внешние библиотеки и картинки?
Нет. Каждая работа состоит из одного HTML на Canvas 2D и Web Audio без библиотек, шрифтов, картинок и сетевых запросов, музыка с записями лежит внутри файла.
Можно ли использовать фильмы и звуки повторно?
Код, фильмы и постеры идут под MIT, кроме двух частей: фортепиано Window Seat (CC BY 3.0, авторство надо сохранять) и геометрии крыла Eclosion (CC BY-SA 4.0). Записи каждого сэмплированного фильма указаны в его `AUDIO-SOURCES.md`.
Как поправить звук в готовом фильме?
Попросите агента, например: «The rain at 66 s is too loud». Скилл `riso-score` пересоберет `renderAudio()`, сверит громкость и синхронизацию и запишет замеры в `FILM.md`.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыШесть скиллов Claude Code делают анимацию для рилсов без съемки: график, маршрут на карте, разбор устройства, ролики с озвучкой
Скилл для рисованной 2D-анимации кодом: словарь деталей, риги с анатомией и покадровый MP4 со звуком, на Node и ffmpeg
Скилл для Claude Code: снимает продукт в браузере, собирает ролик с главами и титрами и мастерит MP4 локально
Скилл Claude Code для видео из кода делит ролик на сцены и подбирает каждой свой движок, от Paper.js и Three.js до Manim.
Скилл для Claude Code рисует в коде вертикальные ролики 9:16 в стиле бумажной аппликации: сценарий, озвучка и MP4 одной командой
Набор скиллов дает Claude Code три способа рисовать картинки: код без модели, 3D-сцену Three.js и диффузию Flux на Cloudflare.
Коротко о README
README открывается описанием набора и таблицей девяти фильмов с длительностью и сюжетом, затем подробно разбирает Window Seat, Roost, Held, Nonpareil и Eclosion. Дальше идут постеры, рассказ о том, как фильмы сделаны, и раздел «Make your own» с установкой и примерами запросов. Завершают таблица содержимого репозитория и лицензии со ссылками на источники записей.
Бейдж для README
Исходный SKILL.md
--- name: riso-film description: Design, build or improve procedural risograph animations and videos in this repo, including narrative films, abstract shorts, motion effects and visual inspection. Delivers self-contained Canvas 2D HTML and a verified MP4. For standalone still art use riso-still; for sound use riso-score. Not for editing tools/. --- # Riso film Deliver `films/<name>/index.html` plus a verified MP4 in `out/`. Every pixel is drawn in Canvas 2D; the deliverable has no libraries, fonts, images or network calls. External subject references may be studied, never embedded. Paths are relative to the repo root; commands run in `tools/`. Reference exclusions in the user's request take precedence. ## 1. Direction Read `.claude/rules/riso-plates.md`, `docs/brief.md` and `docs/visual-development.md` first. Add `docs/drawing.md` and `docs/motion.md` for what is being built, `docs/characters.md` for people, animals or hands, `docs/scene-space.md` for complex objects, framing, perspective or precise speed changes, and `docs/quality-bar.md` for print finish and playback defects. Load `docs/sound.md` only when scoring. [examples.md](examples.md) maps techniques to the shipped films; open the matching source before inventing a routine that already exists. Extract subject, feeling, scope and constraints. For an open aesthetic brief, choose a direction and proceed; if the user asks for proposals, propose first. Write `FILM.md` early: design decisions, observed references, shot/action plan, user constraints, remaining work. Plan actions and consequences, not illustrated nouns. Per substantial shot: camera and shot size, what changes, a readable arrival/hold, and where the eye goes at the next cut. Keep subject motion, camera motion, transition and atmosphere distinct. `docs/forms/resonance.md` is an optional call-and-response form (used by `films/lumen` and `films/emergence`); use it only when asked or deliberately chosen. A single journey through one fixed frame (`films/window-seat`) or one continuous take of one event (`films/roost`, `films/nonpareil`, `films/eclosion`, `films/passenger`, `films/standby`) is an equally valid alternative to a montage. Preserve approved direction in revisions. ## 2. Prove the hard part first Before filling a timeline, inspect real subject references and build one representative hard frame. For complex art, compare small viewpoint/value thumbnails first. When the request remakes a known video, measure the file itself (cuts, shots, actions) before choosing what to keep. Figures get debug views and photo comparisons before shots: likeness judged at recognition scale, a posable 3D hand per grip, 3D-solved arms (`docs/characters.md`). A subject that recurs at