// Tableau + AI · Claude Code · Skills
Claude Code Skills for Tableau Developers
Which Claude Code skills actually help Tableau work, how to install them, what the free Tableau extension skill contains, and how to write one for your team's own standards.
OCT 14, 2026
The single biggest jump in how well Claude builds Tableau things, for me, didn't come from a new model or a cleverer prompt. It came from skills. This guide is the Tableau-specific version: which skills actually help Tableau developers, how to install them, what the free TableauOps extension skill contains, and how to write your own for the standards your team already has.
If you want the general explanation first, I wrote what is a Claude Code skill. I won't repeat it here. The one-line version: a skill is a folder with a SKILL.md file that Claude Code loads when the task matches, so it starts the job already knowing your rules.
Why does Tableau work need skills more than most?
Because so much of Tableau's knowledge is unwritten, and the penalties for getting it wrong are quiet.
Claude knows JavaScript, React, D3, SQL and Python very well. What it doesn't walk in knowing:
- A
.trexmanifest has a fixed element order, and right-elements-wrong-order fails exactly like a missing element. - Two Marks card tiles can't share an icon token. You find out with error
ED626076when you add the extension. - A manifest that points at
localhostworks on your machine and nowhere else. - Your team's naming convention for calculated fields, your LOD style, which projects are off limits, how you like refresh failures triaged.
Every one of those is a guess Claude has to make, and each wrong guess costs you a round trip: load, error, paste, patch, reload. A skill turns those guesses into rules it already has before the first line of code.
What does a skill change? A before and after
I ran the same extension build twice with Claude Code: same model, same prompt, once with the Tableau extension skill and once without. With the skill it took 1 minute 20 seconds. Without it, 8 minutes 33 seconds, most of that spent fixing manifest and API errors the skill prevents. Both runs are on the skill demo page, code and all, if you want to see the difference rather than take my word for it.
The pattern is the same every time:
| Without a skill | With a skill |
|---|---|
| Writes JSX that a static host can't serve | Writes plain HTML, CSS and JS with no build step |
| Manifest missing the icon, or elements out of order | Complete manifest in the required order |
| One manifest, pointing at localhost | Two manifests: local for dev, hosted for sharing |
| Blank pane when no fields are on the Marks card | A message that says what to drag where |
| Reads columns by position | Reads columns by the field name on each tile |
Michael McCusker, a Tableau Tech Lead, put it this way after trying it: "I went from zero to a working dashboard in one initial prompt. I liked some of the standards that were baked in without having to discover them throughout, like creating 2 manifest.trex files for dev and prod."
Which Claude Code skills help Tableau developers?
Here's what I'd actually install or write, in order of payoff.
1. A Tableau extension skill
This is the one with the clearest win, because extensions are where Claude's guesses fail loudest. The free TableauOps extension skill covers:
- The
.trexmanifest rules for both dashboard and viz extensions, with separate dev and prod manifests from the start. - Extensions API patterns that work: initializing first, reading worksheet data through the summary data reader, settings, configure dialogs, and Marks card encodings.
- The common build errors and their fixes, like
FD722608(a missing icon, elements out of order, or a--inside an XML comment) andED626076(duplicate encoding icons). - Local development and hosting, wired the way Tableau expects, plus a demo mode so the extension renders sample data in a plain browser tab while you build.
- A definition of done: no scrollbars at any pane size, a real empty state, a working configure dialog with theme, accent and size, and a hosted HTTPS manifest for sharing.
It arrives by email as a single SKILL.md. It's self-contained: every template and fix is inline, so Claude doesn't need anything else to use it.
2. A kit skill, when you're building more than one extension
Once you build three or four extensions, you'll want them to look and behave alike: one brand, one configure dialog, one way of handling empty states. The TableauOps Extension Kit is that, packaged: the rules, a working starter, runnable examples, reference guides and prompt recipes. Drop it into Claude Code, describe the extension, and it builds to the same standards every time. The finished extensions built that way are in the gallery.
3. Your own team standards skill
This is the one most Tableau teams are missing, and you can write it in an afternoon. More on that below.
4. Skills for the rest of the Tableau job
Extensions aren't the only place this works. Anything you keep pasting into chat is a skill waiting to be written: a workbook review checklist (see reviewing a Tableau workbook with AI), your REST API and TableauServerClient habits (see Tableau REST API automation with Claude), or your calculated field style (see Tableau calculated fields with AI).
How do you install a Claude Code skill?
A skill is a folder with a SKILL.md in it. Where you put the folder decides where it loads. From Anthropic's skills docs:
| Scope | Path | Loads in |
|---|---|---|
| Personal | ~/.claude/skills/<skill-name>/SKILL.md | Every project on your machine |
| Project | .claude/skills/<skill-name>/SKILL.md | That repository, for everyone who clones it |
| Plugin | <plugin>/skills/<skill-name>/SKILL.md | Wherever the plugin is enabled |
For the free extension skill:
mkdir -p ~/.claude/skills/tableau-extensions
# move the SKILL.md from the email into that folder
mv ~/Downloads/SKILL.md ~/.claude/skills/tableau-extensions/On Windows, the same folder lives under your user profile: C:\Users\<you>\.claude\skills\tableau-extensions\SKILL.md.
If your whole team builds extensions in one repo, put it under .claude/skills/ in that repo and commit it. Everyone gets the same rules, and changes go through review like any other code.
How does Claude know when to use a Tableau skill?
From the description in the skill's frontmatter. Claude reads the descriptions of your installed skills and loads a skill when the task matches. You can also invoke one directly with /skill-name, for example /tableau-extensions.
That makes the description the most important line in the file. The extension skill's description names every way people ask for one: dashboard extension, viz extension, custom mark type, custom chart for Tableau, a .trex file, a KPI card. If your skill isn't firing, the description is almost always the reason. Make it describe the requests, not just the topic.
How do you write a Claude Code skill for your Tableau team's standards?
Start with the corrections you make most often. If you've told Claude "we don't use FIXED LODs on the executive data source" three times, that belongs in a skill. Here's a starter you can adapt:
---
name: acme-tableau-standards
description: >
Use when writing or reviewing Tableau calculated fields, LOD expressions,
table calculations, field names, or workbook structure for Acme. Trigger on
"calc", "calculated field", "LOD", "FIXED", "table calc", "rename fields",
or any Tableau workbook review.
---
# Acme Tableau standards
## Naming
- Measures: Title Case with the unit last, e.g. "Revenue USD", "Margin %".
- Booleans start with "Is" or "Has", e.g. "Is Returned".
- Never rename a field that is used by a published data source without
listing every workbook that depends on it first.
## Calculations
- Prefer INCLUDE and EXCLUDE over FIXED on published sources, because FIXED
ignores dimension filters unless they are context filters.
- Every calculated field gets a one-line comment starting with //
explaining the business rule, not the syntax.
- Divide with ZN() or an IF guard. No raw division by a SUM.
## Review checklist
1. Any calc duplicated under two names?
2. Any FIXED LOD on a sheet with dimension filters that aren't in context?
3. Any field named with a default like "Calculation1"?
## Off limits
- Never suggest publishing to the "Certified" project. Hand back the change
and let a human publish it.Three tips from writing a lot of these:
- Write rules, not essays. Short imperative lines beat paragraphs. Claude follows "never X, because Y" very reliably.
- Put the error text in. If a rule exists because of a specific error, quote the error. That's how Claude connects an error you paste to the fix.
- Version it. A skill in a repo gets better every time someone fixes a mistake and adds the rule.
Skills, CLAUDE.md or MCP: which one do you need?
They solve different problems, and Tableau work usually wants all three.
| What it gives Claude | Tableau example | |
|---|---|---|
| Skill | Know-how, loaded when the task matches | The .trex rules, your calc standards |
| CLAUDE.md | Project context, loaded every session in that repo | "This repo holds our Sales extensions; host is GitHub Pages" |
| MCP server | Tools that act on live systems | Query a data source, publish an extension |
A skill tells Claude how to do the job. An MCP server lets it reach the systems. I cover the MCP side in Tableau MCP server: connect Claude to Tableau, and the wider tool landscape in the best AI tools for Tableau developers.
What's the best way to test a Tableau skill?
Run the same prompt twice, once with the skill installed and once without, and compare. That's exactly how I timed the extension skill. Count the round trips: how many times did you have to paste an error back? A good skill gets that to zero or one on the builds it covers.
Then keep a short list of prompts that used to fail, and rerun them whenever you edit the skill. When something new breaks, add the rule, rerun, and commit.
Your next step
Get the free Tableau extension skill, drop it in ~/.claude/skills/tableau-extensions/, and run the lollipop prompt from build a Tableau extension with Claude. If you'd rather see the result before installing anything, build one in Studio in your browser. More guides are on the Tableau + AI hub.
Frequently asked questions
- Is there a Claude Code skill for Tableau?
- Yes. TableauOps offers a free Tableau extension skill at ext.tableauops.com/skill that covers the .trex manifest rules, Extensions API patterns, hosting, and the common build errors with their fixes. You can also write your own skills for your team's calculated field, naming and review standards.
- How do I install a Claude Code skill?
- Put the skill folder, containing its SKILL.md, in ~/.claude/skills/ to use it in every project, or in .claude/skills/ inside a repository to share it with everyone who works there. Claude loads it when a task matches its description, or you can invoke it with /skill-name.
- Does a skill replace a good prompt?
- No, but it changes what the prompt has to carry. With a skill, the prompt describes the chart you want, and the skill supplies the rules. Without one, you either write the rules into every prompt or fix the same errors repeatedly.
- What is the difference between a skill and an MCP server?
- A skill is knowledge: instructions and patterns Claude loads when a task matches. An MCP server is tools: it lets Claude act on live systems such as Tableau Cloud or the TableauOps extension host. Tableau work often uses both.