Curated Category 10 hand-picked skills Updated

Top 10 Scala Skills for AI Coding Agents

This Top 10 Scala Skills for AI Coding Agents guide routes effect systems, typed errors, streams, ZIO, Pekko persistence, Scala 3 syntax, Weaver testing, and modernization audits from repository evidence.

The selection is intentionally direct. Every card is Conditional: framework and toolchain specialists are never generic defaults. Read imports, build dependencies, compiler flags, runtime wiring, and test conventions before loading a card. Install counts are integer skills.sh observations captured and labelled for September 2026.

Flat editorial illustration of Scala workflows branching from a central language mark into effects, streams, ZIO, testing, and modernization paths.

How this list was picked

  • No generic default. Every Scala card is Conditional. Framework and toolchain specialists are never generic defaults, so selection starts with the repository's imports, build, compiler profile, runtime wiring, and tests.
  • Four-card source cap. No source contributes more than four cards. The exact distribution is alexandru/skills 4, sanssushi/skills 2, zio/zio-skills 2, j5ik2o/okite-ai 1, abh80/skills 1.
  • Evidence-led routing. Cats Effect, Akka or Pekko Streams, ZIO, Pekko CQRS and Event Sourcing, Scala 3 strict syntax, Weaver, and modernization audits each require their named repository signal.
  • Source-grounded counts. Every card links to its primary GitHub SKILL.md source. Install counts are integer skills.sh snapshot observations captured in September 2026, rather than unlabelled live totals.

Top 10 Scala Skills for AI Coding Agents

A comparative index of the top picks. Click any card to navigate directly to its detailed review.

#01

cats-effect-io

GitHub avatar for alexandru
GitHub account @alexandru

Suspend effects and non-determinism, then select the smallest capability needed by the Scala program

alexandru/skills
60installs
#02

cats-effect-resource

GitHub avatar for alexandru
GitHub account @alexandru

Model acquisition and release with Resource so cancellation and failure still run the correct finalizers

alexandru/skills
57installs
#03

zio-knowledge

GitHub avatar for zio
GitHub account @zio

Retrieve live zio.dev documentation and cite the relevant current signatures before editing ZIO code

zio/zio-skills
53installs
#04

scala-code-optimizer

GitHub avatar for abh80
GitHub account @abh80

Audit a full Scala file for modernization findings, classify performance risk, and attach citations without making edits

abh80/skills
35installs
#05

cats-mtl-typed-errors

GitHub avatar for alexandru
GitHub account @alexandru

Give domain failures an explicit ADT or enum and handle them through focused Raise and Handle scopes

alexandru/skills
33installs
#06

akka-streams

GitHub avatar for alexandru
GitHub account @alexandru

Trace a stream topology from materialization through backpressure, recovery, and testkit evidence

alexandru/skills
32installs
#07

zio-http-knowledge

GitHub avatar for zio
GitHub account @zio

Check live ZIO HTTP documentation and implement current v3 routes, codecs, and typed endpoints

zio/zio-skills
26installs
#08

scala-weaver-test

GitHub avatar for sanssushi
GitHub account @sanssushi

Compose Weaver suites around Expectations, managed resources, and disciplined property checks

sanssushi/skills
24installs
#09

pekko-cqrs-es-implementation

GitHub avatar for j5ik2o
GitHub account @j5ik2o

Implement pure domains around Pekko Typed persistence, coordinated effects, projections, and evolvable events

j5ik2o/okite-ai
20installs
#10

scala3-syntax

GitHub avatar for sanssushi
GitHub account @sanssushi

Apply a modern Scala 3.8 strict profile with explicit decisions about contextual features and syntax

sanssushi/skills
20installs

Install counts are integer skills.sh snapshot observations captured in September 2026. Every card is Conditional and should be selected from repository evidence.

Effect Systems, Resources, and Typed Errors

Scala effect code needs decisions about suspension, capabilities, lifecycle, and failure vocabulary before an agent changes an implementation. These four cards are Cats Effect and Cats MTL specialists. Pick the card that names the boundary in the repository. Scala alone is not evidence for any one runtime or error model.

GitHub Open Graph preview for alexandru's Cats Effect IO skill.

