Agent skill

python-visuals

Python visual creation and matplotlib/seaborn patterns for PBIR reports. Automatically invoke when the user mentions "Python visual", "matplotlib in Power BI", "seaborn in Power BI", "pythonVisual", or asks to "create a Python visual", "add a matplotlib chart", "write a Python visual script".

data-goblingithub.com/data-goblinGitHub ↗
claude-codecopilotships scriptsGPL-3.0
Install
npx skills add data-goblin/power-bi-agentic-development --skill python-visuals --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 10
SKILL.md size: 8 KB
Bundled scripts: yes
Path: plugins/custom-visuals/skills/python-visuals/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 833
Language: C#

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Python Visuals in Power BI (PBIR) > **Use `pbir` for every report mutation.** Read PBIR metadata only for diagnosis. If `pbir` is > unavailable or lacks an operation, stop and report the gap; never edit report JSON directly. Python visuals execute matplotlib/seaborn scripts to render static PNG images on the Power BI canvas. **Prefer seaborn** over raw matplotlib for cleaner syntax and better defaults -- it handles most chart types with less code. ## Visual Identity - **visualType:** `pythonVisual` - **Data role:** `Values` (columns and measures, multiple allowed) - **Data variable:** `dataset` (pandas DataFrame, auto-injected) - **Row limit:** 150,000 rows - **Output:** Static PNG at 72 DPI -- no interactivity ## Workflow: Creating a Python Visual ### Step 1: Add the Visual ```bash pbir add visual pythonVisual "Report.Report/Page.Page" --name PythonChart \ --data "Values:Sales.Date" --data "Values:Sales.Revenue" ``` ### Step 2: Write the Script ```python import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(8, 4)) ax.bar(dataset["Date"], dataset["Sales"], color="#5B8DBE") ax.spines["top"].set_visible(False) ax.spines["right"].set_visible(False) plt.tight_layout() plt.s

What's inside
Steps it walks through
  1. Visual Identity
  2. Workflow: Creating a Python Visual
  3. Step 1: Add the Visual
  4. Step 2: Write the Script
  5. Step 2b: Review
  6. Step 3: Inject the Script
  7. Step 4: Validate
  8. PBIR Format
  9. Supported Libraries
  10. Power BI Service (Python 3.11)
  11. Desktop
  12. Best Practices
  13. Limitations
  14. Script Structure Template
Ships with 9 files
  • examples/script/bar-chart.py
  • examples/script/trend-line.py
  • examples/visual/bar-chart.json
  • examples/visual/kpi-card.json
  • examples/visual/trend-line.json
  • examples/visual/ytd-line-chart.json
  • references/chart-patterns.md
  • references/community-examples.md
  • references/data-model.md
Commands it runs
pbir add visual pythonVisual "Report.Report/Page.Page" --name PythonChart \
pbir visuals python "Report.Report/Page.Page/PythonChart.Visual" \
pbir visuals bind "Report.Report/Page.Page/PythonChart.Visual" --show
pbir validate "Report.Report" --all
More from power-bi-agentic-development
All skills →
About this skill
What does the python-visuals skill do?

Python visual creation and matplotlib/seaborn patterns for PBIR reports. Automatically invoke when the user mentions "Python visual", "matplotlib in Power BI", "seaborn in Power BI", "pythonVisual", or asks to "create a Python visual", "add a matplotlib chart", "write a Python visual script".

How do I install it?

Run `npx skills add data-goblin/power-bi-agentic-development --skill python-visuals --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From data-goblin/power-bi-agentic-development, a repository with 833 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going