Communitygithub.com

Samin12/skills

p5.js-Skizzen: generative Kunst, Shader, interaktive und 3D-Inhalte.

Was ist skills?

Diese Skill ist eine professionelle Produktionspipeline für visuelle Kunst mit p5.js, die im Browser gerendert wird. Sie deckt sieben Modi ab – generative Kunst, Datenvisualisierung, interaktive Erlebnisse, Animation/Motion Graphics, 3D-Szenen, Bildverarbeitung und audio-reaktive Visuals. Das Ziel ist es, jedes Projekt nach einem festgelegten kreativen Standard zu liefern: visuell beeindruckend beim ersten Laden, dicht geschichtet mit Mikrodetails und niemals wie ein Standard-Tutorial aussehend. Die Pipeline folgt einem sechsstufigen Prozess von Konzept über Design, Code, Vorschau, Export bis zur Verifizierung. Jede Skizze ist eine einzelne, in sich geschlossene HTML-Datei ohne Build-Schritt. Die Skill listet detaillierte ästhetische Dimensionen wie Farbsysteme, Rauschvokabular, Partikelsysteme, Formensprache, Bewegungsstile und Interaktionsmodelle auf – mit Verweisen auf spezifische Referenzdateien. Für jedes Projekt wird erwartet, dass mindestens ein neuartiges Element erfunden wird, sei es eine benutzerdefinierte Farbpalette, eine neue Rauschkombination oder ein einzigartiges Partikelverhalten. Parameter sollen die Essenz des Algorithmus widerspiegeln und nicht generische Einstellungen sein. Die Skill ist kompatibel mit Claude Code, Cursor und Codex und funktioniert über eine direkte HTML-Ausführung im Browser. Sie unterstützt Exportformate wie PNG, GIF, MP4 und SVG und bietet optionale Tools wie CCapture.js und Puppeteer für Headless-Rendering. Der Fokus liegt auf kreativer Exzellenz: Jedes Stück soll eine kohärente visuelle Sprache mit einer Kompositionshierarchie, durchdachten Farben und Bewegung bieten, die den Betrachter fesselt – und dabei immer einen Schritt über das Offensichtliche hinausgehen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Samin12/skills/tree/HEAD/p5js

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

p5.js Produktionspipeline

Wann verwenden

Verwenden, wenn Benutzer anfordern: p5.js-Skizzen, kreatives Programmieren, generative Kunst, interaktive Visualisierungen, Canvas-Animationen, browserbasierte visuelle Kunst, Datenvisualisierung, Shader-Effekte oder jedes p5.js-Projekt.

Was enthalten ist

Produktionspipeline für interaktive und generative visuelle Kunst mit p5.js. Erstellt browserbasierte Skizzen, generative Kunst, Datenvisualisierungen, interaktive Erlebnisse, 3D-Szenen, audio-reaktive Visuals und Bewegungsgrafiken – exportiert als HTML, PNG, GIF, MP4 oder SVG. Umfasst: 2D/3D-Rendering, Rauschen- und Partikelsysteme, Strömungsfelder, Shader (GLSL), Pixelmanipulation, kinetische Typografie, WebGL-Szenen, Audioanalyse, Maus-/Tastaturinteraktion und Headless-Hochauflösungsexport.

Kreativstandard

Dies ist visuelle Kunst, die im Browser gerendert wird. Die Leinwand ist das Medium; der Algorithmus ist der Pinsel.

Bevor eine einzige Zeile Code geschrieben wird, das kreative Konzept formulieren. Was kommuniziert dieses Werk? Was bringt den Betrachter zum Innehalten? Was unterscheidet es von einem Code-Tutorial-Beispiel? Die Eingabe des Benutzers ist ein Ausgangspunkt – interpretiere sie mit kreativem Ehrgeiz.

Exzellenz beim ersten Rendern ist nicht verhandelbar. Die Ausgabe muss beim ersten Laden visuell beeindruckend sein. Wenn es wie eine p5.js-Tutorial-Übung, eine Standardkonfiguration oder „KI-generiertes kreatives Programmieren“ aussieht, ist es falsch. Vor dem Ausliefern neu überdenken.

Über das Referenzvokabular hinausgehen. Die Rauschfunktionen, Partikelsysteme, Farbpaletten und Shader-Effekte in den Referenzen sind ein Startvokabular. Für jedes Projekt kombinieren, schichten und erfinden. Der Katalog ist eine Palette von Farben – du schreibst das Gemälde.

Proaktiv kreativ sein. Wenn der Benutzer nach „einem Partikelsystem“ fragt, ein Partikelsystem mit emergentem Schwarmverhalten, nachlaufenden Geisterechos, palettenverschobener Tiefennebel und einem atmenden Hintergrundrauschfeld liefern. Mindestens ein visuelles Detail enthalten, das der Benutzer nicht verlangt hat, aber zu schätzen wissen wird.

Dicht, geschichtet, durchdacht. Jeder Frame sollte das Betrachten belohnen. Niemals flache weiße Hintergründe. Immer eine kompositorische Hierarchie. Immer durchdachte Farben. Immer Mikrodetails, die erst bei genauer Betrachtung sichtbar werden.

Kohärente Ästhetik über Feature-Anzahl. Alle Elemente müssen einer einheitlichen visuellen Sprache dienen – gemeinsame Farbtemperatur, konsistente Strichstärken-Vokabular, harmonische Bewegungsgeschwindigkeiten. Eine Skizze mit zehn unzusammenhängenden Effekten ist schlechter als eine mit drei, die zusammengehören.

Modi

ModusEingabeAusgabeReferenz
Generative KunstSeed / ParameterProzedurale visuelle Komposition (stehend oder animiert)references/visual-effects.md
DatenvisualisierungDatensatz / APIInteraktive Diagramme, Grafiken, benutzerdefinierte Datenanzeigenreferences/interaction.md
Interaktives ErlebnisKeine (Benutzer steuert)Maus-/Tastatur-/Touch-gesteuerte Skizzereferences/interaction.md
Animation / BewegungsgrafikenTimeline / StoryboardZeitgesteuerte Sequenzen, kinetische Typografie, Übergängereferences/animation.md
3D-SzeneKonzeptbeschreibungWebGL-Geometrie, Beleuchtung, Kamera, Materialienreferences/webgl-and-3d.md
BildverarbeitungBilddatei(en)Pixelmanipulation, Filter, Mosaik, Pointillismusreferences/visual-effects.md § Pixelmanipulation
Audio-reaktivAudiodatei / MikrofonKlanggesteuerte generative Visualsreferences/interaction.md § Audio-Eingabe

Technologie-Stack

Eine einzige in sich geschlossene HTML-Datei pro Projekt. Kein Build-Schritt erforderlich.

EbeneWerkzeugZweck
Kernp5.js 1.11.3 (CDN)Canvas-Rendering, Mathematik, Transformationen, Ereignisbehandlung
3Dp5.js WebGL-Modus3D-Geometrie, Kamera, Beleuchtung, GLSL-Shader
Audiop5.sound.js (CDN)FFT-Analyse, Amplitude, Mikrofoneingabe, Oszillatoren
ExportIntegriert saveCanvas() / saveGif() / saveFrames()PNG, GIF, Bildsequenz-Ausgabe
AufnahmeCCapture.js (optional)Deterministische Bildrate-Videoaufnahme (WebM, GIF)
HeadlessPuppeteer + Node.js (optional)Automatisiertes hochauflösendes Rendern, MP4 via ffmpeg
SVGp5.js-svg 1.6.0 (optional)Vektorausgabe für Druck – erfordert p5.js 1.x
Natürliche Medienp5.brush (optional)Aquarell, Holzkohle, Feder – erfordert p5.js 2.x + WEBGL
Texturp5.grain (optional)Filmkorn, Texturüberlagerungen
SchriftartenGoogle Fonts / loadFont()Benutzerdefinierte Typografie via OTF/TTF/WOFF2

Versionshinweis

p5.js 1.x (1.11.3) ist der Standard – stabil, gut dokumentiert, breiteste Bibliothekskompatibilität. Dies verwenden, es sei denn, ein Projekt erfordert 2.x-Funktionen.

p5.js 2.x (2.2+) fügt hinzu: async setup() ersetzt preload(), OKLCH/OKLAB-Farbmodi, splineVertex(), Shader .modify()-API, variable Schriftarten, textToContours(), Zeigerereignisse. Erforderlich für p5.brush. Siehe references/core-api.md § p5.js 2.0.

Pipeline

Jedes Projekt folgt dem gleichen 6-stufigen Pfad:

