← ClaudeAtlas

add-providerlisted

Guide for adding new AI providers to ClaudeBar using TDD patterns. Use this skill when: (1) Adding a new AI assistant provider (like Antigravity, Cursor, etc.) (2) Creating a usage probe for a CLI tool or local API (3) Following TDD to implement provider integration (4) User asks "how do I add a new provider" or "create a provider for X"
kiminmonaco/ClaudeBar · ★ 4 · Code & Development · score 67
Install: claude install-skill kiminmonaco/ClaudeBar
# Add Provider to ClaudeBar Add new AI providers following established TDD patterns and architecture. ## Architecture Overview > **Full architecture:** [docs/ARCHITECTURE.md](../../../docs/ARCHITECTURE.md) | Component | Location | Purpose | |-----------|----------|---------| | `AIProvider` | `Sources/Domain/Provider/` | Rich domain model with isEnabled state | | `UsageProbe` | `Sources/Infrastructure/CLI/` | Fetches quota from CLI/API | | Tests | `Tests/InfrastructureTests/CLI/` | Parsing + behavior tests | ## TDD Workflow ### Phase 1: Parsing Tests (Red → Green) Create `Tests/InfrastructureTests/CLI/{Provider}UsageProbeParsingTests.swift`: ```swift import Testing import Foundation @testable import Infrastructure @testable import Domain @Suite struct {Provider}UsageProbeParsingTests { static let sampleResponse = """ { /* sample API/CLI response */ } """ @Test func `parses quota into UsageQuota`() throws { let data = Data(Self.sampleResponse.utf8) let snapshot = try {Provider}UsageProbe.parseResponse(data, providerId: "{provider-id}") #expect(snapshot.quotas.count > 0) } @Test func `maps percentage correctly`() throws { /* ... */ } @Test func `parses reset time`() throws { /* ... */ } @Test func `extracts account email`() throws { /* ... */ } @Test func `handles missing data gracefully`() throws { /* ... */ } } ``` ### Phase 2: Probe Behavior Tests (