by sevenevesai
Procedural risograph films in single HTML files (Window Seat, Roost and more), with the Claude Code skills, docs and tools to make your own.
# Add to your Claude Code skills
git clone https://github.com/sevenevesai/riso-windowseatGuides for using documentation skills like riso-windowseat.
Last scanned: 9/24/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-09-24T09:01:21.975Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how riso-windowseat compares with popular alternatives.
riso-windowseat is an open-source documentation skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by sevenevesai. Procedural risograph films in single HTML files (Window Seat, Roost and more), with the Claude Code skills, docs and tools to make your own. It has 274 GitHub stars.
Yes. riso-windowseat passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/sevenevesai/riso-windowseat" and add it to your Claude Code skills directory (see the Installation section above).
riso-windowseat is primarily written in HTML. It is open-source under sevenevesai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other Documentation skills you can browse and compare side by side. Open the Documentation category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh riso-windowseat against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
See comparison
Procedural risograph films and prints, each a single index.html of Canvas 2D and Web Audio:
no libraries, fonts, images or network calls. The repo began as the release of Window Seat.
Making it, and the two shorts before it, produced a reusable kit of Claude Code skills, craft
docs and a render harness. Roost, Held, Nonpareil, Eclosion and Passenger were made with it next,
and two print series, Cabinet and Sceneries.

All are 1080 × 1080, 30 fps. MP4s are on the
v1.0 release. To watch the
source instead, open any index.html in a browser and press play.
| Film | Length | |
|---|---|---|
| Window Seat | 78 s | A night train journey through one window, scored for piano |
| Roost | 70 s | One take of a starling murmuration from sunset to roost, scored for strings |
| Held | 70 s | A kite that flies only while something holds its line, scored for found instruments |
| Nonpareil | 70 s | Paper marbling from the first drop to the one print it makes, scored for handpan |
| Eclosion | 36 s | A monarch leaves its chrysalis, pumps its wings full and flies, in one take, scored for vibraphone, clarinet and horn |
| Passenger | 36 s | A butterfly draws itself in the fog on a train window and comes alive at sunrise; a child of Window Seat and anidoodle, scored procedurally |
| Lumen | 28 s | A seed that contains a sun; the first short, in call-and-response form |
| Emergence | 28 s | Lumen's sibling: how machines learned to listen, as nine worlds |
A night train journey seen through one fixed window with a glass of water on the sill. Every pixel and every sound except the piano is procedural.
| Time | Passage |
|---|---|
| 0–19 s | Golden departure from a platform, fields, a red truss bridge, a conifer cutting, a tunnel |
| 19–38 s | A night city with a canal and a level crossing; another train overtakes, passengers in its windows |
| 38–57 s | Fireworks over a lake, sleeper hours with star trails, pre-dawn fog |
| 57–78 s | Dawn from a viaduct, rain streaming back along the glass, a lakeside halt under a rainbow |
The score, "A Light Left in the Window", is an original piano piece in 6/8 whose phrasing follows the picture's timeline. The glass of water leans with every acceleration and is the last thing to settle.

