An MCP prompt definition as advertised by prompts/list.
prompts/list
@type t() :: %Noizu.MCP.Types.Prompt{ arguments: [Noizu.MCP.Types.Prompt.Argument.t()], description: String.t() | nil, icons: [map()] | nil, meta: map() | nil, name: String.t(), title: String.t() | nil }
@spec from_map(map()) :: t()
@spec to_map(t()) :: map()