Scala Idioms and Conventions

SkillDev tools

Guide for writing idiomatic Scala including naming conventions, error handling, and pattern matching.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Scala Idioms and Conventions skill

What this skill tells your AI

The instructions your AI receives, as published by cxcscmu/skilllearnbench in skills/b1-one-shot-claude-opus-4-6/python-scala-translation/python-scala-idioms/SKILL.md and read by ahel’s review.

Naming Conventions

  • Classes/Traits: PascalCase
  • Methods/Fields: camelCase (not snake_case)
  • Constants: PascalCase in companion objects or UPPER_CASE for enum-like
  • Package: lowercase
  • Type parameters: single uppercase letter T, A, B

Error Handling

// Python: raise ValueError -> Scala: throw or Either/Try
// Prefer Option for absence, Either/Try for errors
def tokenizePath(value: Json, path: String): Option[Token]

Pattern Matching (replaces isinstance chains)

// Python: if isinstance(value, str): ...
// Scala:
value match {
  case s: String => ...
  case i: Int    => ...
  case _         => ...
}

String Interpolation

// Python: f"{value:.6f}" -> Scala: f"$value%.6f" or s"$value"

Companion Objects

// Factory methods, constants go in companion objects
object TemporalTokenizer {
  val IsoFormat = "yyyy-MM-dd'T'HH:mm:ss"
  val DateFormat = "yyyy-MM-dd"
}

Signals

GitHub stars
83
Forks
5
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
python-scala-idioms
Source
github.com/cxcscmu/skilllearnbench