Slash command registry: discovery and dispatch.
@spec commands() :: [module()]
@spec find(String.t()) :: module() | nil
@spec find_selector(atom()) :: module() | nil
@spec specs() :: [map()]