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()`
Все причины и проверки

sevenevesai/riso-windowseat

Установка

Работает в

В терминале, через 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 делают анимацию для рилсов без съемки: график, маршрут на карте, разбор устройства, ролики с озвучкой

ПлагинРасширенный доступ709Звезды репозитория

Скилл для рисованной 2D-анимации кодом: словарь деталей, риги с анатомией и покадровый MP4 со звуком, на Node и ffmpeg

ПлагинМинимальный доступ151Звезды репозитория

Скилл для Claude Code: снимает продукт в браузере, собирает ролик с главами и титрами и мастерит MP4 локально

СкиллРасширенный доступ396Звезды репозитория

Скилл Claude Code для видео из кода делит ролик на сцены и подбирает каждой свой движок, от Paper.js и Three.js до Manim.

СкиллРасширенный доступ115Звезды репозитория

Скилл для Claude Code рисует в коде вертикальные ролики 9:16 в стиле бумажной аппликации: сценарий, озвучка и MP4 одной командой

СкиллРасширенный доступ138Звезды репозитория

Набор скиллов дает Claude Code три способа рисовать картинки: код без модели, 3D-сцену Three.js и диффузию Flux на Cloudflare.

СкиллРасширенный доступ113Звезды репозитория

Коротко о 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

Сообщить о проблеме