domo-app-theme
Domo Custom App Theme
A clean, professional dashboard theme used across Domo custom apps. Designed to feel native to the Domo platform while being modern and readable. Corporate but not sterile — hierarchy comes from font weight and subtle shadows rather than color. Feels Domo-native / Salesforce-adjacent.
Author: David Johnson
Themed Design System (DESIGN.md)
This skill operates across three styling layers that must stay coherent:
- Design Intent — mood, palette, typography, component recipes (the "what it should feel like")
- App Studio Theme JSON — native Domo schema with
c1–c60color slots,f1–f8fonts,ca1–ca8card styles - Pro-Code CSS — custom properties, inline styles, Recharts/Chart.js colors
Each curated theme has a dedicated DESIGN.md file in references/themes/ that serves as the single source of truth for all three layers. A DESIGN.md contains:
- Visual Theme and Atmosphere — mood, density, philosophy (prevents generic output)
- Color System with Slot Mapping Table — every color has a semantic role, hex, OKLCH, theme slot (
cnumber), and CSS variable in one row. This is the Rosetta Stone between native JSON and pro-code CSS. - Typography with Font Slot Mapping — type scale mapped to
f1–f8theme slots
More from stahura/domo-ai-vibe-rules
migrate-lovable
Convert SSR-heavy Lovable/v0 apps into client-only Domo apps.
61domo-js
Use ryuu.js (domo.js) APIs for env, events, navigation, and data calls.
60appdb
Toolkit-first AppDB document CRUD, query operators, and collection wiring.
58html-deck
Build a professional HTML slide deck from source content and convert it to a pixel-perfect PDF. Covers slide architecture, layout patterns, print-safe CSS, Puppeteer PDF conversion, and quality verification. Use when creating presentation decks, converting documents to slide format, or generating PDF decks from HTML.
58data-api
High-level entry skill for Domo data access. Routes detailed query work to dataset-query.
57jsapi-filters
Apply runtime filters to embedded Domo dashboards/cards from the host page via the JS API (MessagePort). Covers dynamic filtering, drill events, filter change listeners, iframe resize, pfilter URL params, overrideFilters, and App Studio appData. Use for any client-side Domo embed interaction. Not for server-side programmatic filters (use programmatic-filters).
57