Individual skill
opendesigner-paint
Turns a design system into original painted art made in code (watercolour, pointillism, charcoal, sketch, woodcut, 2D cel): hero films, launch reels, loops and paintings in the brand's palette.
skills/opendesigner-paint/SKILL.md
Source commit 54ae7ce6b6ae67f7460ad3fba2b66c4aac488e9b
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 5, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 79
- Repository last updated
- Nov 6, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- accessibility Repository topic
- agent-skills Repository topic
- chatgpt Repository topic
- claude Repository topic
- claude-code Repository topic
- claude-skills Repository topic
- codex Repository topic
- design-system Repository topic
- design-system-generator Repository topic
- design-tokens Repository topic
- design Derived category
- marketing Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitignoreasset · 151 bytesSKILL.mdcore · 8,769 bytesSKILL.mdcore · 8,769 bytesSKILL.mdcore · 8,769 bytesSKILL.mdcore · 8,769 bytesSKILL.mdcore · 8,769 bytesSKILL.mdcore · 8,769 bytesSKILL.mdcore · 8,769 bytesSKILL.mdcore · 8,769 bytesTHIRD-PARTY.mddoc · 5,076 bytesengine/index.htmlasset · 722 bytesengine/package-lock.jsonasset · 44,728 bytesengine/package.jsonruns · 592 bytesengine/plate.htmlasset · 505 bytesengine/public/plate-hooks.jsruns · 2,747 bytesengine/scripts/export.mjsruns · 18,589 bytesengine/src/capture.jsruns · 6,334 bytesengine/src/kit.jsruns · 14,521 bytesengine/src/main.jsruns · 3,875 bytesengine/src/materials/cel.jsruns · 4,972 bytesengine/src/materials/charcoal.jsruns · 10,291 bytesengine/src/materials/common.jsruns · 9,109 bytesengine/src/materials/sketch.jsruns · 8,165 bytesengine/src/materials/woodcut.jsruns · 8,702 bytesengine/src/ocean.jsruns · 11,444 bytesengine/src/particles.jsruns · 13,582 bytesengine/src/plate-page.jsruns · 5,360 bytesengine/src/pointillism.jsruns · 20,434 bytesengine/src/renderer.jsruns · 7,760 bytesengine/src/rng.jsruns · 1,315 bytesengine/src/score-soft.jsruns · 12,041 bytesengine/src/score.jsruns · 16,630 bytesengine/src/sea.jsruns · 15,090 bytesengine/tools/cut_audit.pyruns · 5,011 bytesengine/tools/playback_check.mjsruns · 2,229 bytesengine/tools/thumb_delta.pyruns · 1,623 bytesengine/vite.config.jsruns · 1,043 bytesreferences/adding-a-style.mddoc · 7,838 bytesreferences/brand-to-paint.mddoc · 4,820 bytesreferences/choosing-and-mixing-styles.mddoc · 6,986 bytesreferences/drawing-kit.mddoc · 6,272 bytesreferences/editing.mddoc · 6,521 bytesreferences/experimenting.mddoc · 5,888 bytesreferences/flow.mddoc · 3,873 bytesreferences/glossary.jsonasset · 328,092 bytesreferences/mixed-film-example-six-materials.jpgasset · 424,264 bytesreferences/mixed-film-example.jpgasset · 330,156 bytesreferences/motion-in-the-medium-example.jpgasset · 316,671 bytesreferences/motion-in-the-medium.mddoc · 2,796 bytesreferences/painting-workflow.mddoc · 8,718 bytesreferences/sound.mddoc · 3,370 bytesreferences/verifying.mddoc · 4,142 bytesreferences/widescreen-and-titles.mddoc · 6,201 bytesscripts/new-film.shruns · 2,488 bytesscripts/paint.pyruns · 39,417 bytesscripts/test_paint.pyruns · 20,446 bytesstyles/_template/STYLE.mddoc · 1,536 bytesstyles/cel/STYLE.mddoc · 2,106 bytesstyles/cel/demo/film.jsruns · 4,036 bytesstyles/cel/demo/scenes/01-cobalt-exuberance.jsruns · 8,909 bytesstyles/cel/demo/scenes/09-specimen-plate.jsruns · 4,904 bytesstyles/cel/demo/scenes/10-dust-flower.jsruns · 1,619 bytesstyles/cel/demo/scenes/12-radial-bloom.jsruns · 1,409 bytesstyles/cel/demo/scenes/15-almost-nothing.jsruns · 2,084 bytesstyles/cel/demo/scenes/18-black-yellow.jsruns · 5,308 bytesstyles/cel/demo/scenes/index.jsruns · 736 bytesstyles/cel/examples/cel-demo-contact.jpgasset · 214,702 bytesstyles/charcoal/STYLE.mddoc · 3,161 bytesstyles/charcoal/demo/film.jsruns · 4,023 bytesstyles/charcoal/demo/scenes/01-cobalt-exuberance.jsruns · 8,909 bytesstyles/charcoal/demo/scenes/09-specimen-plate.jsruns · 4,904 bytesstyles/charcoal/demo/scenes/10-dust-flower.jsruns · 1,619 bytesstyles/charcoal/demo/scenes/12-radial-bloom.jsruns · 1,409 bytesstyles/charcoal/demo/scenes/15-almost-nothing.jsruns · 2,084 bytesstyles/charcoal/demo/scenes/18-black-yellow.jsruns · 5,308 bytesstyles/charcoal/demo/scenes/index.jsruns · 736 bytesstyles/charcoal/examples/charcoal-demo-contact.jpgasset · 224,653 bytesstyles/pointillism/STYLE.mddoc · 4,739 bytesstyles/pointillism/demo/film.jsruns · 5,413 bytesstyles/pointillism/demo/scenes/01-reef-ignition.jsruns · 3,604 bytesstyles/pointillism/demo/scenes/02-moon-jelly-silence.jsruns · 1,585 bytesstyles/pointillism/demo/scenes/03-silver-current.jsruns · 2,202 bytesstyles/pointillism/demo/scenes/09-barracuda-diagonal.jsruns · 2,391 bytesstyles/pointillism/demo/scenes/10-school-into-current.jsruns · 1,514 bytesstyles/pointillism/demo/scenes/12-jelly-constellation.jsruns · 1,039 bytesstyles/pointillism/demo/scenes/18-manta-monument.jsruns · 2,890 bytesstyles/pointillism/demo/scenes/index.jsruns · 1,005 bytesstyles/pointillism/examples/ocean-of-points-contact.jpgasset · 489,782 bytesstyles/pointillism/material.mddoc · 4,494 bytesstyles/pointillism/scene-library/01-reef-ignition.jsruns · 3,604 bytesstyles/pointillism/scene-library/02-moon-jelly-silence.jsruns · 1,585 bytesstyles/pointillism/scene-library/03-silver-current.jsruns · 2,202 bytesstyles/pointillism/scene-library/04-nudibranch-studies.jsruns · 2,927 bytesstyles/pointillism/scene-library/05-sea-fan-aperture.jsruns · 2,284 bytesstyles/pointillism/scene-library/06-leafy-seadragon.jsruns · 2,526 bytesstyles/pointillism/scene-library/07-moon-jelly-quadrants.jsruns · 3,046 bytesstyles/pointillism/scene-library/08-reef-fish-atlas.jsruns · 3,336 bytesstyles/pointillism/scene-library/09-barracuda-diagonal.jsruns · 2,391 bytesstyles/pointillism/scene-library/10-school-into-current.jsruns · 1,514 bytesstyles/pointillism/scene-library/11-puffer-diagram.jsruns · 3,378 bytesstyles/pointillism/scene-library/12-jelly-constellation.jsruns · 1,039 bytesstyles/pointillism/scene-library/13-seagrass-meadow.jsruns · 2,180 bytesstyles/pointillism/scene-library/14-comb-jelly-study.jsruns · 3,002 bytesstyles/pointillism/scene-library/15-plankton-breath.jsruns · 1,892 bytesstyles/pointillism/scene-library/16-lionfish-fan.jsruns · 3,836 bytesstyles/pointillism/scene-library/18-manta-monument.jsruns · 2,890 bytesstyles/pointillism/scene-library/19-quiet-reef-distance.jsruns · 2,059 bytesstyles/pointillism/scene-library/20-octopus-field-notes.jsruns · 3,547 bytesstyles/pointillism/translating.mddoc · 5,317 bytesstyles/sketch/STYLE.mddoc · 2,452 bytesstyles/sketch/demo/film.jsruns · 4,046 bytesstyles/sketch/demo/scenes/01-cobalt-exuberance.jsruns · 8,909 bytesstyles/sketch/demo/scenes/09-specimen-plate.jsruns · 4,904 bytesstyles/sketch/demo/scenes/10-dust-flower.jsruns · 1,619 bytesstyles/sketch/demo/scenes/12-radial-bloom.jsruns · 1,409 bytesstyles/sketch/demo/scenes/15-almost-nothing.jsruns · 2,084 bytesstyles/sketch/demo/scenes/18-black-yellow.jsruns · 5,308 bytesstyles/sketch/demo/scenes/index.jsruns · 736 bytesstyles/sketch/examples/sketch-demo-contact.jpgasset · 210,233 bytesstyles/watercolour/STYLE.mddoc · 3,957 bytesstyles/watercolour/archetypes.mddoc · 5,777 bytesstyles/watercolour/demo/film.jsruns · 3,979 bytesstyles/watercolour/demo/scenes/01-cobalt-exuberance.jsruns · 8,909 bytesstyles/watercolour/demo/scenes/09-specimen-plate.jsruns · 4,904 bytesstyles/watercolour/demo/scenes/10-dust-flower.jsruns · 1,619 bytesstyles/watercolour/demo/scenes/12-radial-bloom.jsruns · 1,409 bytesstyles/watercolour/demo/scenes/15-almost-nothing.jsruns · 2,084 bytesstyles/watercolour/demo/scenes/18-black-yellow.jsruns · 5,308 bytesstyles/watercolour/demo/scenes/index.jsruns · 736 bytesstyles/watercolour/scene-library/01-cobalt-exuberance.jsruns · 8,909 bytesstyles/watercolour/scene-library/02-mint-textile.jsruns · 2,996 bytesstyles/watercolour/scene-library/03-engraved-diagonals.jsruns · 4,961 bytesstyles/watercolour/scene-library/04-night-specimens.jsruns · 4,275 bytesstyles/watercolour/scene-library/05-watercolor-wreath.jsruns · 3,780 bytesstyles/watercolour/scene-library/07-nocturnal-corners.jsruns · 3,328 bytesstyles/watercolour/scene-library/09-specimen-plate.jsruns · 4,904 bytesstyles/watercolour/scene-library/10-dust-flower.jsruns · 1,619 bytesstyles/watercolour/scene-library/11-engineering-flower.jsruns · 4,505 bytesstyles/watercolour/scene-library/12-radial-bloom.jsruns · 1,409 bytesstyles/watercolour/scene-library/13-wildflower-field.jsruns · 4,713 bytesstyles/watercolour/scene-library/14-measured-pink.jsruns · 3,942 bytesstyles/watercolour/scene-library/15-almost-nothing.jsruns · 2,084 bytesstyles/watercolour/scene-library/16-single-glazed-flower.jsruns · 4,683 bytesstyles/watercolour/scene-library/18-black-yellow.jsruns · 5,308 bytesstyles/watercolour/scene-library/19-botanical-landscape.jsruns · 4,128 bytesstyles/watercolour/style-dna.mddoc · 6,471 bytesstyles/woodcut/STYLE.mddoc · 2,400 bytesstyles/woodcut/demo/film.jsruns · 3,990 bytesstyles/woodcut/demo/scenes/01-cobalt-exuberance.jsruns · 8,909 bytesstyles/woodcut/demo/scenes/09-specimen-plate.jsruns · 4,904 bytesstyles/woodcut/demo/scenes/10-dust-flower.jsruns · 1,619 bytesstyles/woodcut/demo/scenes/12-radial-bloom.jsruns · 1,409 bytesstyles/woodcut/demo/scenes/15-almost-nothing.jsruns · 2,084 bytesstyles/woodcut/demo/scenes/18-black-yellow.jsruns · 5,308 bytesstyles/woodcut/demo/scenes/index.jsruns · 736 bytesstyles/woodcut/examples/woodcut-demo-contact.jpgasset · 204,827 bytes
Read excerpt
# OpenDesigner: painted art and films
Use this when someone wants original art made by code rather than found art. Typical asks: a painted hero, a launch film or reel, an animated brand moment, a celebration loop, a painted link-preview image, or "something that looks hand-made, in our colours". It is also an answer for three designer hooks when the person has nothing:
- `H-motion`: a signature animation.
- `H-illus`: original illustration, when open-library art would read generic.
- `H-motif`: painted grounds and textures.
Everything is in this folder:
- **The bridge** (`scripts/paint.py`, Python standard library, offline). It reads the design system and writes a brief, a palette and rules. It scaffolds film projects, checks scenes, and brings finished work into the app with accessibility safeguards and a ledger.
- **The painting engine** (`engine/`, `styles/`, `scripts/new-film.sh`). It is vendored from generative-painting-skills (MIT, commit 1ff8212; `THIRD-PARTY.md` lists what changed). It plans shots, paints plates procedurally with p5.js and p5.brush, edits them with hard cuts, adds particle motion and a quiet score, and exports MP4, WAV and lossless PNG files that must pass automated checks.
Talk plainly: one idea and one question per message, and recommend one option with its reason. The first time a term appears, give its plain meaning plus "Designers: X · Code: Y" (`references/rules.md` in the opendesigner skill).
Run `paint.py` (`scripts/paint.py`) from the person's project root. Knowledge: