diff --git a/skills/creative/ascii-video/SKILL.md b/skills/creative/ascii-video/SKILL.md index b12261e160..704a561167 100644 --- a/skills/creative/ascii-video/SKILL.md +++ b/skills/creative/ascii-video/SKILL.md @@ -203,3 +203,30 @@ For segmented videos (quotes, scenes, chapters), render each as a separate clip | `references/inputs.md` | Audio analysis (FFT, bands, beats), video sampling, image conversion, text/lyrics, TTS integration (ElevenLabs, voice assignment, audio mixing) | | `references/optimization.md` | Hardware detection, quality profiles, vectorized patterns, parallel rendering, memory management, performance budgets | | `references/troubleshooting.md` | NumPy broadcasting traps, blend mode pitfalls, multiprocessing/pickling, brightness diagnostics, ffmpeg issues, font problems, common mistakes | + +--- + +## Creative Divergence (use only when user requests experimental/creative/unique output) + +If the user asks for creative, experimental, surprising, or unconventional output, select the strategy that best fits and reason through its steps BEFORE generating code. + +- **Forced Connections** — when the user wants cross-domain inspiration ("make it look organic," "industrial aesthetic") +- **Conceptual Blending** — when the user names two things to combine ("ocean meets music," "space + calligraphy") +- **Oblique Strategies** — when the user is maximally open ("surprise me," "something I've never seen") + +### Forced Connections +1. Pick a domain unrelated to the visual goal (weather systems, microbiology, architecture, fluid dynamics, textile weaving) +2. List its core visual/structural elements (erosion → gradual reveal; mitosis → splitting duplication; weaving → interlocking patterns) +3. Map those elements onto ASCII characters and animation patterns +4. Synthesize — what does "erosion" or "crystallization" look like in a character grid? + +### Conceptual Blending +1. Name two distinct visual/conceptual spaces (e.g., ocean waves + sheet music) +2. Map correspondences (crests = high notes, troughs = rests, foam = staccato) +3. Blend selectively — keep the most interesting mappings, discard forced ones +4. Develop emergent properties that exist only in the blend + +### Oblique Strategies +1. Draw one: "Honor thy error as a hidden intention" / "Use an old idea" / "What would your closest friend do?" / "Emphasize the flaws" / "Turn it upside down" / "Only a part, not the whole" / "Reverse" +2. Interpret the directive against the current ASCII animation challenge +3. Apply the lateral insight to the visual design before writing code diff --git a/skills/creative/manim-video/SKILL.md b/skills/creative/manim-video/SKILL.md index 35c09bc7b0..6edab8e742 100644 --- a/skills/creative/manim-video/SKILL.md +++ b/skills/creative/manim-video/SKILL.md @@ -239,3 +239,26 @@ Always iterate at `-ql`. Only render `-qh` for final output. | `references/paper-explainer.md` | Turning research papers into animations — workflow, templates, domain patterns | | `references/decorations.md` | SurroundingRectangle, Brace, arrows, DashedLine, Angle, annotation lifecycle | | `references/production-quality.md` | Pre-code, pre-render, post-render checklists, spatial layout, color, tempo | + +--- + +## Creative Divergence (use only when user requests experimental/creative/unique output) + +If the user asks for creative, experimental, or unconventional explanatory approaches, select a strategy and reason through it BEFORE designing the animation. + +- **SCAMPER** — when the user wants a fresh take on a standard explanation +- **Assumption Reversal** — when the user wants to challenge how something is typically taught + +### SCAMPER Transformation +Take a standard mathematical/technical visualization and transform it: +- **Substitute**: replace the standard visual metaphor (number line → winding path, matrix → city grid) +- **Combine**: merge two explanation approaches (algebraic + geometric simultaneously) +- **Reverse**: derive backward — start from the result and deconstruct to axioms +- **Modify**: exaggerate a parameter to show why it matters (10x the learning rate, 1000x the sample size) +- **Eliminate**: remove all notation — explain purely through animation and spatial relationships + +### Assumption Reversal +1. List what's "standard" about how this topic is visualized (left-to-right, 2D, discrete steps, formal notation) +2. Pick the most fundamental assumption +3. Reverse it (right-to-left derivation, 3D embedding of a 2D concept, continuous morphing instead of steps, zero notation) +4. Explore what the reversal reveals that the standard approach hides diff --git a/skills/creative/p5js/SKILL.md b/skills/creative/p5js/SKILL.md index ecb048cece..1b8e618041 100644 --- a/skills/creative/p5js/SKILL.md +++ b/skills/creative/p5js/SKILL.md @@ -511,3 +511,37 @@ When building p5.js sketches: | `references/export-pipeline.md` | `saveCanvas()`, `saveGif()`, `saveFrames()`, deterministic headless capture, ffmpeg frame-to-video, CCapture.js, SVG export, per-clip architecture, platform export (fxhash), video gotchas | | `references/troubleshooting.md` | Performance profiling, per-pixel budgets, common mistakes, browser compatibility, WebGL debugging, font loading issues, pixel density traps, memory leaks, CORS | | `templates/viewer.html` | Interactive viewer template: seed navigation (prev/next/random/jump), parameter sliders, download PNG, responsive canvas. Start from this for explorable generative art | + +--- + +## Creative Divergence (use only when user requests experimental/creative/unique output) + +If the user asks for creative, experimental, surprising, or unconventional output, select the strategy that best fits and reason through its steps BEFORE generating code. + +- **Conceptual Blending** — when the user names two things to combine or wants hybrid aesthetics +- **SCAMPER** — when the user wants a twist on a known generative art pattern +- **Distance Association** — when the user gives a single concept and wants exploration ("make something about time") + +### Conceptual Blending +1. Name two distinct visual systems (e.g., particle physics + handwriting) +2. Map correspondences (particles = ink drops, forces = pen pressure, fields = letterforms) +3. Blend selectively — keep mappings that produce interesting emergent visuals +4. Code the blend as a unified system, not two systems side-by-side + +### SCAMPER Transformation +Take a known generative pattern (flow field, particle system, L-system, cellular automata) and systematically transform it: +- **Substitute**: replace circles with text characters, lines with gradients +- **Combine**: merge two patterns (flow field + voronoi) +- **Adapt**: apply a 2D pattern to a 3D projection +- **Modify**: exaggerate scale, warp the coordinate space +- **Purpose**: use a physics sim for typography, a sorting algorithm for color +- **Eliminate**: remove the grid, remove color, remove symmetry +- **Reverse**: run the simulation backward, invert the parameter space + +### Distance Association +1. Anchor on the user's concept (e.g., "loneliness") +2. Generate associations at three distances: + - Close (obvious): empty room, single figure, silence + - Medium (interesting): one fish in a school swimming the wrong way, a phone with no notifications, the gap between subway cars + - Far (abstract): prime numbers, asymptotic curves, the color of 3am +3. Develop the medium-distance associations — they're specific enough to visualize but unexpected enough to be interesting