Canvas Design Skill

SkillDocs & knowledge

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.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Canvas Design Skill skill

What this skill tells your AI

The instructions your AI receives, as published by bidewio/better-openclaw in skills/canvas-design/SKILL.md and read by ahel’s review.

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.

Signals

GitHub stars
58
Forks
6
Last commit
Aug 2026
Advanced
Item type
skill
Key
canvas-design-bidewio
Source
github.com/bidewio/better-openclaw