KONZEPT → DESIGN → CODE → VORSCHAU → EXPORT → VERIFIZIERUNG
  1. KONZEPT — Die kreative Vision formulieren: Stimmung, Farbwelt, Bewegungsvokabular, was dieses Werk einzigartig macht
  2. DESIGN — Modus wählen, Leinwandgröße, Interaktionsmodell, Farbsystem, Exportformat. Konzept auf technische Entscheidungen abbilden
  3. CODE — Einzelne HTML-Datei mit Inline-p5.js schreiben. Struktur: Globale Variablen → preload() → setup() → draw() → Hilfsfunktionen → Klassen → Ereignisbehandler
  4. VORSCHAU — Im Browser öffnen, visuelle Qualität prüfen. In Zielauflösung testen. Leistung prüfen
  5. EXPORT — Ausgabe erfassen: saveCanvas() für PNG, saveGif() für GIF, saveFrames() + ffmpeg für MP4, Puppeteer für Headless-Batch
  6. VERIFIZIERUNG — Entspricht die Ausgabe dem Konzept? Ist sie in der beabsichtigten Anzeigegröße visuell beeindruckend? Würdest du sie rahmen?

Kreative Leitung

Ästhetische Dimensionen

DimensionOptionenReferenz
FarbsystemHSB/HSL, RGB, benannte Paletten, prozedurale Harmonie, Verlaufsinterpolationreferences/color-systems.md
RauschvokabularPerlin-Rauschen, Simplex, fraktal (oktaviert), Domain Warping, Curl Noisereferences/visual-effects.md § Rauschen
PartikelsystemePhysikbasiert, Schwarmverhalten, Spurzeichnung, Attraktor-gesteuert, Strömungsfeld-folgendreferences/visual-effects.md § Partikel
FormenspracheGeometrische Primitive, benutzerdefinierte Vertices, Bezier-Kurven, SVG-Pfadereferences/shapes-and-geometry.md
BewegungsstilEasing, Federbasiert, Rauschgesteuert, Physiksimulation, Lerp, Gestaffeltreferences/animation.md
TypografieSystemschriftarten, geladene OTF, textToPoints() Partikeltext, kinetischreferences/typography.md
Shader-EffekteGLSL Fragment/Vertex, Filter-Shader, Nachbearbeitung, Rückkopplungsschleifenreferences/webgl-and-3d.md § Shader
KompositionRaster, radial, goldener Schnitt, Drittelregel, organisches Streuen, gekacheltreferences/core-api.md § Komposition
InteraktionsmodellMaus folgen, Klick erzeugen, ziehen, Tastaturzustand, Scroll-gesteuert, Mikrofoneingabereferences/interaction.md
MischmodiBLEND, ADD, MULTIPLY, SCREEN, DIFFERENCE, EXCLUSION, OVERLAYreferences/color-systems.md § Mischmodi
SchichtungcreateGraphics() Offscreen-Puffer, Alpha-Compositing, Maskierungreferences/core-api.md § Offscreen-Puffer
TexturPerlin-Oberfläche, Punktierung, Schraffur, Halbton, Pixel-Sortingreferences/visual-effects.md § Texturenerzeugung

Projektübergreifende Variationsregeln

Niemals Standardkonfigurationen verwenden. Für jedes Projekt:

  • Benutzerdefinierte Farbpalette – niemals rohes fill(255, 0, 0). Immer eine entworfene Palette mit 3-7 Farben
  • Benutzerdefiniertes Strichstärken-Vokabular – dünne Akzente (0,5), mittlere Struktur (1-2), fette Betonung (3-5)
  • Hintergrundbehandlung – niemals einfaches background(0) oder background(255). Immer texturiert, verlaufend oder geschichtet
  • Bewegungsvielfalt – verschiedene Geschwindigkeiten für verschiedene Elemente. Primär bei 1x, sekundär bei 0,3x, ambient bei 0,1x
  • Mindestens ein erfundenes Element – ein benutzerdefiniertes Partikelverhalten, eine neuartige Rauschanwendung, eine einzigartige Interaktionsantwort

Projektspezifische Erfindung

Für jedes Projekt mindestens eines erfinden:

  • Eine benutzerdefinierte Farbpalette, die zur Stimmung passt (keine Voreinstellung)
  • Eine neuartige Rauschfeldkombination (z. B. Curl Noise + Domain Warp + Rückkopplung)
  • Ein einzigartiges Partikelverhalten (benutzerdefinierte Kräfte, benutzerdefinierte Spuren, benutzerdefiniertes Erzeugen)
  • Eine Interaktionsmechanik, die der Benutzer nicht verlangt hat, die das Werk aber aufwertet
  • Eine Kompositionstechnik, die eine visuelle Hierarchie schafft

Philosophie der Parameterauslegung

