Guides data analysts through a multi-step Tableau dashboard creation workflow - brand setup, data exploration, dashboard planning, interactive HTML mock creation, Tableau implementation spec, and experimental TWB workbook generation. Use when the user wants to create a Tableau dashboard, build a dashboard mock, plan KPIs and charts, or generate a Tableau implementation document.
A multi-step workflow that transforms a human-language dashboard request into an implementable Tableau specification with an interactive HTML mock and an optional generated workbook.
Before starting, scan the user's project root for:
Checklist (all paths are inside the project directory the skill is executed in, except `.env` — see note below):
- [ ] QUERIES.md — SQL queries grouped under database type headings (e.g., PostgreSQL)
OR sample-data/ directory with CSV files
- [ ] <DASHBOARD-NAME>-PRD.md — Human-language dashboard request
- [ ] .env — Database credentials (skip if using sample-data/). Does **not** need to live
inside the project directory — `load_dotenv()` walks upward from the current
working directory and picks up the closest `.env` it finds, so the user can keep
credentials in a parent directory and avoid copying secrets into the project.
Required variables (PostgreSQL): `PG_HOST`, `PG_DATABASE`, `PG_USER`, `PG_PASSWORD`,
and optionally `PG_PORT` (defaults to `5432`).
- [ ] branding/ directory (required) containing ONE of:
- branding.md — brand spec (palette, fonts, padding, sizing)
- template.twb — Organization's Tableau template workbook
Optionally, a logo (.svg or .jpg) can be added to branding/ in either case.
If any are missing, immediately run Project Scaffolding (below) before doing anything else. Do NOT ask the user to manually provide files — scaffold first, then let them customize.
Only check for the files listed above. Do NOT check for
design-tokens.md,DS-ARCHITECTURE.md,DASHBOARD-PLAN.md, or any files insidemock-version/— those are outputs generated by the workflow steps, not user-provided inputs.
Queries must be grouped under a heading matching the database type:
## PostgreSQL
SELECT * FROM public.table2
The agent selects the correct query script based on the heading.
Adding other databases: The skill ships with PostgreSQL support. To add other databases (Databricks, Snowflake, MySQL, BigQuery, etc.), create a matching
query_<dbtype>.pyscript in the installed skill'sscripts/directory following the same pattern asquery_postgresql.py, add the corresponding heading toQUERIES.md, and updatereferences/step-a-data-exploration.md.
# PostgreSQL
psycopg2-binary, python-dotenv, pandas
[Scaffolding] ──[user approval]──> Step 0: Brand Setup
Step 0: Brand Setup ──[user approval]──> Step A: Data Exploration
Step A: Data Exploration ──[user approval]──> Step B: Dashboard Planning
Step B: Dashboard Planning ──[user approval]──> Step C: HTML Mock
Step C: HTML Mock ──[user approval]──> Step D: Implementation Spec
Step D: Implementation Spec ──[user approval]──> Step E: TWB Generation (Experimental)
Do NOT skip steps. Wait for explicit user approval before moving to the next step.
When to run: Automatically when the prerequisites check finds missing files. Skip only if all prerequisite files already exist.
Process:
skeleton/ in the skill directory and write its contents into the user's project root, preserving the directory structure. This creates:
sample-data/ — starter CSV files (sales orders, customer segments, monthly targets) for immediate testing.env.example — database credentials template (rename to .env when ready)EXAMPLE-PRD.md — blank PRD template with section headers and placeholder examplesQUERIES.md — SQL query template with database type headingsbranding/branding.md — branding spec template with section headers and placeholder valuesSalesPerformance-PRD.md — partially filled Sales Performance PRD as a starting referencesample-data/ means the project is immediately usable in demo mode.env and QUERIES.mdbranding/branding.md and optionally adds a logo or iconsdemo/ directory in the skill repository for a complete worked example with all steps already generatedsample-data/ and a real database setup exist, explicitly tell the user which source will be used in Step A and why before proceedingImportant: Do NOT use shell
cpcommands — the skeleton directory is inside the skill installation, not the user's project. Read each skeleton file with the Read tool and write it to the user's project root with the Write tool.
Every step is iterative. The agent will not produce a perfect result in a single pass — this is expected and by design. Encourage the user to review each artifact carefully, request changes, and iterate until satisfied. This is especially true for Step C (HTML mock) and Step E (TWB generation). For Step C, encourage the user to share the mock with stakeholders for validation before approving — a well-reviewed mock prevents costly rework downstream.
Identity: Tableau design systems engineer.
Read references/step-0-brand-setup.md for detailed instructions.
Summary:
2024.2 – 2025.x default, or 2026.1+). Record the answer in design-tokens.md — it controls Step E's XML emission.branding/: branding.md OR template.twbbranding.md (or from the .twb XML), plus optional logo if presentdesign-tokens.mddesign-tokens.md in the project rootdesign-tokens.md to the user for approvalIdentity: Senior Data Engineer.
Read references/step-a-data-exploration.md for detailed instructions.
Summary:
sample-data/ directory exists with CSV files and the user has not clearly signaled database intent, scan those files directlyQUERIES.md or .env clearly indicates DB intent, say which source you are using and why before continuingQUERIES.md, identify the database type from headings, and execute each query via the matching script from the installed skill:
scripts/query_postgresql.pyquery_<dbtype>.py script following the PostgreSQL patternDS-ARCHITECTURE.md with datasource and field descriptionsDS-ARCHITECTURE.md to the user for approvalIdentity: Senior Data Analyst specialized in informative graphs and dashboards.
Read references/step-b-dashboard-planning.md for detailed instructions.
Summary:
DS-ARCHITECTURE.md, and design-tokens.mdDS-ARCHITECTURE.mdIdentity: Tableau Developer.
Read references/step-c-mock-creation.md for detailed instructions.
Summary:
design-tokens.md (generated in Step 0)mock-version/v_N/mock.htmlDASHBOARD-PLAN.md and design-tokens.md if the mock diverged from themRead references/step-d-implementation-spec.md for detailed instructions.
Summary:
mock-version/v_N/TABLEAU-IMPLEMENTATION.mdDASHBOARD-PLAN.md if the implementation spec diverged from itScaffold build string: 2025.1.10 (20251.25.1121.1650) — all snippets are authored against this build. The emitted workbook version attribute and the inclusion of <explain-data> are driven by the Target Tableau Version captured in Step 0. See references/step-e-twb-generation.md § Tableau Version Targeting.
Read references/step-e-twb-generation.md for detailed instructions.
Snippet library: The references/snippets/ directory contains validated .twb files organized by domain. Each domain has a companion .md explaining the XML patterns. Read the relevant snippet files and companion docs before generating XML — assemble from validated patterns, do not generate XML from scratch.
Summary:
DS-ARCHITECTURE.md for field names and typessnippets/data-model/ → single CSV, relationship, or joinsnippets/worksheets/ → bar, line, text-table, area, pie, scatter, dual-axis, mapsnippets/worksheets/bar-chart-styled.twb → fonts, colors, axis titlessnippets/worksheets/bar-chart-filtered.twb → categorical, date range, contextsnippets/worksheets/bar-chart-sorted.twb → computed sortsnippets/worksheets/custom-tooltip.twb → formatted tooltip templatesnippets/dashboard/ → single/multi-sheet, nested containerssnippets/dashboard/ → filter, highlight, parameter actionssnippets/features/ → calculated fields, parameters, LOD expressions, Dynamic Zone Visibility.twb using the scaffold skeleton (snippets/scaffold/workbook-skeleton.twb) as the base, inserting parameterized snippet patterns in strict element order<extract> sections.twbx (ZIP archive bundling the .twb + all CSV data files)dashboard.twb and dashboard.twbx to mock-version/v_N/dashboard.twbx in Tableau Desktop and use Data → Replace Data Source to connect live dataIf the user requests a Tableau feature that has no validated snippet in references/snippets/, ask the user which approach they prefer:
.twb — the user builds a minimal example in Tableau Desktop demonstrating just that feature, provides the path, and the agent extracts the pattern from itexamples/ — the agent searches the examples/ directory for a similar pattern in the existing complex workbooks, adapts it, and flags it as ⚠️ UNVALIDATEDMANUAL_STEPS.md listing what the user needs to add manually in Tableau Desktopmock-version/v_N/ (e.g., mock-version/v_1/)v_N directory).DS-ARCHITECTURE.md, DASHBOARD-PLAN.md, and design-tokens.md live at the project root and always represent the latest approved global truthproject-root/
├── QUERIES.md (user input — with DB type headings)
├── <DASHBOARD-NAME>-PRD.md (user input)
├── .env (user input — DB credentials)
├── branding/ (user input — required; contains brand source)
│ ├── branding.md (option A: brand spec)
│ ├── template.twb (option B: org Tableau template)
│ ├── logo.svg / logo.jpg (optional, either case)
│ └── icons/ (optional)
├── sample-data/ (user input — optional, skip DB queries)
│ └── *.csv
├── design-tokens.md (generated - step 0)
├── DS-ARCHITECTURE.md (generated - step A)
├── DASHBOARD-PLAN.md (generated - step B)
└── mock-version/
├── v_1/
│ ├── mock.html (generated - step C)
│ ├── TABLEAU-IMPLEMENTATION.md (generated - step D)
│ ├── dashboard.twb (generated - step E, raw XML)
│ └── dashboard.twbx (generated - step E, packaged with data)
└── v_2/
├── mock.html
├── TABLEAU-IMPLEMENTATION.md
├── dashboard.twb
└── dashboard.twbx
npx skills add laviDrori0702/tableau-dashboard-creator下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Edit PDFs with natural-language instructions using the nano-pdf CLI.
Control Sonos speakers (discover/status/play/volume/group).
Terminal Spotify playback/search via spogo (preferred) or spotify_player.
Capture frames or clips from RTSP/ONVIF cameras.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
Category:tools