Skip to content
DXBMARKPublic

About

Plan, design and generate business-grade dashboards compatible with Home Assistant. Portable AI skill (Claude, Codex, ChatGPT, Gemini, Antigravity). Apache-2.0.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

HA Studio

Plan, design and generate business-grade Home Assistant dashboards — KPIs, per-device energy, cameras, infrastructure, backups and voice — from one portable AI skill.

Arabic / عربي · Claude · Claude.ai · Codex · ChatGPT · Gemini · Antigravity

License: Apache-2.0 Agent Skills Python 3.10+ Tests Security scan: CodeQL Release GitHub stars

by DXBMARK LLC

Aurora overview

Independent project. Not affiliated with, endorsed by or certified by Home Assistant, the Open Home Foundation or any AI vendor named here. "Home Assistant" is used only descriptively ("compatible with Home Assistant"). See TRADEMARKS.md.


Why this exists

Most Home Assistant (HA) dashboards are hobby layouts. A business needs answers at a glance: Is power normal? Which device is wasting energy? Are the cameras up? Are our sites, certificates and backups healthy? HA Studio gives an AI assistant a complete, repeatable method — and the tools — to deliver that safely.

You say It does
"Design a dashboard for our office iPad" Intake → inventory → KPI plan → Lovelace YAML + theme + preview
"Show energy per device" Energy audit (missing kWh sensors, wrong state_class, untracked load) + Energy view
"Add the new cameras and AC units" Re-inventory, diff, classify, regenerate
"Monitor Proxmox, Dokploy, our domains and backups" HA-native recipes (official integrations, REST/template sensors, alerts)
"One view per room, staff vs admin" Rooms view from your area map; admin-only tabs via core view visible
"Make it look like our brand" Three accessibility-checked glass variants; tokens → HA theme

What you get

  • A skill (skills/ha-studio/): workflow, 10 reference guides, 7 business profiles (office, retail, cafe, clinic, hotel, warehouse, devops).
  • Tools (Python, stdlib + PyYAML): read-only inventory, energy audit, Lovelace generator, theme generator, WCAG contrast checker, dashboard validator, HTML preview builder, screenshot tools, skill linter.
  • Three approved glass designs — Aurora, Midnight, Frost — with tokens, HA themes and previews. Note: Home Assistant officially documents only a few theme variables (e.g. primary-color, accent-color); the glass look also uses ha-card-* and card-background-color, which are not officially documented and may change between releases. Re-check the look after Home Assistant updates.
  • Release tooling: claude.ai ZIP, ChatGPT pack, Gemini Gem text, safe installer, CI.
  • Tests: pytest suite covering generation, validation, contrast, packaging, licence and secret hygiene.

Screenshots

