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.