A murmuration over a marsh in one fixed view. Each starling is a 2–3 px ink dot, so the flock is the halftone: where the sheet turns edge-on, the birds pile into dark printed ribbons. A falcon stoops through it and the flock pours into the reeds at nightfall. The string score is timed from the picture.
A paper kite's line frays and parts at a hillside stake. Loose, it can only tumble; it falls across a harbour town, is snagged for a moment by a church weathervane, and over the water its line catches on a sloop's forestay, so the kite climbs again, held by the boat sailing into dusk. Its tail and loose line are simulated ropes. The score uses CC0 mbira, harp, glockenspiel, chimes, strings and flute, with every cue read from the picture's events.
Paper marbling seen straight down into the bath. Drops of colour land on the beat and push each other outward; a rake and a fine comb drag them into the nonpareil pattern, and a flower is dropped and pulled into the middle. A sheet unrolls across the bath, is peeled back toward the lens like a turning page, and lands face up and mirrored beside the emptied tray. The marbling is closed-form geometry, so every frame is exact. The drops are the handpan's notes, over a slow cello and contrabass line.
One monarch's first morning, in one continuous macro take. A jade chrysalis clears and splits; the butterfly drops out, hangs from the empty shell and pumps its crumpled wings full in six slow pulses while its swollen abdomen shrinks. It turns, opens its wings twice and flies, and the camera returns to the empty case, framed as the chrysalis was in the first second. The wings are a planar 3D model whose pattern was measured from a specimen photograph, layered by depth so the body reads right from the side, from behind and in flight. A slow trio in F for vibraphone, clarinet and horn shares the picture's clock.
A child of this repo and alexgreensh/anidoodle: Window Seat's window and glass of water, and anidoodle's drawing that makes itself and then comes alive. Before dawn a butterfly draws itself in the fog on a train window, stroke by stroke in the order a finger would. Its clear lines are windows, so lamps slide through the drawing and the dawn fills its wings. The sunrise warms it off the glass and the camera pulls back from the pane to the seat. It lands on the rim of the glass of water and drinks, and the butterfly-shaped hole it left stays in the fog. The score is procedural, from the shared kit: every mark of the drawing is a note, and the opening motif is answered as the wings open.
Still series driven like a film (each integer time is one print) and exported as native
2160 × 2160 PNGs with tools/still.mjs.
Cabinet: five plates from an imaginary natural-history cabinet (a sectioned nautilus, arranged diatoms, a luna moth, a cut agate, a sunflower), each built from its own growth geometry and cut as fine line over screened colour.

Sceneries: a curved viaduct in fog, a cliff village at dusk over its own reflection, and a stepped canyon at sunrise.

I directed each work; Claude Code (Anthropic's coding agent) wrote the code, using the skills,
rules and docs in this repo. A work is designed in its FILM.md or PRINT.md, its hardest frame
is proved first, and then it is inspected as frame strips, 1:1 crops and loudness sheets rendered
by tools/. Every frame is a pure function of time (seek(t)), so any moment can be inspected
exactly and the MP4 cannot drop frames. Each record keeps the design decisions and measurements,
and lists the work's remaining weaknesses.
git clone https://github.com/sevenevesai/riso-windowseat
cd riso-windowseat/tools
npm install && npm run setup && npm test
Then open Claude Code in the repo root and ask, for example:
CLAUDE.md gives the session the contract and commands. The riso-film, riso-still and
riso-score skills in .claude/skills/ carry the workflow and gates. Each skill's examples.md
points to the routines in the shipped films that are worth reusing. A hook warns when an edit
breaks determinism.
| Path | Contents |
|---|---|
films/ |
The eight films, each with its FILM.md; Window Seat, Roost, Held, Nonpareil and Eclosion include sample credits and bank rebuild scripts |
prints/ |
Three print series: Cabinet and Sceneries with their PRINT.md, and Workings, which donates the print kit new works start from |
docs/ |
The craft: brief, visual development, drawing, figures, scene space, motion, live plates, sound, quality bar |
studies/ |
Interactive A/B studies of each technique, and the sound kit |
tools/ |
Scaffolding, verification, contact sheets, audio analysis and MP4 export (README) |
.claude/ |
Skills, the ink-plate rule and the determinism hook |
MIT, see LICENSE. The piano recordings embedded in Window Seat are Salamander Grand
Piano V3 by Alexander Holm under CC BY 3.0; see
AUDIO-SOURCES.md. The string recordings embedded in
Roost are VSCO 2 Community Edition by Versilian Studios under CC0 1.0; see
AUDIO-SOURCES.md. Held's instruments are from Versilian's VCSL
and VSCO 2, also CC0 1.0; see AUDIO-SOURCES.md. Nonpareil's
handpan is GAMEDRIX974's HandPan pack on Freesound and its cello and contrabass are from VSCO 2,
all CC0 1.0; see [`AUDIO