Algorithmic Art with p5.js
anthropics/skills
Creates original generative art in two steps: a written algorithmic philosophy, then a p5.js sketch with seeded randomness and an interactive viewer for exploring parameters.
Design, build or improve procedural risograph animations and videos in this repo, including narrative films, abstract shorts, motion effects and visual inspection.
$ npx skills add sevenevesai/riso-windowseat --skill riso-film -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sevenevesai/riso-windowseat riso-film --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/sevenevesai/riso-windowseat.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/riso-film .claude/skills/riso-film && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "riso-film" agent skill from https://github.com/sevenevesai/riso-windowseat/tree/main/.claude/skills/riso-film into .claude/skills/riso-film/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riso-film", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/sevenevesai/riso-windowseat/tree/main/.claude/skills/riso-filmType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add sevenevesai/riso-windowseat --skill riso-film -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sevenevesai/riso-windowseat riso-film --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sevenevesai/riso-windowseat.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/riso-film .agents/skills/riso-film && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "riso-film" agent skill from https://github.com/sevenevesai/riso-windowseat/tree/main/.claude/skills/riso-film into .agents/skills/riso-film/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riso-film", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sevenevesai/riso-windowseat --skill riso-film -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sevenevesai/riso-windowseat riso-film --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sevenevesai/riso-windowseat.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/riso-film .cursor/skills/riso-film && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "riso-film" agent skill from https://github.com/sevenevesai/riso-windowseat/tree/main/.claude/skills/riso-film into .cursor/skills/riso-film/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riso-film", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/sevenevesai/riso-windowseat.git --path .claude/skills/riso-film--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add sevenevesai/riso-windowseat --skill riso-film -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sevenevesai/riso-windowseat riso-film --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sevenevesai/riso-windowseat.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/riso-film .gemini/skills/riso-film && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "riso-film" agent skill from https://github.com/sevenevesai/riso-windowseat/tree/main/.claude/skills/riso-film into .gemini/skills/riso-film/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riso-film", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sevenevesai/riso-windowseat riso-filmInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sevenevesai/riso-windowseat --skill riso-film -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sevenevesai/riso-windowseat.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/riso-film .github/skills/riso-film && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "riso-film" agent skill from https://github.com/sevenevesai/riso-windowseat/tree/main/.claude/skills/riso-film into .github/skills/riso-film/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riso-film", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sevenevesai/riso-windowseat --skill riso-film -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sevenevesai/riso-windowseat riso-film --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sevenevesai/riso-windowseat.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/riso-film .opencode/skills/riso-film && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "riso-film" agent skill from https://github.com/sevenevesai/riso-windowseat/tree/main/.claude/skills/riso-film into .opencode/skills/riso-film/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "riso-film", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
riso-filmDesign, build or improve procedural risograph animations and videos in this repo, including narrative films, abstract shorts, motion effects and visual inspection.
Riso Film is an agent skill from sevenevesai/riso-windowseat. 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/.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `examples.md`).
It sits in Media & Creative, covering Generative and creative coding. The repository describes itself as: Procedural risograph films in single HTML files (Window Seat, Roost and more), with the Claude Code skills, docs and tools to make your own. The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1275fda. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Riso Film loads about 1.9k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 956 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from sevenevesai/riso-windowseat at commit 1275fda, republished under its MIT licence (© sevenevesai). 956 words, ~1,891 tokens.
.claude/skills/riso-film/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.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.
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 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) is an equally valid alternative to a montage. Preserve approved direction in revisions.
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
several sizes goes on one sheet at its smallest and largest size first. Fix generic silhouettes
and inconsistent perspective before adding grain, hatching or more scenes.
Then build a short sample of the hardest action: the subject doing something, not just arriving.
Check attachments, mass, timing and aftermath. Encode that sample as soon as it exists
(render.mjs --from a --to b) and read its fastest frame at 1:1: strobing, mushy dots and bitrate
only show in the MP4. For a long film, make a full-duration silent rough cut before polishing.
Set holds and cut lengths from information and action, not equal slots or an
inherited timeline. These are working checks, not extra approval steps.
node new-riso.mjs --kind film --duration 60 --out ../films/<name>/index.htmlChoose the real duration. The generator refuses to overwrite and copies only the print, drawing
and motion kits plus tools/lib/visual-kit.mjs; it gives a blank drawArt(t), a player and the
__riso contract. Edit the generated HTML directly. Copy routines from donors
(prints/workings, studies/index.html, the films in examples.md), never their scenes. When most
of the frame moves with tone (parallax, smears, moving gradients), copy the live-plate compositor
from films/window-seat/index.html (see docs/live-plates.md).
docs/live-plates.md, cost). The generated player buffers slow films, so share MP4s for
judging pace.__riso.shots = [{id,start,end,readAt,action,transition}] derived from the one
authoritative timeline; readAt is a representative visible moment. No second set of timing
constants.node review.mjs ../films/<name>/index.html
node verify.mjs ../films/<name>/index.html
node shoot.mjs ../films/<name>/index.html --range 6.6:6.9:0.0333333333 --sheet --engine firefoxUse this film's event times. Read every sheet you generate. verify.mjs proves seek purity in
both browsers across the actual duration and shot boundaries; it proves repeatability, not beauty
or stable adjacent-frame texture, and a sheet cannot judge pacing or choppiness at speed. When it
fails, its DIAGNOSIS line names the per-seek state or the earlier frame that poisons the time.
Measure the playback defects in docs/quality-bar.md (flicker, jitter, pops, held stretches) and
watch a silent range render; docs/motion.md lists the traps that pass verify.
Inspect frame-spaced strips around handoffs, contacts, mask completions and visible wraps, on both
sides of each reset. For a retimable effect check 0.5x, 1x and 2x and move coupled clocks and holds
together. Settle texture questions on native PNGs or 1:1 crops; reduced sheets invent moiré and
hide small subjects. docs/quality-bar.md separates art, construction, print, action, pacing and
delivery evidence.
node render.mjs ../films/<name>/index.html --from 0 --to 6 --engine firefox --out ../out/section.mp4
node render.mjs ../films/<name>/index.html --fps 30 --size 1080 --engine firefox
node review.mjs ../films/<name>/index.html --mp4 ../out/<name>.mp4Range renders are silent; render the whole film after picture review. review.mjs --mp4 lists
every held stretch with its shot; confirm each is an intended hold (--from for a range render).
Score with riso-score first when sound is wanted. Decode the final MP4 and check duration,
dimensions, frame count and audio; inspect encoded motion too. Record evidence, remaining
weaknesses and anything not reviewed in FILM.md. Technical validity is not the user's artistic
approval.
For revisions, read FILM.md and edit the authoritative HTML; never rerun an old assembly script
over revised art. Keep the previous render for comparison and preserve approved pacing and score
during local fixes. Cut secondary detail before compromising the hard frame, the full progression
or verification.
When handing a revision to a fresh session, write a self-contained prompt: the film path; read
FILM.md first and treat index.html as authoritative; the user's words quoted; what is approved
and must not change, by time range; copy the delivered MP4 and WAV to -v1 before editing; each
suspected cause labelled unconfirmed with the check that would confirm it; and how to read the
file safely (sampled films carry multi-MB lines). Keep it in the film folder (HANDOVER.md).
© sevenevesai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills/riso-film of sevenevesai/riso-windowseat.
Open the folder on GitHubat commit 1275fda
Riso Film next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Riso Film this skillsevenevesai/riso-windowseat | 282 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Algorithmic Art with p5.jsanthropics/skills | 180k | 38 repos | ~4.9k | Automated safety check: Pass | Apache-2.0 | |
| Canvas Designanthropics/skills | 180k | 52 repos | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Photo Abstract EditorialZzzLc0405/photo-abstract-editorial | 5.9k | — | ~815 | Automated safety check: Pass | Proprietary | |
| Mono Coloryanliudesign/mono-color-skill | 3.4k | — | ~8.5k | Automated safety check: Pass | MIT | |
| Gathered Scenes Zine PosterZeejay0/gathered-scenes-zine-skill | 5.4k | — | ~3.8k | Automated safety check: Pass | Custom licence |
anthropics/skills
Creates original generative art in two steps: a written algorithmic philosophy, then a p5.js sketch with seeded randomness and an interactive viewer for exploring parameters.
anthropics/skills
Creates original posters and static art as PNG or PDF by first writing a short design philosophy, then expressing it visually on a canvas.
ZzzLc0405/photo-abstract-editorial
Creates one vertical editorial image from an uploaded photo, keeping the photo untouched and adding an abstract panel and short English title derived from it.
yanliudesign/mono-color-skill
Generate original one-ink or controlled two-ink editorial images from any theme, sentence, article idea, object, or reference photo.
Zeejay0/gathered-scenes-zine-skill
Turns a photo into a tactile collage poster where part stays an untouched photographic anchor and the rest becomes a simplified, color-fading illustration of the hidden scene.
TaiT-tt/tait-crt-interface-skill
Generates one finished retro CRT computer-interface illustration from a portrait, photo, creature, object or theme, as an exaggerated 1980s bitmap caricature.
sevenevesai/riso-windowseat
Scores a riso film or reworks its score. An agent skill from sevenevesai/riso-windowseat.
sevenevesai/riso-windowseat
Create or improve procedural risograph still art, illustrations, posters, print series and images in this repo.
Categories
Design, build or improve procedural risograph animations and videos in this repo, including narrative films, abstract shorts, motion effects and visual inspection. Riso Film is an agent skill from sevenevesai/riso-windowseat. Design, build or improve procedural risograph animations and videos in this repo, including narrative films, abstract shorts, motion effects and visual inspection.
Riso Film fits situations like: tasks that involve Generative and creative coding.
Run `npx skills add sevenevesai/riso-windowseat --skill riso-film -a claude-code`. Or copy the skill folder (.claude/skills/riso-film in sevenevesai/riso-windowseat) into .claude/skills/riso-film in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sevenevesai/riso-windowseat --skill riso-film -a codex`. Or copy the skill folder (.claude/skills/riso-film in sevenevesai/riso-windowseat) into .agents/skills/riso-film in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sevenevesai/riso-windowseat --skill riso-film -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/riso-film, .gemini/skills/riso-film, .github/skills/riso-film and .opencode/skills/riso-film in your project.
Going by SKILL.md and its folder, Riso Film needs the command-line tools its instructions call (node).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Riso Film is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Riso Film: Algorithmic Art with p5.js (anthropics/skills, 180k stars), Canvas Design (anthropics/skills, 180k stars), Photo Abstract Editorial (ZzzLc0405/photo-abstract-editorial, 5.9k stars) and Mono Color (yanliudesign/mono-color-skill, 3.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sevenevesai (a GitHub user) maintains it in sevenevesai/riso-windowseat, which has 282 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 25, 2026.
Source: sevenevesai/riso-windowseat on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.