All screenshots are generated from sample data (fictional users, example.com hosts) by tools/make_screenshots.py — no real customer data. The HTML previews load fonts from Google Fonts at view time (which sends the viewer's IP to Google); self-host the OFL fonts if that matters to you.

Icons: Font Awesome Free by Fonticons, Inc., CC BY 4.0.

Aurora — dark / orange Midnight — navy / sky Frost — light

Components, palette and measured contrast

Aurora components Midnight components Frost components

Icon set (55 preview glyphs; HA dashboards use mdi: names)

Icons

Install

Pick your platform. The skill is one folder in the open Agent Skills format; adapters only package it.

Claude Code

/plugin marketplace add DXBMARK/ha-studio
/plugin install ha-studio@dxbmark

Manual alternative:

git clone https://github.com/DXBMARK/ha-studio && cd ha-studio
python3 tools/install.py --target claude-code-user          # dry run
python3 tools/install.py --target claude-code-user --yes    # installs to ~/.claude/skills

Then ask: "Use ha-studio to design a dashboard for my office."

Claude.ai

  1. Download ha-studio-<version>.zip from the repository's Releases (or run python3 tools/build_release.py).
  2. In Claude: Settings → Capabilities → Skills → Upload skill (menu labels may vary), select the ZIP.
  3. Requires a plan with skills and code execution enabled. Start a chat describing your Home Assistant dashboard task.

Claude API: upload the same folder through the Skills API and attach it with container.skills (the container has no network, so use --states-file exports).

Codex (OpenAI)

python3 tools/install.py --target codex-repo --dest /path/to/your/project --yes   # → .agents/skills/
python3 tools/install.py --target codex-user --yes                                 # → ~/.agents/skills/

Invoke with $ha-studio or just describe the task. The included AGENTS.md points Codex at the skill.

ChatGPT

ChatGPT has no install-from-GitHub. Choose one:

  • Skills (Business / Enterprise / Edu, if enabled by your admin): upload the skill ZIP. Upload format not verified by DXBMARK.
  • Project (Plus/Pro): create a Project, paste chatgpt/instructions.md (≈3.6k characters) as instructions and upload the files from chatgpt-pack-<version>.zip → knowledge/.
  • Free/Go or custom instructions: paste chatgpt/instructions-lite.md (≈0.7k characters).

Gemini

  • Gemini CLI (enterprise licences — consumer CLI access ended 18 June 2026): gemini skills install https://github.com/DXBMARK/ha-studio --consent, or install as an extension via gemini-extension.json (loads GEMINI.md).
  • Gemini app: create a Gem and paste gem-instructions.md (from the release assets). Gems cannot run the scripts; you get the method and YAML authoring.

Antigravity

python3 tools/install.py --target antigravity-project --dest /path/to/project --yes   # → .agents/skills/
python3 tools/install.py --target antigravity-user --yes                              # global skills folder

Global paths differ between Antigravity versions — confirm in its current documentation. Installing from a GitHub URL was not verified.

The installer never overwrites an existing install and does nothing without --yes.

Quick start (no AI needed)

pip install PyYAML
S=skills/ha-studio/scripts

# 1) Inventory (read-only). Token stays in the environment.
HA_URL=https://homeassistant.local:8123 HA_TOKEN=... python3 $S/ha_inventory.py --out inventory.json   # use https (or a trusted LAN); redirects are refused so the token never leaves your host
#    …or offline from an export, e.g. the bundled demo:
python3 $S/ha_inventory.py --states-file skills/ha-studio/assets/examples/demo_states.json --out inventory.json

# 2) Energy audit
python3 $S/energy_audit.py inventory.json --tariff 0.15

# 3) Generate theme + dashboard, then validate
python3 $S/gen_theme.py aurora --out themes/dxbmark_aurora.yaml
python3 $S/generate_lovelace.py inventory.json --profile office --theme dxbmark_aurora --title "My Office" --out dashboard.yaml
#    Optional: --areas areas.yaml adds a Rooms view; --admin-user <HA user id> hides Energy/Security/Infra/Backups from other users
python3 $S/validate_dashboard.py dashboard.yaml --inventory inventory.json

# 4) Optional: iPad HTML previews and screenshots (needs Playwright)
python3 $S/build_design.py --out preview/ --brand "My Company"

The scripts never overwrite an existing output file unless you pass --force. Apply by pasting dashboard.yaml into a dashboard's raw configuration editor, or reference it from a YAML-mode dashboard. Use assets/examples/packages/dxbmark_infra.yaml as a starting point for Proxmox/Dokploy/certificate/backup KPIs.

Try it locally (one command)

pip install -r requirements-test.txt
python3 tools/serve_demo.py            # builds everything on the bundled demo data, then serves http://127.0.0.1:8099/

It runs the whole pipeline (inventory → energy audit → theme → Lovelace dashboard with Rooms view and admin-only tabs → validation → contrast report → three interactive iPad previews → component and icon sheets) and opens an index page with every result. Nothing leaves your computer. Use --states-file my_states.json for your own Home Assistant export, --port to change the port, --no-serve to build only.

Why a Docker image?

Optional. The skill itself needs no Docker. The image ghcr.io/dxbmark/ha-studio (GitHub Packages) bundles Python and PyYAML so the command-line tools run on a server or CI without installing anything:

docker run --rm -v "$PWD":/work ghcr.io/dxbmark/ha-studio:1.1.0 generate_lovelace inventory.json --profile office --out dashboard.yaml
docker run --rm ghcr.io/dxbmark/ha-studio:1.1.0 --help      # list the tools

It runs as a non-root user and makes no network calls on its own. GitHub Packages has no Python index, so a container is how this repository publishes a package.

How the skill works

Intake → Inventory → Classify & KPI plan → Energy audit → Design → Generate → Preview → Validate → Deliver
  • Read-only by default. It never calls HA services or edits your configuration; applying changes needs your explicit yes.
  • Never invents entities. Missing KPIs are reported as gaps with the integration/helper that would create them.
  • Secrets stay out. Tokens via environment or !secret; validators reject secret-like strings.
  • Cameras are privacy-sensitive. Opaque tiles, snapshots first, restricted views, audio off.
  • Honest about limits. verification-checklist.md lists what was not tested on a live instance.

Design system

Glass that stays readable: text ≥ 4.5:1 and UI marks ≥ 3:1 measured on the composited card (contrast_check.py), opaque fallbacks for prefers-reduced-transparency, prefers-contrast and forced-colors, 48 px touch targets, state matrix for every widget. Details: design-system.md.

Repository layout

skills/ha-studio/   the skill (SKILL.md, scripts/, references/, assets/)
.claude-plugin/             Claude Code plugin + marketplace manifests
chatgpt/                    ChatGPT instructions (full + lite)
tools/                      build_release.py, install.py, make_screenshots.py, serve_demo.py
tests/                      pytest suite          docs/screenshots/  README images
AGENTS.md  GEMINI.md  gemini-extension.json      platform adapters
README.ar.md                                      Arabic (full translation)
LICENSE  NOTICE  THIRD_PARTY_NOTICES.md  TRADEMARKS.md  SECURITY.md  CONTRIBUTING.md  VERSIONING.md  CHANGELOG.md

Development

pip install -r requirements-dev.txt
pytest -q
python3 skills/ha-studio/scripts/lint_skill.py
python3 skills/ha-studio/scripts/contrast_check.py
python3 tools/build_release.py        # → dist/
python3 tools/make_screenshots.py     # regenerate docs/screenshots (needs Playwright + Chromium)

Ownership, licence and third-party rights

  • Owner: DXBMARK LLC. All original content — skill, code, tokens, templates, text, screenshots of DXBMARK mock-ups — is © 2026 DXBMARK LLC, released under the Apache License 2.0 (LICENSE, NOTICE). The DXBMARK name is a trademark of DXBMARK LLC and is not licensed.
  • Third parties keep their rights. Font Awesome Free (CC BY 4.0), fonts (OFL 1.1), Material Design Icons (Apache-2.0) and others are credited in THIRD_PARTY_NOTICES.md. Home Assistant documentation (CC BY-NC-SA 4.0) is not copied; facts are restated in original wording. No Home Assistant logo is used. n8n is optional and not redistributed.
  • Not legal advice. Camera/privacy notes are engineering guidance; check the laws that apply where you deploy before installing cameras.

Third-party components

Everything below belongs to its owners and keeps its own licence; full text and usage in THIRD_PARTY_NOTICES.md.

Component Licence Use
Font Awesome Free CC BY 4.0 (icons) 55 solid icons as SVG paths, preview only
ui-ux-pro-max MIT Bundled unmodified in vendor/, with its LICENSE
Inter, Source Serif 4, JetBrains Mono SIL OFL 1.1 Preview typography (loaded from Google Fonts)
Material Design Icons Apache-2.0 mdi: names only
Home Assistant Apache-2.0 (code) Target platform, referenced only; documentation (CC BY-NC-SA) not copied
PyYAML, pytest, Playwright MIT / Apache-2.0 Installed by the user, not redistributed
shields.io, GitHub Actions, Docker python:3.12-slim their terms README badges, CI and the container image

Contributing & security

See CONTRIBUTING.md (DCO sign-off, original wording only), SECURITY.md and VERSIONING.md (SemVer, release steps).


Get in touch

Visit Website Contact Us Follow on LinkedIn WhatsApp

© 2026 DXBMARK LLC · Apache-2.0 · Dubai, UAE  |  ⭐ Star the repo if HA Studio helps your business

About

Plan, design and generate business-grade dashboards compatible with Home Assistant. Portable AI skill (Claude, Codex, ChatGPT, Gemini, Antigravity). Apache-2.0.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages