Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add PatrickGallucci/fabric-skills --skill fabric-pyspark-perf-remediategit clone --depth 1 https://github.com/PatrickGallucci/fabric-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/patrickgallucci/fabric-skills/fabric-pyspark-perf-remediate)<a href="https://agentmods.dev/skills/patrickgallucci/fabric-skills/fabric-pyspark-perf-remediate"><img src="https://agentmods.dev/badge/skills/patrickgallucci/fabric-skills/fabric-pyspark-perf-remediate/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/patrickgallucci/fabric-skills/fabric-pyspark-perf-remediate"><img src="https://agentmods.dev/badge/skills/patrickgallucci/fabric-skills/fabric-pyspark-perf-remediate.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00179 | $0.02130 |
| Opus 5 | $0.00089 | $0.01065 |
| Sonnet 5 | $0.00036 | $0.00426 |
| Haiku 4.5 | $0.00018 | $0.00213 |
Grade A, and why
fabric-pyspark-perf-remediate scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Microsoft Fabric PySpark Performance remediate
Systematic guide for diagnosing and resolving Apache Spark performance problems in Microsoft Fabric Data Engineering workloads, including notebooks, Spark Job Definitions, and pipeline activities.
When to Use This Skill
Activate when encountering any of these scenarios:
- PySpark notebook cells take unexpectedly long to execute
- Spark Job Definitions exceed expected duration or fail with timeouts
- Out-of-memory (OOM) errors on driver or executors
- Excessive shuffle read/write in Spark UI stage details
- Data skew causing individual tasks to run much longer than peers
- Delta Lake table writes are slow or produce many small files
- Fabric capacity utilization is high or jobs are queued/throttled
- Need to choose between resource profiles (readHeavy vs writeHeavy)
- Deciding whether to enable autotune, native execution engine, or Optimized Write
- Interpreting Spark UI metrics (stages, tasks, storage, SQL plan)
Prerequisites
- Access to a Microsoft Fabric workspace with Data Engineering/Science experience
- Fabric capacity (F2 or higher) with Spark compute enabled
- Familiarity with PySpark DataFrames and Spark SQL
- Access to Spark UI via the Monitoring Hub or notebook session details
Quick Diagnostic Workflow
Follow this triage sequence to identify the root cause:
- Check capacity status - Is the Fabric capacity throttled or overloaded? See Monitoring Hub for queued jobs and CU utilization.
- Identify the slow stage - Open Spark UI, find the stage with the longest duration, and check task-level metrics.
- Classify the bottleneck - Use the decision matrix below to categorize the issue.
- Apply targeted fix - Follow the relevant reference guide for your bottleneck type.
- Validate improvement - Re-run the job and compare Spark UI metrics before and after.
Bottleneck Decision Matrix
Use these indicators to classify your performance issue:
Shuffle Bottleneck: Shuffle read/write bytes are large (>1 GB per stage), many tasks in the stage, high GC time. Fix with broadcast joins, reduced shuffle partitions, or pre-partitioned data. See shuffle-and-join-optimization.md.
What ships with it
11 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- LICENSE.txt 11 KB
- references/data-skew-resolution.md 7.0 KB
- references/delta-table-optimization.md 9.7 KB
- references/fabric-compute-tuning.md 7.4 KB
- references/memory-and-spill-tuning.md 8.2 KB
- references/shuffle-and-join-optimization.md 7.1 KB
- references/spark-ui-guide.md 7.5 KB
- scripts/delta_table_health.py 6.9 KB runs code
- scripts/identify_skew.py 6.1 KB runs code
- scripts/spark_health_check.py 6.6 KB runs code
- templates/perf_baseline_template.py 6.0 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago First seen · 157 lines · 179 tokens per session scan A e6d9d1a9df0b
fabric-pyspark-perf-remediate is a skill published in the GitHub repository PatrickGallucci/fabric-skills (16 stars, last pushed 3mo ago), licensed MIT. It adds 179 tokens to every session and 2,130 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
routeros-mac-telnet
MAC-Telnet protocol (MikroTik Layer-2 terminal/exec over UDP 20561) wire format, session handshake, and MD5 + MTWEI (EC-SRP) authentication. Use when: implementing or debugging a MAC-Telnet client/server, reaching a RouterOS device by MAC address without IP, parsing MAC-Telnet packets, understanding the WinBox-style…
routeros-syntax-inspection
Inspecting and validating RouterOS command/script syntax against a live device via /console/inspect (highlight, completion, syntax, child) and :parse IL. Use when: validating RouterOS commands before execution, explaining or linting RouterOS scripts, building syntax-aware tooling (LSP servers, validators, agent…
routeros-sniffer
RouterOS packet capture and TZSP streaming for protocol debugging. Use when: capturing packets on RouterOS, setting up /tool/sniffer, streaming live traffic via TZSP, using firewall mangle action=sniff-tzsp, debugging network protocols on MikroTik, receiving TZSP with Wireshark or tshark, saving pcap files from…
lateralus
Lateral-thinking escape hatch for stalled debugging. Surfaces end goal and solution horizon, generates alternatives in three tiers: Grounded (testable causes), Balanced (assumption-questioning), Wild (speculative reframes), plus Workaround (bypass now, fix later). Use when user invokes /lateralus, says "stuck", "going…
bug-fix
A structured process for fixing software bugs, including reproducing the problem, finding its root cause, and writing a test that prevents it from returning. A regression test is an automated check that catches a previously fixed problem.
spark-engineer
Use when writing Spark jobs, debugging performance issues, or configuring cluster settings for Apache Spark applications, distributed data processing pipelines, or big data workloads. Invoke to write DataFrame transformations, optimize Spark SQL queries, implement RDD pipelines, tune shuffle operations, configure…