AI assistants
StoatFlow is source-compatible with Kafka Streams 4.3 via an import swap — which is exactly why AI coding assistants get it confidently wrong. Every mainstream model is trained on org.apache.kafka.streams.*, so it reaches for the wrong import root, the Kafka Streams at_least_once default, replicas: N scaling, Maven Central coordinates, and Kafka Streams watermark semantics — all of which are wrong on StoatFlow. The StoatFlow AI Assistant Skills pack puts the right answers in front of your assistant.
What it does
The pack overrides the Kafka-Streams priors that produce subtly-wrong StoatFlow code. Its six skills fire on what you're doing:
| Skill | Fires when you're… |
|---|---|
stoatflow-build-topology | writing topology code — DSL, Processor API, serdes, state stores, DLQ |
stoatflow-test | writing tests — TopologyTestDriver, integration tests |
stoatflow-port-from-ks | porting a Kafka Streams / KSML app — code and state |
stoatflow-configure | configuring an app — application.yaml, guarantees, lanes, HA |
stoatflow-project-setup | wiring the build — the private Maven repo, license, JDK 25, Docker, native image |
stoatflow-operate | deploying and running it — single-instance Kubernetes, HA, probes, metrics, tuning |
Because the pack is drift-checked against the porting guide, the compatibility matrix, and the config schema on every release, it stays accurate instead of rotting into authoritative stale answers.
Install
maven.stoatflow.io.| Tool | Install |
|---|---|
| Claude Code | /plugin marketplace add stoatflow/skills → /plugin install stoatflow@stoatflow |
| Any agent (skills CLI) | npx skills add stoatflow/skills |
| Codex / AGENTS.md tools | copy AGENTS.md into your app repo |
| Cursor | copy cursor/rules/stoatflow.mdc → .cursor/rules/ (or use AGENTS.md) |
| GitHub Copilot | copy copilot/stoatflow.instructions.md → .github/instructions/ |
| JetBrains AI / Junie | copy jetbrains/guidelines.md → .junie/guidelines.md |
All of these live in the public repo stoatflow/skills.
Pin the matching version
The pack version is the StoatFlow version it targets. Each artifact carries a "Targets StoatFlow 1.0.0-rc.1" banner. If your StoatFlow version differs from the pack you installed, switch to the pack's matching tag so the divergence rules and config reference line up with your release.
The other half: llms.txt
The pack is the instruction side — files your assistant loads before it writes code.
stoatflow.io/llms.txt is the retrieval side: a machine-readable
index of this documentation, for agents that fetch a URL when they need an answer.
| File | What it is |
|---|---|
/llms.txt | Curated index — every docs page with its title and description, grouped by section |
/llms-full.txt | The same documentation concatenated into one markdown bundle, for direct ingestion |
/raw/<page>.md | Any indexed page as raw markdown — e.g. /raw/docs/concepts/exactly-once.md |
They follow the llms.txt convention, cost nothing to use, and need no install. All three are regenerated on every deploy, so they never lag the docs.
Next steps
- Install StoatFlow and set up your project — the build wiring the
stoatflow-project-setupskill also teaches. - Migrating from Kafka Streams — the
stoatflow-port-from-ksskill drives the same import codemod and state migration conversationally. - Something the pack got wrong? Get in touch — the pack is maintained upstream and improves every release.
Project setup
Apply StoatFlow's build conventions with Gradle or Maven — the JDK 25 toolchain, the required JVM flags, a runnable fat JAR, and opt-in reproducible Docker and GraalVM native images, from a few lines of config.
Core concepts
A map of the StoatFlow concept pages and the order to read them in — from the single-instance architecture through exactly-once, lanes, state, event time, configuration, and error handling.