app-sdk-concepts — скилл для Claude Code: что делает и как установить
Скилл помогает начинать разработку приложений для Grafana App Platform: выбрать режим, создать каркас и связать CUE-схемы с Go-логикой.
npx skills add grafana/skills --skill app-sdk-concepts -a claude-codeЧто делает app-sdk-concepts
app-sdk-concepts объясняет работу с grafana-app-sdk — CLI и Go-библиотекой для приложений на Grafana App Platform. Скилл подсказывает, как создать standalone operator, приложение в grafana/apps или frontend-only проект, а также как устроены каталоги и регистрация приложения.
Рабочий цикл строится вокруг CUE-схем: project kind add MyKind создаёт каркас kind, generate выпускает Go-типы, клиентов, TypeScript-типы, AppManifest и CRD. Затем в проект добавляют логику reconciler или admission. После каждого изменения в kinds/*.cue нужно снова запускать grafana-app-sdk generate.
Для работы с SDK сначала установите CLI через go install, затем проверьте grafana-app-sdk version. Если пропустить обновление бинарника, project init может использовать старую версию. Режим grafana/apps требует репозиторий Grafana или его fork, а frontend-only рассчитан на приложение без Go-логики.
Какие задачи решает
- выбрать режим развёртывания приложения Grafana
- создать каркас проекта через
project init - описать ресурс в CUE и сгенерировать код
- подключить reconciler или admission-логику
Примеры запросов агенту
- Создай новое приложение Grafana App Platform и помоги выбрать между standalone operator,
grafana/appsи frontend-only. - Инициализируй проект с
grafana-app-sdk, добавьMyKind, объясни изменения вkinds/*.cueи запусти генерацию. - Покажи структуру приложения в
grafana/appsи шаги его регистрации внутри Grafana.
Как установить app-sdk-concepts
1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill app-sdk-concepts -a claude-code2Вручную: положить файлы
~/.claude/skills/app-sdk-concepts/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/app-sdk-concepts/
1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill app-sdk-concepts -a codex2Вручную: положить файлы
.agents/skills/app-sdk-concepts/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill app-sdk-concepts -a cursor2Вручную: положить файлы
.cursor/skills/app-sdk-concepts/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install grafana/skills app-sdk-concepts2Вручную: положить файлы
.github/skills/app-sdk-concepts/SKILL.md1Через Skills CLI (Vercel)
npx skills add grafana/skills --skill app-sdk-concepts -a gemini-cli2Командой платформы
gemini skills install https://github.com/grafana/skills --path skills/grafana-app-sdk/app-sdk-conceptsВручную: положить файлы
.devin/skills/app-sdk-concepts/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add grafana/skills --skill app-sdk-concepts -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о app-sdk-concepts
Как установить app-sdk-concepts в Claude Code?
Выполните npx skills add grafana/skills --skill app-sdk-concepts -a claude-code, затем повторите npx skills add grafana/skills --skill app-sdk-concepts -a claude-code и проверьте файл ~/.claude/skills/app-sdk-concepts/SKILL.md.
Что делает app-sdk-concepts?
Скилл помогает создавать приложения для Grafana App Platform, выбирать режим развёртывания и проходить цикл от CUE-kind до сгенерированного кода и логики reconciler или admission.
Что нужно подготовить для работы с grafana-app-sdk?
Установите CLI командой go install github.com/grafana/grafana-app-sdk/cmd/grafana-app-sdk@latest, затем проверьте его через grafana-app-sdk version. Для режима grafana/apps нужен репозиторий Grafana или его fork.
Исходный текст
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