cue-kind-definition

Build valid grafana-app-sdk CUE kind definitions with three-layer anatomy.

1|Updated May 21, 2026
One-click install
npx skills add https://github.com/1k-off/umbraco-observability-playground --skill cue-kind-definition-1k-off
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cue-kind-definition
Source: https://github.com/1k-off/umbraco-observability-playground/tree/main/.agents/skills/cue-kind-definition
Command: npx skills add https://github.com/1k-off/umbraco-observability-playground --skill cue-kind-definition-1k-off

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It solves the problem of building correct, versioned grafana-app-sdk CUE kind definitions that drive code generation and API behavior.

Core Features & Use Cases

  • Scaffold and structure CUE kind files: Use the grafana-app-sdk workflow to create and organize kind metadata, per-version schemas, and the app manifest registration.
  • Model spec vs status correctly: Enforce Kubernetes-style separation so user-provided desired state lives in spec while operator-observed fields live in status.
  • Design schemas with constraints and codegen intent: Add validation constraints, reusable named types, optional defaults, and per-version code generation toggles (TypeScript and Go).

Quick Start

Ask the agent to scaffold a new CUE kind definition for MyKind with a v1alpha1 schema that includes a spec and a read-only status, then explain what to put in each CUE layer.

Frequently Asked Questions about cue-kind-definition

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I define a grafana-app-sdk CUE kind with a Kubernetes-style spec and status?

To define a grafana-app-sdk CUE kind, you structure three CUE layers: common kind metadata, per-version schema, and app manifest registration. You separate user-desired state into spec and operator-observed fields into status to match the Kubernetes-style resource model.

What is the correct CUE anatomy for generating Kubernetes CRDs with grafana-app-sdk?

The correct CUE anatomy for generating Kubernetes CRDs involves three layers: common kind metadata, per-version schemas with validation constraints, and app manifest registration. This structure ensures generated clients, types, and manifests align with your intended resource model.

How do I add a new version to an existing CUE kind definition without breaking API compatibility?

To add a new version to a CUE kind definition without breaking API compatibility, you configure a new per-version schema alongside existing ones and apply version compatibility rules. This allows safe schema extension while maintaining valid code generation for all targets.

Can I toggle code generation for TypeScript and Go independently in CUE kind definitions?

Yes, you can toggle TypeScript and Go code generation independently in CUE kind definitions. By setting per-version codegen toggles within your schema design, you control exactly which target clients and types are generated for each API version.

Why does my generated Kubernetes CRD manifest not match my intended spec and status model?

Your generated CRD manifest may not match your intended model if the CUE kind definition lacks proper spec and status separation or validation constraints. Enforce Kubernetes-style conventions and ensure the three-layer CUE anatomy is correctly structured.