src-tauri/resources/skill-templates/data-build-dashboard/SKILL.md
Build an interactive HTML dashboard with charts, filters, and tables
npx skillsauth add frumu-ai/tandem data-build-dashboardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If you see unfamiliar placeholders or need to check which tools are connected, please ask about available integrations.
Build a self-contained interactive HTML dashboard with charts, filters, tables, and professional styling. Opens directly in a browser -- no server or dependencies required.
You can ask to build a dashboard with a description (e.g., "Build a sales dashboard" or "Create a support ticket dashboard").
description — Description of the dashboard purpose and contentdata source — (Optional) The data to useDetermine:
If data warehouse is connected:
If data is pasted or uploaded:
If working from a description without data:
Follow a standard dashboard layout pattern:
┌──────────────────────────────────────────────────┐
│ Dashboard Title [Filters ▼] │
├────────────┬────────────┬────────────┬───────────┤
│ KPI Card │ KPI Card │ KPI Card │ KPI Card │
├────────────┴────────────┼────────────┴───────────┤
│ │ │
│ Primary Chart │ Secondary Chart │
│ (largest area) │ │
│ │ │
├─────────────────────────┴────────────────────────┤
│ │
│ Detail Table (sortable, scrollable) │
│ │
└──────────────────────────────────────────────────┘
Adapt the layout to the content:
Generate a single self-contained HTML file that includes:
Structure (HTML):
Styling (CSS):
Interactivity (JavaScript):
Data (embedded JSON):
Use Chart.js for all charts. Common dashboard chart patterns:
Filters:
// All filters update a central filter state
// Charts and tables re-render when filters change
function applyFilters() {
const filtered = data.filter((row) => matchesFilters(row));
updateKPIs(filtered);
updateCharts(filtered);
updateTable(filtered);
}
Table sorting:
Tooltips:
sales_dashboard.html)The generated HTML file follows this structure:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>[Dashboard Title]</title>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]"
integrity="sha384-jb8JQMbMoBUzgWatfe6COACi2ljcDdZQ2OxczGA3bGNeWe+6DChMTBJemed7ZnvJ"
crossorigin="anonymous"
></script>
<style>
/* Professional dashboard CSS */
</style>
</head>
<body>
<div class="dashboard">
<header><!-- Title and filters --></header>
<section class="kpis"><!-- KPI cards --></section>
<section class="charts"><!-- Chart containers --></section>
<section class="details"><!-- Data table --></section>
</div>
<script>
const DATA = [
/* embedded JSON data */
];
// Dashboard initialization and interactivity
</script>
</body>
</html>
development
Create detailed implementation plans before making code changes. Use this when you need to plan complex refactors, new features, or multi-file changes. The plan helps users review and approve changes before execution.
testing
Create a retention-focused YouTube video package and output it as a set of files under scripts/<slug>/ (hooks, outline, A-roll, shotlist, on-screen text, CTA, chapters, metadata, titles/thumbnails, filming checklist).
tools
Review and improve the clarity, tone, and impact of text files in your workspace.
development
Watch important pages and notify when content changes.