cats-effect-io

60 installs AlexandruConditional · Cats Effect IO

Best for: Cats Effect IO implementation work involving concurrency, blocking, or test control

cats-effect-io is a source-grounded workflow for programs built around Cats Effect IO. It directs an agent to suspend side effects and non-determinism, choose the minimal capability, and keep effect boundaries visible in the resulting Scala code.

Its concurrency guidance covers interruption-safe blocking, Dispatcher interop, structured concurrency, and TestControl. Load it when IO runtime behavior is present in the repository, rather than treating Cats Effect as an assumption attached to every Scala task.

  • Suspended side effects and non-determinism
  • Minimal capability selection for IO programs
  • Interruption-safe blocking and Dispatcher interop
  • Structured concurrency and TestControl workflows
Install this skill
$npx skills add https://github.com/alexandru/skills --skill cats-effect-io
alexandru/skills source skills.sh listing
Works with + more
GitHub Open Graph preview for alexandru's Cats Effect Resource skill.

cats-effect-resource

57 installs AlexandruConditional · Cats Effect Resource

Best for: Cats Effect lifecycle changes around files, clients, pools, sockets, or AutoCloseable values

cats-effect-resource is the lifecycle specialist for Cats Effect Resource. Its source-grounded workflow treats acquisition, use, and release as one managed scope, with cancellation-safe finalizers and Resource factories shaping the implementation.

Use this card for resources that cross asynchronous boundaries, including AutoCloseable interop. The workflow keeps use handles inside their valid scope, so an agent can review ownership and cleanup instead of allowing a resource to escape by accident.

  • Resource lifecycle and factory construction
  • Cancellation-safe finalizer registration
  • AutoCloseable interoperability
  • No escaped use handles outside scope
Install this skill
$npx skills add https://github.com/alexandru/skills --skill cats-effect-resource
alexandru/skills source skills.sh listing
Works with + more
GitHub Open Graph preview for alexandru's Cats MTL typed errors skill.

cats-mtl-typed-errors

33 installs AlexandruConditional · Cats MTL typed errors

Best for: Typed domain error work in Scala code already using Cats MTL or an effect error algebra

cats-mtl-typed-errors is a Cats MTL workflow for typed failures. It uses Raise and Handle with domain ADTs or enums, making error scope handling part of the design rather than leaving failures as incidental strings or broad exceptions.

The source guidance keeps pure Either at parsing and validation borders, while avoiding transformer stacks and nested IO Either combinations in the effectful core. Select it when the codebase has this Cats MTL error style and the task changes its failure contracts.

  • Raise and Handle for typed failure scopes
  • Domain ADTs and enums for error vocabulary
  • Pure Either at parsing and validation borders
  • Avoided transformer stacks and nested IO Either
Install this skill
$npx skills add https://github.com/alexandru/skills --skill cats-mtl-typed-errors
alexandru/skills source skills.sh listing
Works with + more
GitHub Open Graph preview for alexandru's Akka Streams and Pekko Streams skill.

akka-streams

32 installs AlexandruConditional · Akka Streams and Pekko Streams (Scala)

Best for: Scala stream processing in a repository using Akka Streams or Pekko Streams

akka-streams is a source-grounded workflow for Akka Streams and Pekko Streams in Scala. It asks an agent to read the topology, identify materialized values, and preserve backpressure as stages are added or changed.

The card also covers recovery choices and a testkit workflow. Use it when the build and imports show Akka or Pekko Streams. A stream-specific topology review is a concrete repository decision, not a generic Scala default.

  • Topology and materialized-value inspection
  • Backpressure across stream stages
  • Recovery and failure-path decisions
  • Akka or Pekko Streams testkit workflow
Install this skill
$npx skills add https://github.com/alexandru/skills --skill akka-streams
alexandru/skills source skills.sh listing
Works with + more

ZIO, HTTP, and Event-Driven Systems

Runtime and distributed-system cards have sharper boundaries than the language itself. Use live documentation retrieval for ZIO and ZIO HTTP APIs, then reserve the Pekko CQRS and Event Sourcing card for an implementation already committed to its persistence and projection model.

