FFT Dashboard Ops
Use this skill for generating, staging, applying, and validating farm dashboards.
When to use this skill
- Use when creating or revising Home Assistant Lovelace dashboards.
- Use when applying dashboard changes through staged files and screenshot checks.
- Use when adapting dashboard layout to live farm-state context.
When not to use this skill
- Do not use for direct live YAML edits in Home Assistant config.
- Do not use for non-dashboard automation or device control requests.
- Do not use outside main/admin chat for dashboard apply operations.
- Do not use for runtime multi-card canvas composition; hand off to
fft-canvas-dynamic-ops.
Guardrails
- Never run destructive git commands unless explicitly requested.
- Preserve unrelated worktree changes.
- Dashboard apply operations are main/admin chat only.
- Always use the staging file flow; never modify live YAML directly.
Template Sources
- View/card/theme templates:
/workspace/dashboard-templates/ - Writable dashboard config mount:
/workspace/dashboard/
Use templates as a baseline, then adapt entity references using live discovery from /workspace/farm-state/devices.json.
Lovelace Structure Rules
- Top-level structure should include
titleandviews. - Each view should define
title, optionalpath, andcards. - Use supported custom cards when available:
custom:mushroom-*custom:apexcharts-card
- Prefer robust layouts (
grid,vertical-stack,horizontal-stack) with clear labels.
Workflow
- Read
/workspace/farm-state/current.jsonand/workspace/farm-state/calendar.jsonfor context. - Draft dashboard YAML to
/workspace/dashboard/ui-lovelace-staging.yaml. - Use
ha_dashboard_validatebefore apply. - Request apply via
ha_apply_dashboardwithstagingFileset to the staging path. - Request screenshot via
ha_capture_screenshotfor the relevant view. - Verify screenshot and iterate until readable and operational.
Skill Routing
- If the user asks for runtime canvas cards, card-level canvas edits, or spec-driven layout updates, use
fft-canvas-dynamic-ops. - If the user asks for full view composition, theme/view structure changes, or staged apply lifecycle management, stay in
fft-dashboard-ops.
Context-Reactive Theming
Use current.json.context.suggestedTheme to choose theme variants (for example: dawn, midday, dusk, night, storm, frost, harvest).
- High alert level: emphasize warnings/errors and simplify visual noise.
- Normal operations: prioritize trend visibility and quick actions.
- Calendar-heavy periods: feature timeline/task cards in primary views.
Safety Expectations
- Never bypass staging-to-live apply flow.
- Never execute shell-level infrastructure changes from dashboard tasks.
- Keep entity IDs explicit and avoid wildcard assumptions.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.