Trademarks of their respective owners. KissMySkills is not affiliated with or endorsed by them.
How it works
Ask it something hard.
📎 ai-skill-for-scala.txtLOADED ✓
I get 'No given instance of type Encoder[Order] was found' when calling asJson with Circe in Scala 3. How do I fix it?
CLAUDE · WITH THIS SKILLYou get: the cause in one line (no Encoder[Order] in implicit scope) -> a scala code block with the case class and a companion object holding given Encoder[Order] = deriveEncoder[Order] -> why placing the given in the companion removes the need for imports at call sites -> a note on semiauto vs auto derivation and compile times -> the circe-generic line to confirm in build.sbt -> the next action: run sbt compile and paste the next error if any.
Questions before you buy? A person answers, usually the same day: hello@kissmyskills.com
// the file itself
Read it before you buy it.
The first lines of the file your AI will read, exactly as delivered. Nothing rewritten for the page.
Use the name Once the file is loaded, talk to it by name: “Serge, check this page.” That is what the name is for. It also keeps several skills apart in one chat.
// the skill your AI runs on
You are a senior Scala developer sitting next to the user in their editor and sbt shell, across Scala 2, Scala 3, Cats, ZIO and Spark. You have been activated to write code that compiles cleanly and is tested.
KissMySkills.com | Install: paste this whole file into Claude Projects (Project instructions), a custom GPT (Instructions), a Gemini Gem, or your AI's system prompt. Then just ask questions the way you normally would. You are a senior Scala developer acting as the user's pair programmer: you know Scala 2 and Scala 3 syntax, the standard library, the type system, the build tooling and the major ecosystems (Akka/Pekko, Cats, ZIO, Play, Spark). You are not a job-role persona; you sit next to the user inside their editor and sbt shell. You optimise for code that is expressive but readable by the whole team, compiles cleanly, and is tested. Tone: direct, practical, code first, explanation second. · Language versions: Scala 2.12, 2.13 and Scala 3 (Dotty). Scala 3 changes that matter: optional braces and significant indentation, enum, given/using instead of implicit, extension methods, opaque types, union and intersection types, top-level definitions, new control syntax, inline and match types, macro rewrite. Cross-building with scalaVersion and crossScalaVersions. · Core constructs: case classes and pattern matching, sealed traits (ADTs), Option/Either/Try, for-comprehensions, immutable collections (List, Vector, Map, Set), lazy val, by-name parameters, traits with self-types, companion objects and apply, value classes, type classes via implicits or givens, variance annotations (+A, -A), higher-kinded types. · Collections API: map, flatMap, filter, foldLeft, groupBy, collect with partial functions, view for laziness, iterators, ArrayBuffer and mutable variants, and the performance characteristics of List vs Vector vs Array. · Concurrency: Future and ExecutionContext, Promise, Await (and why to avoid it), Akka and Apache Pekko actors and streams, cats-effect IO and fs2, ZIO effects, layers and fibers, parallel collections. · Build and tooling: sbt (build.sbt, project/plugins.sbt, libraryDependencies with %% and %, sbt console, ~compile, testOnly, assembly, publishLocal), Mill as an alternative, Scala CLI for scripts, Coursier for installs, Metals in VS Code, IntelliJ Scala plugin, scalafmt (.scalafmt.conf) and scalafix, WartRemover, sbt-tpolecat for strict compiler flags. · Testing: ScalaTest (AnyFlatSpec, AnyFunSuite, matchers), MUnit, specs2, ScalaCheck for property tests, Mockito-scala, testcontainers-scala. · Ecosystems: Play Framework and http4s, Akka HTTP, Tapir, Circe and play-json and uPickle for JSON, Doobie, Slick and Quill for SQL, Apache Spark (RDD, DataFrame, Dataset, Spark SQL, UDFs), Kafka clients, Cats and Cats Effect, ZIO, Scalaz, Shapeless and Scala 3 Mirrors for generic derivation. · JVM interop: calling Java libraries, scala.jdk.CollectionConverters, JVM flags, GraalVM native image, Scala.js and Scala Native targets. · Compiler errors and gotchas: implicit not found and ambiguous implicits, type erasure in pattern matching, missing parameter type in lambda, diverging implicit expansion, stack overflows from non-tail-recursive functions (use @tailrec), Option.get, null from Java APIs, slow compile times from heavy implicit resolution, binary compatibility across minor versions. · Style: Scala Style Guide conventions, prefer immutability, small ADTs, avoid returning Any, name type parameters meaningfully, keep for-comprehension steps flat. · Scala version (2.12, 2.13 or 3.x) and build tool (sbt, Mill, Scala CLI), because syntax and library artefacts differ. · Which effect or concurrency stack the project uses (plain Futures, Cats Effect, ZIO, Akka/Pekko), so examples fit.
81 lines · .txt · instant download
// what's inside
What's inside this skill
ADTs, pattern matches and smart constructors in Scala 2 or Scala 3 syntax
Plain-language fixes for implicit, given and type erasure compiler errors
ScalaTest, MUnit, specs2 tests plus ScalaCheck property tests
build.sbt lines, sbt commands, Spark, Cats Effect and ZIO snippets
Backend, data and platform engineers who write Scala for services, Spark jobs or libraries.
// two ways to get it
Use it inside your AI, or download it once.
Library plan
This skill and 2,500+ others, inside your chat
$9/mocancel anytime, or $59 a year
All 2,500+ skills, prompt packs and agents, loaded the moment you ask
Nothing to download or paste: connect once in Claude, ChatGPT, Claude Code or Cursor
New skills every week and 10 catalog files a month to download
Trademarks of their respective owners. KissMySkills is not affiliated with or endorsed by them.
// ask your assistant
Or let your AI set up this skill for you.
Go to kissmyskills.com/pages/connector and set up the "AI Skill for Scala" skill (handle: ai-skill-for-scala) for me
Paste it into Claude, ChatGPT, Claude Code, Cursor or Codex. Your AI walks you through connecting KissMySkills (about 3 minutes, 7-day free trial) and loads the skill. What your AI will read →
What you're actually buying
This Claude/ChatGPT skill gives you a Scala AI pair programmer for the code you write every day: sealed trait and enum ADTs with exhaustive matches, fixes for implicit not found and type mismatch errors, refactors from Java-style loops to immutable collections and for-comprehensions, ScalaTest, MUnit or specs2 tests with ScalaCheck properties, build.sbt lines and sbt commands, and Spark DataFrame or Cats Effect and ZIO code that fits your stack.
It knows Scala 2.12, 2.13 and Scala 3 syntax differences (given/using, extension methods, optional braces), the collections API and its performance trade-offs, Futures and effect systems, Circe and Tapir, Doobie and Slick, scalafmt and scalafix, and the compiler errors that cost hours. It is a language helper, not a job-role persona. It does not compile or run anything; it writes the code, the spec and the sbt command, and you run them.
Works the same way in Claude, ChatGPT and Gemini. One purchase, download the file, install in under 2 minutes, then paste your Scala the way you would show it to a senior colleague.
// how to install
Under 2 minutes
Four steps. Any AI chat.
01
Download the file
After checkout, the download link lands in your inbox. Save the .txt file anywhere on your device.
02
Open your AI chat
Any AI chat you already use: Claude, ChatGPT, Gemini, Grok, Copilot or another.
03
Paste the prompt
Open the .txt file, copy the prompt section and paste it into Claude or ChatGPT - or add it to a Project so it is always there.
04
Start working
Your AI is now configured as a specialist. Ask it anything inside its domain.
No technical knowledge required.
With Library there is nothing to download. Connect your AI once, then ask for any skill by name.
It turns Claude or ChatGPT into a Scala AI pair programmer that models domains with ADTs, explains and fixes compiler errors, refactors to idiomatic Scala, writes tests in ScalaTest, MUnit or specs2, edits build.sbt, and writes Spark, Akka or Pekko, Cats Effect and ZIO code in the style your project already uses.
Does it compile or run my Scala code for me?+
No. It does not run sbt, compile or execute tests. It writes the Scala code, the test and the exact sbt command, and you run them locally or in CI. Anything that writes to production data, Kafka topics or Spark output paths comes with a dry-run warning first.
Does it handle both Scala 2 and Scala 3?+
Yes. Tell it your Scala version and it uses the right syntax: implicits and braces for Scala 2.12 or 2.13, given/using, extension methods, enums and optional braces for Scala 3. It flags when a library artefact or feature differs between versions and never mixes the two styles without saying so.
Can it help with Spark jobs and sbt builds in Scala?+
Yes. For Spark it writes DataFrame and Dataset transformations, reads explain plans and suggests partitioning, caching and spark-submit flags. For sbt it gives exact libraryDependencies lines with %% vs %, plugin entries, cross-building settings and assembly configuration.
Ready to give your AI a specialist?
This one and 2,500+ others, inside Claude, ChatGPT, Claude Code, Codex or Cursor. Cancel anytime.