Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
grafana avatar

Add Provider

  • 1 installs
  • 524 repo stars
  • Updated August 4, 2026
  • grafana/gcx

add-provider skill documents Use when adding a new Grafana Cloud product provider to gcx (SLO, OnCall, Synthetic Monitoring, k6, ML, etc.

About

add-provider skill documents Use when adding a new Grafana Cloud product provider to gcx (SLO, OnCall, Synthetic Monitoring, k6, ML, etc.), or when the user says "add provider", "new provider", or "integrate [product]".. name: add-provider description: Use when adding a new Grafana Cloud product provider to gcx (SLO, OnCall, Synthetic Monitoring, k6, ML, etc.), or when the user says "add provider", "new provider", or "integrate [product]".

  • Use when adding a new Grafana Cloud product provider to gcx (SLO, OnCall, Synthetic Monitoring, k6, ML, etc.
  • When NOT to use: If the product exposes a K8s-compatible `/apis` endpoint,
  • Platform-specific setup patterns for add-provider.
  • Evidence-backed steps from upstream SKILL.md.
  • When-to-use criteria for add-provider versus alternatives.

Add Provider by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,172 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

add-provider capabilities & compatibility

Capabilities
add provider quick start · add provider when to use guidance · add provider integration patterns
Works with
grafana
From the docs

What add-provider says it does

verified implementation. Four stages with human approval gates.
SKILL.md
npx skills add https://github.com/grafana/gcx --skill add-provider

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars524
Last updatedAugust 4, 2026
Repositorygrafana/gcx

How do I use add-provider correctly?

Use when adding a new Grafana Cloud product provider to gcx (SLO, OnCall, Synthetic Monitoring, k6, ML, etc.), or when the user says "add provider", "new provider", or "integrate [product]".

Who is it for?

Teams implementing add-provider workflows from the catalog.

Skip if: Skip when requirements clearly match a different specialized stack.

When should I use this skill?

User asks about add-provider, use when adding a new grafana cloud product provider to gcx (slo, oncall, synthetic monito.

What you get

Working add-provider setup with validated configuration and next steps.

Files

SKILL.mdMarkdownGitHub ↗

Add Provider

Orchestrates adding a new Grafana product provider — from API discovery through verified implementation. Four stages with human approval gates.

When to Use

  • User wants to add CLI support for a Grafana Cloud product
  • User says "add provider", "new provider", "integrate [product]"
  • A bead task references provider implementation

When NOT to use: If the product exposes a K8s-compatible /apis endpoint, it already works with gcx resources — no provider needed.

First: Check references/decision-tree.md to confirm a provider is the right approach.

Workflow

Discover ──gate──> Design ──gate──> Implement ──gate──> Verify
   │                  │                  │                  │
   v                  v                  v                  v
research report    ADRs + spec       code per stage     smoke tests
StageDeliverableGate
1. Discoverdocs/research/ reportUser approves findings
2. DesignADRs + spec + smoke test planUser approves design
3. ImplementCode (one stage at a time)make all passes per stage
4. VerifySmoke tests + architecture doc updatesAll checks green

Prerequisites

Confirm with the user before starting:

  • Product name — which Grafana product to integrate
  • Access — do they have a running Grafana instance with the product enabled?
  • Scope — full provider or single resource type first?

---

Stage 1: Discover

Guide: docs/reference/provider-discovery-guide.md Sections 1.1–1.6

1a. Gather User Context

Before autonomous research, ask what the user already knows:

1. Source code access — which repo? 2. API documentation — OpenAPI specs, Grafana docs URLs? 3. Terraform resources — does the Terraform provider support this product? 4. Go SDK — existing Go client library? 5. Known quirks — non-standard auth, async ops, unusual pagination?

Use answers to skip known areas and focus research on gaps.

1b. Research

Follow provider-discovery-guide.md Sections 1.1–1.6:

  • Map API surface (base path, auth, endpoints, pagination)
  • Check existing tooling (Terraform schemas, Go SDK)
  • Inspect source code (undocumented endpoints, enum values)
  • Identify auth model
  • Map resource relationships
  • Test API behavior with real calls

1c. Write Research Report

Write findings to docs/research/YYYY-MM-DD-{product}-provider.md using the template at docs/_templates/research.md. Must include:

  • API endpoints and response shapes discovered
  • Auth model analysis
  • Resource relationships
  • At least one successful API call result
  • Confidence assessment per finding

Gate: User Approves Research

Present the research report. Do not proceed to design until approved.

---

Stage 2: Design

Guide: docs/reference/provider-discovery-guide.md Section 2

2a. Design Decisions

Answer each decision from the guide, grounded in research findings:

1. Auth strategy — reuse Grafana token or separate credentials? 2. Client type — plugin API, K8s API, or external service? 3. Envelope mapping — how do API objects map to K8s envelope? 4. Command surface — CRUD + which beyond-CRUD commands? 5. Package layout — flat or subpackaged? 6. Staging — how to break into shippable stages?

For beyond-CRUD commands: brainstorm based on real APIs found in research (status, timeline, validation, etc.). Present options to user — include "CRUD only for now" as an option.

2b. Write ADRs

For each significant decision, write an ADR in docs/adrs/{product}-provider/NNN-{decision}.md using the template at docs/_templates/adr.md. At minimum, create ADRs for:

  • Auth strategy choice
  • Client type choice (plugin API vs K8s vs external)

Other decisions can be captured in the spec if they're straightforward.

2c. Write Spec

Write the implementation plan in docs/specs/{product}-provider/:

  • Top-level plan with all stages, file tree, and decisions summary
  • Per-stage docs with scope, files to create, and acceptance criteria

Reference implementations for plan structure:

  • SLO: docs/specs/slo-provider/2026-03-04-slo-provider-plan.md
  • Synth: docs/specs/synth-provider/2026-03-06-synth-provider-plan.md

2d. Write Smoke Test Plan

Every stage doc MUST include a Verification section with concrete smoke test commands using real values (not placeholders). These are executed in Stage 4 after implementation.

Example pattern (replace with real product/resource names in actual spec):

# Provider appears in list
gcx providers | grep {name}

# Config secrets are redacted
gcx config view | grep {name}

# CRUD operations work
gcx {name} {resource} list
gcx {name} {resource} get <test-id>
gcx {name} {resource} push ./testdata/{resource}.yaml
gcx {name} {resource} pull -d ./tmp/
gcx {name} {resource} delete <test-id> --yes

# Unified resources path works
gcx resources get {alias}

Gate: User Approves Design

Present ADRs and spec. Do not proceed to implementation until approved.

---

Stage 3: Implement

Guide: docs/reference/provider-guide.md (Steps 1–7)
UX Guide: docs/reference/design-guide.md (all [CURRENT] and [ADOPT] items)

Implement one stage at a time per the approved spec. Each stage's doc is self-contained enough to resume in a fresh session.

If /build-spec or /build-task skills are available, use them to drive implementation. Otherwise, follow provider-guide.md Steps 1–7 directly. Summary of the key steps:

1. Provider interface + init() + configLoader (copy from SLO reference) 2. Config keys + validation 3. Commands with UX compliance 4. Types + client + adapter per resource type 5. Register (blank import + ResourceAdapter) 6. Tests (interface compliance, adapter round-trip, client httptest)

Key patterns (see provider-guide.md for details):

  • Hand-roll HTTP client (~200 LOC) — don't use generated OpenAPI clients
  • Copy full configLoader from internal/providers/slo/provider.go
  • Config key names use hyphen-case
  • Adapter must strip server-generated fields on Create/Update

Gate: Stage Complete

Per stage: make all passes, no regressions.

---

Stage 4: Verify

4a. Run Smoke Tests

Execute every smoke test command from the Stage 2d verification plan against a real Grafana instance. Record results (pass/fail + output).

4b. Run Checklists

From docs/reference/design-guide.md Section 7 and docs/reference/provider-guide.md:

Interface: All 5 Provider methods, Name() lowercase/unique, ConfigKeys complete, secrets marked, Validate returns actionable errors, blank import added.

UX: -o json/yaml support, text table default, actionable error suggestions, no os.Exit(), cmdio status messages, help text standards, push idempotent, format-agnostic data fetching, promql-builder for PromQL.

Build: make all, gcx providers lists it, config view redacts.

4c. Update Architecture Docs

Follow docs/reference/doc-maintenance.md structural checks — a new provider adds packages to internal/ and commands to cmd/, so architecture docs need updating.

Gate: All Green

All smoke tests pass, all checklists green, docs updated.

---

Reference Implementations

ProviderAuth ModelAPI TypeKey Entry Point
SLOSame Grafana tokenPlugin APIinternal/providers/slo/provider.go
SynthSeparate URL + tokenExternal serviceinternal/providers/synth/provider.go

Spec plans: docs/specs/slo-provider/, docs/specs/synth-provider/

Common Pitfalls

PitfallMitigation
K8s CRDs not externally accessibleVerify with real API call before choosing K8s client
Incomplete OpenAPI specsCross-reference with source code route handlers
configLoader is non-trivialCopy full impl from SLO, don't simplify
Missing blank importAdd _ ".../{name}" in cmd/gcx/root/command.go
readOnly fields in POST/PUTAdapter must strip server-generated fields

Related skills

FAQ

What does add-provider do?

add-provider skill documents Use when adding a new Grafana Cloud product provider to gcx (SLO, OnCall, Synthetic Monitoring, k6, ML, etc.

When should I use add-provider?

User asks about add-provider, use when adding a new grafana cloud product provider to gcx (slo, oncall, synthetic monito.

Is this skill safe to install?

Review the Security Audits panel on this page before installing in production.

DevOps & CI/CDmonitoring

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.