🎯

moai-lang-scala

🎯Skill

from modu-ai/moai-adk

VibeIndex|
What it does

Enables advanced Scala 3.4+ development with comprehensive support for functional programming, distributed systems, and big data processing across Akka, Cats Effect, ZIO, and Spark ecosystems.

moai-lang-scala

Installation

Install skill:
npx skills add https://github.com/modu-ai/moai-adk --skill moai-lang-scala
578
Last UpdatedJan 26, 2026

Skill Details

SKILL.md

"Scala 3.4+ development specialist covering Akka, Cats Effect, ZIO, and Spark patterns. Use when building distributed systems, big data pipelines, or functional programming applications."

Overview

# Scala 3.4+ Development Specialist

Functional programming, effect systems, and big data processing for JVM applications.

Quick Reference

Auto-Triggers: Scala files (.scala, .sc), build files (build.sbt, project/build.properties)

Core Capabilities:

  • Scala 3.4: Given/using, extension methods, enums, opaque types, match types
  • Akka 2.9: Typed actors, streams, clustering, persistence
  • Cats Effect 3.5: Pure FP runtime, fibers, concurrent structures
  • ZIO 2.1: Effect system, layers, streaming, error handling
  • Apache Spark 3.5: DataFrame API, SQL, structured streaming

Key Ecosystem Libraries:

  • HTTP: Http4s 0.24, Tapir 1.10
  • JSON: Circe 0.15, ZIO JSON 0.6
  • Database: Doobie 1.0, Slick 3.5, Quill 4.8
  • Streaming: FS2 3.10, ZIO Streams 2.1
  • Testing: ScalaTest, Specs2, MUnit, Weaver

---

Module Index

This skill uses progressive disclosure with specialized modules:

Core Language

  • [functional-programming.md](modules/functional-programming.md) - Scala 3.4 features: Given/Using, Type Classes, Enums, Opaque Types, Extension Methods

Effect Systems

  • [cats-effect.md](modules/cats-effect.md) - Cats Effect 3.5: IO monad, Resources, Fibers, FS2 Streaming
  • [zio-patterns.md](modules/zio-patterns.md) - ZIO 2.1: Effects, Layers, ZIO Streams, Error handling

Frameworks

  • [akka-actors.md](modules/akka-actors.md) - Akka Typed Actors 2.9: Actors, Streams, Clustering patterns
  • [spark-data.md](modules/spark-data.md) - Apache Spark 3.5: DataFrame API, SQL, Structured Streaming

---

Implementation Guide

Project Setup (SBT 1.10)

In build.sbt, set ThisBuild / scalaVersion to "3.4.2" and organization. Define lazy val root project with settings including name and libraryDependencies. Add dependencies for cats-effect, zio, akka-actor-typed, http4s-ember-server, circe-generic, and scalatest for test scope. Include scalacOptions for deprecation, feature warnings, and Xfatal-warnings.

Quick Examples

Extension Methods: Use extension keyword with parameter in parentheses. Define methods like words splitting on whitespace and truncate checking length before taking characters and appending ellipsis.

Given and Using: Define trait with abstract method signature. Create given instance with with keyword and implement the method. Create functions with using parameter clause for implicit resolution.

Enum Types: Define enum with generic type parameters and plus variance annotations. Create case entries with parameters. Define methods on enum using match expression to handle each case, returning appropriate results.

---

Context7 Integration

Library mappings for latest documentation:

Core Scala:

  • /scala/scala3 - Scala 3.4 language reference
  • /scala/scala-library - Standard library

Effect Systems:

  • /typelevel/cats-effect - Cats Effect 3.5 documentation
  • /typelevel/cats - Cats 2.10 functional abstractions
  • /zio/zio - ZIO 2.1 documentation
  • /zio/zio-streams - ZIO Streams 2.1

Akka Ecosystem:

  • /akka/akka - Akka 2.9 typed actors and streams
  • /akka/akka-http - Akka HTTP REST APIs
  • /akka/alpakka - Akka connectors

HTTP and Web:

  • /http4s/http4s - Functional HTTP server/client
  • /softwaremill/tapir - API-first design

Big Data:

  • /apache/spark - Spark 3.5 DataFrame and SQL
  • /apache/flink - Flink 1.19 streaming
  • /apache/kafka - Kafka clients 3.7

---

Testing Quick Reference

ScalaTest: Extend AnyFlatSpec with Matchers. Use string description with should in for behavior. Make assertions with shouldBe for equality checks.

MUnit with Cats Effect: Extend CatsEffectSuite. Define test with string name. Return IO containing assertEquals assertions.

ZIO Test: Extend ZIOSpecDefault. Define spec as suite with test entries. Use for-comprehension to run effects and yield assertTrue assertions.

---

Troubleshooting

Common Issues:

  • Implicit resolution: Use scalac -explain for detailed error messages
  • Type inference: Add explicit type annotations when inference fails
  • SBT slow compilation: Enable Global / concurrentRestrictions in build.sbt

Effect System Issues:

  • Cats Effect: Check for missing import cats.effect._ or import cats.syntax.all._
  • ZIO: Verify layer composition with ZIO.serviceWith and ZIO.serviceWithZIO
  • Akka: Review actor hierarchy and supervision strategies

---

Works Well With

  • moai-lang-java - JVM interoperability, Spring Boot integration
  • moai-domain-backend - REST API, GraphQL, microservices patterns
  • moai-domain-database - Doobie, Slick, database patterns
  • moai-workflow-testing - ScalaTest, MUnit, property-based testing

---

Additional Resources

For comprehensive reference materials:

  • [reference.md](reference.md) - Complete Scala 3.4 coverage, Context7 mappings, performance
  • [examples.md](examples.md) - Production-ready code: Http4s, Akka, Spark patterns

---

Last Updated: 2026-01-11

Status: Production Ready (v2.1.0)

More from this repository10

🎯
moai-docs-generation🎯Skill

Generates professional documentation across multiple languages and frameworks using tools like Sphinx, MkDocs, TypeDoc, and Nextra for automated, comprehensive technical documentation workflows.

🎯
moai-lang-python🎯Skill

Develops high-performance Python 3.13+ applications with expertise in FastAPI, Django, async patterns, data science, and modern testing techniques.

🎯
moai-lang-rust🎯Skill

Enables high-performance Rust development for memory-safe systems, WebAssembly, and async web services using Axum, Tokio, and SQLx.

🎯
moai-platform-auth0🎯Skill

Configures robust Auth0 security features including attack protection, multi-factor authentication, token security, and compliance controls.

🎯
moai-platform-clerk🎯Skill

Enables modern, passwordless authentication with WebAuthn, passkeys, and pre-built UI components for seamless user identity management.

🎯
moai-lang-r🎯Skill

Enables advanced R 4.4+ data science workflows with comprehensive support for tidyverse, ggplot2, Shiny, and modern R development patterns.

🎯
moai-domain-backend🎯Skill

Designs and implements robust backend systems with comprehensive API, database, microservices, and architectural solutions across multiple frameworks and technologies.

🎯
moai-domain-frontend🎯Skill

Develops modern web UIs using React 19, Next.js 16, and Vue 3.5, implementing advanced component architectures and performance optimizations.

🎯
moai-domain-database🎯Skill

Designs and optimizes multi-database architectures, implementing advanced PostgreSQL, MongoDB, Redis, and Oracle data patterns for scalable enterprise applications.

🎯
moai-lang-elixir🎯Skill

Enables comprehensive Elixir 1.17+ development with expert support for Phoenix 1.7, LiveView, Ecto, and OTP patterns for building robust, real-time distributed systems.