Document Generation  ·  Official

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create…

  • philosophy → expression
human agent ↗

Composite

3.7

C 4.3 · A 3.3

How we got there

Craft · D1–D5

D1 · Trigger clarity 4.5
D2 · Output specificity 4.5
D3 · Scope precision 4.0
D4 · Self-containment 4.5
D5 · Reusability 3.5

Adoption · A1–A5

A1 · Maintenance 2.5
A2 · Documentation 3.8
A3 · License 2.5
A4 · Adoption 5.0
A5 · Authorship 2.0

Spec

When this fires, what it takes, how it installs

Fires when

  • user wants to generate a poster, plate, zine cover, or other static visual artwork
  • user wants Claude to author a design philosophy first and then express it on a canvas
  • user wants a single-page PDF or PNG with a strong typographic gesture and sparse marginalia
  • user wants design-taste guidance (philosophy-first, minimal text, monumental gesture, subtle reference)
  • user wants access to a curated typeface library without sourcing fonts themselves

Skip when

  • user wants pixel-precise layout from a brief — this skill resists templates, it teaches an aesthetic
  • user wants raster illustration, photo composites, or any output that depends on a pre-trained image model
  • user wants logo design with brand constraints — the skill's "subtle reference" gesture pulls against literal brand marks
  • user wants a one-shot fill-in-the-blanks generator — there is no make-my-canvas.py, the model must pick a renderer and write the code
  • user needs deterministic output across runs — different models or different days will produce different compositions

Takes

  • prompt any short brief; the skill expects a "subtle conceptual thread" (a niche reference) rather than a literal subject
  • text:markdown optional — the skill itself authors a philosophy.md as step 1; users do not supply it

Returns

  • file:pdf vector geometry + bundled TTFs render in ~60ms at A2; quality is bounded by the model's design taste, not the skill's tooling
  • file:png same composition rasterised; requires a separate renderer (sips/pdftoppm/Pillow) — not part of the skill itself
  • file:markdown the design philosophy itself, ~5-6 paragraphs; useful as a reusable aesthetic brief independent of the visual output

Install

pip install reportlab Pillow
  • macos: sips (built-in) or brew install poppler — for rasterising the PDF to PNG
  • notes: SKILL.md declares no renderer; the model picks one. reportlab is the natural fit for vector + TTF registration. The 54 bundled TTFs in canvas-fonts/ are the only first-party tooling.

Zero scaffolding. No requirements.txt, no package.json, no example script. Required deps must be inferred from the visual the model wants to make. Pillow alone is not enough — it cannot embed TTF subsets into a PDF.

Caveats

  • Zero scaffolding ships with the skill. No requirements.txt, no example script, no make-my-canvas.py — SKILL.md never names a renderer (reportlab, cairo, Pillow, matplotlib are all unstated). The model must pick one and write the drawing code from scratch every run.
  • Font registration is silently fragile. reportlab raises KeyError if you call setFont("BigShoulders", 80) without first registering the TTF — no graceful fallback to Helvetica. Any agent that copies font names from the SKILL.md cookbook without also discovering canvas-fonts/ will crash, not degrade.
  • Output quality is bounded by the model's design taste, not the skill's tooling. The skill teaches *what* to make (philosophy-first, minimal text, monumental gesture, subtle reference); it does not teach *how*. A weaker model will produce a weaker poster even with the same philosophy.
  • The "FINAL STEP" injection ("It isn't perfect enough. It must be pristine, a masterpiece") is a hidden second-pass prompt that pushes the model toward more restraint, not more invention. Watch for compositions that ratchet themselves toward emptiness — the memorial plate in this review is what that ceiling looks like at its honest extreme.
  • PDF to PNG is not part of the skill. SKILL.md says "Output the final result as a single, downloadable .pdf or .png file" but provides no path from one to the other. macOS sips works for single-page PDFs only; multi-page exports need pdftoppm or Pillow.
  • The "subtle reference" instruction is load-bearing and undocumented in its risk: if the model picks too literal a reference (e.g. a real artist's signature motif), the skill silently violates its own "never copying existing artists' work" warning. We chose a thematic reference (Messner's philosophy of honorable retreat — "the mountain is preserved by those who turn back") that is never named in the work itself; not all model runs will be this careful.
  • Deterministic geometry is the user's responsibility. The skill's aesthetic asks for "perfect shapes" and "repeating patterns" but does not warn that procedural noise (random.uniform, time.time seeds) will produce a different poster every run. Seed your randomness or your "masterpiece" is unreproducible.
02 — Cross-validation

2 sources verified

Install

Use this skill

/plugin install canvas-design

Auto-indexed. Editorial review pending — score is based on the rubric only.