Behaviour for skill kit providers.
Host applications implement this behaviour for their own storage.
Summary
Callbacks
@callback get_kit(config :: keyword(), name :: String.t()) :: {:ok, SkillKit.Kit.t()} | {:error, :not_found}
@callback list_kits(config :: keyword()) :: {:ok, [SkillKit.Kit.t()]} | {:error, term()}
@callback load_kits(config :: keyword()) :: {:ok, [SkillKit.Kit.t()]} | {:error, term()}