mcerqua/openvoiceui/canvas-web-design
Claude Code and agent skill by mcerqua/openvoiceui
- community
Checking that the SKILL.md file is still in the repository.
Premium design system for OpenVoiceUI canvas pages (iframe-sandboxed HTML) when no Canvas Style is active - layered backgrounds, motion, glassmorphism, gradient text, KPI and dashboard patterns, all vanilla inline CSS. Ships canvas-template.html. Read before building a polished canvas page.
Install
npx vskill@latest install mcerqua/openvoiceui/canvas-web-designSKILL.md
Canvas Web Design: premium design system
Canvas pages run inside an iframe in the OpenVoiceUI voice assistant. They are not regular websites: they must work with zero build step and still look like shipped product software. This skill is the craft layer; the canvas-pages skill is the workflow (write, open, verify).
Active style override: check first
If /app/runtime/canvas-pages/canvas-styles/ACTIVE-STYLE.md exists (Docker path; on native installs it is canvas-styles/ACTIVE-STYLE.md inside your canvas pages dir), the user picked their own design system on the Canvas Styles page. That file overrides the COLOR SYSTEM and the template below: follow its rules and start from canvas-styles/active-template.html instead. The craft standards in this skill (hierarchy, motion, depth, real content, no purple/pink, no emoji icons) still apply on top of any style.
The environment (non-negotiable)
- Sandboxed iframe: no npm, no bundler, no Tailwind/Bootstrap CDN.
cdn.jsdelivr.netis
allowed by the canvas CSP for real libraries (Three.js and similar) when you need one.
- Google Fonts `@import` in `<style>` is OK; always fall back to
sans-serif. - All CSS inline in one
<style>in<head>; all JS inline in a<script>at body end. - Desktop icon (required):
<meta name="page-icon" content="TYPE">in<head>(types are
listed in the canvas-pages skill: dashboard, game, music, tools, document, ...).
- Interactivity only via postMessage: the template defines
nav(page),speak(text)and
menu(). Call speak() only from a user action (every speak is a paid assistant turn).
- No browser storage: persist page state with the canvas data API
(/api/canvas/data/<name>.json, see canvas-pages), never localStorage.
- Always start from the template: copy
canvas-template.htmlfrom this skill's folder
(Docker install: ~/.openclaw/skills/openvoiceui/canvas-web-design/canvas-template.html) to /app/runtime/canvas-pages/<name>.html, keep its FULL <style> block, then replace the demo content between the marked comments.
DESIGN PHILOSOPHY
Every canvas page must feel like premium enterprise software. Not a template, not a demo — something a Fortune 500 company would actually ship.
The Standard
- Multi-layered visual depth: ambient orbs, border gradients, card shadows, glows
- Meaningful animation: staggered entrance, hover micro-interactions, living status indicators
- Strong typography hierarchy: massive numbers, bold labels, readable secondary text
- Color with purpose: semantic colors signal meaning, not just decoration
- Real content: every value, label, and button reflects the actual task — no placeholders
What "Bad" Looks Like — Never Do This
- White text on dark background, zero hierarchy — "flat and forgettable"
- Static pages with no animation — "it just... appeared"
- Cards that are just a border around text
- Buttons with no hover state
- Purple/pink gradients — the most overused AI default in existence
- Emoji as decorative icons
COLOR SYSTEM
Use CSS variables from the design system. Never hardcode hex values that duplicate the vars.
BANNED Colors — Instant Rejection
- Any purple:
#764ba2,#667eea,#8b5cf6,#a855f7 - Pink / magenta as primary
linear-gradient(135deg, #667eea, #764ba2)— the world's most overused AI gradient
TYPOGRAPHY
ANIMATION LIBRARY
The v2.0 template includes all these keyframes. Use the utility classes — don't rewrite them.
Entrance Animations — Apply to Every Major Section
Available classes: anim-fade, anim-slide-up, anim-slide-left, anim-scale Delay classes: delay-1 through delay-8 (0.1s increments)
Hover Micro-Interactions — Every Clickable Element
Continuous Animations
Animated Progress Bar
LAYERED BACKGROUND SYSTEM
Wrap ALL body content in .bg-orbs to add animated ambient orbs behind everything:
The orbs use position: fixed with filter: blur(90px) at 11% opacity — atmospheric, not distracting.
Custom orb colors for non-blue themes:
GLASSMORPHISM
Use .card-glass inside .bg-orbs wrappers for the frosted-glass effect:
Custom glassmorphism for hero sections:
GRADIENT TEXT
Make primary headings and KPI values pop:
Custom gradients:
HERO CARD PATTERN
For dashboards, always open with a hero card showing the primary metric:
ICON SYSTEM — No Emoji
Use Unicode symbols or inline SVG. Never emoji.
INTERACTIVE BUTTONS (postMessage)
Every button must use `nav()`, `speak()` or `menu()`. Never `href="#"`. The page runs in an iframe — # does nothing.
COMPLETE DASHBOARD PATTERN
Full example combining all patterns for a business dashboard:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/canvas-web-design/SKILL.md
Popularity
- Repository stars
- 80
- Repository forks
- 16
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mcerqua/openvoiceui/canvas-web-design)