"Operate Outlines server and black-box provider integrations
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill remote-providers --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Remote Providers?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-remote-providers)More formats (shields.io, HTML) on the badges page.
---
name: remote-providers
description: "Operate Outlines server and black-box provider integrations
without invoking live models."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
---
# remote-providers
Use this sub-skill when the task involves Outlines model loaders for
server-based or black-box clients: OpenAI/Azure OpenAI, Anthropic, Gemini,
Mistral, Ollama, LM Studio, SGLang, TGI, vLLM server mode, or Dottxt.
This skill is for configuration, routing, capability checks, and error recovery.
Do **not** call provider services, do not validate real credentials, and do not
print secret values.
## Read First
- [Provider matrix](references/provider-matrix.md) for loader signatures,
supported modes, output types, credentials/endpoints, and exclusions.
- [API reference](references/api-reference.md) for safe loader patterns,
output-type compatibility, and normalized exceptions.
- [Workflows](references/workflows.md) for provider selection, async/stream
routing, no-network prerequisite checks, and retry/backoff decisions.
- [Troubleshooting](references/troubleshooting.md) for install/import, auth,
rate limits, unsupported structured outputs, endpoint mismatches, refusals,
and mock-vs-live verification.
- [scripts/check_provider_prereqs.py](scripts/check_provider_prereqs.py) for a
read-only import/env/endpoint probe that never calls a model service.
## Use This When
- Choosing the correct `from_*` loader for a provider client object.
- Deciding whether a task can use sync, async, streaming, or batch calls.
- Checking whether an `output_type` can run on a black-box provider.
- Diagnosing provider SDK import errors, missing API-key variables, endpoint
configuration, or normalized `outlines.exceptions` errors.
- Handling OpenAI-compatible servers while preserving SGLang/TGI/vLLM-specific
structured-output behavior.
## Route Elsewhere
- Output-type design, schema shaping, regex/CFG conversion, or local constrained
decoding strategy -> `../structured-generation/SKILL.md`.
- Prompt, chat, multimodal input construction, reusable generators, or call
orchestration -> `../prompt-workflows/SKILL.md`.
- Local/offline engines (`Transformers`, `LlamaCpp`, `MLXLM`, `VLLMOffline`) ->
the local model/runtime route, not this server-provider route.
## Operating Rules
1. **Select the loader from the actual client class.** `from_openai`,
`from_sglang`, and `from_vllm` all accept OpenAI SDK clients, but they build
different request bodies for structured output. Do not treat them as
interchangeable.
2. **Reject unsupported output types before retrying.** For example, an OpenAI
`Regex` or `CFG` request is a capability mismatch; route to a local/supported
provider instead of retrying the same OpenAI request.
3. **Batch is unavailable for all providers in this skill.** Server wrappers here
raise `NotImplementedError` for `batch`; use caller-side bounded concurrency
only when the provider wrapper has an async model and the provider limits
permit it.
4. **Retry only normalized transient errors.** `RateLimitError`, `ServerError`,
`APITimeoutError`, and `APIConnectionError` expose `retryable=True`.
Authentication, permission, not-found, malformed request/schema, and refusal
errors require configuration or request changes.
5. **Preserve request IDs and providers.** When catching `APIError`, surface
`provider`, `status_code`, `request_id`, `retryable`, and `hint` without
exposing secrets.
6. **No credentials or live probes.** Use placeholders in examples and the
bundled prerequisite script for import/env checks only.
## Fast Capability Snapshot
| Provider route | Loader | Async | Stream | Batch | Structured-output support |
|---|---|---:|---:|---:|---|
| OpenAI / Azure | `from_openai(client, model_name=None)` | yes | yes | no | JSON schema strict + JSON mode; no Regex/CFG/simple choice |
| Anthropic | `from_anthropic(client, model_name=None)` | no | yes | no | none through Outlines `output_type` |
| Gemini | `from_gemini(client, model_name=None)` | no | yes | no | JSON schema subset, homogeneous lists, enum/choice; no Regex/CFG |
| Mistral | `from_mistral(client, model_name=None, async_client=False)` | opt-in | yes | no | strict JSON schema + JSON mode; no Regex/CFG |
| Ollama | `from_ollama(client, model_name=None)` | yes | yes | no | JSON schema only; no Regex/CFG |
| LM Studio | `from_lmstudio(client, model_name=None)` | yes | yes | no | JSON schema only; local SDK errors are not normalized |
| SGLang | `from_sglang(client, model_name=None)` | yes | yes | no | JSON/schema/regex/simple/choice; CFG only as SGLang-compatible EBNF |
| TGI | `from_tgi(client)` | yes | yes | no | JSON/schema/regex/simple/choice; no CFG |
| vLLM server | `from_vllm(client, model_name=None)` | yes | yes | no | JSON/schema/regex/simple/choice/CFG if server supports structured outputs |
| Dottxt | `from_dottxt(client, model=None)` | yes | no | no | JSON schema only; output type and model id required |
Keep provider-specific caveats in [provider-matrix.md](references/provider-matrix.md)
in front of any implementation or recovery plan.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!