dax-lib-installlisted
Install: claude install-skill CSalcedoDataBI/dax-for-agents
# DAX Lib Install — bring a published UDF into a real model, attributed
**`dax-lib` finds it. This skill installs it.** `dax-lib` is deliberately an index —
it never carries third-party DAX code (see its own `NOTICE`). The moment a real
answer is "yes, use this one," the work moves here.
This is not `dax-udf-authoring`: that skill is for writing *your own* function from
scratch. This one is for installing *someone else's*, already-published one — which
means it also owns the paperwork a copy-paste would skip: checking the license,
proving the function runs on this exact model, and leaving a record of where it
came from that survives the function being copied on its own later.
## Workflow
1. **Resolve.** You need three things from `dax-lib`'s index: `packageId`, `version`,
and the **exact function name** — not the whole package. Install only what is
needed now; a package can ship several functions (`TimeSeries.MovingAverage`
ships 7 — `Simple`, `Weighted`, `LinearWeighted`, `Exponential`,
`DoubleExponential`, `Triangular`, `Geometric`) and the rest stay undeployed.
2. **Fetch the real code.**
```
gh api repos/daxlib/daxlib/contents/packages/<first-letter>/<packageId-lowercase>/<version>/lib/functions.tmdl
```
Same path convention `dax-lib/scripts/refresh-daxlib.ps1` already reads for the
index — used here to read a function *body*, not just its name. Pull only the
`function '<name>' = ...` block requested out of the file; the package's other