canvas-design

star 55

Create original visual design philosophies and express them as meticulously crafted, museum-quality PNG or PDF art with minimal text — generative art, data visualization, and abstract compositions.

bidewio By bidewio schedule Updated 2/23/2026

name: canvas-design description: "Create original visual design philosophies and express them as meticulously crafted, museum-quality PNG or PDF art with minimal text — generative art, data visualization, and abstract compositions." metadata: openclaw: emoji: "🖌️" source: "https://github.com/anthropics/skills"


Canvas Design Skill

When to use

  • Creating generative art and abstract compositions
  • Designing visual assets with HTML Canvas or SVG
  • Building data visualizations as art
  • Creating unique brand assets and illustrations

Canvas setup

const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
const dpr = window.devicePixelRatio || 1;
canvas.width = 1200 * dpr;
canvas.height = 800 * dpr;
canvas.style.width = "1200px";
canvas.style.height = "800px";
ctx.scale(dpr, dpr);

Composition patterns

Grid-based generative

const cols = 12, rows = 8;
const cellW = 1200 / cols, cellH = 800 / rows;
for (let x = 0; x < cols; x++) {
  for (let y = 0; y < rows; y++) {
    ctx.save();
    ctx.translate(x * cellW + cellW / 2, y * cellH + cellH / 2);
    ctx.rotate(Math.random() * Math.PI);
    // Draw shape
    ctx.fillStyle = `hsl(${200 + Math.random() * 60}, 70%, ${50 + Math.random() * 20}%)`;
    ctx.fillRect(-cellW / 4, -cellH / 4, cellW / 2, cellH / 2);
    ctx.restore();
  }
}

Noise-based organic

// Use simplex/perlin noise for organic patterns
for (let x = 0; x < width; x += 2) {
  for (let y = 0; y < height; y += 2) {
    const n = noise(x * 0.005, y * 0.005);
    const hue = 200 + n * 60;
    ctx.fillStyle = `hsl(${hue}, 60%, ${40 + n * 30}%)`;
    ctx.fillRect(x, y, 2, 2);
  }
}

Export

// PNG
canvas.toBlob((blob) => {
  const url = URL.createObjectURL(blob);
  const a = document.createElement("a");
  a.href = url; a.download = "artwork.png"; a.click();
}, "image/png");

// High-res: use 3x DPR for print-quality output

Design philosophy

  • Constraint breeds creativity: Limit colors (3-5), shapes, and rules
  • Randomness with structure: Random parameters within defined bounds
  • Iteration: Generate many, curate the best
  • Minimal text: Let the visual speak

Tips for AI Agents

  • Ask about the desired mood, color palette, and output format.
  • Generate multiple variations and let the user choose.
  • Consider print resolution (300 DPI) for physical outputs.
Install via CLI
npx skills add https://github.com/bidewio/better-openclaw --skill canvas-design
Repository Details
star Stars 55
call_split Forks 8
navigation Branch main
article Path SKILL.md
More from Creator