adding-provider

A step-by-step guide for adding a new AI service as a provider in the GAC project. It covers the provider code, registration, setup screen, documentation, and tests.

In plain words
What is it for?
Use it when adding an OpenAI-compatible service, an Anthropic-compatible service, or a provider with its own connection method to GAC.
Why use it?
It prevents a provider from being only partly connected, such as appearing in setup but not working in the provider registry.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/thomwebb/gac/adding-provider
Any agent
npx skills add thomwebb/gac --skill adding-provider
Clone the repo
git clone --depth 1 https://github.com/thomwebb/gac

Made for: Claude Code, Codex.

Per session 78 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,196 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00078 $0.02196
Opus 5 $0.00039 $0.01098
Sonnet 5 $0.00016 $0.00439
Haiku 4.5 $0.00008 $0.00220

Measured 2d ago against content hash 40537b6d5f07, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

adding-provider scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.skills/adding-provider/SKILL.md · 188 lines

How it starts

The opening of the file, as written. The whole thing — 188 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Adding a Provider to GAC

Overview

GAC supports 35+ providers via a registry pattern. Adding one means creating a provider class, registering it, listing it in the interactive setup CLI, advertising it in the README, and adding standardized tests. Skipping any step leaves the provider partially wired (e.g. selectable in uvx gac init but not in the registry, or callable but not advertised).

Core principle: every provider lives in five places. Touch all five.

When to Use

Use when:

  • A user asks to "add X as a provider"
  • You need to support a new OpenAI-compatible inference service (cheapest case — extend OpenAICompatibleProvider)
  • You need to support an Anthropic-compatible or custom-protocol provider

Do NOT use for:

  • Modifying behavior of an existing provider (just edit its file)
  • Adding a new model to an existing provider (no code change needed; users set GAC_MODEL)

The Five Touch Points

# Path Purpose
1 src/gac/providers/<key>.py Provider class (NEW file)
2 src/gac/providers/__init__.py Import + register_provider("<key>", Cls)
3 src/gac/model_cli.py Add to providers list in _configure_model; add alias mapping if display name → key derivation doesn't match
4 README.md Add to "Supported Providers" bullet list
5 tests/providers/test_<key>.py + tests/test_ai.py + tests/test_model_cli_providers.py Tests (NEW + edits)

Read the full file on GitHub · 188 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 188 lines · 78 tokens per session scan A 40537b6d5f07

Subscribe to this mod's changes

adding-provider is a skill published in the GitHub repository thomwebb/gac (318 stars, last pushed 5d ago), licensed MIT. It adds 78 tokens to every session and 2,196 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

android-architecture

Default Android app architecture: MVVM, three Gradle modules, Jetpack Compose, Hilt, Coil, Ktor, Room, DataStore. Use when creating or changing Android, Kotlin, Jetpack Compose, Gradle modules, Activities, ViewModels, or Android libraries in an app that has not already chosen a different pattern.

sergenes/mini_agent · 71 tokens

seo-audit

SEO 诊断专家,基于 Google、Ahrefs、微软搜索指南设计的 92 项检查清单。 触发词:SEO审计、SEO诊断、网站SEO检查、为什么排名不好、技术SEO检查、页面SEO、E-E-A-T检查、内容质量分析。 输入一个网址,自动执行技术SEO(29项)、页面元素(27项)、内容质量与E-E-A-T(33项)、本地SEO(3项)四维度诊断,支持智能语言检测、站点分类与动态选页,生成中英文报告。.

wonfull888/seo-audit · 126 tokens

running-the-agent

How to run miniagent locally, remotely, or in mixed mode, including Ollama, env vars, MCP, interactive REPL, and provider fallback. Use when running agent.py, adding a provider, debugging tool calling, or setting up .env.

sergenes/mini_agent · 55 tokens

ios-architecture

Default iOS and macOS app architecture: MVVM, SwiftUI, @Observable, async/await, URLSession. Use when creating or changing iOS, iPadOS, macOS, SwiftUI, ViewModels, Swift packages, or Xcode app targets that have not already chosen a different pattern.

sergenes/mini_agent · 67 tokens

new-project

Bootstrap a new product repository for agentic development. Use when starting a new app, empty repo, greenfield project, or when the user asks to stand up the factory, the start loop, or what to install before the first feature.

sergenes/mini_agent · 51 tokens

web-architecture

Default web app architecture: TypeScript, feature folders, a view / state / client split in the same spirit as MVVM. Use when creating or changing web UI, TypeScript/JavaScript frontend, React or similar SPA/SSR pages, CSS, or browser API clients in an app that has not already chosen a different pattern.

sergenes/mini_agent · 71 tokens