Claude Code plugin with two expert skills for Scala and Apache Spark development.
Expert guidance for Apache Spark development in Scala. Covers:
- SparkSession setup and configuration
- DataFrame vs Dataset API (with type-safe case classes)
- Transformations, actions, and lazy evaluation
- Schema definition and data sources (Parquet, Delta, JDBC, Kafka)
- Aggregations and window functions
- Join strategies (broadcast, sort-merge, skew handling)
- Partitioning, caching, and checkpointing
- RDDs and when to use them
- Structured Streaming with watermarks and stateful operations
- UDFs and when to avoid them
- Error handling: dead letter pattern, idempotent writes, corrupt data
- Clean transformation design and testing
Reference docs:
references/optimization.md— AQE, Catalyst, shuffle tuning, anti-patternsreferences/streaming-patterns.md— watermarking, stateful ops, exactly-oncereferences/data-sources.md— format selection, Parquet/Delta/JDBC/Kafka patternsreferences/error-handling.md— dead letter pattern, idempotent writes, checkpoint recoveryreferences/rdd-api.md— when to use RDDs, PairRDD aggregation patterns, accumulatorsreferences/spark-ml.md— MLlib pipelines, transformers, estimators, evaluation
Expert guidance for idiomatic, functional Scala. Covers:
- Pure functions, immutability, referential transparency
- Domain modeling: case classes, sealed trait ADTs, smart constructors
- Avoiding primitive obsession with opaque types
- Pattern matching (type, structure, guards, nested)
- Error handling: Option, Either, Try, ValidatedNel (no exceptions in pure code)
- Higher-order functions and immutable collections
- For comprehensions as monadic composition
- Tail recursion with
@tailrec - Type classes and given/using (Scala 3)
- Concurrency: Futures, ExecutionContext, Cats Effect IO
- Clean Code and Clean Architecture principles applied to Scala
Reference docs:
references/fp-patterns.md— Functor, Monad, Monoid, IO monad, Validated, Statereferences/collections.md— collection hierarchy, performance guide, idiomsreferences/type-system.md— variance, bounds, higher-kinded types, opaque typesreferences/domain-modeling.md— case classes, sealed traits/ADTs, smart constructorsreferences/concurrency-futures.md— Futures, ExecutionContext, Cats Effect IO patternsreferences/testing.md— TDD, ScalaTest, property-based testing, test doublesreferences/clean-architecture.md— layers, dependency rule, use cases, ports & adaptersreferences/code-smells.md— Scala-specific smells, refactoring recipes
claude plugin marketplace add drtey/scala-spark-plugin
claude plugin install data-skills-plugin@scala-spark-skillsOnce installed, the skills are available as slash commands:
/spark-scala → Apache Spark + Scala expert
/scala → Idiomatic Scala expert
data-skills-plugin/
├── .claude-plugin/
│ ├── plugin.json
│ └── marketplace.json
└── skills/
├── spark-scala/
│ ├── SKILL.md
│ └── references/
│ ├── optimization.md
│ ├── streaming-patterns.md
│ ├── data-sources.md
│ ├── error-handling.md
│ ├── rdd-api.md
│ └── spark-ml.md
└── scala/
├── SKILL.md
└── references/
├── fp-patterns.md
├── collections.md
├── type-system.md
├── domain-modeling.md
├── concurrency-futures.md
├── testing.md
├── clean-architecture.md
└── code-smells.md