GitHub Open Graph preview for ZIO's runtime, streams, layers, and STM skill.

zio-knowledge

53 installs ZIOConditional · ZIO runtime, streams, layers, and STM

Best for: ZIO runtime, stream, layer, or STM changes where current API evidence is required

zio-knowledge is a documentation-led workflow for the ZIO runtime, streams, layers, and STM. It directs an agent to retrieve live zio.dev documentation, identify the relevant API signatures, and include citations that explain the chosen current form.

Use the fallback source only when the documentation endpoint is unavailable. This card fits a ZIO repository and a task that needs runtime or concurrency knowledge. It should not be loaded merely because Scala runs on the JVM or because another effect system appears nearby.

  • Live zio.dev documentation retrieval
  • Current runtime and API signatures
  • Streams, layers, and STM guidance
  • Citations with a documented source fallback
Install this skill
$npx skills add https://github.com/zio/zio-skills --skill zio-knowledge
zio/zio-skills source skills.sh listing
Works with + more
GitHub Open Graph preview for ZIO HTTP's documentation skill.

zio-http-knowledge

26 installs ZIOConditional · ZIO HTTP

Best for: ZIO HTTP v3 server or client work with routing, codecs, or OpenAPI requirements

zio-http-knowledge is the ZIO HTTP specialist. Its source-grounded process retrieves live ziohttp documentation, anchors decisions in the current v3 API, and covers typed endpoint and routing work alongside codecs, OpenAPI, servers, and clients.

Select it when the repository actually uses ZIO HTTP and the task crosses an HTTP boundary. When live documentation cannot be retrieved, the workflow permits a source fallback. The card is narrower than zio-knowledge and does not stand in for general Scala web development.

  • Live ziohttp documentation retrieval
  • Current ZIO HTTP v3 API
  • Typed endpoints, routing, and codecs
  • OpenAPI, server, and client workflows
Install this skill
$npx skills add https://github.com/zio/zio-skills --skill zio-http-knowledge
zio/zio-skills source skills.sh listing
Works with + more
GitHub Open Graph preview for okite-ai's Scala 3 Pekko CQRS and Event Sourcing skill.

pekko-cqrs-es-implementation

20 installs j5ik2oConditional · Scala 3 Pekko CQRS/ES

Best for: Scala 3 Pekko CQRS and Event Sourcing implementation work in an established persistence model

pekko-cqrs-es-implementation is an implementation workflow for Scala 3 systems using Pekko CQRS and Event Sourcing. It keeps domain logic pure while following Pekko Typed persistence lifecycle rules and using ZIO for coordination where the source workflow calls for it.

The card follows projections and Protobuf event evolution through the implementation boundary. Choose it when those technologies are present and code must be changed. It is an implementation guide for an existing model, rather than a conceptual architecture-tradeoff card.

  • Pure Scala 3 domain implementation
  • Pekko Typed persistence lifecycle
  • ZIO coordination and projections
  • Protobuf event evolution checks
Install this skill
$npx skills add https://github.com/j5ik2o/okite-ai --skill pekko-cqrs-es-implementation
j5ik2o/okite-ai source skills.sh listing
Works with + more

Modernization, Idioms, and Performance Review

The final card is an audit tool for an existing file or migration surface. It is deliberately read-only and suggestive. Use its findings to guide a human-reviewed change, and keep its evidence separate from framework implementation instructions.

GitHub Open Graph preview for abh80's Scala code optimizer skill.

scala-code-optimizer

35 installs abh80Conditional · Scala Refactor & Modernization Audit (Scala 2→3 modernization, idioms/anti-patterns, recursion safety/perf audit)

Best for: Read-only Scala 2 to 3 modernization, idiom, anti-pattern, recursion, or performance audits

scala-code-optimizer is a read-only and suggestive audit workflow. It examines a full file across findings, covering Scala 2 to 3 modernization, idioms, anti-patterns, recursion safety, and performance classification instead of optimizing one isolated line without context.

Use it when the requested deliverable is an audit or modernization review. Findings should retain their citations and performance classification for later human decisions. This card does not replace the implementation workflow for Cats Effect, ZIO, Pekko, or another named toolchain.

  • Full-file findings rather than line-only edits
  • Scala 2 to 3 modernization review
  • Recursion safety and performance classification
  • Read-only suggestions with citations
