Building Streamlit Dashboards
iusztinpaul/designing-real-world-ai-agents-workshop
Building dashboards in Streamlit. An agent skill from iusztinpaul/designing-real-world-ai-agents-workshop.
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports, including ready templates for matrix and table cells, new card images…
$ npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install data-goblin/power-bi-agentic-development svg-visuals --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/custom-visuals/skills/svg-visuals .claude/skills/svg-visuals && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "svg-visuals" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/custom-visuals/skills/svg-visuals into .claude/skills/svg-visuals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-visuals", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/custom-visuals/skills/svg-visualsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install data-goblin/power-bi-agentic-development svg-visuals --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/custom-visuals/skills/svg-visuals .agents/skills/svg-visuals && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "svg-visuals" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/custom-visuals/skills/svg-visuals into .agents/skills/svg-visuals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-visuals", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install data-goblin/power-bi-agentic-development svg-visuals --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/custom-visuals/skills/svg-visuals .cursor/skills/svg-visuals && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "svg-visuals" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/custom-visuals/skills/svg-visuals into .cursor/skills/svg-visuals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-visuals", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/data-goblin/power-bi-agentic-development.git --path plugins/custom-visuals/skills/svg-visuals--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install data-goblin/power-bi-agentic-development svg-visuals --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/custom-visuals/skills/svg-visuals .gemini/skills/svg-visuals && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "svg-visuals" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/custom-visuals/skills/svg-visuals into .gemini/skills/svg-visuals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-visuals", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install data-goblin/power-bi-agentic-development svg-visualsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/custom-visuals/skills/svg-visuals .github/skills/svg-visuals && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "svg-visuals" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/custom-visuals/skills/svg-visuals into .github/skills/svg-visuals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-visuals", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install data-goblin/power-bi-agentic-development svg-visuals --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/data-goblin/power-bi-agentic-development.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/custom-visuals/skills/svg-visuals .opencode/skills/svg-visuals && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "svg-visuals" agent skill from https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/custom-visuals/skills/svg-visuals into .opencode/skills/svg-visuals/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "svg-visuals", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
svg-visualsSVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports, including ready templates for matrix and table cells, new card images…
SVG Visuals is an agent skill from data-goblin/power-bi-agentic-development. SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports, including ready templates for matrix and table cells, new card images and per-button images on the new button slicer. Automatically invoke when the user mentions "SVG visual", "DAX sparkline", "SVG measure", "inline graphics with DAX", "ImageUrl data category", "extension measure", or asks to create any DAX-generated chart (progress bars, bullet charts, KPI indicators, data bars, gauges…
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 21 other files, including reference files (for example `references/community-examples.md`, `references/svg-accessibility.md` and `references/svg-card-slicer.md`).
It sits in Business, Finance & HR, covering OKRs and executive reporting. The repository describes itself as: Power BI AI skills and Power BI agents for Claude Code and GitHub Copilot: a plugin marketplace of Power BI skills, subagents, and hooks for semantic models, DAX, TMDL, reports… The licence is GPL-3.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit a301717. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are dax, json and python).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
w3.orgdeveloper.microsoft.comAlso links to:
daxlib.orggithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
SVG Visuals loads about 4.3k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 167 tokens; SKILL.md has 1,640 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from data-goblin/power-bi-agentic-development at commit a301717, republished under its GPL-3.0 licence (© data-goblin). 1,640 words, ~4,271 tokens.
.claude/skills/svg-visuals/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.Use
pbirfor every report mutation. Thepbir-formatskill is read-only schema context. If the CLI is unavailable or lacks an operation, stop and report the gap.
Generate inline SVG graphics using DAX measures that return SVG markup strings. These render as images in table, matrix, card, image, and slicer visuals. Store as extension measures in reportExtensions.json.
data:image/svg+xml;utf8,dataCategory is set to ImageUrltableEx): grid.imageHeight / grid.imageWidth -- references/svg-table-matrix.mdpivotTable): same as table -- references/svg-table-matrix.mdimage): sourceType='imageData' + sourceField -- references/svg-image-visual.mdcardVisual): the image object (image area) or cardImage (callout image) -- references/svg-template-matrix.md, patterns in references/svg-card-slicer.mdadvancedSlicerVisual): one image per button through the image "Select from data" slot -- references/svg-template-matrix.mdBefore writing DAX by hand, check references/svg-template-matrix.md: it maps each pattern (bullet, progress, pill, sparkline, dumbbell, diverging, delta, pin, gauge) to the hosts it fits (an SVG on its own goes in an image visual, a card is for a number), shows the verified PBIR wiring per host, and gives the one-step pbir visuals svg / pbir add gauge-card commands that write the pattern as a thin report measure and wire it in. Hand-write SVG DAX only for a shape no template covers.
Before writing DAX, design the SVG visually:
/tmp/mockup.svg and open it in a browser to preview layout, colors, and proportions.# -- e.g., fill='#2B7A78'. Never use %23 URL encoding or named colors. Always hex.Create the extension measure in reportExtensions.json manually (see the pbir-format skill in the pbip plugin for JSON structure).
# Example using pbir_object_model (if available):
report.add_extension_measure(
table="Orders",
name="Sparkline SVG",
expression='''
VAR _Prefix = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30'>"
VAR _Bar = "<rect x='0' y='0' width='50' height='30' fill='#2196F3'/>"
VAR _Suffix = "</svg>"
RETURN _Prefix & _Bar & _Suffix
''',
data_type="Text",
data_category="ImageUrl",
display_folder="SVG Charts",
)
report.save()Before presenting the measure to the user, dispatch the svg-reviewer agent to validate syntax and provide design feedback.
Extension measures use "Schema": "extension" in the SourceRef:
{
"field": {
"Measure": {
"Expression": {
"SourceRef": {"Schema": "extension", "Entity": "Orders"}
},
"Property": "Sparkline SVG"
}
}
}For image visuals, bind the SVG measure through pbir add visual image --image; see
references/svg-image-visual.md.
Validate with pbir validate "Report.Report" --all and inspect bindings with
pbir visuals bind "...Visual" --show.
Before writing a custom SVG measure from scratch, check whether an existing UDF library already provides the chart type:
To check if a library is installed, look for functions/measures starting with PowerofBI.IBCS., Viz., Compound., or Element.. Only write custom SVG DAX when no library function covers the required visualization. See references/community-examples.md for full function listings and additional libraries.
UDF libraries are installed into the semantic model, not the report. Use one of these tools:
te command) -- use the te-docs skill for guidanceconnect-pbid skill -- connect to Power BI Desktop's local Analysis Services instance via TOM/PowerShelltmdl skill -- edit TMDL files directly in a PBIP project (last resort)Every SVG measure must follow a strict VAR-based structure. Organize code into clearly separated regions:
SVG Measure =
-- CONFIG: Input fields and visual parameters
VAR _Actual = [Sales Amount]
VAR _Target = [Sales Target]
VAR _Scope = ALLSELECTED ( 'Product'[Category] )
-- CONFIG: Colors
VAR _BarColor = "#5B8DBE"
VAR _TargetColor = "#333333"
-- NORMALIZATION: Scale values to SVG coordinate space
VAR _AxisMax = CALCULATE( MAXX( _Scope, [Sales Amount] ), REMOVEFILTERS( 'Product'[Category] ) ) * 1.1
VAR _AxisRange = 100
VAR _ActualNormalized = DIVIDE( _Actual, _AxisMax ) * _AxisRange
-- SVG ELEMENTS: One VAR per visual element
VAR _SvgPrefix = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 25'>"
VAR _Sort = "<desc>" & FORMAT( _Actual, "000000000000" ) & "</desc>"
VAR _Bar = "<rect x='0' y='5' width='" & _ActualNormalized & "' height='15' fill='" & _BarColor & "'/>"
VAR _TargetLine = "<rect x='" & DIVIDE( _Target, _AxisMax ) * _AxisRange & "' y='2' width='2' height='21' fill='" & _TargetColor & "'/>"
VAR _SvgSuffix = "</svg>"
-- ASSEMBLY: Combine in rendering order (back to front)
VAR _SVG = _SvgPrefix & _Sort & _Bar & _TargetLine & _SvgSuffix
RETURN _SVGKey conventions:
<rect>, <circle>, <text>, <line>, etc.<desc> sort trick -- embed FORMAT(_Actual, "000000000000") in a <desc> tag so the table/matrix can sort by the SVG columnSVG coordinates must be normalized to a fixed range. Raw measure values (e.g., 1,234,567) cannot be used directly as pixel coordinates. The standard pattern:
-- 1. Define the SVG coordinate range
VAR _BarMin = 0 -- leftmost position (or offset for labels)
VAR _BarMax = 100 -- rightmost position
-- 2. Find the maximum value across all rows in the visual's filter context
VAR _Scope = ALLSELECTED( 'Table'[GroupColumn] )
VAR _MaxInScope = CALCULATE( MAXX( _Scope, [Measure] ), REMOVEFILTERS( 'Table'[GroupColumn] ) )
VAR _AxisMax = _MaxInScope * 1.1 -- 10% padding
-- 3. Normalize each value to the SVG range
VAR _AxisRange = _BarMax - _BarMin
VAR _Normalized = DIVIDE( _Actual, _AxisMax ) * _AxisRangeUse ALLSELECTED for the scope when the chart should respond to slicer context. Use ALL for a fixed axis across all filter contexts. The * 1.1 padding prevents bars from touching the edge.
Table/matrix SVG measures must guard against subtotal/total rows where multiple categories are in scope:
IF( HASONEVALUE( 'Table'[GroupColumn] ),
-- SVG code here
)Without this guard, the measure evaluates on grand total rows with meaningless aggregated values.
fill='#2196F3'"" (DAX convention)viewBox for responsive scaling: viewBox='0 0 100 25'xmlns required on <svg> element# only -- e.g., fill='#2196F3'. %23 URL encoding causes errors in image visuals. Never use named colors._Height - _ValueviewBox with a 0-100 range for normalized coordinatesFor sparklines and multi-point charts, build coordinate strings with CONCATENATEX:
VAR _Points = CONCATENATEX(
_SparklineTable,
[X] & "," & (100 - [Y]),
" ",
[Date], ASC
)
-- Produces: "0,80 10,60 20,40 30,20"
-- Use in: <polyline points='...'/>ISINSCOPE for nested hierarchy levels<desc> sort trick -- embed formatted value in <desc> for sortable SVG columnsviewBox for responsive scaling instead of fixed width/heightdisplay_folder to organize SVG measures (e.g., "SVG Charts")/tmp/, open in browser, iterate before writing DAXreferences/svg-table-matrix.md for diagnosis and mitigation# directly, never %23 URL encodingquery block -- only objects.image with sourceType='imageData' and sourceFieldreferences/svg-accessibility.md{
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/reportExtension/1.0.0/schema.json",
"name": "extension",
"entities": [{
"name": "ExistingTable",
"measures": [{
"name": "Sparkline SVG",
"dataType": "Text",
"dataCategory": "ImageUrl",
"expression": "...",
"displayFolder": "SVG Charts"
}]
}]
}CONCATENATEX over 30+ series points easily approaches this; prefer <polyline> over individual shapes, integer coordinates, and pre-aggregated series; see references/svg-table-matrix.md for full diagnosisreferences/svg-accessibility.mdcard) does NOT support SVG -- use cardVisual insteadSVG measures are the preferred choice for simple inline graphics embedded in tables, matrices, cards, and image visuals. Use SVG when you need:
Use Deneb instead for complex, interactive visualizations (cross-filtering, tooltips, hover states) or chart types that require extensive data transforms. Use Python/R instead for statistical analysis charts (distributions, regressions, correlations).
references/community-examples.md -- Community SVG templates organized by target visual type (Table/Matrix, Image, Card), including DaxLib.SVG functions, Kerry Kolosko templates, and PowerBI MacGuyver Toolbox patternsreferences/svg-table-matrix.md -- Patterns for Table/Matrix: data bar, bullet chart, dumbbell, overlapping bars, lollipop, status pill, sparkline, bar sparkline, area sparkline, UDF patterns; axis normalization, sort trick, image size configuration, and per-cell performance guidancereferences/svg-image-visual.md -- Patterns for Image visuals: KPI header, sparkline with endpoint, dashboard tile; sourceType binding, dynamic/conditional layout, responsive width guidancereferences/svg-card-slicer.md -- Patterns for Card/Slicer: arrow indicator, mini gauge, mini donut, progress bar, narrative sentence; card binding via callout.imageFXreferences/svg-accessibility.md -- Accessibility for SVG measures: adjacent readable columns, dynamic alt text, color-only encoding, contrast requirements, and severity guidance for audit findingsreferences/svg-elements.md -- SVG element reference (rect, circle, line, polyline, text, path, gradient, group)Ready-to-use DAX measure expressions in examples/:
sparkline-measure.dax -- Line sparkline (polyline + CONCATENATEX)progress-bar-measure.dax -- Conditional progress bardumbbell-chart-measure.dax -- Actual vs target dumbbellbullet-chart-measure.dax -- Bullet chart with sentiment action dotsoverlapping-bars-measure.dax -- Overlapping bars with variance labelboxplot-measure.dax -- Box-and-whisker plot (inspired by DaxLib.SVG)ibcs-bar-measure.dax -- IBCS-compliant horizontal bar (inspired by avatorl)jitter-plot-measure.dax -- Dot strip chart with jitter (inspired by DaxLib.SVG)overlapping-bars-with-variance-measure.dax -- Overlapping bars with variance bar + arrow icon + % label (Kurt Buhler / Data Goblins)lollipop-conditional-measure.dax -- Lollipop with scaled dot + auto-formatted label (Kurt Buhler / Data Goblins)waterfall-measure.dax -- Waterfall with cumulative OFFSET positioning + connector lines (Kurt Buhler / Data Goblins)status-pill-measure.dax -- Rounded pill badge with category color + text label (Kurt Buhler / Data Goblins)| Library | Author | Key Features |
|---|---|---|
| DaxLib.SVG | Jake Duddy | UDF library: area, line, boxplot, heatmap, jitter, violin |
| PBI-Core-Visuals-SVG-HTML | David Bacci | Chips, tornado, gradient matrix, bar UDF |
| PowerBI MacGuyver Toolbox | Stepan Resl / Data Goblins | 20+ bar, 14+ line, 24+ KPI templates |
| Dashboard Design UDF Library | Dashboard-Design | Target line bars, pill visuals |
| Kerry Kolosko Templates | Kerry Kolosko | Sparklines, data bars, KPI cards |
pbi-report-design -- Layout and design best practicesdeneb-visuals -- Vega/Vega-Lite for complex interactive visualizationspython-visuals -- matplotlib/seaborn for statistical chartsr-visuals -- ggplot2 for statistical chartspbir-format (pbip plugin) -- PBIR JSON format reference (extension measures, ImageUrl binding)© data-goblin, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 19 other files (references) in plugins/custom-visuals/skills/svg-visuals of data-goblin/power-bi-agentic-development.
Open the folder on GitHubat commit a301717
SVG Visuals next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| SVG Visuals this skilldata-goblin/power-bi-agentic-development | 1k | — | ~4.3k | Automated safety check: Pass | GPL-3.0 | |
| Building Streamlit Dashboardsiusztinpaul/designing-real-world-ai-agents-workshop | 513 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Business Overview Analysiszj-unicom-ai/UniEmployee | 358 | — | ~662 | Automated safety check: Pass | MIT | |
| Kpi Dashboard Designaiskillstore/marketplace | 430 | 11 repos | ~3.5k | Automated safety check: Pass | None | |
| Ops Metrics Analysiszj-unicom-ai/UniEmployee | 358 | — | ~473 | Automated safety check: Pass | MIT | |
| Performance Reportindranilbanerjee/digital-marketing-pro | 855 | 1 repos | ~1.1k | Automated safety check: Pass | MIT |
iusztinpaul/designing-real-world-ai-agents-workshop
Building dashboards in Streamlit. An agent skill from iusztinpaul/designing-real-world-ai-agents-workshop.
zj-unicom-ai/UniEmployee
Produces a full business health analysis from sales, finance, inventory and customer CSV files: core KPIs, monthly trends, drill-downs and recommendations.
aiskillstore/marketplace
Design effective KPI dashboards with metrics selection, visualization best practices, and real-time monitoring patterns.
zj-unicom-ai/UniEmployee
运营指标分析技能。当用户询问网络运营指标、KPI、接通率、掉线率、时延、SLA 达标率、趋势对比、环比周报月报,或报告指标异常时使用。
indranilbanerjee/digital-marketing-pro
Turn marketing data into a stakeholder-ready performance report: executive summary, channel-by-channel KPI dashboard, trend analysis, anomaly alerts with root-cause hypotheses, and recommendations…
MichaelYang-lyx/AIDABench
根据数据量自动选择读取策略(大文件转Parquet),提取关键指标进行单位一致性验证与排序分析,并输出可下载的结果表格。
data-goblin/power-bi-agentic-development
Author, validate, publish, and test Power BI paginated reports in the RDL format.
data-goblin/power-bi-agentic-development
Automatically invoke this skill whenever the user asks about Fabric tenant settings or Power BI tenant settings or auditing tenant settings.
data-goblin/power-bi-agentic-development
Interactive BPA rule generation for Power BI semantic models; guided discovery, model investigation, and expert rule authoring.
data-goblin/power-bi-agentic-development
Guidance for Power BI Project (PBIP) structure, thick and thin reports, project renames, forks, and validation.
data-goblin/power-bi-agentic-development
Actionable feedback on the quality, usage, and effectiveness of Power BI reports.
data-goblin/power-bi-agentic-development
This skill should be used whenever the user mentions a "semantic model", "data model", or "dataset", or asks to "build", "model", "design", "optimize", "review", or "audit" one, or to "add a…
Categories
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports, including ready templates for matrix and table cells, new card images…. SVG Visuals is an agent skill from data-goblin/power-bi-agentic-development. SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports, including ready templates for matrix and table cells, new card images and per-button images on the new button slicer.
SVG Visuals fits situations like: mentions SVG visual; inline graphics with DAX; imageUrl data category; extension measure.
Run `npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a claude-code`. Or copy the skill folder (plugins/custom-visuals/skills/svg-visuals in data-goblin/power-bi-agentic-development) into .claude/skills/svg-visuals in your project. Claude Code loads it when a task matches its description.
Run `npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a codex`. Or copy the skill folder (plugins/custom-visuals/skills/svg-visuals in data-goblin/power-bi-agentic-development) into .agents/skills/svg-visuals in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add data-goblin/power-bi-agentic-development --skill svg-visuals -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/svg-visuals, .gemini/skills/svg-visuals, .github/skills/svg-visuals and .opencode/skills/svg-visuals in your project.
SKILL.md names no scripts, command-line tools or credentials: SVG Visuals is instructions for the agent only. Our summary lists: Python 3.
SKILL.md names 4 domains. In commands or code: w3.org and developer.microsoft.com; the agent is likely to contact these when it follows the instructions. As links in the text: daxlib.org and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
SVG Visuals is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 15k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with SVG Visuals: Building Streamlit Dashboards (iusztinpaul/designing-real-world-ai-agents-workshop, 513 stars), Business Overview Analysis (zj-unicom-ai/UniEmployee, 358 stars), Kpi Dashboard Design (aiskillstore/marketplace, 430 stars) and Ops Metrics Analysis (zj-unicom-ai/UniEmployee, 358 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
data-goblin (a GitHub user) maintains it in data-goblin/power-bi-agentic-development, which has 1,031 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 7, 2026.
Source: data-goblin/power-bi-agentic-development on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.