# Which LLM Providers Does SkillSpector Support for Semantic Analysis?

> Discover which LLM providers SkillSpector supports for semantic analysis including OpenAI Anthropic NVIDIA Build and more Learn how to easily select your provider via the SKILLSPECTOR_PROVIDER environment variable

- Repository: [NVIDIA Corporation/SkillSpector](https://github.com/NVIDIA/SkillSpector)
- Tags: api-reference
- Published: 2026-07-11

---

**SkillSpector supports eight LLM providers for semantic analysis: OpenAI, Anthropic, NVIDIA Build, NVIDIA Inference Hub, Claude CLI, Codex CLI, Gemini CLI, and Antigravity CLI, selectable via the `SKILLSPECTOR_PROVIDER` environment variable.**

The NVIDIA SkillSpector repository implements a modular provider architecture that abstracts LLM interactions for semantic analysis tasks. When analyzing code repositories, the tool routes language model requests through a unified interface defined in [`src/skillspector/providers/base.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/base.py), allowing seamless switching between cloud APIs and local CLI executables. This design ensures that the semantic analysis pipeline remains agnostic to the underlying model source while supporting diverse backends.

## Cloud-Based LLM Providers

SkillSpector integrates with four cloud-based providers via HTTP APIs. These implementations reside in the `src/skillspector/providers/` directory and handle authentication, model metadata resolution, and context limit management.

### OpenAI

The **OpenAI** provider ([`src/skillspector/providers/openai/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/openai/provider.py)) enables access to GPT models including `gpt-4` and `gpt-3.5-turbo`. It serves as the default when no provider is explicitly configured.

### Anthropic

The **Anthropic** provider ([`src/skillspector/providers/anthropic/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/anthropic/provider.py)) supports Claude models such as `claude-opus-4-6`, providing HTTP-based access to Anthropic's API.

### NVIDIA Build

The **NVIDIA Build** provider ([`src/skillspector/providers/nv_build/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/nv_build/provider.py)) connects to models hosted on `build.nvidia.com`, including DeepSeek-V4 and Llama-3 variants.

### NVIDIA Inference Hub

The **NVIDIA Inference Hub** provider ([`src/skillspector/providers/nv_inference/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/nv_inference/provider.py)) targets Azure-hosted models, offering compatibility with Anthropic and OpenAI-compatible endpoints through NVIDIA's inference infrastructure.

## CLI-Based LLM Providers

For environments preferring local executables or requiring offline operation, SkillSpector includes four CLI-based providers. These inherit from the base class in [`src/skillspector/providers/_agent_cli.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/_agent_cli.py) and invoke binary executables directly.

### Claude CLI

The **Claude CLI** provider ([`src/skillspector/providers/claude_cli/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/claude_cli/provider.py)) interfaces with the local Claude binary when installed on the system.

### Codex CLI

The **Codex CLI** provider ([`src/skillspector/providers/codex_cli/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/codex_cli/provider.py)) drives the local Codex executable for semantic analysis tasks.

### Gemini CLI

The **Gemini CLI** provider ([`src/skillspector/providers/gemini_cli/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/gemini_cli/provider.py)) invokes the Gemini binary for local processing.

### Antigravity CLI

The **Antigravity CLI** provider ([`src/skillspector/providers/antigravity_cli/provider.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/antigravity_cli/provider.py)) offers an experimental local CLI interface, disabled by default.

## Provider Configuration and Selection

Provider resolution flows through [`src/skillspector/providers/registry.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/registry.py), which maps string identifiers to concrete implementations. Set the `SKILLSPECTOR_PROVIDER` environment variable to one of the supported keys (`openai`, `anthropic`, `nv_build`, `nv_inference`, `claude_cli`, `codex_cli`, `gemini_cli`, `antigravity_cli`) to activate a specific backend.

If `SKILLSPECTOR_PROVIDER` is unset, the system falls back to the OpenAI provider automatically.

## Practical Implementation Examples

The following examples demonstrate how to configure and invoke different providers within the SkillSpector framework.

Select the OpenAI provider using default settings:

```python
import os
from skillspector.llm_utils import chat_completion

# No env var → OpenAI is chosen automatically

response = chat_completion(
    prompt="Summarize the security implications of this code snippet.",
    model="gpt-4",
    max_output_tokens=512,
)
print(response)

```

Switch to the NVIDIA Build provider for DeepSeek models:

```python
import os
from skillspector.llm_utils import chat_completion

os.environ["SKILLSPECTOR_PROVIDER"] = "nv_build"

response = chat_completion(
    prompt="Identify any insecure function calls in the following code.",
    model="deepseek-ai/deepseek-v4-flash",
    max_output_tokens=256,
)
print(response)

```

Execute the full semantic analysis pipeline using the active provider:

```python
from skillspector.nodes.meta_analyzer import MetaAnalyzer
from skillspector.graph import SkillGraph

graph = SkillGraph.from_path("/path/to/repo")
analyzer = MetaAnalyzer()
results = analyzer.run(graph)  # Uses the configured LLM provider

print(results.report())

```

## Summary

- SkillSpector supports **eight LLM providers** for semantic analysis: OpenAI, Anthropic, NVIDIA Build, NVIDIA Inference Hub, Claude CLI, Codex CLI, Gemini CLI, and Antigravity CLI.
- All providers implement the `LLMProvider` protocol defined in [`src/skillspector/providers/base.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/base.py).
- **Cloud providers** (OpenAI, Anthropic, NVIDIA Build, NVIDIA Inference Hub) reside in `src/skillspector/providers/<name>/provider.py` and use HTTP APIs.
- **CLI providers** (Claude, Codex, Gemini, Antigravity) inherit from [`src/skillspector/providers/_agent_cli.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/_agent_cli.py) and invoke local binaries.
- The active provider is selected via the `SKILLSPECTOR_PROVIDER` environment variable; OpenAI is the default.
- The semantic analysis node ([`src/skillspector/nodes/meta_analyzer.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/nodes/meta_analyzer.py)) consumes the active provider to generate insights.

## Frequently Asked Questions

### What is the default LLM provider if I do not set the environment variable?

If `SKILLSPECTOR_PROVIDER` is not defined, SkillSpector automatically falls back to the **OpenAI** provider. This behavior is hardcoded in the registry resolution logic to ensure immediate functionality for users with OpenAI API keys.

### Can I use local CLI models instead of cloud APIs for semantic analysis?

Yes. SkillSpector supports four CLI-based providers: **Claude CLI**, **Codex CLI**, **Gemini CLI**, and **Antigravity CLI**. These providers invoke locally installed binaries rather than HTTP endpoints, making them suitable for air-gapped environments or users preferring local execution. Configure them by setting `SKILLSPECTOR_PROVIDER` to the corresponding CLI key (e.g., `claude_cli`).

### How does SkillSpector handle different model context limits across providers?

Each provider implementation in `src/skillspector/providers/<provider>/provider.py` exposes metadata including context-length and max-output-token limits. When initialized, the provider passes these constraints to the LangChain chat model constructor or CLI wrapper, ensuring that the semantic analysis node respects the underlying model's capacity.

### Which file defines the interface that all LLM providers must implement?

The `LLMProvider` protocol is defined in [`src/skillspector/providers/base.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/base.py). This interface requires implementations to supply methods for metadata resolution, credential retrieval, and chat model instantiation. All eight supported providers conform to this contract, enabling the registry in [`src/skillspector/providers/registry.py`](https://github.com/NVIDIA/SkillSpector/blob/main/src/skillspector/providers/registry.py) to instantiate them interchangeably.