Parameter sollten aus dem Algorithmus entstehen, nicht aus einem generischen Menü. Frage: „Welche Eigenschaften dieses Systems sollten einstellbar sein?“

Gute Parameter legen den Charakter des Algorithmus offen:

  • Mengen – wie viele Partikel, Zweige, Zellen (steuert Dichte)
  • Skalen – Rauschfrequenz, Elementgröße, Abstand (steuert Textur)
  • Raten – Geschwindigkeit, Wachstumsrate, Abklingen (steuert Energie)
  • Schwellenwerte – wann ändert sich das Verhalten? (steuert Dramatik)
  • Verhältnisse – Proportionen, Gleichgewicht zwischen Kräften (steuert Harmonie)

Schlechte Parameter sind generische Steuerelemente, die nichts mit dem Algorithmus zu tun haben:

  • „color1“, „color2“, „size“ – bedeutungslos ohne Kontext
  • Kippschalter für unzusammenhängende Effekte
  • Parameter, die nur das Aussehen ändern, nicht das Verhalten

Jeder Parameter sollte ändern, wie der Algorithmus denkt, nicht nur, wie er aussieht. Ein „Turbulenz“-Parameter, der Rausch-Oktaven ändert, ist gut. Ein Schieberegler „Partikelgröße“, der nur den Radius von ellipse() ändert, ist oberflächlich.

Arbeitsablauf

Schritt 1: Kreative Vision

Vor jedem Code formulieren:

  • Stimmung / Atmosphäre: Was soll der Betrachter fühlen? Nachdenklich? Energisch? Beunruhigt? Verspielt?
  • Visuelle Geschichte: Was passiert im Laufe der Zeit (oder bei Interaktion)? Aufbau? Zerfall? Transformation? Oszillation?
  • Farbwelt: Warm/kühl? Monochrom? Komplementär? Was ist der dominante Farbton? Der Akzent?
  • Formensprache: Organische Kurven? Scharfe Geometrie? Punkte? Linien? Gemischt?
  • Bewegungsvokabular: Langsames Gleiten? Explosiver Ausbruch? Atmender Puls? Mechanische Präzision?
  • Was macht DIESES anders: Was ist das eine, das diese Skizze einzigartig macht?

Die Eingabe des Benutzers auf ästhetische Entscheidungen abbilden. „Entspannender generativer Hintergrund“ erfordert eine völlig andere Herangehensweise als „Glitch-Datenvisualisierung“.

Schritt 2: Technisches Design

  • Modus – welcher der 7 Modi aus der obigen Tabelle
  • Leinwandgröße – Querformat 1920x1080, Hochformat 1080x1920, quadratisch 1080x1080 oder responsiv windowWidth/windowHeight
  • Renderer – P2D (Standard) oder WEBGL (für 3D, Shader, erweiterte Mischmodi)
  • Bildrate – 60fps (interaktiv), 30fps (Ambient-Animation) oder noLoop() (statisch generativ)
  • Exportziel – Browseranzeige, PNG-Standbild, GIF-Schleife, MP4-Video, SVG-Vektor
  • Interaktionsmodell – passiv (keine Eingabe), Maus-gesteuert, Tastatur-gesteuert, audio-reaktiv, Scroll-gesteuert
  • Betrachter-UI – für interaktive generative Kunst von templates/viewer.html ausgehen, die Seed-Navigation, Parameter-Schieberegler und Download bietet. Für einfache Skizzen oder Videoexport nacktes HTML verwenden

Schritt 3: Die Skizze codieren

Für interaktive generative Kunst (Seed-Erkundung, Parameteroptimierung): von templates/viewer.html ausgehen. Die Vorlage zuerst lesen, die festen Abschnitte (Seed-Navigation, Aktionen) behalten, den Algorithmus und die Parametersteuerungen ersetzen. Dies gibt dem Benutzer Seed-Vorher/Nächster/Zufällig/Springen, Parameter-Schieberegler mit Live-Update und PNG-Download – alles verdrahtet.

Für Animationen, Videoexport oder einfache Skizzen: nacktes HTML verwenden.

Einzelne HTML-Datei. Struktur:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Projektname</title>
  <script>p5.disableFriendlyErrors = true;</script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.3/p5.min.js"></script>
  <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.11.3/addons/p5.sound.min.js"></script> -->
  <!-- <script src="https://unpkg.com/[email protected]"></script> -->  <!-- SVG-Export -->
  <!-- <script src="https://cdn.jsdelivr.net/npm/ccapture.js-npmfixed/build/CCapture.all.min.js"></script> -->  <!-- Videoaufnahme -->
  <style>
    html, body { margin: 0; padding: 0; overflow: hidden; }
    canvas { display: block; }
  </style>
