Behaviour for exposing prompt templates through MCP.
@callback arguments_schema() :: map()
@callback description() :: String.t() | nil
@callback messages(arguments :: map(), frame :: Anubis.Server.Frame.t()) :: {:ok, [map()]} | {:error, term()}
@callback name() :: String.t()