Install this skill
$npx skills add https://github.com/abh80/skills --skill scala-code-optimizer
abh80/skills source skills.sh listing
Works with + more

Scala 3 Syntax and Test Evidence

Language syntax and test infrastructure are separate routing decisions. The Scala 3 card belongs with a strict Scala 3.8 profile, while the Weaver card belongs with suites that use Expectations and Cats Effect resources. Neither specialist should silently become the generic answer for an arbitrary Scala repository.

GitHub Open Graph preview for sanssushi's Scala 3 syntax skill.

scala3-syntax

20 installs sanssushiConditional · Scala 3 syntax

Best for: Scala 3.8 language changes in a project that has adopted the specified strict conventions

scala3-syntax is a Scala 3 language specialist grounded in a modern Scala 3.8 strict profile. It covers givens and context bounds, enums, fewer braces, explicit nulls, and explicit equality choices for code that has made those conventions part of its build.

Choose this card from compiler settings, source syntax, and project policy. It is deliberately conditional. It does not represent a generic Scala default, and it should not rewrite Scala 2 code or an unconstrained mixed-version repository by assumption.

  • Scala 3.8 strict profile decisions
  • Givens, context bounds, and enums
  • Fewer braces with explicit nulls
  • Explicit equality and language migration boundaries
Install this skill
$npx skills add https://github.com/sanssushi/skills --skill scala3-syntax
sanssushi/skills source skills.sh listing
Works with + more
GitHub Open Graph preview for sanssushi's Scala Weaver test skill.

scala-weaver-test

24 installs sanssushiConditional · Weaver testing

Best for: Scala tests in a project already using Weaver and Cats Effect resource lifecycles

scala-weaver-test is a Weaver testing workflow grounded in suite selection and Expectations composition. It gives an agent a path through test structure, assertion composition, and the lifecycle concerns that arise when Cats Effect Resource is used by a suite.

The source also calls for discipline and property testing, with no committed .only markers or ScalaTest assertions. Load it for a Weaver repository whose test conventions matter; a generic Scala test task needs evidence before this framework-specific card is selected.

  • Weaver suite selection and structure
  • Expectations composition for assertions
  • Cats Effect Resource lifecycle in tests
  • Discipline checks without committed .only or ScalaTest
Install this skill
$npx skills add https://github.com/sanssushi/skills --skill scala-weaver-test
sanssushi/skills source skills.sh listing
Works with + more

Choose the Scala skill that matches the job

Selection should follow the repository signal. There is no universal Scala card here: every tier is Conditional, and framework or toolchain specialists are never generic defaults.

  1. 1.Inspect the language and effect boundary. Use cats-effect-io when Cats Effect IO controls the task, and cats-mtl-typed-errors when typed Raise and Handle scopes are the existing error model. Ordinary Scala work should follow the repository's own conventions.
  2. 2.Match stream and runtime evidence. Choose akka-streams when Akka Streams or Pekko Streams is in the build. Choose zio-knowledge for core ZIO runtime, streams, layers, or STM work, and zio-http-knowledge for a ZIO HTTP v3 boundary.
  3. 3.Route persistence and test frameworks narrowly. Use pekko-cqrs-es-implementation only in an established Scala 3 Pekko CQRS and Event Sourcing model. Use scala-weaver-test when the suite already uses Weaver and its Expectations and resource conventions.
  4. 4.Confirm syntax or audit scope. Use scala3-syntax only for the adopted Scala 3.8 strict profile. Use scala-code-optimizer for a read-only Scala 2 to 3 modernization, idiom, recursion, or performance audit, not as an implementation substitute.

Cats Effect, ZIO, and Pekko are different boundaries

Cats Effect cards cover suspended IO, capability selection, cancellation, managed resources, and typed error scopes. ZIO cards use current documentation evidence for runtime, streams, layers, STM, or ZIO HTTP v3. Pekko CQRS and Event Sourcing is an implementation workflow for a repository already committed to Pekko Typed persistence and projections.

Read imports, dependency declarations, runtime wiring, and tests before choosing among them. Scala on the JVM is not evidence for Cats Effect, ZIO, Akka, or Pekko. A named framework specialist stays Conditional and should be loaded only when its concrete boundary is present.

Scala 3 syntax, Weaver tests, and modernization audits

scala3-syntax belongs to a project whose compiler settings and policy adopt the modern Scala 3.8 strict profile. scala-weaver-test belongs to a suite using Weaver, Expectations, Cats Effect resources, discipline, and property testing. Neither card is a general language or testing prescription.

scala-code-optimizer is read-only and suggestive. It reviews a full file for Scala 2 to 3 modernization, idioms, anti-patterns, recursion safety, and performance classification, retaining citations for human review. It does not silently apply refactors or replace a framework workflow.

Keep Scala skills visible with LazySkills

LazySkills scans installed skills, shows which agents can see them, diagnoses broken configurations, and searches the same skills.sh registry used for this guide. Install the catalog manager, then add the Scala workflow that matches the active repository boundary.

curl -fsSL https://lazyskills.sh/install | sh
More about LazySkills

Frequently asked questions

Which Scala skill should an agent load first?

There is no broad or generic default in this catalog. Inspect the repository and task first. Cats Effect IO fits an existing IO runtime, scala3-syntax fits a Scala 3.8 strict profile, zio-knowledge fits ZIO code, and scala-code-optimizer fits a read-only audit. A plain Scala change should begin with the project's own build and conventions rather than importing a specialist by language label.

How should an agent choose Cats Effect, ZIO, or Pekko?

Read imports, build dependencies, runtime wiring, and tests. Choose cats-effect-io or cats-effect-resource when Cats Effect controls the effect and lifecycle boundary. Choose zio-knowledge for ZIO runtime, streams, layers, or STM, with zio-http-knowledge for ZIO HTTP v3. Choose pekko-cqrs-es-implementation for an established Scala 3 Pekko persistence, projection, and event evolution implementation. These are conditional ecosystem routes.

When does cats-effect-resource apply instead of cats-effect-io?

Use cats-effect-resource when acquisition, use, release, cancellation, or AutoCloseable ownership is central. Use cats-effect-io when the task centers on suspended effects, capability selection, blocking, Dispatcher interop, structured concurrency, or TestControl. A resource-heavy task can require both cards when the repository already uses Cats Effect, with lifecycle guidance kept explicit.

What does the typed errors card change in a Scala project?

cats-mtl-typed-errors routes domain failures through Raise and Handle scopes with ADTs or enums. It keeps pure Either at parsing and validation borders and avoids transformer stacks or nested IO Either in the effectful core. Select it only when the codebase uses this Cats MTL approach or the task is explicitly introducing that error algebra.

Is scala3-syntax a general Scala language default?

No. scala3-syntax is conditional on a modern Scala 3.8 strict profile. Confirm the Scala version, compiler options, and repository policy before using its guidance about givens, context bounds, enums, fewer braces, explicit nulls, and equality. Scala 2 code and mixed-version builds need their own evidence-led treatment.

When should a Scala agent use Weaver testing?

Use scala-weaver-test when the test suite uses Weaver and the task involves suite selection, Expectations composition, Cats Effect Resource lifecycle, discipline checks, or property testing. Keep .only markers out of committed code and follow the repository's actual test runner. This card is a named testing framework workflow, not a universal Scala test prescription.

What is the difference between the two ZIO cards?

zio-knowledge covers the ZIO runtime, streams, layers, and STM, using live zio.dev documentation and relevant signatures. zio-http-knowledge narrows that process to ZIO HTTP v3, typed endpoints, routing, codecs, OpenAPI, servers, and clients. Use the HTTP card for an HTTP boundary and add the broader card only when the task also crosses core ZIO concepts.

What does the Scala optimizer card deliver?

scala-code-optimizer delivers a read-only, suggestive audit of a full file. It classifies findings across Scala 2 to 3 modernization, idioms, anti-patterns, recursion safety, and performance, retaining citations for review. It does not silently apply refactors and it does not replace a named framework or effect-system implementation workflow.

Related guides

More curated skill catalogs to keep browsing.

by Alvin