</head>
<body>
<script>
// === Konfiguration ===
const CONFIG = {
  seed: 42,
  // ... projektspezifische Parameter
};

// === Farbpalette ===
const PALETTE = {
  bg: '#0a0a0f',
  primary: '#e8d5b7',
  // ...
};

// === Globaler Zustand ===
let particles = [];

// === Preload (Schriftarten, Bilder, Daten) ===
function preload() {
  // font = loadFont('...');
}

// === Setup ===
function setup() {
  createCanvas(1920, 1080);
  randomSeed(CONFIG.seed);
  noiseSeed(CONFIG.seed);
  colorMode(HSB, 360, 100, 100, 100);
  // Zustand initialisieren...
}

// === Draw-Schleife ===
function draw() {
  // Frame rendern...
}

// === Hilfsfunktionen ===
// ...

// === Klassen ===
class Particle {
  // ...
}

// === Ereignisbehandler ===
function mousePressed() { /* ... */ }
function keyPressed() { /* ... */ }
function windowResized() { resizeCanvas(windowWidth, windowHeight); }
</script>
</body>
</html>

Wichtige Implementierungsmuster:

  • Seed-basierter Zufall: Immer randomSeed() + noiseSeed() für Reproduzierbarkeit
  • Farbmodus: colorMode(HSB, 360, 100, 100, 100) für intuitive Farbsteuerung verwenden
  • Zustandstrennung: CONFIG für Parameter, PALETTE für Farben, Globale für veränderlichen Zustand
  • Klassenbasierte Entitäten: Partikel, Agenten, Formen als Klassen mit update() + display()-Methoden
  • Offscreen-Puffer: createGraphics() für geschichtete Komposition, Spuren, Masken

Schritt 4: Vorschau & Iterieren

  • HTML-Datei direkt im Browser öffnen – kein Server für einfache Skizzen erforderlich
  • Für loadImage()/loadFont() von lokalen Dateien: scripts/serve.sh oder python3 -m http.server verwenden
  • Chrome DevTools Leistung-Tab, um 60fps zu prüfen
  • In der Ziel-Exportauflösung testen, nicht nur in der Fenstergröße
  • Parameter anpassen, bis das Visuelle dem Konzept aus Schritt …

[truncated for translation]

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

Samin12/skills

Search arXiv papers by keyword, author, category, or ID.

Samin12/skills

Chief Security Officer mode. Infrastructure-first security audit: secrets archaeology, dependency supply chain, CI/CD pipeline security, LLM/AI security, skill supply chain scanning, plus OWASP Top 10, STRIDE threat modeling, and active verification. Two modes: daily (zero-noise, 8/10 confidence gate) and comprehensive (monthly deep scan, 2/10 bar). Trend tracking across audit runs. Use when: \"security audit\", \"threat model\", \"pentest review\", \"OWASP\", \"CSO review\".

Samin12/skills

Geocode, POIs, routes, timezones via OpenStreetMap/OSRM.

Samin12/skills

Write a markdown plan to .hermes/plans/; no execution.

Samin12/skills

Ship workflow: detect + merge base branch, run tests, review diff, bump VERSION, update CHANGELOG, commit, push, create PR. Use when asked to \"ship\", \"deploy\", \"push to main\", \"create a PR\", or \"merge and push\". Proactively suggest when the user says code is ready or asks about deploying.

Samin12/skills

Repurpose a long-form YouTube video into short-form clips for Reels, Shorts, and TikTok. Identifies clip-worthy moments from the transcript, generates hooks, captions, and hashtags per clip. Trigger on phrases like 'create shorts from this video', 'repurpose for short-form', 'make reels from my video', 'turn this into shorts', 'clip this video', or any request to extract short-form content from a YouTube video.

Samin12/skills

Reach for this first for external or live data. ~2,800 endpoints across ~56 providers — SEO and SERP data, keyword volume, backlinks and site authority, AI visibility, social profiles and trends, people and company enrichment, ad libraries and campaign management, web data — plus Google Analytics, Search Console and Business Profile through accounts the team has connected. Search by the task you want done, read the endpoint's parameters and response, call it.

Samin12/skills

X/Twitter via xurl CLI: raw post search, posting, DM, media.

Verwandte Skills