Chapter 4 of 8
Commands — AtelierBID
Every skill and every CLI, with usage. The canonical reference.
AtelierBID ships ten slash-command skills (invoked inside a Claude Code session) and 32 deterministic Node CLIs (run from a terminal). This page is the canonical reference for both.
Slash-command skills#
Run these inside a Claude Code session. Each skill is backed by a multi-agent pipeline; outputs land under output/<run-id>/.
| Command | What you get | Output |
|---|---|---|
/AtelierBID:design-report | 8-agent pipeline → self-contained HTML report-layout mockup with chart sketches + narrative titles/insights | output/layout-*/final.html |
/AtelierBID:build-theme | Schema-valid Power BI theme.json, optionally AI-assisted from a brand description (+ palette, font-colour, design critique) | output/theme-*/theme.json |
/AtelierBID:generate-background | Sanitised, on-brand SVG report-canvas background | output/background-*/background.svg |
/AtelierBID:prototype-report | 2-agent plan→build interactive HTML dashboard (Chart.js, KPI cards, dark mode, responsive) | output/prototype-*/prototype.html |
/AtelierBID:model-star-schema | 4-step Kimball modeller → SQL DDL + Mermaid ERD + DAX stubs + validation report | output/schema-*/schema.sql, schema.mmd, dax-stubs.json, validation.json |
/AtelierBID:powerbi-design-system | Reference doctrine (SCAN framework, audiences, layout patterns, colour roles); auto-loaded by the design skills — creates nothing | — |
/AtelierBID:author-dax | Batch measure authoring from plain English, a spec file, or explicit DAX — linted, validated, with a per-measure scoreboard | measures.tmdl · scoreboard.json |
/AtelierBID:optimise-dax | Ranked anti-pattern findings with plain-English explanations; rewrites are dry-run and confirmation-gated, with an equivalence pair per change | rewrite diff · equivalence.json |
/AtelierBID:document-model | Read-only, regenerable data dictionary straight from the TMDL, with undocumented elements flagged | data-dictionary.md |
/AtelierBID:update-metadata | Display metadata (format strings, folders, sort-by, hidden keys) and Q&A metadata (descriptions, synonyms, linguistic schema) | enriched TMDL |
Node CLIs (32 scripts)#
Run node scripts/<name>.js from a terminal. All scripts are deterministic, offline, and dependency-free (Node stdlib only). The skills call these internally; they also run standalone.
Start a project & spine (9)#
| Script | What it does |
|---|---|
new-project.js | Scaffold a project folder + conventions + openable PBIP shell |
scaffold-pbip.js | Complete openable PBIP tree |
validate-pbip.js | Plain-English PBIP structural validation |
best-practice.js | Per-project rule library + BPA rules + audit |
ground-schema.js | Schema-of-record contract + proposed-additions list |
lifecycle.js | Offline↔connected mode/state + "bind live data?" gate |
conformance-harness.js | PBIR/TMDL fidelity drift report |
new-run.js | Scaffold an output/<run-id>/ checkpoint folder |
design-system.js | Load/emit the shared design-system tokens |
Discovery & source text (3)#
| Script | What it does |
|---|---|
discover-requirements.js | Structured requirements/KPIs/grain spec, gaps flagged |
author-sql.js | Reviewable dialect-aware SQL text — never executed |
author-m.js | Folding-aware Power Query/M into the TMDL partition source |
Model (6)#
| Script | What it does |
|---|---|
model-star-schema.js | Star-schema TMDL |
model-relationships.js | Safe relationships + cardinality |
model-settings.js | Table/column settings |
model-partition.js | Partition definitions |
model-incremental-refresh.js | refreshPolicy + RangeStart/End |
optimise-model.js | Ranked, result-preserving optimisation report + fixes |
Calculation / DAX (4)#
| Script | What it does |
|---|---|
author-dax.js | Idiomatic DAX measures + calc groups + explanations |
dax-time-intelligence.js | Marked date table + time-intelligence family |
optimise-dax.js | Ranked result-preserving rewrites + before/after |
dax-query.js | EVALUATE validation queries + equivalence pairs |
Design & report (7)#
| Script | What it does |
|---|---|
design-report.js | Deterministic engine behind the /AtelierBID:design-report skill |
build-theme.js | Deterministic engine behind the /AtelierBID:build-theme skill |
generate-background.js | Deterministic engine behind the /AtelierBID:generate-background skill |
prototype-report.js | Deterministic engine behind the /AtelierBID:prototype-report skill |
check-palette.js | Flag data colours within ΔE 15 of reserved RAG roles |
validate-theme-schema.js | Validate a theme.json against the Power BI template schema |
reconcile-dummy-data.js | Cross-check dummy data vs schema; rescale to KPIs |
AI (2)#
| Script | What it does |
|---|---|
ai-readiness.js | Q&A/Copilot readiness: descriptions + synonyms + linguistic schema + audit |
fabric-agent.js | Offline Fabric data-agent config + provisioning runbook |
Documentation (1)#
| Script | What it does |
|---|---|
document-model.js | Regenerable data-dictionary markdown from the TMDL, gaps flagged |
scripts/lib/* holds shared libraries (colour maths, theme builder, HTML sanitiser, visual metadata, schema→DDL, schema→Mermaid, TMDL parse/emit, IR→PBIR, design-system loader, etc.).
See also#
- Features — the capability detail behind each command.
- HOW-IT-WORKS — where each command sits in the end-to-end flow.
- Architecture — plugin structure and data flow.