← All skills
gcp-spark-troubleshooting
79 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a data skill usually connects to databases or online services with your credentials.
By GoogleCloudPlatform/data-agent-kit-plugin (GitHub) · data · 249 stars · scanned at commit e70c87b
Provides expert guidance for troubleshooting Google Cloud Spark and Dataproc workloads (Dataproc Serverless batches, interactive sessions, and standard Dataproc clusters), and inspecting, streaming, searching, tailing, or summarizing Spark driver outputs and event logs in Cloud Storage. Use when debugging, diagnosing, or performing Root Cause Analysis (RCA) on failed or slow Spark jobs, PySpark scripts (.py), JVM archives (.jar), compressed event logs (.zst), or IAM, VPC, and classpath errors s…
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this.
Found in 4 places.
Show 1 more
Sends data to these websites: dataproc.googleapis.com
This is disclosed by the author in the skill's SKILL.md or README. Expected for a data skill.
Found in 21 places.
Show 17 more
- skills/gcp-spark-troubleshooting/scripts/spark_applications.py, line 535
with urllib.request.urlopen( - skills/gcp-spark-troubleshooting/scripts/spark_applications.py, line 686
request = urllib.request.Request( - skills/gcp-spark-troubleshooting/scripts/spark_gcs_log_reader.py, line 41
import urllib.request - skills/gcp-spark-troubleshooting/scripts/spark_gcs_log_reader.py, line 236
req = urllib.request.Request( - skills/gcp-spark-troubleshooting/scripts/spark_gcs_log_reader.py, line 240
resp = urllib.request.urlopen( - skills/gcp-spark-troubleshooting/scripts/spark_gcs_log_reader.py, line 286
req = urllib.request.Request( - skills/gcp-spark-troubleshooting/scripts/spark_gcs_log_reader.py, line 289
resp = urllib.request.urlopen( - skills/gcp-spark-troubleshooting/tests/spark_applications_test.py, line 29
import urllib.request - skills/gcp-spark-troubleshooting/tests/spark_applications_test.py, line 388
request = urllib.request.Request("https://dataproc.googleapis.com/v1/x") - skills/gcp-spark-troubleshooting/tests/spark_applications_test.py, line 392
spark_applications.urllib.request, "urlopen", return_value=response - skills/gcp-spark-troubleshooting/tests/spark_applications_test.py, line 393
) as urlopen: - skills/gcp-spark-troubleshooting/tests/spark_applications_test.py, line 398
urlopen.assert_called_once_with(request, timeout=5, context=context) - skills/gcp-spark-troubleshooting/tests/spark_gcs_log_reader_test.py, line 47
spark_gcs_log_reader.urllib.request, - skills/gcp-spark-troubleshooting/tests/spark_gcs_log_reader_test.py, line 48
"urlopen", - skills/gcp-spark-troubleshooting/tests/spark_gcs_log_reader_test.py, line 50
) as urlopen: - skills/gcp-spark-troubleshooting/tests/spark_gcs_log_reader_test.py, line 53
self.assertEqual(urlopen.call_count, 2) - skills/gcp-spark-troubleshooting/tests/spark_gcs_log_reader_test.py, line 54
for (request,), kwargs in urlopen.call_args_list:
and 1 more places
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README.
Found in 81 places.
Show 17 more
- skills/gcp-spark-troubleshooting/scripts/spark_applications.py, line 1512
proc = subprocess.run( - skills/gcp-spark-troubleshooting/scripts/spark_applications.py, line 1518
stdin=subprocess.DEVNULL, - skills/gcp-spark-troubleshooting/scripts/spark_applications.py, line 1520
except (OSError, subprocess.SubprocessError): - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 173
subprocess.run( - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 176
stdout=subprocess.DEVNULL, - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 177
stderr=subprocess.PIPE, - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 180
except subprocess.CalledProcessError as e: - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 523
result = subprocess.run( - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 526
stdout=subprocess.PIPE, - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 527
stderr=subprocess.PIPE, - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 530
except (OSError, subprocess.SubprocessError): - skills/gcp-spark-troubleshooting/scripts/spark_code_inspector.py, line 797
subprocess.SubprocessError, - skills/gcp-spark-troubleshooting/scripts/spark_env_inspector.py, line 167
proc = subprocess.run( - skills/gcp-spark-troubleshooting/scripts/spark_env_inspector.py, line 173
stdin=subprocess.DEVNULL, - skills/gcp-spark-troubleshooting/scripts/spark_env_inspector.py, line 175
except (OSError, subprocess.SubprocessError) as exc: - skills/gcp-spark-troubleshooting/scripts/spark_gcs_log_reader.py, line 103
`subprocess.Popen(...).stdout` on its own leaks a zombie process and hides a - skills/gcp-spark-troubleshooting/scripts/spark_gcs_log_reader.py, line 110
def __init__(self, proc: "subprocess.Popen[bytes]", description: str):
and 61 more places
Safer alternatives
Low-risk skills in the same category (data) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'gcp-spark-troubleshooting' ] || [ -L ~/.agents/skills/'gcp-spark-troubleshooting' ]; then echo 'A skill folder named gcp-spark-troubleshooting already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/GoogleCloudPlatform/data-agent-kit-plugin' "$d" && git -C "$d" checkout --quiet 'e70c87ba66c5731062af13103626b8703b8bf42d' -- 'skills/gcp-spark-troubleshooting' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/gcp-spark-troubleshooting' ~/.agents/skills/'gcp-spark-troubleshooting' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'gcp-spark-troubleshooting' ~/.claude/skills/'gcp-spark-troubleshooting' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for GoogleCloudPlatform/data-agent-kit-plugin shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/GoogleCloudPlatform/data-agent-kit-plugin/)
Score history
| Date | Version | Score |
|---|
| 2026-11-12 | e70c87b | 79 |
| 2026-11-08 | 6f4818a | 95 |
| 2026-11-06 | 6f4818a | 54 |