Optimize Apache Spark jobs with partitioning, caching, shuffle optimization, and memory tuning. Use when improving Spark performance, debugging slow jobs, or scaling data processing pipelines.
Install with Tessl CLI
npx tessl i github:Dicklesworthstone/pi_agent_rust --skill spark-optimization83
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a well-crafted skill description that follows best practices. It uses third person voice, lists specific optimization techniques, includes natural trigger terms that Spark users would use, and has an explicit 'Use when...' clause covering multiple relevant scenarios. The description is concise yet comprehensive.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'partitioning, caching, shuffle optimization, and memory tuning' - these are distinct, actionable optimization techniques rather than vague language. | 3 / 3 |
Completeness | Clearly answers both what ('Optimize Apache Spark jobs with partitioning, caching, shuffle optimization, and memory tuning') and when ('Use when improving Spark performance, debugging slow jobs, or scaling data processing pipelines') with explicit trigger guidance. | 3 / 3 |
Trigger Term Quality | Includes natural keywords users would say: 'Spark performance', 'slow jobs', 'data processing pipelines', plus technical terms like 'partitioning', 'caching', 'shuffle' that Spark users would naturally use when seeking help. | 3 / 3 |
Distinctiveness Conflict Risk | Highly specific to Apache Spark optimization with distinct triggers like 'Spark', 'shuffle optimization', 'partitioning' - unlikely to conflict with general data processing or other big data skills due to Spark-specific terminology. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a comprehensive and highly actionable Spark optimization skill with excellent executable code examples covering partitioning, joins, caching, and memory tuning. The main weaknesses are verbosity (some explanatory content Claude doesn't need) and lack of an explicit iterative optimization workflow with validation checkpoints. The content would benefit from being split into a concise overview with detailed patterns in separate files.
Suggestions
Add an explicit optimization workflow: 'Profile job -> Identify bottleneck via Spark UI -> Apply specific pattern -> Validate improvement -> Iterate'
Remove explanatory content Claude already knows (execution model basics, what storage levels mean) to improve conciseness
Split detailed patterns (join optimization, memory tuning, shuffle optimization) into separate reference files linked from a leaner SKILL.md overview
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some explanatory content Claude already knows (e.g., the execution model diagram, explaining what storage levels mean). The configuration cheat sheet and best practices sections add value, but some inline comments are redundant. | 2 / 3 |
Actionability | Excellent executable code throughout with copy-paste ready examples. Functions like `calculate_partitions`, `salt_join`, and `check_partition_skew` are complete and immediately usable. Configuration templates are specific and production-ready. | 3 / 3 |
Workflow Clarity | Individual patterns are clear, but there's no explicit validation workflow for optimization changes. Missing feedback loops like 'run job -> check Spark UI -> identify bottleneck -> apply fix -> verify improvement'. The monitoring section exists but isn't integrated into an iterative optimization process. | 2 / 3 |
Progressive Disclosure | Content is well-organized with clear sections and a table of contents via headers, but the skill is monolithic at ~400 lines. Advanced topics like Delta Lake Z-ordering, bucketing, and salting could be split into separate reference files. External links are provided but internal progressive disclosure is lacking. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.