skills/glue-diagnostics/SKILL.md
Use this skill to investigate and troubleshoot AWS Glue problems by analyzing ETL jobs, crawlers, connections, Data Catalog, DPU utilization, Spark execution, and job bookmarks following structured runbooks. Activate when: job failures, job timeouts, OOM errors, Spark executor or driver crashes, crawler failures, schema detection issues, partition problems, JDBC connection failures, VPC/subnet connectivity, S3 endpoint access, Data Catalog sync issues, schema evolution conflicts, DPU sizing problems, shuffle bottlenecks, data skew, transformation errors, bookmark issues, data quality failures, IAM permission errors, encryption problems, Glue Studio visual editor errors, job generation failures, or the user says something is wrong with Glue without naming specific symptoms.
npx skillsauth add kilo-org/kilo-marketplace glue-diagnosticsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Any AWS Glue investigation where the console alone is insufficient — job failures, OOM errors, Spark crashes, crawler schema misdetection, connection timeouts, Data Catalog drift, DPU under/over-provisioning, data skew, bookmark corruption, or Glue Studio generation errors.
aws glue get-job --name <job-name>
aws glue get-job-run --job-name <job-name> --run-id <run-id>
aws glue batch-get-jobs --job-names <job1> <job2>
aws glue get-crawler --name <crawler-name>
aws glue get-connection --name <connection-name>
aws logs filter-log-events --log-group-name /aws-glue/jobs/logs-v2 --log-stream-name-prefix <run-id>
aws glue get-job-runs --job-name <job-name> --max-results 10
aws glue get-crawler-metrics --crawler-name-list <crawler-name>
aws glue get-databases
aws glue get-tables --database-name <db-name>
aws glue get-partitions --database-name <db-name> --table-name <table-name>
aws glue get-job-bookmark --job-name <job-name>
aws cloudwatch get-metric-statistics --namespace Glue --metric-name glue.driver.aggregate.bytesRead --dimensions Name=JobName,Value=<job-name> --start-time <iso> --end-time <iso> --period 300 --statistics Sum
Read references/glue-guardrails.md before concluding on any Glue issue.
| Tool / API | When to use |
|------------|-------------|
| glue get-job | Job configuration, Glue version, DPU, worker type |
| glue get-job-run | Specific run status, error message, execution time |
| glue batch-get-jobs | Retrieve multiple job configs at once |
| glue get-job-runs | Job run history, failure patterns |
| glue get-crawler | Crawler config, targets, schedule, schema change policy |
| glue get-crawler-metrics | Crawler runtime stats, tables created/updated |
| glue get-connection | JDBC/network connection config, VPC, subnet |
| glue get-databases / get-tables | Data Catalog metadata, schema definitions |
| glue get-partitions | Partition metadata, partition keys, storage location |
| glue get-job-bookmark | Bookmark state for incremental processing |
| logs filter-log-events | Glue job CloudWatch logs for Spark errors |
| cloudwatch get-metric-statistics | Glue job metrics (bytes read/written, DPU usage) |
| Worker Type | DPU | Memory | vCPU | Use Case | |-------------|-----|--------|------|----------| | G.1X | 1 | 16 GB | 4 | Standard ETL, small-medium datasets | | G.2X | 2 | 32 GB | 8 | Memory-intensive transforms, large joins | | G.4X | 4 | 64 GB | 16 | ML transforms, very large datasets | | G.8X | 8 | 128 GB | 32 | Massive datasets, complex aggregations | | G.025X | 0.25 | 2 GB | 2 | Python shell jobs only | | Z.2X | 2 | 32 GB | 8 | Ray jobs (Glue 4.0+) |
| Version | Spark | Python | Key Features | |---------|-------|--------|-------------| | Glue 2.0 | 2.4 | 3.7 | Spark UI, no startup overhead | | Glue 3.0 | 3.1 | 3.7 | Optimized shuffle, auto-scaling | | Glue 4.0 | 3.3 | 3.10 | Ray support, Python 3.10, improved performance |
| Category | IDs | Covers | |----------|-----|--------| | A — Jobs | A1–A4 | Job failures, timeout, OOM, Spark errors | | B — Crawlers | B1–B3 | Crawler failures, schema detection, partition issues | | C — Connections | C1–C3 | JDBC connection failures, VPC/subnet, S3 endpoint | | D — Data Catalog | D1–D2 | Catalog sync issues, schema evolution | | E — Performance | E1–E3 | DPU sizing, shuffle issues, data skew | | F — ETL | F1–F3 | Transformation errors, bookmark issues, data quality | | G — Security | G1–G2 | IAM permissions, encryption | | H — Glue Studio | H1–H2 | Visual editor errors, job generation | | Z — Catch-All | Z1 | General troubleshooting |
development
Oracle Database guidance for SQL, PL/SQL, SQLcl, ORDS, administration, app development, performance, security, migrations, and agent-safe database workflows. Use when the user asks to write, edit, rewrite, review, format, debug, tune, or explain SQL; create or refactor PL/SQL; use SQLcl, Liquibase, ORDS, JDBC, node-oracledb, Python, Java, .NET, or database frameworks; troubleshoot queries, sessions, locks, waits, indexes, optimizer plans, AWR, ASH, migrations, schemas, users, roles, privileges, backup, recovery, Data Guard, RAC, multitenant, containers, monitoring, auditing, encryption, VPD, or safe agent database operations.
documentation
Patterns for reading and writing oleander Iceberg catalog tables in Spark jobs, including naming conventions, write modes, and catalog hierarchy.
data-ai
Integrate Okta for enterprise identity workflows including OIDC login, group claims, and policy-based access controls. Use when implementing workforce or B2B identity scenarios.
documentation
Use when arranging Apache NiFi processors, process groups, ports, comments, numbering, crossing connections, dense fan-in/fan-out, or reusable readable canvas layouts.