
Scala Expert
This covers the full Scala stack from functional programming fundamentals through Akka actors, streams, and HTTP. You get practical examples of case classes, pattern matching, Options and Either for null safety, and type classes with Cats. The reactive systems coverage is solid: typed actors with proper message protocols, backpressure handling in streams, and JSON APIs with Akka HTTP. Also includes Cats Effect and ZIO for pure functional IO. Use this when you need idiomatic Scala beyond basic syntax, especially if you're building concurrent or distributed systems. The examples assume you understand why immutability and referential transparency matter, so it won't convince you to go functional, but it will show you how.
- skills.sh installs
- 224
- GitHub stars
- 44
- last updated
- Aug 21, 2026
Install
$ npx -y skills add personamanagmentlayer/pcl --skill scala-expert --agent claude-codeInstalls into .claude/skills of the current project.
Files
Scala Expert
Expert guidance for Scala development, functional programming, Akka actors, and reactive systems.
Core Concepts
Scala Fundamentals
- Immutability
- Pattern matching
- Case classes
- Traits and mixins
- Implicit conversions
- For comprehensions
Functional Programming
- Higher-order functions
- Monads (Option, Either, Try)
- Functors and Applicatives
- Type classes
- Pure functions
- Referential transparency
Reactive Systems
- Akka actors
- Akka Streams
- Akka HTTP
- Play Framework
- Cats Effect
- ZIO
Scala Basics
// Case classes
case class User(id: String, name: String, email: String, age: Int)
// Pattern matching
def processUser(user: User): String = user match {
case User(_, name, _, age) if age < 18 => s"$name is a minor"
case User(_, name, _, age) if age >= 65 => s"$name is a senior"
case User(_, name, _, _) => s"$name is an adult"
}
// Options instead of null
def findUser(id: String): Option[User] = {
database.get(id)
}
val userName = findUser("123") match {
case Some(user) => user.name
case None => "Unknown"
}
// Or using map
val name = findUser("123").map(_.name).getOrElse("Unknown")
Sponsors
Details
- Repository
- github.com/personamanagmentlayer/pcl
- First seen
- Jun 3, 2026
More from personamanagmentlayer/pcl
All 99- Standards Expert224
- Flask Expert223
- Csharp Expert219
- Maritime Expert219
- Kafka Expert218
- Fastapi Expert216
- Nodejs Expert214
- Databricks Expert212
- Kubernetes Expert212
- Spring Boot Expert209
- Devops Expert207
- Elasticsearch Expert203
- Testing Expert203
- Kotlin Expert201
- Sre Expert201
- React Expert197
- Performance Expert196
- Javascript Expert195
- Elixir Expert192
- Looker Expert192
- Mongodb Expert192
- Stockbreeder Expert192
- Ruby Expert191
- Cicd Expert190