Which LLM Providers Does SkillSpector Support for Semantic Analysis?

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, 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) 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) 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) 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) 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 and invoke binary executables directly.

Claude CLI

The Claude CLI provider (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) drives the local Codex executable for semantic analysis tasks.

Gemini CLI

The Gemini CLI provider (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) offers an experimental local CLI interface, disabled by default.

Provider Configuration and Selection

Provider resolution flows through 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:

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:

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:

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.
  • 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 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) 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. 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 to instantiate them interchangeably.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →