skills/scala-kindlings-derivation/SKILL.md
Scala auto-derivation with Kindlings for Circe and PureConfig. Use when replacing circe-generic/circe-generic-extras or PureConfig generic derivation with Kindlings while keeping normal Circe JSON APIs and PureConfig loading/writing APIs.
npx skillsauth add alexandru/skills scala-kindlings-derivationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Encoder, Decoder, or Codec.AsObject; keep using asJson, decode, parsers, printers.ConfigReader, ConfigWriter, or ConfigConvert; keep using ConfigSource.load and PureConfig writers.io.circe.generic.auto._, io.circe.generic.semiauto._, pureconfig.generic.auto._, or pureconfig.generic.semiauto._ when using Kindlings.KindlingsEncoder.derive[A], KindlingsDecoder.derive[A], or KindlingsCodecAsObject.derive[A].KindlingsConfigReader.derive[A], KindlingsConfigWriter.derive[A], or KindlingsConfigConvert.derive[A].type discriminator, defaults enabled, unknown keys allowed.references/circe-derivation.md for Circe derivation, annotations, discriminators, and migration notes.references/pureconfig-derivation.md for PureConfig derivation, default conventions, discriminator configuration, and supported PureConfig knobs.references/best-practices.md for organization, call-site hygiene, and validation guidance.development
Simplifies code for clarity without changing behavior. Use when code is working but overly complex, deeply nested, duplicated, or unclear.
development
Helps agents design and review Kotlin library APIs for Java consumers. Use when building Kotlin code intended for Java callers, shaping JVM signatures with @JvmName, @JvmOverloads, @JvmStatic, @JvmField, @Throws, @JvmRecord, nullability, records, and backward/binary compatibility rules.
tools
JSpecify nullness annotations for Java APIs and tooling. Use when adopting or migrating JSpecify annotations, designing null-safe Java signatures, fixing generic bounds and type-use placement, or interpreting Kotlin interop, annotation-processor, and tool-conformance behavior.
development
Helps agents write and review Scala Cats Effect Resource code. Use for preventing resource leaks and use-after-release bugs, modeling disposable values with Resource, designing Resource-returning factories and constructor-injected services, wrapping Java AutoCloseable values, composing resources, and handling cancellation-safe release.