Skip to main content
skill CX Codex

app-sdk-concepts — Claude Code skill: what it does, how to install

This skill guides Grafana App Platform work: choose a deployment mode, scaffold an app, and connect CUE schemas with generated Go logic.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add grafana/skills --skill app-sdk-concepts -a claude-code
Open on GitHub

What app-sdk-concepts does

app-sdk-concepts covers grafana-app-sdk, a CLI and Go library for schema-centric apps on the Grafana App Platform. It guides standalone operator projects, apps inside grafana/apps, and frontend-only projects. It also explains project layout and app registration.

The workflow starts with CUE schemas. project kind add MyKind creates a kind scaffold, while generate produces Go types, clients, TypeScript types, an AppManifest, and CRDs. You then fill in reconciler or admission logic. Run grafana-app-sdk generate again after every change to kinds/*.cue, because generated code is the API that the reconciler uses.

Install the CLI with go install and verify it with grafana-app-sdk version before running project init. Skipping the binary update can leave you using an older version. The grafana/apps mode requires the Grafana repository or a fork; frontend-only is for apps without Go logic.

What it helps with

  • choose a Grafana app deployment mode
  • scaffold a project with project init
  • define a CUE resource and generate its code
  • wire reconciler or admission logic

Example prompts for the agent

  • Help me start a Grafana App Platform app and choose between standalone operator, grafana/apps, and frontend-only.
  • Initialize a project with grafana-app-sdk, add MyKind, edit kinds/*.cue, and generate the Go and TypeScript code.
  • Show the layout and registration steps for an app inside grafana/apps.

How to install app-sdk-concepts

1Skills CLI (Vercel)

npx skills add grafana/skills --skill app-sdk-concepts -a claude-code

2Manually: put the files in place

~/.claude/skills/app-sdk-concepts/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/app-sdk-concepts/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about app-sdk-concepts

How do I install app-sdk-concepts in Claude Code?

Run npx skills add grafana/skills --skill app-sdk-concepts -a claude-code, then run npx skills add grafana/skills --skill app-sdk-concepts -a claude-code again and check ~/.claude/skills/app-sdk-concepts/SKILL.md.

What does app-sdk-concepts do?

It guides Grafana App Platform development, from choosing a deployment mode to defining CUE kinds, generating code, and implementing reconciler or admission logic.

What do I need before using grafana-app-sdk?

Install the CLI with go install github.com/grafana/grafana-app-sdk/cmd/grafana-app-sdk@latest, then verify it with grafana-app-sdk version. The grafana/apps mode needs the Grafana repository or a fork.

Source text

SKILL.md · Apache-2.0
---
name: app-sdk-concepts
license: Apache-2.0
description: Use when starting any grafana-app-sdk work — scaffolding a Grafana app, initializing a Grafana App Platform app, picking a deployment mode (standalone operator / grafana/apps / frontend-only), wiring app-specific config, or onboarding to the SDK. Covers `grafana-app-sdk` CLI install, `project init` per deployment mode, project layout, the schema-centric workflow (CUE kinds → generated code → reconciler/admission logic), and `SpecificConfig` for env-driven app configuration. Use even if the user just says "make a new app", "Grafana app platform", "kinds and watchers", "operator scaffold", or asks about `apps/` inside the Grafana repo, without naming the SDK explicitly.
---

# Grafana App SDK Concepts

The grafana-app-sdk is a CLI + Go library for building schema-centric apps on the Grafana App Platform. Apps define resources via CUE schemas ("kinds"), generate Go + TypeScript code, and implement business logic via admission control and reconcilers.

## Prerequisites

```bash
go install github.com/grafana/grafana-app-sdk/cmd/grafana-app-sdk@latest
grafana-app-sdk version   # verify
```

## Common Workflows

### Scaffold a standalone operator app

```bash
# 1. Init the project (use the Go module path)
grafana-app-sdk project init github.com/example/my-app

# 2. Add operator scaffolding — ASK THE USER FIRST.
#    They may prefer to write app.App by hand.
grafana-app-sdk project component add operator

# 3. Verify scaffolded layout
ls pkg/app pkg/watchers cmd/operator
# Expected: app.go, watchers/<kind>.go, main.go
```

Common failure: forgetting `go install` updates the binary — verify with `grafana-app-sdk version` before init.

### Scaffold a grafana/apps-style app (inside `grafana/grafana`)

Only available inside the Grafana repo (or fork) — the init command detects `apps/` and `pkg/registry/apps/` at the repo root.

```bash
mkdir -p apps/my-app && cd apps/my-app
grafana-app-sdk project init github.com/grafana/grafana/apps/my-app

# Keep ONLY: kinds/ pkg/ go.mod go.sum — delete everything else.
cp apps/example/Makefile       apps/my-app/Makefile
cp apps/example/kinds/config.cue apps/my-app/kinds/config.cue   # overwrite
go work use ./apps/my-app
```

Then register the app inside Grafana (`pkg/registry/apps/apps.go` + `register.go`). Full walkthrough in [references/deployment-modes.md](references/deployment-modes.md#grafanaapps).

### End-to-end development loop

```
1. project init               → module, Makefile, kinds/
2. project kind add MyKind    → CUE kind scaffold
3. Edit kinds/*.cue           → schemas, validation, versions
4. grafana-app-sdk generate   → Go types, clients, TS types, AppManifest, CRDs
5. Implement logic            → fill in reconciler / admission stubs
6. (optional) project component add frontend
```

Always rerun `generate` after every CUE change — generated code is the API your reconciler sees.

## Deployment modes (one-line table)

| Mode | When to pick | Where it runs |
|------|--------------|---------------|
| Standalone operator | Outside Grafana repo, want your own binary | Kubernetes operator with its own webhook server |
| grafana/apps | Inside `github.com/grafana/grafana` (or fork) | In-process inside Grafana's API server |
| Frontend-only | UI-only app, no Go logic needed | No backend — TS types only |

Full per-mode init, runtime, and wiring detail in [references/deployment-modes.md](references/deployment-modes.md).

## References

- [`references/deployment-modes.md`](references/deployment-modes.md) — per-mode init, runtime semantics, grafana/apps registration walkthrough
- [`references/project-structure.md`](references/project-structure.md) — standalone project layout, what's hand-edited vs generated
- [`references/cli-reference.md`](references/cli-reference.md) — every `grafana-app-sdk` subcommand with flags
- [`references/specific-config.md`](references/specific-config.md) — `app.Config.SpecificConfig` pattern for feature-flag-driven app config
- [`references/local-development.md`](references/local-development.md) — Tilt + k3d local dev loop
- [`references/local-config.md`](references/local-config.md) — `local/config.yaml` reference

## Resources

- [grafana-app-sdk repo](https://github.com/grafana/grafana-app-sdk)
- [App Platform docs](https://grafana.com/docs/grafana/latest/developers/plugins/app-platform/)

© grafana · Apache-2.0 · grafana/skills

Similar skills

All skills for DevOps and infrastructure →

From the same set51

k6-docs A skill to write, edit, and review documentation, TypeScript definitions, and release notes across k6 repositories. CX Codex +1 4,200installs testing Sets up uptime probes, k6 load tests, and frontend observability through Grafana Cloud. Use it before a release or when investigating failures. CX Codex +1 4,200installs cue-kind-definition Walks an agent through CUE kind definitions in grafana-app-sdk apps: spec and status schemas, versions, field constraints and codegen. CX Codex +1 4,200installs reconciler-logic Helps implement reconcilers and watchers for grafana-app-sdk applications. Guides reconcile loops, atomic status updates, and resource filters. CX Codex +1 4,200installs adaptive-metrics A skill for working with Adaptive Metrics aggregation rules: it helps shrink active-series count in Grafana Cloud Metrics and dig into a high Mimir bill. CX Codex +1 4,200installs private-connectivity Sets up private network connectivity to Grafana Cloud over AWS PrivateLink, Azure Private Link, GCP Private Service Connect and PDC. Useful when telemetry must stay off the public internet. CX Codex +1 4,100installs ml-ai Enables machine learning and AI features in Grafana Cloud. It helps set up Prophet forecasts, DBSCAN outlier alerts, and Sift root-cause investigations. CX Codex +1 4,100installs react-19-plugin-migration This skill guides changes that prepare a Grafana plugin for React 19 compatibility without upgrading React itself. Use it to scan a plugin and work through the migration steps. CX Codex +1 4,100installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor