skills/akka-streams/SKILL.md
Scala reactive streaming with Akka Streams and Pekko Streams. Use for dataflow and reactive programming patterns, testing stream components, and understanding when NOT to use streams (prefer plain functions for transformations and I/O).
npx skillsauth add alexandru/skills akka-streamsInstall 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.
TestSource, TestSink, and TestProbe from akka-stream-testkit.references/akka-streams.md for core concepts and patterns.references/best-practices.md for critical guidance on when NOT to use streams.references/testing.md for comprehensive testing examples.Source, Flow, and Sink components as separate, testable units.recover, recoverWithRetries, or supervision strategies.TestSource/TestSink or TestProbe before integration.akka-stream-testkit for custom stream components.TestSource.probe and TestSink.probe for fine-grained control over element flow.request() and expectNoMessage().expectError() or supervision strategies.akka.* to org.apache.pekko.*).references/akka-streams.md for core concepts, operators, and materialization.references/best-practices.md for critical guidance on avoiding stream overuse.references/testing.md for testing patterns and complete examples.development
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.
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.