P5js
Tommy-yw/RunbookHermes
Production pipeline for interactive and generative visual art using p5.js.
Distill stable art-generation patterns from a completed project, so future projects produce comparable assets without re-discovering the prompts.
$ npx skills add tettethu/VibeGame --skill artist-self-evolve -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tettethu/VibeGame artist-self-evolve --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/tettethu/VibeGame.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/artist-self-evolve .claude/skills/artist-self-evolve && 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 "artist-self-evolve" agent skill from https://github.com/tettethu/VibeGame/tree/main/src/skills/artist-self-evolve into .claude/skills/artist-self-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "artist-self-evolve", 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/tettethu/VibeGame/tree/main/src/skills/artist-self-evolveType 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 tettethu/VibeGame --skill artist-self-evolve -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tettethu/VibeGame artist-self-evolve --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tettethu/VibeGame.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/artist-self-evolve .agents/skills/artist-self-evolve && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "artist-self-evolve" agent skill from https://github.com/tettethu/VibeGame/tree/main/src/skills/artist-self-evolve into .agents/skills/artist-self-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "artist-self-evolve", 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 tettethu/VibeGame --skill artist-self-evolve -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tettethu/VibeGame artist-self-evolve --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tettethu/VibeGame.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/artist-self-evolve .cursor/skills/artist-self-evolve && 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 "artist-self-evolve" agent skill from https://github.com/tettethu/VibeGame/tree/main/src/skills/artist-self-evolve into .cursor/skills/artist-self-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "artist-self-evolve", 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/tettethu/VibeGame.git --path src/skills/artist-self-evolve--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 tettethu/VibeGame --skill artist-self-evolve -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tettethu/VibeGame artist-self-evolve --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tettethu/VibeGame.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/artist-self-evolve .gemini/skills/artist-self-evolve && 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 "artist-self-evolve" agent skill from https://github.com/tettethu/VibeGame/tree/main/src/skills/artist-self-evolve into .gemini/skills/artist-self-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "artist-self-evolve", 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 tettethu/VibeGame artist-self-evolveInstalls 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 tettethu/VibeGame --skill artist-self-evolve -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tettethu/VibeGame.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/artist-self-evolve .github/skills/artist-self-evolve && 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 "artist-self-evolve" agent skill from https://github.com/tettethu/VibeGame/tree/main/src/skills/artist-self-evolve into .github/skills/artist-self-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "artist-self-evolve", 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 tettethu/VibeGame --skill artist-self-evolve -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tettethu/VibeGame artist-self-evolve --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tettethu/VibeGame.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/artist-self-evolve .opencode/skills/artist-self-evolve && 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 "artist-self-evolve" agent skill from https://github.com/tettethu/VibeGame/tree/main/src/skills/artist-self-evolve into .opencode/skills/artist-self-evolve/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "artist-self-evolve", 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.
artist-self-evolveDistill stable art-generation patterns from a completed project, so future projects produce comparable assets without re-discovering the prompts.
Artist Self Evolve is an agent skill from tettethu/VibeGame. Distill stable art-generation patterns from a completed project, so future projects produce comparable assets without re-discovering the prompts. Lead-dispatched only — orchestrator invokes this skill from its self-evolve flow with a game-slug message; do not self-trigger.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Generative and creative coding. The repository describes itself as: VibeGame: Vibe Your Dream Game -- An open-source self-evolving multi-agent framework with an AI-Native game engine that turns your natural language into a fully playable 2D web… The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0fcb8ca. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From 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.
Artist Self Evolve loads about 2.5k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 1,085 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 tettethu/VibeGame at commit 0fcb8ca, republished under its Apache-2.0 licence (© tettethu). 1,085 words, ~2,517 tokens.
.claude/skills/artist-self-evolve/SKILL.md (or your agent's skills folder).Learn, from a completed project, the prompt patterns and art rules that reliably produced its assets. The lessons are stored in two places:
skeletons/<slug>/art-pack.md — the sub-genre's empirical raw-asset inventory (prompt + layout + Hints per raw image). Direct write, full responsibility.spec/contracts/<x>.md #### Artist chapters — per-pattern asset workflows. You fill the chapter when lead drafts a new or revised contract.The lead's dispatch message provides:
game-slug — the project's sub-genre slug. All per-project outputs land under skeletons/<game-slug>/.If game-slug is missing from the dispatch message, reply to the lead asking for it. Do not guess from .vibegame/GDD.md or project.json — the slug is the lead's decision, not yours.
Scan, in this order:
assets/manifest.json — every registered asset..vibegame/assets.md — asset notes and status..vibegame/GDD.md — what the design called for.The output of this phase is the empirical final-asset list — the manifest keys actually loaded at runtime, minus anything unused / replaced / stale. This list is internal to your run; you do not write it to a file. Use it as Phase 1's input.
art-pack.mdA final asset rarely equals one raw vibegame art gen image output. The same raw image can produce multiple final assets — e.g. one decomposed sheet is cut into icon + slot + bar, three final manifest keys. Conversely, every raw image was produced by exactly one prompt invocation (one imagegen.jsonl row).
So the art-pack is keyed by raw image, not by final asset. Each ### <asset> heading represents one vibegame art gen image call — one prompt, one layout, one imagegen.jsonl row. The post-processing that turns a raw into one-or-many final assets is out of scope for art-pack; it belongs in the contract's #### Artist chapter (Phase 2).
For each distinct raw image behind the final-asset list:
.vibegame/logs/imagegen.jsonl and find the row whose output matches the raw image path. The prompt field is the verbatim prompt sent to the provider; record it.vibegame art gen image once. Compare the regenerated raw to the original. Iterate the prompt at the generation step only — no post-processing tricks. Stop once a fresh single-pass generation meets the same acceptance criterion the original passed.Write the result to skeletons/<game-slug>/art-pack.md. If the file already exists, sync it to the current project state on top of what's there — art-pack.md is bound to the project's latest snapshot, refined across runs rather than recreated from scratch.
Schema — every ### <asset> is one raw image.
# Art Pack — <game-slug>
## <Group> # Background, Player, Boss, FX, UI, Map, Audio, ...
### <raw-asset> # name of the raw image, NOT a final manifest key
- prompt # verbatim from .vibegame/logs/imagegen.jsonl <verbatim prompt text>
```
- layout: <sheet shape> # 2x2 grid | 1x4 horizontal strip | single frame | 3-section decomposed | ...
Hints # optional — only when this raw deviates from existing spec/art generic rules
<raw-asset whose generic rules suffice><sheet shape> # no Hints block at all
Rules:
- If a prompt cannot be recovered (even via fallback), replace the whole `prompt` bullet with a single line `- prompt missing — see <pointer>`, where `<pointer>` is `spec/art/<file>.md § <X>` or `spec/contracts/<file>.md Pattern <N> <slug>` — whichever document owns the generation rules for this raw class.
- The **Hints** section is omitted when existing `spec/art/*` docs already cover the raw. Hints are deltas, not restatements. When the raw is cut into multiple finals, the Hints should point at the contract that owns the cut workflow (the cut itself lives in the contract's `#### Artist` chapter, not here).
- Per-project specifics (image resolution, runtime path, manifest key) are project variables and do **not** belong in art-pack.
This inventory is the **empirical** raw-asset list for the sub-genre — the prompts a real project of this kind ran to produce the manifest, not what the design ideal called for.
### Phase 2: Fill `#### Artist` chapters when the lead requests
The lead drafts new or revised contracts during `self-evolve` Step 5. For each contract whose asset class touches your domain, the lead sends a message asking you to fill that contract's `#### Artist` chapter. Process one contract per message.
The chapter answers exactly three questions, packaged as one Workflow:
1. **Generate** — what assets does this pattern need, and how does artist produce them.
2. **Package** — how does artist turn raw output into shippable final assets, manifest entries, and node templates.
3. **Verify** — what does artist check before handing off.
Canonical references: [`status_bar.md`](../../.vibegame/spec/contracts/status_bar.md) (3-asset composite, bbox verification loop) and [`charge-family.md`](../../.vibegame/spec/contracts/charge-family.md) (3-sheet decomposition, character-scale alignment). Use these as structural templates; do not invent alternative layouts.
#### Body shape
```markdown
#### Artist
<one-line lead: what scope of work artist owns for this pattern. Example:
"Artist owns three independent sprite sheets covering build / peak / release.">
##### Workflow
1. **Generate**
<asset breakdown — list every raw image this pattern needs and what each
contains. Point each at its matching `### <raw-asset>` heading in
`skeletons/<slug>/art-pack.md`. Inline a project-neutral templated prompt
per raw image. Add any non-obvious generation rules (style anchor, marker
color, loop closure, character-scale anchor, ...).>
2. **Package**
<cut + chroma-key + concat + scale alignment, inlined as concrete CLI
invocations (`vibegame art rmbg`, `cut`, `concat`). End with final asset
paths under `assets/...`, manifest entries (with `landmark` if any), and
the `.node.json` shape consumed by the module.>
3. **Verify**
<`vibegame art label` overlay + `vibegame vlm` PASS/FAIL prompt, iterated
until PASS. Cover every check artist must clear before delivery: bbox
alignment on slot, character-scale consistency across sheets, no marker
halo, loop seam invisible, etc.>
Common mistakes:
- <anti-patterns specific to this asset class — packing 3 sheets into one,
baking dynamic text into art, delivering hollow slot, marker-colored
background instead of transparent, ...>Only practice-verified content ships. If artist has not actually run this pattern on a real project — no art-pack entry, no jsonl-recorded prompt, no concrete cut / verify steps you executed — do not invent a plausible chapter. Replace the whole #### Artist body with exactly:
Artist does not participate in this contract yet. Fill in this part after a successful project.
Hallucinated plausibility is worse than an honest placeholder: future agents read the contract as ground truth and waste a project chasing a procedure that was never validated.
Lead anchors scope. Form is flexible: a one-line statement, or a statement followed by a short scope bullet list previewing what artist does across the Workflow. Do not stage asset breakdown (the per-raw-image inventory: "this pattern needs X / Y / Z") into the lead — that belongs inside the Generate step.
Workflow has exactly three steps, in this order: Generate / Package / Verify. Sub-bullets and code blocks inside each step are encouraged; do not promote them into a fourth top-level step.
Templated prompt rule. The Generate step's prompt must be derived from an actually-ran prompt recorded in art-pack.md — never invented from scratch. Replace project-specific subjects with placeholders (<icon-shape>, <fill-color>, <player-character>); keep structural language (layout description, marker-background rules, "no text / no UI", style-preservation clauses) verbatim. art-pack is the instance, contract is the pattern, both ship.
Common mistakes lives outside the Workflow as a flat bullet list. Include whenever artist has nontrivial work; omit only for patterns where artist's output is genuinely decoration with no class-specific traps.
No invented sections. If the pattern has a quirk (e.g. character-scale alignment across sheets, hover-state bbox alignment), fold it into the relevant Workflow step. Do not introduce ad-hoc H5 subsections under Artist outside the Workflow.
Write the #### Artist chapter directly into the contract file at the path the lead provided. The user gate at self-evolve Step 3 already approved the list of contracts being touched; chapter content is your domain and does not need a second human round-trip.
If the lead's request lacks the file path or the surrounding pattern context, ask the lead before writing — do not guess. After writing, send the lead a one-line confirmation with the file path and any open questions (e.g. "prompt missing in art-pack, left a TODO marker").
© tettethu, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/skills/artist-self-evolve of tettethu/VibeGame.
Open the folder on GitHubat commit 0fcb8ca
Artist Self Evolve 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 |
|---|---|---|---|---|---|---|
| Artist Self Evolve this skilltettethu/VibeGame | 269 | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| P5jsTommy-yw/RunbookHermes | 546 | 1 repos | ~6.8k | Automated safety check: Pass | MIT | |
| Prismer P5jsPrismer-AI/PrismerCloud | 1.6k | 3 repos | ~6.9k | Automated safety check: Pass | MIT | |
| Procedural Canvas Animationcalesthio/generative-media-skills | 197 | — | ~3.1k | 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 |
Tommy-yw/RunbookHermes
Production pipeline for interactive and generative visual art using p5.js.
Prismer-AI/PrismerCloud
p5.js sketches: gen art, shaders, interactive, 3D. An agent skill from Prismer-AI/PrismerCloud.
calesthio/generative-media-skills
Provider-independent production guidance for deterministic Canvas 2D and p5.js animation.
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.
tettethu/VibeGame
Run VibeGame's standard end-to-end game development workflow with reviewer gates.
tettethu/VibeGame
Capture reusable patterns from a finished project and lift them into framework-level priors (contracts, modules, skeletons) that future projects inherit.
tettethu/VibeGame
Iterate broadly on an existing game, on top of vibegame-build.
tettethu/VibeGame
Resume a VibeGame orchestrator session after vibegame start.
Categories
Distill stable art-generation patterns from a completed project, so future projects produce comparable assets without re-discovering the prompts. Artist Self Evolve is an agent skill from tettethu/VibeGame. Distill stable art-generation patterns from a completed project, so future projects produce comparable assets without re-discovering the prompts.
Artist Self Evolve fits situations like: tasks that involve Generative and creative coding.
Run `npx skills add tettethu/VibeGame --skill artist-self-evolve -a claude-code`. Or copy the skill folder (src/skills/artist-self-evolve in tettethu/VibeGame) into .claude/skills/artist-self-evolve in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tettethu/VibeGame --skill artist-self-evolve -a codex`. Or copy the skill folder (src/skills/artist-self-evolve in tettethu/VibeGame) into .agents/skills/artist-self-evolve 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 tettethu/VibeGame --skill artist-self-evolve -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/artist-self-evolve, .gemini/skills/artist-self-evolve, .github/skills/artist-self-evolve and .opencode/skills/artist-self-evolve in your project.
SKILL.md names no scripts, command-line tools or credentials: Artist Self Evolve is instructions for the agent only.
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.
Artist Self Evolve is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k 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 Artist Self Evolve: P5js (Tommy-yw/RunbookHermes, 546 stars), Prismer P5js (Prismer-AI/PrismerCloud, 1.6k stars), Procedural Canvas Animation (calesthio/generative-media-skills, 197 stars) and Algorithmic Art with p5.js (anthropics/skills, 180k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tettethu (a GitHub user) maintains it in tettethu/VibeGame, which has 269 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 1, 2026.
Source: tettethu/VibeGame on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.