clearframe-canvas
Skill1 starsChanged 23 days agoMITView on GitHub
Draw original animated graphics in ClearFrame with the canvas block and beat art layers — metaphors, routes, systems, flows, custom diagrams, typographic moments and annotations on charts — cued to narration. Use whenever a scene explains how or why something works, when a fixed block would be a list of words, or when a film looks like a slide deck.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- clearframe-blocksSkill
- clearframe-datavizSkill
- clearframe-directionSkill
- clearframe-engineSkill
- clearframe-explainSkill
- clearframe-inspirationSkill
- clearframe-integritySkill
- clearframe-librarySkill
- clearframe-motionSkill
- clearframe-reviewSkill
- clearframe-sceneSkill
- clearframe-scriptSkill
- clearframeSkill
- clearframe-workplaceSkill
- gemini-imageSkill
- gemini-omniSkill
- gemini-ttsSkill
- lyria-musicSkill
- runway-videoSkill
- veo-videoSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Read docs/canvas.md for the element reference.
- Very specific: line 10
When the idea is how one quantity behaves (a relationship, an accumulation, noisy evidence, a flow), the graph, accumulate, estimate and …
- Very specific: line 16
Cue to the voice: Put say on the element that answers the stressed word.
- Distinctive: line 27
Keep reading holds still for business and technical films.
- Very specific: line 30
Keep a cast. When the story sorts, chooses or changes a set of things, props.cast keeps the same designed objects on screen through …
- Distinctive: line 40
Keep the picture off the caption band (the bottom quarter of a wide frame, fifth of a tall one): a sketch with room above is framed lower …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Draw the idea
Read docs/canvas.md for the element reference. The fixed blocks carry evidence; canvas carries explanation. If the narration says how, why, through, between, around, until or instead, there is probably a drawing to make.
When the idea is how one quantity behaves (a relationship, an accumulation, noisy evidence, a flow), the graph, accumulate, estimate and field props draw it from a formula or a labelled simulation: see clearframe-explain.
Workflow
- Find the picture in the sentence. Name the mechanism in five words ("demand overflows a fixed pipe"). Choose a metaphor the viewer already knows: a route, a pipe, a scale, a funnel, a ladder, a bridge, orbits, a network, a gap, a wave, a split.
- Start from a sketch.
pnpm cf sketchlists compositions;sketch NAME [--vertical]prints props. Adapt labels, counts, colours and cues. Keep its staging (ground → subject → change). - Cue to the voice. Put
sayon the element that answers the stressed word. Let the ground appear first, before the voice needs it. - Look.
still DIR --beat ID --pos 0.4 --grid, then--pos 0.95. Read coordinates off the grid to fix placement. Check the vertical cut too if you deliver one. - Annotate blocks with art. An arrow onto the bar that matters, soft shapes under a quote:
art.over/art.underon any beat, placed from a--gridstill. To point at words (ring the button to press, strike the old label, highlight the clause), putmarkson the text element itself ({words, style: highlight|underline|circle|box|strike|cross|stamp, say}; a stamp takeslabel): the renderer finds the words, so nothing is placed by coordinates and the mark follows the text through moves and edits. For a policy, plan summary or client letter, adocumentshows a page of its real text andscrolls to the section being read; for a step in an app, apointerpresses controls by id (examples/fsa-deadline).
Composition rules
- One hero element per frame, clearly larger or brighter than the rest. Supporting labels 36–44 px, nothing under 28 px at 1080p.
- Draw on a grid: align centres and baselines, keep equal gaps, respect the 90 px margins and the header area.
accentfor the subject,accent2for the result or contrast,inkfor structure,line/mutedfor scaffolding. Palette tokens followtoneand the theme; avoid raw hex unless it is brand colour.- Declare
fillon stroked shapes. Wireframe orbits, contour rings, pulse rectangles and helmet outlines needfill: "none"; a stroke alone leaves rect/circle/ellipse solid accent-filled. Choose an explicit colour for intentional fills. - Motion explains:
drawfor paths and connections,alongfor things that travel,grow-yfor quantities,popfor arrivals,keysfor change,exitfor things that stop being true. Use fades only for background layers. - Keep reading holds still for business and technical films. Use ambient loops only when they serve the brief; never add wobble to clear a held-frame warning.
- Build, then transform: draw the problem,
exitpart of it on a cue, draw the fix in the same frame. One canvas beat can carry two or three ideas if the voice walks through them. - Plan a world on its map:
pnpm cf world DIRdraws everything with each beat's camera rect numbered. Stations in story order, with no camera move re-crossing earlier material. - Keep a cast. When the story sorts, chooses or changes a set of things,
props.castkeeps the same designed objects on screen through consecutive beats and re-forms them on spoken words (scatter,line,hero,swapwithby,wave,exit); the cuts are invisible (docs/cast.md). - Travel instead of cutting. When the story is a journey, a process or a map, make consecutive canvas beats one
worldwith cameraview: [x, y, w, h]per beat: each draws only what is new, the camera glides between, and the last beat pulls out to show the whole (docs/canvas.md, Worlds). - Handmade looks:
roughfor pencil and whiteboard (thesketchbooktreatment sets the whole film up for it).mosaiclays a shape in tiles (docs/canvas.md, Mosaic); keep it for a subject that is itself made of pieces. - Printed looks:
printmakes a shape look made by a press, not a filter:halftonedots,engravinglines that swell with the tone,letterpress(two plates apart, ink dropping out). On an image, or a plate withtreatment: "halftone", the screen follows the photo's own darkness. Use it where the subject is printed matter (a statement, a certificate, a clipping); keep charts and anything read precisely clean (print: false). See docs/canvas.md, Print. - Depth makes a place:
zon the far, middle and near layers, then a camera that moves for a reason:dollyto go in, a world truck for parallax,focuskeys for a rack focus on the word that shifts attention. Draw every layer as it should look before the camera moves (docs/canvas.md, Depth).examples/night-cityis one world the camera travels. - Light things that give light:
glowon lit windows (on the group), suns, screens, hot surfaces;shadowfor cards on light palettes. It is the cheapest way from flat vector to depth. - Turn flat things in space:
tilt: [x, y]on a group (a window, a phone, a ticket, a box face with type on it), flipped in withtiltYkeys from edge-on and kept alive withloop: {type: "rock"}, plus ashadowso it floats. Start fromsketch chat. - One word can be a material:
material: "chrome" | "gold" | "thermal"(or your ownmap) paints display type by its own depth. At most one hero word in a product film, rarely in a workplace one; never body text, never figures that need reading. - Atmosphere is cheap: a
particlesfield (embers,rain,snow,dust,bubbles) under a scene keeps a hold alive. One field per scene, low count, palette colour. - Draw the real thing from what is on it, not from shapes: a
documentfor a policy's own words, areceiptfor the paper a claim turns on (its total is checked against its lines), anappfor the screen the step happens on (tabs, fields that fill in, a button that becomes its confirmation). Each names its parts, somarksand apointerfind them by id; a receipt drawn too small to read prints its lines as bars. - Keep the picture off the caption band (the bottom quarter of a wide frame, fifth of a tall one): a sketch with room above is framed lower for you, but a drawing you place yourself has to stay above it.
- Text inside canvas is display text: short labels, not sentences. Long thoughts belong in narration or a
statement.
Honesty
Drawings are illustrations. If a shape's size encodes a quantity, compute it from the real values and say so; otherwise use bars, magnitude or waffle. Counted numbers (count) need a visible source and a storyboard sources entry. Do not draw logos, real people or maps implying precise geography you have not verified.
For technical systems use props.diagram (system diagrams); clearframe sketch architecture|state-machine|component-change prints an editable starting diagram. Declare the components once with stable ids and explain with steps (add, remove, replace … with, set a status, send a request along the connections) cued to narration, instead of redrawing each beat. Consecutive beats that share node ids morph. Custom elements and art.over add hand-authored drawing around it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

