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.
Create original vector artwork and complete visual asset sets from a person's brief, with custom drawing programs, user-editable controls and real SVG/PNG/source delivery.
$ npx skills add autonomous-ai/openharness --skill gen-art -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install autonomous-ai/openharness gen-art --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/autonomous-ai/openharness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/store/agents/generative-art/skills/gen-art .claude/skills/gen-art && 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 "gen-art" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/generative-art/skills/gen-art into .claude/skills/gen-art/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-art", 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/autonomous-ai/openharness/tree/main/store/agents/generative-art/skills/gen-artType 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 autonomous-ai/openharness --skill gen-art -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install autonomous-ai/openharness gen-art --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/store/agents/generative-art/skills/gen-art .agents/skills/gen-art && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gen-art" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/generative-art/skills/gen-art into .agents/skills/gen-art/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-art", 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 autonomous-ai/openharness --skill gen-art -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install autonomous-ai/openharness gen-art --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/store/agents/generative-art/skills/gen-art .cursor/skills/gen-art && 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 "gen-art" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/generative-art/skills/gen-art into .cursor/skills/gen-art/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-art", 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/autonomous-ai/openharness.git --path store/agents/generative-art/skills/gen-art--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 autonomous-ai/openharness --skill gen-art -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install autonomous-ai/openharness gen-art --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/store/agents/generative-art/skills/gen-art .gemini/skills/gen-art && 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 "gen-art" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/generative-art/skills/gen-art into .gemini/skills/gen-art/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-art", 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 autonomous-ai/openharness gen-artInstalls 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 autonomous-ai/openharness --skill gen-art -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .github/skills && cp -r skills-src/store/agents/generative-art/skills/gen-art .github/skills/gen-art && 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 "gen-art" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/generative-art/skills/gen-art into .github/skills/gen-art/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-art", 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 autonomous-ai/openharness --skill gen-art -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install autonomous-ai/openharness gen-art --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/autonomous-ai/openharness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/store/agents/generative-art/skills/gen-art .opencode/skills/gen-art && 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 "gen-art" agent skill from https://github.com/autonomous-ai/openharness/tree/main/store/agents/generative-art/skills/gen-art into .opencode/skills/gen-art/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gen-art", 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.
gen-artCreate original vector artwork and complete visual asset sets from a person's brief, with custom drawing programs, user-editable controls and real SVG/PNG/source delivery.
Gen Art is an agent skill from autonomous-ai/openharness. Create original vector artwork and complete visual asset sets from a person's brief, with custom drawing programs, user-editable controls and real SVG/PNG/source delivery.
Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/seed-verdict.sh`).
The repository describes itself as: The ultimate harness for coding agents and beyond. All your agents. All your machines. One command center. Start with code, then follow your curiosity and build across… The licence is MIT.
Read from SKILL.md and the folder at commit cc4983e. 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.
Ships 1 file in scripts/ (Shell), which the agent can run.
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.
Gen Art loads about 1.1k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 519 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); the scripts in this folder are not scanned.
The full file from autonomous-ai/openharness at commit cc4983e, republished under its MIT licence (© autonomous-ai). 519 words, ~1,065 tokens.
.claude/skills/gen-art/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.The studio is infrastructure. The program is the art. Never restrict a new brief to the example's flowers, palette or layout. Build the new system in these files:
sketch/project.json: spec: "fieldwork/1", a stable lowercase id, title, brief, seed,
named formats with width/height in pixels, controls, and optional image assets.sketch/artwork.js: JavaScript function body returning SVG children as a string.sketch/DESIGN.md: the brief, decisions, requested deliverables, revisions and evidence.studio/: reusable UI and runtime. Change it only when the task needs a new authoring capability.The function receives width, height, seed, values, assets, rng and svg.
rng('named-stream') returns a stable random-number function. Never use time or Math.random()
for the geometry. values contains the current control values; assets.name is an embedded image
URL or an empty string. svg.el(tag, attributes, children) and svg.text(text, attributes) escape
attributes and text. The latter is essential for the person's real text (including & and <).
const r = rng('constellation');
const marks = Array.from({length: values.stars}, () => svg.el('circle', {
cx: r() * width, cy: r() * height, r: 1 + r() * 4, fill: values.ink
}));
return svg.el('rect', {width, height, fill: values.paper}) + marks.join('');That tiny example illustrates the contract, not an acceptable finished commission. Use original composition and domain-appropriate detail. The full SVG vocabulary is available, including paths, gradients, masks, clipping, patterns, groups, transforms, typography and embedded images. Rendering runs in a worker with a five-second limit; keep it responsive. A render error preserves what was visible and disables stale exports until the drawing works again.
A control has key, label, type, value. Types:
text, optionally multiline: true; can also hold user-pasted CSV/JSON interpreted by the program.color: six-digit hex.range: min, max, optional positive step.select: string options.toggle: boolean.Use at most 40 meaningful controls, not a wall of arbitrary knobs. Formats are 64–8192 pixels per
side. PNGs are bounded to 32 megapixels. Every control must visibly affect the intended part.
An asset has key, label, optional file relative to sketch/. The builder embeds PNG/JPEG/WebP/SVG
bytes; it refuses a path outside that folder. The user can replace images in the pane. All exports
must stay portable: no external image/font URLs, script tags or active SVG content.
node tools/build.mjs
node tools/check.mjs
node tools/export.mjs --seeds 3 --scale 1GENART_DSH_DIR points to the installed package. Setup installs pinned Playwright locally and uses
an installed Chrome or downloads a local Chromium. Export tooling supports BROWSER_EXECUTABLE
and PLAYWRIGHT_MODULE for testing. Nothing sends art or prompts to a paid service.
The browser exports individual SVG/PNG, an all-format ZIP, a seeded edition ZIP, an editable
project and a portable studio. Inspect their actual bytes and reopen the project. For revisions
from a user-saved project, run node tools/import-project.mjs FILE first; it preserves a backup.
Do not overwrite a browser user's choices with old source defaults without acknowledging the conflict.
The exporter checks same-seed geometry and PNG dimensions, but leaves ready:false. Inspect
all formats and their text, image placement, clipping, margins, color and scale. If randomness
is promised, test distinct seeds as well as repeated seeds. If a print edition promises a bounded
range, sample that range. Document font differences and any remaining production work.
Only mark ready after the user's deliverables exist and pass both technical and visual review. Never label a starter, a thumbnail, a screenshot of a tool, or a successful reload as the finished work.
© autonomous-ai, 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 (scripts) in store/agents/generative-art/skills/gen-art of autonomous-ai/openharness.
Open the folder on GitHubat commit cc4983e
Gen Art 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 |
|---|---|---|---|---|---|---|
| Gen Art this skillautonomous-ai/openharness | 1.2k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Algorithmic Art with p5.jsanthropics/skills | 180k | 38 repos | ~4.9k | Automated safety check: Pass | Apache-2.0 | |
| Game Asset Generatorhtdt/godogen | 7.1k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Algorithmic Artnexu-io/open-design | 100k | — | ~351 | Automated safety check: Pass | Apache-2.0 | |
| Vector Searchruvnet/ruflo | 74k | — | ~1.5k | Automated safety check: Notes | MIT | |
| AssetsBuilderIO/agent-native | 7.1k | — | ~1.2k | Automated safety check: Pass | None |
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.
htdt/godogen
Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.
nexu-io/open-design
Create generative art using p5.js with seeded randomness so every render is reproducible.
ruvnet/ruflo
Vector search via embeddings (large-scale HNSW) and ruvllmhnsw (WASM router for ≤11 hot patterns), with RaBitQ 1-bit quantization for 32× memory reduction
BuilderIO/agent-native
Use Agent-Native Assets for image and video generation requests, brand-safe asset search/export, and human-in-the-loop asset selection through the hosted Assets MCP app.
sickn33/agentic-awesome-skills
Hunt vector-store / embedding-layer weaknesses in RAG pipelines (OWASP LLM08 Vector and Embedding Weaknesses)
autonomous-ai/openharness
Slices 3D mesh files into printer-profiled plain G-code through real slicer CLIs, with backend discovery, input inspection, dry runs and static validation.
autonomous-ai/openharness
Turns a home-automation request into standard, testable automations.yaml, run against Home Assistant Core's real triggers and verified with its own trace tool.
autonomous-ai/openharness
Turns a musical brief into LilyPond concert-pitch music, checked parts for each instrument and a playable practice pack.
autonomous-ai/openharness
Turns an STL and explicit printer and material requirements into compared OrcaSlicer plans, an editable 3MF project, checked G-code and a portable handoff.
autonomous-ai/openharness
Builds an editable DOCX report, a formula-driven XLSX workbook and a fresh LibreOffice PDF preview from one structured source file, then checks them together.
autonomous-ai/openharness
Dry-run, upload, and cautiously initiate local Bambu Lab print jobs from validated plain .gcode, using Bambu LAN FTPS/MQTT handoffs.
Create original vector artwork and complete visual asset sets from a person's brief, with custom drawing programs, user-editable controls and real SVG/PNG/source delivery. Gen Art is an agent skill from autonomous-ai/openharness. Create original vector artwork and complete visual asset sets from a person's brief, with custom drawing programs, user-editable controls and real SVG/PNG/source delivery.
Run `npx skills add autonomous-ai/openharness --skill gen-art -a claude-code`. Or copy the skill folder (store/agents/generative-art/skills/gen-art in autonomous-ai/openharness) into .claude/skills/gen-art in your project. Claude Code loads it when a task matches its description.
Run `npx skills add autonomous-ai/openharness --skill gen-art -a codex`. Or copy the skill folder (store/agents/generative-art/skills/gen-art in autonomous-ai/openharness) into .agents/skills/gen-art 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 autonomous-ai/openharness --skill gen-art -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gen-art, .gemini/skills/gen-art, .github/skills/gen-art and .opencode/skills/gen-art in your project.
Going by SKILL.md and its folder, Gen Art needs a shell for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: A Bash shell.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Gen Art 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.1k tokens (SKILL.md is roughly 4.3k 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 Gen Art: Algorithmic Art with p5.js (anthropics/skills, 180k stars), Game Asset Generator (htdt/godogen, 7.1k stars), Algorithmic Art (nexu-io/open-design, 100k stars) and Vector Search (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
autonomous-ai (a GitHub organization) maintains it in autonomous-ai/openharness, which has 1,210 GitHub stars. The repository holds 100 skills in this directory. The repository was last updated on October 10, 2026.
Source: autonomous-ai/openharness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.