Create beautiful visual art in .png and .pdf documents using design philosophy.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add plurigrid/asi --skill canvas-design --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Canvas Design?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/plurigrid-canvas-design-asi)More formats (shields.io, HTML) on the badges page.
---
name: canvas-design
description: Create beautiful visual art in .png and .pdf documents using design philosophy.
Use when the user asks to create a poster, piece of art, design, or other static
visual piece. Creates original visual designs.
license: Apache-2.0
metadata:
trit: 1
source: anthropics/skills
---
# Canvas Design
Create visually striking static designs using HTML Canvas or Python imaging libraries.
## Design Principles
### Composition
- **Rule of Thirds**: Place key elements along grid lines
- **Visual Hierarchy**: Size, color, and position indicate importance
- **White Space**: Embrace negative space for elegance
- **Balance**: Symmetrical for formal, asymmetrical for dynamic
### Color Theory
- **Complementary**: Colors opposite on wheel (high contrast)
- **Analogous**: Adjacent colors (harmonious)
- **Triadic**: Three equidistant colors (vibrant)
- Limit palette to 3-5 colors
### Typography
- Pair one display font with one body font
- Maintain consistent hierarchy
- Ensure readability (contrast, size)
## Python Canvas (Pillow + Cairo)
```python
from PIL import Image, ImageDraw, ImageFont
import cairo
# Create canvas
width, height = 1200, 800
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
ctx = cairo.Context(surface)
# Background gradient
pattern = cairo.LinearGradient(0, 0, 0, height)
pattern.add_color_stop_rgb(0, 0.1, 0.1, 0.2)
pattern.add_color_stop_rgb(1, 0.05, 0.05, 0.1)
ctx.set_source(pattern)
ctx.paint()
# Draw shapes
ctx.set_source_rgba(1, 0.3, 0.3, 0.8)
ctx.arc(600, 400, 150, 0, 2 * 3.14159)
ctx.fill()
# Add text
ctx.set_source_rgb(1, 1, 1)
ctx.select_font_face("Sans", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_BOLD)
ctx.set_font_size(48)
ctx.move_to(400, 600)
ctx.show_text("Hello Design")
# Save
surface.write_to_png("design.png")
```
## HTML Canvas to Image
```javascript
const canvas = document.createElement('canvas');
canvas.width = 1200;
canvas.height = 800;
const ctx = canvas.getContext('2d');
// Draw
ctx.fillStyle = '#1a1a2e';
ctx.fillRect(0, 0, 1200, 800);
ctx.fillStyle = '#e94560';
ctx.beginPath();
ctx.arc(600, 400, 150, 0, Math.PI * 2);
ctx.fill();
// Export
const dataUrl = canvas.toDataURL('image/png');
```
## Design Styles
- **Minimalist**: Limited colors, lots of whitespace, clean lines
- **Brutalist**: Raw, bold typography, stark contrasts
- **Glassmorphism**: Frosted glass effects, subtle borders
- **Retro/Vintage**: Muted colors, textures, classic typography
- **Abstract**: Geometric shapes, gradients, artistic composition
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!