> Canonical guide: https://developers.foxlight.ai/build/chat-middleware/
> Contract snapshots: Skulk 2.0.0 (b0af39c79b6b7102b2478062904f1d7cc8619975); SDK 0.4.0 (31bb090b8f64689f87514e48385e22b6ad94a6c2). Check the installed runtime when versions differ.

# Chat middleware

Request middleware transforms normalized chat parameters before dispatch. Response observers run after streaming finishes and receive an immutable summary.

## How it works

Middleware can use cluster embeddings through its extension context. Handle unavailable embedding capacity gracefully. Observers can log or index; they cannot rewrite an already-completed stream.

## Complete contract

Read the [Skulk 2.0 development guide](https://docs.foxlight.ai/skulk/next/extensions/#the-contract) for the complete parameters, constraints, examples and operational behavior.
