[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-grafana-gcx":3,"mdc--yozx2f-key":34,"related-org-grafana-gcx":2584,"related-repo-grafana-gcx":2765},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"gcx","manage Grafana Cloud resources via gcx","Manages Grafana Cloud resources via the gcx CLI. Trigger when the user wants to inspect, create, update, delete, query, or automate any Grafana resource - dashboards, datasources, alerts, SLOs, synthetic checks, oncall, incidents, fleet, k6, knowledge graph, or adaptive telemetry.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"grafana","Grafana","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgrafana.jpg",[12,16,19,22],{"name":13,"slug":14,"type":15},"Operations","operations","tag",{"name":17,"slug":18,"type":15},"Monitoring","monitoring",{"name":20,"slug":21,"type":15},"CLI","cli",{"name":9,"slug":8,"type":15},430,"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fgcx","2026-07-31T05:53:50.587304",null,29,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"A CLI for managing Grafana Cloud resources. Optimized for agentic usage.","https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fgcx\u002Ftree\u002FHEAD\u002Fclaude-plugin\u002Fskills\u002Fgcx","---\nname: gcx\ndescription: >\n  Manages Grafana Cloud resources via the gcx CLI. Trigger when the user wants to\n  inspect, create, update, delete, query, or automate any Grafana resource -\n  dashboards, datasources, alerts, SLOs, synthetic checks, oncall, incidents,\n  fleet, k6, knowledge graph, or adaptive telemetry.\nuser-invocable: true\ndisable-model-invocation: false\nallowed-tools: Bash, Read, Write, Edit, Glob, Grep, Agent, AskUserQuestion\n---\n\n# gcx — Grafana Cloud CLI\n\ngcx is a unified CLI for Grafana Cloud, organized like kubectl: named contexts,\nstructured output, and a consistent verb model across all resource types.\n\n## Discover Before You Act\n\ngcx has a built-in command catalog. Never guess a command — discover it first.\nUse **progressive disclosure** to minimize token cost:\n\n**Step 1 — Orient** (30 lines, all top-level groups):\n```bash\ngcx help-tree --depth 1 -o text\n```\n\n**Step 2 — Drill down** (5-20 lines per group):\n```bash\ngcx help-tree \u003Cgroup> -o text      # full subtree for one group\ngcx \u003Cgroup> \u003Csubcommand> --help    # exact flags and args\n```\n\n**Build payloads:**\n```bash\ngcx resources list-types \u003Ckind>     # resource types + JSON schema for a type\ngcx resources list-examples \u003Ckind>  # example manifest\n```\n\nOnly fall back to `gcx commands --flat -o json` when you need structured metadata\nfor automation - the output is hundreds of kilobytes and unsuitable for orientation.\n\n### Intent-to-Group Quick Reference\n\nWhen you already know the user's intent, skip discovery and go straight to the\nright group:\n\n| Intent | Group | Example |\n|--------|-------|---------|\n| Dashboards, folders, K8s resources | `resources` | `gcx resources get dashboards` |\n| SLO definitions and reports | `slo` | `gcx slo definitions list` |\n| Alert rule status, notification settings | `alert` | `gcx alert rules list` |\n| Create\u002Fmodify\u002Fdelete alert rules | `resources` | `gcx resources pull alertrules -p .\u002Frules`, edit, `gcx resources push -p .\u002Frules` |\n| Datasource-managed (Mimir\u002FLoki ruler) rules | `alert ruler` | `gcx alert ruler groups list --datasource \u003Cuid>` |\n| Synthetic Monitoring checks | `synthetic-monitoring` | `gcx synthetic-monitoring checks list` |\n| IRM (OnCall + Incidents) | `irm` | `gcx irm oncall schedules list`, `gcx irm incidents list` |\n| k6 load tests, projects, runs | `k6` | `gcx k6 load-tests list` |\n| PromQL \u002F Adaptive Metrics | `metrics` | `gcx metrics query -d \u003Cuid> 'up'` |\n| LogQL \u002F Adaptive Logs | `logs` | `gcx logs query -d \u003Cuid> '{app=\"foo\"}'` |\n| Profiling (Pyroscope) | `profiles` | `gcx profiles query` |\n| Tracing (Tempo) | `traces` | `gcx traces query -d \u003Cuid> '{ status = error }'` (see Tempo LLM-friendly output below) |\n| Datasource info and queries | `datasources` | `gcx datasources list` |\n| Fleet pipelines, collectors | `fleet` | `gcx fleet pipelines list` |\n| Knowledge Graph (Asserts) | `kg` | `gcx kg entities list` |\n| Frontend Observability | `frontend` | `gcx frontend apps list` |\n| App Observability | `appo11y` | `gcx appo11y overrides get` |\n\nIf no command exists for the requested operation, say so and propose the nearest\nsupported flow.\n\n### Avoid Raw API Passthrough\n\n**Do not use `gcx api`** when a dedicated command exists. `gcx api` is a low-level\nfallback for endpoints not yet covered by dedicated commands. Dedicated commands\nprovide proper output formatting, pagination, error handling, and token-efficient\noutput. Check the intent-to-group table above first.\n\nSimilarly, prefer `gcx metrics query` over `gcx datasources query \u003Cprometheus-uid>`\nfor PromQL queries — the signal-specific command handles datasource resolution\nautomatically.\n\n## Verify Context First\n\nBefore any operation, confirm which environment is targeted:\n- `gcx config check` — validates the active context and tests connectivity\n- `gcx config view` — shows full config (secrets redacted; use `--raw` to reveal)\n- `gcx config current-context` — shows just the active context name\n- `gcx config use-context \u003Cname>` — switch contexts\n- `--context \u003Cname>` flag on any command — target a specific context without switching\n\n## Output Control\n\n| Intent | Flag |\n|--------|------|\n| Structured output for parsing | `-o json` |\n| Field selection | `--json \u003Cfield1,field2>` (use `--json list` or `--json ?` to discover fields) |\n| Full table output (no truncation) | `--no-truncate` |\n| YAML output | `-o yaml` |\n| Wide table with extra columns | `-o wide` |\n\nDefault to `-o json` when working programmatically.\n\n## Safe Mutation Workflow\n\nFollow this sequence for any change. Skip steps only when the user explicitly\nasks for speed.\n\n1. **Verify context** — confirm which environment is targeted\n2. **Read current state** — list or get the resource first\n3. **Build from template** — use list-types\u002Flist-examples output, not hand-crafted payloads\n4. **Preview** — use `--dry-run` where available before applying\n5. **Apply** — create, update, or delete\n6. **Verify** — re-read the resource to confirm the change landed\n\n## Key Flags for Operations\n\n| Intent | Flag |\n|--------|------|\n| Preview without changing anything | `--dry-run` |\n| Target a specific context | `--context \u003Cname>` |\n| Continue on errors vs stop | `--on-error fail\\|ignore\\|abort` |\n| Control concurrency | `--max-concurrent \u003Cn>` (default 10) |\n\n## Resource Operations\n\nThe `gcx resources` group handles CRUD for Grafana's K8s-tier resources:\n- `get` — list or fetch resources\n- `push` — create or update from local files\n- `pull` — export resources to local files\n- `delete` — remove resources\n- `edit` — edit resources interactively\n- `validate` — validate local files against a live instance\n- `list-types` — discover available resource types and their schemas\n- `list-examples` — list example manifests for resource types\n\nAll resource commands accept selectors: `gcx resources get dashboards`,\n`gcx resources get dashboards\u002Fmy-dash`, `gcx resources get dashboards folders`.\n\n## Datasource Queries\n\nThe `gcx datasources` group provides typed query interfaces:\n- `list` \u002F `get` — discover available datasources (`get -o yaml` emits an apply-ready manifest)\n- `prometheus` — PromQL queries (query, labels, metadata, targets)\n- `loki` — LogQL queries (query, labels, series)\n- `pyroscope` — profiling queries\n- `tempo` — trace queries\n- `generic` — auto-detect datasource type\n\nUse `gcx datasources \u003Ctype> --help` to discover type-specific flags.\n\n### Datasource lifecycle (declarative CRUD)\n\nManage datasource instances with Kubernetes-style manifests (file or stdin):\n- `create -f FILE` \u002F `update UID -f FILE` — apply a manifest; `--dry-run` previews\n  a secret-redacted diff. Secrets go in the top-level `secure` block via\n  `{create: \u003Cvalue>}`, `{fromEnv: \u003CVAR>}`, or `{fromFile: \u003Cpath>}` — never on argv.\n- `delete UID...` — prompts unless `--force`\u002F`--yes` (auto-approved in agent mode);\n  batch-safe with partial-failure exit code 4.\n- `health [UID]` — exit 0 healthy, 4 unhealthy (resource failure), 1\u002F2\u002F3 command failure.\n- `schemas get --type \u003Cplugin>` — plugin configuration schema (when the server\n  serves the datasource app-platform API).\n\nCustom HTTP headers use the flat convention: name in `jsonData.httpHeaderName{N}`,\nvalue (secret) in `secure.httpHeaderValue{N}`.\n\n### Tempo LLM-friendly output for agents\n\nWhen fetching Tempo tag values or full trace bodies for this agent to inspect,\nsummarize, debug, or include in a prompt, prefer Tempo's compact LLM-friendly\nencoding:\n\n```bash\n# Attribute values grouped by type instead of repeated {type,value} objects.\ngcx traces tags -d \u003Ctempo-uid> -l resource.service.name --llm -o json\n\n# Full trace body in Tempo's LLM-friendly trace encoding.\ngcx traces get -d \u003Ctempo-uid> \u003Ctrace-id> --llm -o json\n# equivalent legacy path:\ngcx datasources tempo get -d \u003Ctempo-uid> \u003Ctrace-id> --llm -o json\n```\n\nUse `gcx traces labels -d \u003Ctempo-uid>` to discover attribute names first. Use\n`gcx traces query` to find trace IDs, then `gcx traces get --llm -o json` to inspect\na selected trace. Omit `--llm` only when the user explicitly needs raw Tempo\u002FOTLP\nJSON or the standard `tagValues: [{type, value}]` shape for schema\u002Fdebugging work.\n\n## Grafana Assistant\n\ngcx provides direct access to the Grafana Assistant — use it for **reasoning\nand exploration**, not data retrieval. Deterministic commands are faster and\ncheaper for known queries; the Assistant adds value when you need intelligence.\n\n| Situation | Use | Example |\n|-----------|-----|---------|\n| You know the exact query | Deterministic command | `gcx metrics query 'rate(http_requests_total[5m])'` |\n| You don't know which metrics\u002Flabels exist | `gcx assistant prompt` | `\"What metrics exist for the checkout service?\"` |\n| You need cross-signal root cause analysis | `gcx assistant investigations` | Multi-agent parallel exploration across metrics, logs, traces, profiles |\n| You need a precise, repeatable data point | Deterministic command | `gcx slo definitions status`, `gcx alert instances list --state firing` |\n| You need to understand service dependencies | `gcx assistant prompt` | `\"How are services in namespace X connected?\"` — Assistant Memories know your stack topology |\n\n### Commands\n\n```bash\n# Ask a question (Assistant uses Infrastructure Memories for context)\ngcx assistant prompt \"What services are unhealthy in namespace checkout?\"\n\n# Follow up on the previous conversation\ngcx assistant prompt \"Dig into the database connection issue\" --continue\n\n# Launch a deep investigation (multi-agent, parallel signal exploration)\ngcx assistant investigations create --title=\"Checkout latency spike\"\n\n# Monitor and read results\ngcx assistant investigations get \u003Cid>\ngcx assistant investigations get-narrative \u003Cid>\n```\n\n### Recommended Workflow: Interleave Both\n\n1. **Detect** with deterministic commands — `gcx alert instances list --state firing`\n2. **Understand** with the Assistant — `gcx assistant prompt \"Why is checkout-latency firing?\"`\n3. **Investigate** if needed — `gcx assistant investigations create --title=\"...\"`\n4. **Verify fix** with deterministic commands — `gcx slo definitions status \u003Cuuid>`\n\n## Provider Commands\n\nProduct-specific providers register their own top-level command groups.\nDiscover them with `gcx providers`, then explore with `gcx \u003Cprovider> --help`.\n\nEach provider adds domain-specific subcommands for managing that product's\nresources. The set of providers grows over time — always discover rather than\nhardcode.\n\n## Parallelism\n\ngcx commands are stateless API calls. When multiple operations are independent\n(no output dependency between them), issue them as parallel Bash tool calls in\na single message. This applies to:\n\n- Multiple list\u002Fget calls across different resource types\n- Multiple schema\u002Fexample fetches\n- Independent create\u002Fupdate operations\n- Concurrent datasource queries\n\nOnly sequence commands when a later call needs output from an earlier one.\n\n## Secret Safety\n\nNever read raw config files — they contain plaintext tokens. Use `gcx config view`\n(which redacts secrets) for inspection. When passing tokens to external tools,\nuse shell variables rather than inline values.\n",{"data":35,"body":39},{"name":4,"description":6,"user-invocable":36,"disable-model-invocation":37,"allowed-tools":38},true,false,"Bash, Read, Write, Edit, Glob, Grep, Agent, AskUserQuestion",{"type":40,"children":41},"root",[42,51,57,64,77,87,137,147,253,261,344,357,364,369,861,866,872,895,916,922,927,995,1001,1125,1137,1143,1148,1220,1226,1314,1320,1333,1424,1451,1457,1469,1553,1566,1572,1577,1685,1705,1711,1716,1957,2001,2007,2019,2170,2176,2419,2425,2490,2496,2516,2521,2527,2532,2555,2560,2566,2578],{"type":43,"tag":44,"props":45,"children":47},"element","h1",{"id":46},"gcx-grafana-cloud-cli",[48],{"type":49,"value":50},"text","gcx — Grafana Cloud CLI",{"type":43,"tag":52,"props":53,"children":54},"p",{},[55],{"type":49,"value":56},"gcx is a unified CLI for Grafana Cloud, organized like kubectl: named contexts,\nstructured output, and a consistent verb model across all resource types.",{"type":43,"tag":58,"props":59,"children":61},"h2",{"id":60},"discover-before-you-act",[62],{"type":49,"value":63},"Discover Before You Act",{"type":43,"tag":52,"props":65,"children":66},{},[67,69,75],{"type":49,"value":68},"gcx has a built-in command catalog. Never guess a command — discover it first.\nUse ",{"type":43,"tag":70,"props":71,"children":72},"strong",{},[73],{"type":49,"value":74},"progressive disclosure",{"type":49,"value":76}," to minimize token cost:",{"type":43,"tag":52,"props":78,"children":79},{},[80,85],{"type":43,"tag":70,"props":81,"children":82},{},[83],{"type":49,"value":84},"Step 1 — Orient",{"type":49,"value":86}," (30 lines, all top-level groups):",{"type":43,"tag":88,"props":89,"children":94},"pre",{"className":90,"code":91,"language":92,"meta":93,"style":93},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","gcx help-tree --depth 1 -o text\n","bash","",[95],{"type":43,"tag":96,"props":97,"children":98},"code",{"__ignoreMap":93},[99],{"type":43,"tag":100,"props":101,"children":104},"span",{"class":102,"line":103},"line",1,[105,110,116,121,127,132],{"type":43,"tag":100,"props":106,"children":108},{"style":107},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[109],{"type":49,"value":4},{"type":43,"tag":100,"props":111,"children":113},{"style":112},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[114],{"type":49,"value":115}," help-tree",{"type":43,"tag":100,"props":117,"children":118},{"style":112},[119],{"type":49,"value":120}," --depth",{"type":43,"tag":100,"props":122,"children":124},{"style":123},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[125],{"type":49,"value":126}," 1",{"type":43,"tag":100,"props":128,"children":129},{"style":112},[130],{"type":49,"value":131}," -o",{"type":43,"tag":100,"props":133,"children":134},{"style":112},[135],{"type":49,"value":136}," text\n",{"type":43,"tag":52,"props":138,"children":139},{},[140,145],{"type":43,"tag":70,"props":141,"children":142},{},[143],{"type":49,"value":144},"Step 2 — Drill down",{"type":49,"value":146}," (5-20 lines per group):",{"type":43,"tag":88,"props":148,"children":150},{"className":90,"code":149,"language":92,"meta":93,"style":93},"gcx help-tree \u003Cgroup> -o text      # full subtree for one group\ngcx \u003Cgroup> \u003Csubcommand> --help    # exact flags and args\n",[151],{"type":43,"tag":96,"props":152,"children":153},{"__ignoreMap":93},[154,201],{"type":43,"tag":100,"props":155,"children":156},{"class":102,"line":103},[157,161,165,171,176,181,186,190,195],{"type":43,"tag":100,"props":158,"children":159},{"style":107},[160],{"type":49,"value":4},{"type":43,"tag":100,"props":162,"children":163},{"style":112},[164],{"type":49,"value":115},{"type":43,"tag":100,"props":166,"children":168},{"style":167},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[169],{"type":49,"value":170}," \u003C",{"type":43,"tag":100,"props":172,"children":173},{"style":112},[174],{"type":49,"value":175},"grou",{"type":43,"tag":100,"props":177,"children":179},{"style":178},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[180],{"type":49,"value":52},{"type":43,"tag":100,"props":182,"children":183},{"style":167},[184],{"type":49,"value":185},">",{"type":43,"tag":100,"props":187,"children":188},{"style":112},[189],{"type":49,"value":131},{"type":43,"tag":100,"props":191,"children":192},{"style":112},[193],{"type":49,"value":194}," text",{"type":43,"tag":100,"props":196,"children":198},{"style":197},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[199],{"type":49,"value":200},"      # full subtree for one group\n",{"type":43,"tag":100,"props":202,"children":204},{"class":102,"line":203},2,[205,209,213,217,221,225,229,234,239,243,248],{"type":43,"tag":100,"props":206,"children":207},{"style":107},[208],{"type":49,"value":4},{"type":43,"tag":100,"props":210,"children":211},{"style":167},[212],{"type":49,"value":170},{"type":43,"tag":100,"props":214,"children":215},{"style":112},[216],{"type":49,"value":175},{"type":43,"tag":100,"props":218,"children":219},{"style":178},[220],{"type":49,"value":52},{"type":43,"tag":100,"props":222,"children":223},{"style":167},[224],{"type":49,"value":185},{"type":43,"tag":100,"props":226,"children":227},{"style":167},[228],{"type":49,"value":170},{"type":43,"tag":100,"props":230,"children":231},{"style":112},[232],{"type":49,"value":233},"subcomman",{"type":43,"tag":100,"props":235,"children":236},{"style":178},[237],{"type":49,"value":238},"d",{"type":43,"tag":100,"props":240,"children":241},{"style":167},[242],{"type":49,"value":185},{"type":43,"tag":100,"props":244,"children":245},{"style":112},[246],{"type":49,"value":247}," --help",{"type":43,"tag":100,"props":249,"children":250},{"style":197},[251],{"type":49,"value":252},"    # exact flags and args\n",{"type":43,"tag":52,"props":254,"children":255},{},[256],{"type":43,"tag":70,"props":257,"children":258},{},[259],{"type":49,"value":260},"Build payloads:",{"type":43,"tag":88,"props":262,"children":264},{"className":90,"code":263,"language":92,"meta":93,"style":93},"gcx resources list-types \u003Ckind>     # resource types + JSON schema for a type\ngcx resources list-examples \u003Ckind>  # example manifest\n",[265],{"type":43,"tag":96,"props":266,"children":267},{"__ignoreMap":93},[268,307],{"type":43,"tag":100,"props":269,"children":270},{"class":102,"line":103},[271,275,280,285,289,294,298,302],{"type":43,"tag":100,"props":272,"children":273},{"style":107},[274],{"type":49,"value":4},{"type":43,"tag":100,"props":276,"children":277},{"style":112},[278],{"type":49,"value":279}," resources",{"type":43,"tag":100,"props":281,"children":282},{"style":112},[283],{"type":49,"value":284}," list-types",{"type":43,"tag":100,"props":286,"children":287},{"style":167},[288],{"type":49,"value":170},{"type":43,"tag":100,"props":290,"children":291},{"style":112},[292],{"type":49,"value":293},"kin",{"type":43,"tag":100,"props":295,"children":296},{"style":178},[297],{"type":49,"value":238},{"type":43,"tag":100,"props":299,"children":300},{"style":167},[301],{"type":49,"value":185},{"type":43,"tag":100,"props":303,"children":304},{"style":197},[305],{"type":49,"value":306},"     # resource types + JSON schema for a type\n",{"type":43,"tag":100,"props":308,"children":309},{"class":102,"line":203},[310,314,318,323,327,331,335,339],{"type":43,"tag":100,"props":311,"children":312},{"style":107},[313],{"type":49,"value":4},{"type":43,"tag":100,"props":315,"children":316},{"style":112},[317],{"type":49,"value":279},{"type":43,"tag":100,"props":319,"children":320},{"style":112},[321],{"type":49,"value":322}," list-examples",{"type":43,"tag":100,"props":324,"children":325},{"style":167},[326],{"type":49,"value":170},{"type":43,"tag":100,"props":328,"children":329},{"style":112},[330],{"type":49,"value":293},{"type":43,"tag":100,"props":332,"children":333},{"style":178},[334],{"type":49,"value":238},{"type":43,"tag":100,"props":336,"children":337},{"style":167},[338],{"type":49,"value":185},{"type":43,"tag":100,"props":340,"children":341},{"style":197},[342],{"type":49,"value":343},"  # example manifest\n",{"type":43,"tag":52,"props":345,"children":346},{},[347,349,355],{"type":49,"value":348},"Only fall back to ",{"type":43,"tag":96,"props":350,"children":352},{"className":351},[],[353],{"type":49,"value":354},"gcx commands --flat -o json",{"type":49,"value":356}," when you need structured metadata\nfor automation - the output is hundreds of kilobytes and unsuitable for orientation.",{"type":43,"tag":358,"props":359,"children":361},"h3",{"id":360},"intent-to-group-quick-reference",[362],{"type":49,"value":363},"Intent-to-Group Quick Reference",{"type":43,"tag":52,"props":365,"children":366},{},[367],{"type":49,"value":368},"When you already know the user's intent, skip discovery and go straight to the\nright group:",{"type":43,"tag":370,"props":371,"children":372},"table",{},[373,397],{"type":43,"tag":374,"props":375,"children":376},"thead",{},[377],{"type":43,"tag":378,"props":379,"children":380},"tr",{},[381,387,392],{"type":43,"tag":382,"props":383,"children":384},"th",{},[385],{"type":49,"value":386},"Intent",{"type":43,"tag":382,"props":388,"children":389},{},[390],{"type":49,"value":391},"Group",{"type":43,"tag":382,"props":393,"children":394},{},[395],{"type":49,"value":396},"Example",{"type":43,"tag":398,"props":399,"children":400},"tbody",{},[401,428,454,480,513,539,565,599,625,651,677,703,731,757,783,809,835],{"type":43,"tag":378,"props":402,"children":403},{},[404,410,419],{"type":43,"tag":405,"props":406,"children":407},"td",{},[408],{"type":49,"value":409},"Dashboards, folders, K8s resources",{"type":43,"tag":405,"props":411,"children":412},{},[413],{"type":43,"tag":96,"props":414,"children":416},{"className":415},[],[417],{"type":49,"value":418},"resources",{"type":43,"tag":405,"props":420,"children":421},{},[422],{"type":43,"tag":96,"props":423,"children":425},{"className":424},[],[426],{"type":49,"value":427},"gcx resources get dashboards",{"type":43,"tag":378,"props":429,"children":430},{},[431,436,445],{"type":43,"tag":405,"props":432,"children":433},{},[434],{"type":49,"value":435},"SLO definitions and reports",{"type":43,"tag":405,"props":437,"children":438},{},[439],{"type":43,"tag":96,"props":440,"children":442},{"className":441},[],[443],{"type":49,"value":444},"slo",{"type":43,"tag":405,"props":446,"children":447},{},[448],{"type":43,"tag":96,"props":449,"children":451},{"className":450},[],[452],{"type":49,"value":453},"gcx slo definitions list",{"type":43,"tag":378,"props":455,"children":456},{},[457,462,471],{"type":43,"tag":405,"props":458,"children":459},{},[460],{"type":49,"value":461},"Alert rule status, notification settings",{"type":43,"tag":405,"props":463,"children":464},{},[465],{"type":43,"tag":96,"props":466,"children":468},{"className":467},[],[469],{"type":49,"value":470},"alert",{"type":43,"tag":405,"props":472,"children":473},{},[474],{"type":43,"tag":96,"props":475,"children":477},{"className":476},[],[478],{"type":49,"value":479},"gcx alert rules list",{"type":43,"tag":378,"props":481,"children":482},{},[483,488,496],{"type":43,"tag":405,"props":484,"children":485},{},[486],{"type":49,"value":487},"Create\u002Fmodify\u002Fdelete alert rules",{"type":43,"tag":405,"props":489,"children":490},{},[491],{"type":43,"tag":96,"props":492,"children":494},{"className":493},[],[495],{"type":49,"value":418},{"type":43,"tag":405,"props":497,"children":498},{},[499,505,507],{"type":43,"tag":96,"props":500,"children":502},{"className":501},[],[503],{"type":49,"value":504},"gcx resources pull alertrules -p .\u002Frules",{"type":49,"value":506},", edit, ",{"type":43,"tag":96,"props":508,"children":510},{"className":509},[],[511],{"type":49,"value":512},"gcx resources push -p .\u002Frules",{"type":43,"tag":378,"props":514,"children":515},{},[516,521,530],{"type":43,"tag":405,"props":517,"children":518},{},[519],{"type":49,"value":520},"Datasource-managed (Mimir\u002FLoki ruler) rules",{"type":43,"tag":405,"props":522,"children":523},{},[524],{"type":43,"tag":96,"props":525,"children":527},{"className":526},[],[528],{"type":49,"value":529},"alert ruler",{"type":43,"tag":405,"props":531,"children":532},{},[533],{"type":43,"tag":96,"props":534,"children":536},{"className":535},[],[537],{"type":49,"value":538},"gcx alert ruler groups list --datasource \u003Cuid>",{"type":43,"tag":378,"props":540,"children":541},{},[542,547,556],{"type":43,"tag":405,"props":543,"children":544},{},[545],{"type":49,"value":546},"Synthetic Monitoring checks",{"type":43,"tag":405,"props":548,"children":549},{},[550],{"type":43,"tag":96,"props":551,"children":553},{"className":552},[],[554],{"type":49,"value":555},"synthetic-monitoring",{"type":43,"tag":405,"props":557,"children":558},{},[559],{"type":43,"tag":96,"props":560,"children":562},{"className":561},[],[563],{"type":49,"value":564},"gcx synthetic-monitoring checks list",{"type":43,"tag":378,"props":566,"children":567},{},[568,573,582],{"type":43,"tag":405,"props":569,"children":570},{},[571],{"type":49,"value":572},"IRM (OnCall + Incidents)",{"type":43,"tag":405,"props":574,"children":575},{},[576],{"type":43,"tag":96,"props":577,"children":579},{"className":578},[],[580],{"type":49,"value":581},"irm",{"type":43,"tag":405,"props":583,"children":584},{},[585,591,593],{"type":43,"tag":96,"props":586,"children":588},{"className":587},[],[589],{"type":49,"value":590},"gcx irm oncall schedules list",{"type":49,"value":592},", ",{"type":43,"tag":96,"props":594,"children":596},{"className":595},[],[597],{"type":49,"value":598},"gcx irm incidents list",{"type":43,"tag":378,"props":600,"children":601},{},[602,607,616],{"type":43,"tag":405,"props":603,"children":604},{},[605],{"type":49,"value":606},"k6 load tests, projects, runs",{"type":43,"tag":405,"props":608,"children":609},{},[610],{"type":43,"tag":96,"props":611,"children":613},{"className":612},[],[614],{"type":49,"value":615},"k6",{"type":43,"tag":405,"props":617,"children":618},{},[619],{"type":43,"tag":96,"props":620,"children":622},{"className":621},[],[623],{"type":49,"value":624},"gcx k6 load-tests list",{"type":43,"tag":378,"props":626,"children":627},{},[628,633,642],{"type":43,"tag":405,"props":629,"children":630},{},[631],{"type":49,"value":632},"PromQL \u002F Adaptive Metrics",{"type":43,"tag":405,"props":634,"children":635},{},[636],{"type":43,"tag":96,"props":637,"children":639},{"className":638},[],[640],{"type":49,"value":641},"metrics",{"type":43,"tag":405,"props":643,"children":644},{},[645],{"type":43,"tag":96,"props":646,"children":648},{"className":647},[],[649],{"type":49,"value":650},"gcx metrics query -d \u003Cuid> 'up'",{"type":43,"tag":378,"props":652,"children":653},{},[654,659,668],{"type":43,"tag":405,"props":655,"children":656},{},[657],{"type":49,"value":658},"LogQL \u002F Adaptive Logs",{"type":43,"tag":405,"props":660,"children":661},{},[662],{"type":43,"tag":96,"props":663,"children":665},{"className":664},[],[666],{"type":49,"value":667},"logs",{"type":43,"tag":405,"props":669,"children":670},{},[671],{"type":43,"tag":96,"props":672,"children":674},{"className":673},[],[675],{"type":49,"value":676},"gcx logs query -d \u003Cuid> '{app=\"foo\"}'",{"type":43,"tag":378,"props":678,"children":679},{},[680,685,694],{"type":43,"tag":405,"props":681,"children":682},{},[683],{"type":49,"value":684},"Profiling (Pyroscope)",{"type":43,"tag":405,"props":686,"children":687},{},[688],{"type":43,"tag":96,"props":689,"children":691},{"className":690},[],[692],{"type":49,"value":693},"profiles",{"type":43,"tag":405,"props":695,"children":696},{},[697],{"type":43,"tag":96,"props":698,"children":700},{"className":699},[],[701],{"type":49,"value":702},"gcx profiles query",{"type":43,"tag":378,"props":704,"children":705},{},[706,711,720],{"type":43,"tag":405,"props":707,"children":708},{},[709],{"type":49,"value":710},"Tracing (Tempo)",{"type":43,"tag":405,"props":712,"children":713},{},[714],{"type":43,"tag":96,"props":715,"children":717},{"className":716},[],[718],{"type":49,"value":719},"traces",{"type":43,"tag":405,"props":721,"children":722},{},[723,729],{"type":43,"tag":96,"props":724,"children":726},{"className":725},[],[727],{"type":49,"value":728},"gcx traces query -d \u003Cuid> '{ status = error }'",{"type":49,"value":730}," (see Tempo LLM-friendly output below)",{"type":43,"tag":378,"props":732,"children":733},{},[734,739,748],{"type":43,"tag":405,"props":735,"children":736},{},[737],{"type":49,"value":738},"Datasource info and queries",{"type":43,"tag":405,"props":740,"children":741},{},[742],{"type":43,"tag":96,"props":743,"children":745},{"className":744},[],[746],{"type":49,"value":747},"datasources",{"type":43,"tag":405,"props":749,"children":750},{},[751],{"type":43,"tag":96,"props":752,"children":754},{"className":753},[],[755],{"type":49,"value":756},"gcx datasources list",{"type":43,"tag":378,"props":758,"children":759},{},[760,765,774],{"type":43,"tag":405,"props":761,"children":762},{},[763],{"type":49,"value":764},"Fleet pipelines, collectors",{"type":43,"tag":405,"props":766,"children":767},{},[768],{"type":43,"tag":96,"props":769,"children":771},{"className":770},[],[772],{"type":49,"value":773},"fleet",{"type":43,"tag":405,"props":775,"children":776},{},[777],{"type":43,"tag":96,"props":778,"children":780},{"className":779},[],[781],{"type":49,"value":782},"gcx fleet pipelines list",{"type":43,"tag":378,"props":784,"children":785},{},[786,791,800],{"type":43,"tag":405,"props":787,"children":788},{},[789],{"type":49,"value":790},"Knowledge Graph (Asserts)",{"type":43,"tag":405,"props":792,"children":793},{},[794],{"type":43,"tag":96,"props":795,"children":797},{"className":796},[],[798],{"type":49,"value":799},"kg",{"type":43,"tag":405,"props":801,"children":802},{},[803],{"type":43,"tag":96,"props":804,"children":806},{"className":805},[],[807],{"type":49,"value":808},"gcx kg entities list",{"type":43,"tag":378,"props":810,"children":811},{},[812,817,826],{"type":43,"tag":405,"props":813,"children":814},{},[815],{"type":49,"value":816},"Frontend Observability",{"type":43,"tag":405,"props":818,"children":819},{},[820],{"type":43,"tag":96,"props":821,"children":823},{"className":822},[],[824],{"type":49,"value":825},"frontend",{"type":43,"tag":405,"props":827,"children":828},{},[829],{"type":43,"tag":96,"props":830,"children":832},{"className":831},[],[833],{"type":49,"value":834},"gcx frontend apps list",{"type":43,"tag":378,"props":836,"children":837},{},[838,843,852],{"type":43,"tag":405,"props":839,"children":840},{},[841],{"type":49,"value":842},"App Observability",{"type":43,"tag":405,"props":844,"children":845},{},[846],{"type":43,"tag":96,"props":847,"children":849},{"className":848},[],[850],{"type":49,"value":851},"appo11y",{"type":43,"tag":405,"props":853,"children":854},{},[855],{"type":43,"tag":96,"props":856,"children":858},{"className":857},[],[859],{"type":49,"value":860},"gcx appo11y overrides get",{"type":43,"tag":52,"props":862,"children":863},{},[864],{"type":49,"value":865},"If no command exists for the requested operation, say so and propose the nearest\nsupported flow.",{"type":43,"tag":358,"props":867,"children":869},{"id":868},"avoid-raw-api-passthrough",[870],{"type":49,"value":871},"Avoid Raw API Passthrough",{"type":43,"tag":52,"props":873,"children":874},{},[875,886,888,893],{"type":43,"tag":70,"props":876,"children":877},{},[878,880],{"type":49,"value":879},"Do not use ",{"type":43,"tag":96,"props":881,"children":883},{"className":882},[],[884],{"type":49,"value":885},"gcx api",{"type":49,"value":887}," when a dedicated command exists. ",{"type":43,"tag":96,"props":889,"children":891},{"className":890},[],[892],{"type":49,"value":885},{"type":49,"value":894}," is a low-level\nfallback for endpoints not yet covered by dedicated commands. Dedicated commands\nprovide proper output formatting, pagination, error handling, and token-efficient\noutput. Check the intent-to-group table above first.",{"type":43,"tag":52,"props":896,"children":897},{},[898,900,906,908,914],{"type":49,"value":899},"Similarly, prefer ",{"type":43,"tag":96,"props":901,"children":903},{"className":902},[],[904],{"type":49,"value":905},"gcx metrics query",{"type":49,"value":907}," over ",{"type":43,"tag":96,"props":909,"children":911},{"className":910},[],[912],{"type":49,"value":913},"gcx datasources query \u003Cprometheus-uid>",{"type":49,"value":915},"\nfor PromQL queries — the signal-specific command handles datasource resolution\nautomatically.",{"type":43,"tag":58,"props":917,"children":919},{"id":918},"verify-context-first",[920],{"type":49,"value":921},"Verify Context First",{"type":43,"tag":52,"props":923,"children":924},{},[925],{"type":49,"value":926},"Before any operation, confirm which environment is targeted:",{"type":43,"tag":928,"props":929,"children":930},"ul",{},[931,943,962,973,984],{"type":43,"tag":932,"props":933,"children":934},"li",{},[935,941],{"type":43,"tag":96,"props":936,"children":938},{"className":937},[],[939],{"type":49,"value":940},"gcx config check",{"type":49,"value":942}," — validates the active context and tests connectivity",{"type":43,"tag":932,"props":944,"children":945},{},[946,952,954,960],{"type":43,"tag":96,"props":947,"children":949},{"className":948},[],[950],{"type":49,"value":951},"gcx config view",{"type":49,"value":953}," — shows full config (secrets redacted; use ",{"type":43,"tag":96,"props":955,"children":957},{"className":956},[],[958],{"type":49,"value":959},"--raw",{"type":49,"value":961}," to reveal)",{"type":43,"tag":932,"props":963,"children":964},{},[965,971],{"type":43,"tag":96,"props":966,"children":968},{"className":967},[],[969],{"type":49,"value":970},"gcx config current-context",{"type":49,"value":972}," — shows just the active context name",{"type":43,"tag":932,"props":974,"children":975},{},[976,982],{"type":43,"tag":96,"props":977,"children":979},{"className":978},[],[980],{"type":49,"value":981},"gcx config use-context \u003Cname>",{"type":49,"value":983}," — switch contexts",{"type":43,"tag":932,"props":985,"children":986},{},[987,993],{"type":43,"tag":96,"props":988,"children":990},{"className":989},[],[991],{"type":49,"value":992},"--context \u003Cname>",{"type":49,"value":994}," flag on any command — target a specific context without switching",{"type":43,"tag":58,"props":996,"children":998},{"id":997},"output-control",[999],{"type":49,"value":1000},"Output Control",{"type":43,"tag":370,"props":1002,"children":1003},{},[1004,1019],{"type":43,"tag":374,"props":1005,"children":1006},{},[1007],{"type":43,"tag":378,"props":1008,"children":1009},{},[1010,1014],{"type":43,"tag":382,"props":1011,"children":1012},{},[1013],{"type":49,"value":386},{"type":43,"tag":382,"props":1015,"children":1016},{},[1017],{"type":49,"value":1018},"Flag",{"type":43,"tag":398,"props":1020,"children":1021},{},[1022,1039,1074,1091,1108],{"type":43,"tag":378,"props":1023,"children":1024},{},[1025,1030],{"type":43,"tag":405,"props":1026,"children":1027},{},[1028],{"type":49,"value":1029},"Structured output for parsing",{"type":43,"tag":405,"props":1031,"children":1032},{},[1033],{"type":43,"tag":96,"props":1034,"children":1036},{"className":1035},[],[1037],{"type":49,"value":1038},"-o json",{"type":43,"tag":378,"props":1040,"children":1041},{},[1042,1047],{"type":43,"tag":405,"props":1043,"children":1044},{},[1045],{"type":49,"value":1046},"Field selection",{"type":43,"tag":405,"props":1048,"children":1049},{},[1050,1056,1058,1064,1066,1072],{"type":43,"tag":96,"props":1051,"children":1053},{"className":1052},[],[1054],{"type":49,"value":1055},"--json \u003Cfield1,field2>",{"type":49,"value":1057}," (use ",{"type":43,"tag":96,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":49,"value":1063},"--json list",{"type":49,"value":1065}," or ",{"type":43,"tag":96,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":49,"value":1071},"--json ?",{"type":49,"value":1073}," to discover fields)",{"type":43,"tag":378,"props":1075,"children":1076},{},[1077,1082],{"type":43,"tag":405,"props":1078,"children":1079},{},[1080],{"type":49,"value":1081},"Full table output (no truncation)",{"type":43,"tag":405,"props":1083,"children":1084},{},[1085],{"type":43,"tag":96,"props":1086,"children":1088},{"className":1087},[],[1089],{"type":49,"value":1090},"--no-truncate",{"type":43,"tag":378,"props":1092,"children":1093},{},[1094,1099],{"type":43,"tag":405,"props":1095,"children":1096},{},[1097],{"type":49,"value":1098},"YAML output",{"type":43,"tag":405,"props":1100,"children":1101},{},[1102],{"type":43,"tag":96,"props":1103,"children":1105},{"className":1104},[],[1106],{"type":49,"value":1107},"-o yaml",{"type":43,"tag":378,"props":1109,"children":1110},{},[1111,1116],{"type":43,"tag":405,"props":1112,"children":1113},{},[1114],{"type":49,"value":1115},"Wide table with extra columns",{"type":43,"tag":405,"props":1117,"children":1118},{},[1119],{"type":43,"tag":96,"props":1120,"children":1122},{"className":1121},[],[1123],{"type":49,"value":1124},"-o wide",{"type":43,"tag":52,"props":1126,"children":1127},{},[1128,1130,1135],{"type":49,"value":1129},"Default to ",{"type":43,"tag":96,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":49,"value":1038},{"type":49,"value":1136}," when working programmatically.",{"type":43,"tag":58,"props":1138,"children":1140},{"id":1139},"safe-mutation-workflow",[1141],{"type":49,"value":1142},"Safe Mutation Workflow",{"type":43,"tag":52,"props":1144,"children":1145},{},[1146],{"type":49,"value":1147},"Follow this sequence for any change. Skip steps only when the user explicitly\nasks for speed.",{"type":43,"tag":1149,"props":1150,"children":1151},"ol",{},[1152,1162,1172,1182,1200,1210],{"type":43,"tag":932,"props":1153,"children":1154},{},[1155,1160],{"type":43,"tag":70,"props":1156,"children":1157},{},[1158],{"type":49,"value":1159},"Verify context",{"type":49,"value":1161}," — confirm which environment is targeted",{"type":43,"tag":932,"props":1163,"children":1164},{},[1165,1170],{"type":43,"tag":70,"props":1166,"children":1167},{},[1168],{"type":49,"value":1169},"Read current state",{"type":49,"value":1171}," — list or get the resource first",{"type":43,"tag":932,"props":1173,"children":1174},{},[1175,1180],{"type":43,"tag":70,"props":1176,"children":1177},{},[1178],{"type":49,"value":1179},"Build from template",{"type":49,"value":1181}," — use list-types\u002Flist-examples output, not hand-crafted payloads",{"type":43,"tag":932,"props":1183,"children":1184},{},[1185,1190,1192,1198],{"type":43,"tag":70,"props":1186,"children":1187},{},[1188],{"type":49,"value":1189},"Preview",{"type":49,"value":1191}," — use ",{"type":43,"tag":96,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":49,"value":1197},"--dry-run",{"type":49,"value":1199}," where available before applying",{"type":43,"tag":932,"props":1201,"children":1202},{},[1203,1208],{"type":43,"tag":70,"props":1204,"children":1205},{},[1206],{"type":49,"value":1207},"Apply",{"type":49,"value":1209}," — create, update, or delete",{"type":43,"tag":932,"props":1211,"children":1212},{},[1213,1218],{"type":43,"tag":70,"props":1214,"children":1215},{},[1216],{"type":49,"value":1217},"Verify",{"type":49,"value":1219}," — re-read the resource to confirm the change landed",{"type":43,"tag":58,"props":1221,"children":1223},{"id":1222},"key-flags-for-operations",[1224],{"type":49,"value":1225},"Key Flags for Operations",{"type":43,"tag":370,"props":1227,"children":1228},{},[1229,1243],{"type":43,"tag":374,"props":1230,"children":1231},{},[1232],{"type":43,"tag":378,"props":1233,"children":1234},{},[1235,1239],{"type":43,"tag":382,"props":1236,"children":1237},{},[1238],{"type":49,"value":386},{"type":43,"tag":382,"props":1240,"children":1241},{},[1242],{"type":49,"value":1018},{"type":43,"tag":398,"props":1244,"children":1245},{},[1246,1262,1278,1295],{"type":43,"tag":378,"props":1247,"children":1248},{},[1249,1254],{"type":43,"tag":405,"props":1250,"children":1251},{},[1252],{"type":49,"value":1253},"Preview without changing anything",{"type":43,"tag":405,"props":1255,"children":1256},{},[1257],{"type":43,"tag":96,"props":1258,"children":1260},{"className":1259},[],[1261],{"type":49,"value":1197},{"type":43,"tag":378,"props":1263,"children":1264},{},[1265,1270],{"type":43,"tag":405,"props":1266,"children":1267},{},[1268],{"type":49,"value":1269},"Target a specific context",{"type":43,"tag":405,"props":1271,"children":1272},{},[1273],{"type":43,"tag":96,"props":1274,"children":1276},{"className":1275},[],[1277],{"type":49,"value":992},{"type":43,"tag":378,"props":1279,"children":1280},{},[1281,1286],{"type":43,"tag":405,"props":1282,"children":1283},{},[1284],{"type":49,"value":1285},"Continue on errors vs stop",{"type":43,"tag":405,"props":1287,"children":1288},{},[1289],{"type":43,"tag":96,"props":1290,"children":1292},{"className":1291},[],[1293],{"type":49,"value":1294},"--on-error fail|ignore|abort",{"type":43,"tag":378,"props":1296,"children":1297},{},[1298,1303],{"type":43,"tag":405,"props":1299,"children":1300},{},[1301],{"type":49,"value":1302},"Control concurrency",{"type":43,"tag":405,"props":1304,"children":1305},{},[1306,1312],{"type":43,"tag":96,"props":1307,"children":1309},{"className":1308},[],[1310],{"type":49,"value":1311},"--max-concurrent \u003Cn>",{"type":49,"value":1313}," (default 10)",{"type":43,"tag":58,"props":1315,"children":1317},{"id":1316},"resource-operations",[1318],{"type":49,"value":1319},"Resource Operations",{"type":43,"tag":52,"props":1321,"children":1322},{},[1323,1325,1331],{"type":49,"value":1324},"The ",{"type":43,"tag":96,"props":1326,"children":1328},{"className":1327},[],[1329],{"type":49,"value":1330},"gcx resources",{"type":49,"value":1332}," group handles CRUD for Grafana's K8s-tier resources:",{"type":43,"tag":928,"props":1334,"children":1335},{},[1336,1347,1358,1369,1380,1391,1402,1413],{"type":43,"tag":932,"props":1337,"children":1338},{},[1339,1345],{"type":43,"tag":96,"props":1340,"children":1342},{"className":1341},[],[1343],{"type":49,"value":1344},"get",{"type":49,"value":1346}," — list or fetch resources",{"type":43,"tag":932,"props":1348,"children":1349},{},[1350,1356],{"type":43,"tag":96,"props":1351,"children":1353},{"className":1352},[],[1354],{"type":49,"value":1355},"push",{"type":49,"value":1357}," — create or update from local files",{"type":43,"tag":932,"props":1359,"children":1360},{},[1361,1367],{"type":43,"tag":96,"props":1362,"children":1364},{"className":1363},[],[1365],{"type":49,"value":1366},"pull",{"type":49,"value":1368}," — export resources to local files",{"type":43,"tag":932,"props":1370,"children":1371},{},[1372,1378],{"type":43,"tag":96,"props":1373,"children":1375},{"className":1374},[],[1376],{"type":49,"value":1377},"delete",{"type":49,"value":1379}," — remove resources",{"type":43,"tag":932,"props":1381,"children":1382},{},[1383,1389],{"type":43,"tag":96,"props":1384,"children":1386},{"className":1385},[],[1387],{"type":49,"value":1388},"edit",{"type":49,"value":1390}," — edit resources interactively",{"type":43,"tag":932,"props":1392,"children":1393},{},[1394,1400],{"type":43,"tag":96,"props":1395,"children":1397},{"className":1396},[],[1398],{"type":49,"value":1399},"validate",{"type":49,"value":1401}," — validate local files against a live instance",{"type":43,"tag":932,"props":1403,"children":1404},{},[1405,1411],{"type":43,"tag":96,"props":1406,"children":1408},{"className":1407},[],[1409],{"type":49,"value":1410},"list-types",{"type":49,"value":1412}," — discover available resource types and their schemas",{"type":43,"tag":932,"props":1414,"children":1415},{},[1416,1422],{"type":43,"tag":96,"props":1417,"children":1419},{"className":1418},[],[1420],{"type":49,"value":1421},"list-examples",{"type":49,"value":1423}," — list example manifests for resource types",{"type":43,"tag":52,"props":1425,"children":1426},{},[1427,1429,1434,1436,1442,1443,1449],{"type":49,"value":1428},"All resource commands accept selectors: ",{"type":43,"tag":96,"props":1430,"children":1432},{"className":1431},[],[1433],{"type":49,"value":427},{"type":49,"value":1435},",\n",{"type":43,"tag":96,"props":1437,"children":1439},{"className":1438},[],[1440],{"type":49,"value":1441},"gcx resources get dashboards\u002Fmy-dash",{"type":49,"value":592},{"type":43,"tag":96,"props":1444,"children":1446},{"className":1445},[],[1447],{"type":49,"value":1448},"gcx resources get dashboards folders",{"type":49,"value":1450},".",{"type":43,"tag":58,"props":1452,"children":1454},{"id":1453},"datasource-queries",[1455],{"type":49,"value":1456},"Datasource Queries",{"type":43,"tag":52,"props":1458,"children":1459},{},[1460,1461,1467],{"type":49,"value":1324},{"type":43,"tag":96,"props":1462,"children":1464},{"className":1463},[],[1465],{"type":49,"value":1466},"gcx datasources",{"type":49,"value":1468}," group provides typed query interfaces:",{"type":43,"tag":928,"props":1470,"children":1471},{},[1472,1498,1509,1520,1531,1542],{"type":43,"tag":932,"props":1473,"children":1474},{},[1475,1481,1483,1488,1490,1496],{"type":43,"tag":96,"props":1476,"children":1478},{"className":1477},[],[1479],{"type":49,"value":1480},"list",{"type":49,"value":1482}," \u002F ",{"type":43,"tag":96,"props":1484,"children":1486},{"className":1485},[],[1487],{"type":49,"value":1344},{"type":49,"value":1489}," — discover available datasources (",{"type":43,"tag":96,"props":1491,"children":1493},{"className":1492},[],[1494],{"type":49,"value":1495},"get -o yaml",{"type":49,"value":1497}," emits an apply-ready manifest)",{"type":43,"tag":932,"props":1499,"children":1500},{},[1501,1507],{"type":43,"tag":96,"props":1502,"children":1504},{"className":1503},[],[1505],{"type":49,"value":1506},"prometheus",{"type":49,"value":1508}," — PromQL queries (query, labels, metadata, targets)",{"type":43,"tag":932,"props":1510,"children":1511},{},[1512,1518],{"type":43,"tag":96,"props":1513,"children":1515},{"className":1514},[],[1516],{"type":49,"value":1517},"loki",{"type":49,"value":1519}," — LogQL queries (query, labels, series)",{"type":43,"tag":932,"props":1521,"children":1522},{},[1523,1529],{"type":43,"tag":96,"props":1524,"children":1526},{"className":1525},[],[1527],{"type":49,"value":1528},"pyroscope",{"type":49,"value":1530}," — profiling queries",{"type":43,"tag":932,"props":1532,"children":1533},{},[1534,1540],{"type":43,"tag":96,"props":1535,"children":1537},{"className":1536},[],[1538],{"type":49,"value":1539},"tempo",{"type":49,"value":1541}," — trace queries",{"type":43,"tag":932,"props":1543,"children":1544},{},[1545,1551],{"type":43,"tag":96,"props":1546,"children":1548},{"className":1547},[],[1549],{"type":49,"value":1550},"generic",{"type":49,"value":1552}," — auto-detect datasource type",{"type":43,"tag":52,"props":1554,"children":1555},{},[1556,1558,1564],{"type":49,"value":1557},"Use ",{"type":43,"tag":96,"props":1559,"children":1561},{"className":1560},[],[1562],{"type":49,"value":1563},"gcx datasources \u003Ctype> --help",{"type":49,"value":1565}," to discover type-specific flags.",{"type":43,"tag":358,"props":1567,"children":1569},{"id":1568},"datasource-lifecycle-declarative-crud",[1570],{"type":49,"value":1571},"Datasource lifecycle (declarative CRUD)",{"type":43,"tag":52,"props":1573,"children":1574},{},[1575],{"type":49,"value":1576},"Manage datasource instances with Kubernetes-style manifests (file or stdin):",{"type":43,"tag":928,"props":1578,"children":1579},{},[1580,1636,1663,1674],{"type":43,"tag":932,"props":1581,"children":1582},{},[1583,1589,1590,1596,1598,1603,1605,1611,1613,1619,1620,1626,1628,1634],{"type":43,"tag":96,"props":1584,"children":1586},{"className":1585},[],[1587],{"type":49,"value":1588},"create -f FILE",{"type":49,"value":1482},{"type":43,"tag":96,"props":1591,"children":1593},{"className":1592},[],[1594],{"type":49,"value":1595},"update UID -f FILE",{"type":49,"value":1597}," — apply a manifest; ",{"type":43,"tag":96,"props":1599,"children":1601},{"className":1600},[],[1602],{"type":49,"value":1197},{"type":49,"value":1604}," previews\na secret-redacted diff. Secrets go in the top-level ",{"type":43,"tag":96,"props":1606,"children":1608},{"className":1607},[],[1609],{"type":49,"value":1610},"secure",{"type":49,"value":1612}," block via\n",{"type":43,"tag":96,"props":1614,"children":1616},{"className":1615},[],[1617],{"type":49,"value":1618},"{create: \u003Cvalue>}",{"type":49,"value":592},{"type":43,"tag":96,"props":1621,"children":1623},{"className":1622},[],[1624],{"type":49,"value":1625},"{fromEnv: \u003CVAR>}",{"type":49,"value":1627},", or ",{"type":43,"tag":96,"props":1629,"children":1631},{"className":1630},[],[1632],{"type":49,"value":1633},"{fromFile: \u003Cpath>}",{"type":49,"value":1635}," — never on argv.",{"type":43,"tag":932,"props":1637,"children":1638},{},[1639,1645,1647,1653,1655,1661],{"type":43,"tag":96,"props":1640,"children":1642},{"className":1641},[],[1643],{"type":49,"value":1644},"delete UID...",{"type":49,"value":1646}," — prompts unless ",{"type":43,"tag":96,"props":1648,"children":1650},{"className":1649},[],[1651],{"type":49,"value":1652},"--force",{"type":49,"value":1654},"\u002F",{"type":43,"tag":96,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":49,"value":1660},"--yes",{"type":49,"value":1662}," (auto-approved in agent mode);\nbatch-safe with partial-failure exit code 4.",{"type":43,"tag":932,"props":1664,"children":1665},{},[1666,1672],{"type":43,"tag":96,"props":1667,"children":1669},{"className":1668},[],[1670],{"type":49,"value":1671},"health [UID]",{"type":49,"value":1673}," — exit 0 healthy, 4 unhealthy (resource failure), 1\u002F2\u002F3 command failure.",{"type":43,"tag":932,"props":1675,"children":1676},{},[1677,1683],{"type":43,"tag":96,"props":1678,"children":1680},{"className":1679},[],[1681],{"type":49,"value":1682},"schemas get --type \u003Cplugin>",{"type":49,"value":1684}," — plugin configuration schema (when the server\nserves the datasource app-platform API).",{"type":43,"tag":52,"props":1686,"children":1687},{},[1688,1690,1696,1698,1704],{"type":49,"value":1689},"Custom HTTP headers use the flat convention: name in ",{"type":43,"tag":96,"props":1691,"children":1693},{"className":1692},[],[1694],{"type":49,"value":1695},"jsonData.httpHeaderName{N}",{"type":49,"value":1697},",\nvalue (secret) in ",{"type":43,"tag":96,"props":1699,"children":1701},{"className":1700},[],[1702],{"type":49,"value":1703},"secure.httpHeaderValue{N}",{"type":49,"value":1450},{"type":43,"tag":358,"props":1706,"children":1708},{"id":1707},"tempo-llm-friendly-output-for-agents",[1709],{"type":49,"value":1710},"Tempo LLM-friendly output for agents",{"type":43,"tag":52,"props":1712,"children":1713},{},[1714],{"type":49,"value":1715},"When fetching Tempo tag values or full trace bodies for this agent to inspect,\nsummarize, debug, or include in a prompt, prefer Tempo's compact LLM-friendly\nencoding:",{"type":43,"tag":88,"props":1717,"children":1719},{"className":90,"code":1718,"language":92,"meta":93,"style":93},"# Attribute values grouped by type instead of repeated {type,value} objects.\ngcx traces tags -d \u003Ctempo-uid> -l resource.service.name --llm -o json\n\n# Full trace body in Tempo's LLM-friendly trace encoding.\ngcx traces get -d \u003Ctempo-uid> \u003Ctrace-id> --llm -o json\n# equivalent legacy path:\ngcx datasources tempo get -d \u003Ctempo-uid> \u003Ctrace-id> --llm -o json\n",[1720],{"type":43,"tag":96,"props":1721,"children":1722},{"__ignoreMap":93},[1723,1731,1794,1803,1812,1878,1887],{"type":43,"tag":100,"props":1724,"children":1725},{"class":102,"line":103},[1726],{"type":43,"tag":100,"props":1727,"children":1728},{"style":197},[1729],{"type":49,"value":1730},"# Attribute values grouped by type instead of repeated {type,value} objects.\n",{"type":43,"tag":100,"props":1732,"children":1733},{"class":102,"line":203},[1734,1738,1743,1748,1753,1757,1762,1766,1770,1775,1780,1785,1789],{"type":43,"tag":100,"props":1735,"children":1736},{"style":107},[1737],{"type":49,"value":4},{"type":43,"tag":100,"props":1739,"children":1740},{"style":112},[1741],{"type":49,"value":1742}," traces",{"type":43,"tag":100,"props":1744,"children":1745},{"style":112},[1746],{"type":49,"value":1747}," tags",{"type":43,"tag":100,"props":1749,"children":1750},{"style":112},[1751],{"type":49,"value":1752}," -d",{"type":43,"tag":100,"props":1754,"children":1755},{"style":167},[1756],{"type":49,"value":170},{"type":43,"tag":100,"props":1758,"children":1759},{"style":112},[1760],{"type":49,"value":1761},"tempo-ui",{"type":43,"tag":100,"props":1763,"children":1764},{"style":178},[1765],{"type":49,"value":238},{"type":43,"tag":100,"props":1767,"children":1768},{"style":167},[1769],{"type":49,"value":185},{"type":43,"tag":100,"props":1771,"children":1772},{"style":112},[1773],{"type":49,"value":1774}," -l",{"type":43,"tag":100,"props":1776,"children":1777},{"style":112},[1778],{"type":49,"value":1779}," resource.service.name",{"type":43,"tag":100,"props":1781,"children":1782},{"style":112},[1783],{"type":49,"value":1784}," --llm",{"type":43,"tag":100,"props":1786,"children":1787},{"style":112},[1788],{"type":49,"value":131},{"type":43,"tag":100,"props":1790,"children":1791},{"style":112},[1792],{"type":49,"value":1793}," json\n",{"type":43,"tag":100,"props":1795,"children":1797},{"class":102,"line":1796},3,[1798],{"type":43,"tag":100,"props":1799,"children":1800},{"emptyLinePlaceholder":36},[1801],{"type":49,"value":1802},"\n",{"type":43,"tag":100,"props":1804,"children":1806},{"class":102,"line":1805},4,[1807],{"type":43,"tag":100,"props":1808,"children":1809},{"style":197},[1810],{"type":49,"value":1811},"# Full trace body in Tempo's LLM-friendly trace encoding.\n",{"type":43,"tag":100,"props":1813,"children":1815},{"class":102,"line":1814},5,[1816,1820,1824,1829,1833,1837,1841,1845,1849,1853,1858,1862,1866,1870,1874],{"type":43,"tag":100,"props":1817,"children":1818},{"style":107},[1819],{"type":49,"value":4},{"type":43,"tag":100,"props":1821,"children":1822},{"style":112},[1823],{"type":49,"value":1742},{"type":43,"tag":100,"props":1825,"children":1826},{"style":112},[1827],{"type":49,"value":1828}," get",{"type":43,"tag":100,"props":1830,"children":1831},{"style":112},[1832],{"type":49,"value":1752},{"type":43,"tag":100,"props":1834,"children":1835},{"style":167},[1836],{"type":49,"value":170},{"type":43,"tag":100,"props":1838,"children":1839},{"style":112},[1840],{"type":49,"value":1761},{"type":43,"tag":100,"props":1842,"children":1843},{"style":178},[1844],{"type":49,"value":238},{"type":43,"tag":100,"props":1846,"children":1847},{"style":167},[1848],{"type":49,"value":185},{"type":43,"tag":100,"props":1850,"children":1851},{"style":167},[1852],{"type":49,"value":170},{"type":43,"tag":100,"props":1854,"children":1855},{"style":112},[1856],{"type":49,"value":1857},"trace-i",{"type":43,"tag":100,"props":1859,"children":1860},{"style":178},[1861],{"type":49,"value":238},{"type":43,"tag":100,"props":1863,"children":1864},{"style":167},[1865],{"type":49,"value":185},{"type":43,"tag":100,"props":1867,"children":1868},{"style":112},[1869],{"type":49,"value":1784},{"type":43,"tag":100,"props":1871,"children":1872},{"style":112},[1873],{"type":49,"value":131},{"type":43,"tag":100,"props":1875,"children":1876},{"style":112},[1877],{"type":49,"value":1793},{"type":43,"tag":100,"props":1879,"children":1881},{"class":102,"line":1880},6,[1882],{"type":43,"tag":100,"props":1883,"children":1884},{"style":197},[1885],{"type":49,"value":1886},"# equivalent legacy path:\n",{"type":43,"tag":100,"props":1888,"children":1890},{"class":102,"line":1889},7,[1891,1895,1900,1905,1909,1913,1917,1921,1925,1929,1933,1937,1941,1945,1949,1953],{"type":43,"tag":100,"props":1892,"children":1893},{"style":107},[1894],{"type":49,"value":4},{"type":43,"tag":100,"props":1896,"children":1897},{"style":112},[1898],{"type":49,"value":1899}," datasources",{"type":43,"tag":100,"props":1901,"children":1902},{"style":112},[1903],{"type":49,"value":1904}," tempo",{"type":43,"tag":100,"props":1906,"children":1907},{"style":112},[1908],{"type":49,"value":1828},{"type":43,"tag":100,"props":1910,"children":1911},{"style":112},[1912],{"type":49,"value":1752},{"type":43,"tag":100,"props":1914,"children":1915},{"style":167},[1916],{"type":49,"value":170},{"type":43,"tag":100,"props":1918,"children":1919},{"style":112},[1920],{"type":49,"value":1761},{"type":43,"tag":100,"props":1922,"children":1923},{"style":178},[1924],{"type":49,"value":238},{"type":43,"tag":100,"props":1926,"children":1927},{"style":167},[1928],{"type":49,"value":185},{"type":43,"tag":100,"props":1930,"children":1931},{"style":167},[1932],{"type":49,"value":170},{"type":43,"tag":100,"props":1934,"children":1935},{"style":112},[1936],{"type":49,"value":1857},{"type":43,"tag":100,"props":1938,"children":1939},{"style":178},[1940],{"type":49,"value":238},{"type":43,"tag":100,"props":1942,"children":1943},{"style":167},[1944],{"type":49,"value":185},{"type":43,"tag":100,"props":1946,"children":1947},{"style":112},[1948],{"type":49,"value":1784},{"type":43,"tag":100,"props":1950,"children":1951},{"style":112},[1952],{"type":49,"value":131},{"type":43,"tag":100,"props":1954,"children":1955},{"style":112},[1956],{"type":49,"value":1793},{"type":43,"tag":52,"props":1958,"children":1959},{},[1960,1961,1967,1969,1975,1977,1983,1985,1991,1993,1999],{"type":49,"value":1557},{"type":43,"tag":96,"props":1962,"children":1964},{"className":1963},[],[1965],{"type":49,"value":1966},"gcx traces labels -d \u003Ctempo-uid>",{"type":49,"value":1968}," to discover attribute names first. Use\n",{"type":43,"tag":96,"props":1970,"children":1972},{"className":1971},[],[1973],{"type":49,"value":1974},"gcx traces query",{"type":49,"value":1976}," to find trace IDs, then ",{"type":43,"tag":96,"props":1978,"children":1980},{"className":1979},[],[1981],{"type":49,"value":1982},"gcx traces get --llm -o json",{"type":49,"value":1984}," to inspect\na selected trace. Omit ",{"type":43,"tag":96,"props":1986,"children":1988},{"className":1987},[],[1989],{"type":49,"value":1990},"--llm",{"type":49,"value":1992}," only when the user explicitly needs raw Tempo\u002FOTLP\nJSON or the standard ",{"type":43,"tag":96,"props":1994,"children":1996},{"className":1995},[],[1997],{"type":49,"value":1998},"tagValues: [{type, value}]",{"type":49,"value":2000}," shape for schema\u002Fdebugging work.",{"type":43,"tag":58,"props":2002,"children":2004},{"id":2003},"grafana-assistant",[2005],{"type":49,"value":2006},"Grafana Assistant",{"type":43,"tag":52,"props":2008,"children":2009},{},[2010,2012,2017],{"type":49,"value":2011},"gcx provides direct access to the Grafana Assistant — use it for ",{"type":43,"tag":70,"props":2013,"children":2014},{},[2015],{"type":49,"value":2016},"reasoning\nand exploration",{"type":49,"value":2018},", not data retrieval. Deterministic commands are faster and\ncheaper for known queries; the Assistant adds value when you need intelligence.",{"type":43,"tag":370,"props":2020,"children":2021},{},[2022,2042],{"type":43,"tag":374,"props":2023,"children":2024},{},[2025],{"type":43,"tag":378,"props":2026,"children":2027},{},[2028,2033,2038],{"type":43,"tag":382,"props":2029,"children":2030},{},[2031],{"type":49,"value":2032},"Situation",{"type":43,"tag":382,"props":2034,"children":2035},{},[2036],{"type":49,"value":2037},"Use",{"type":43,"tag":382,"props":2039,"children":2040},{},[2041],{"type":49,"value":396},{"type":43,"tag":398,"props":2043,"children":2044},{},[2045,2067,2093,2115,2143],{"type":43,"tag":378,"props":2046,"children":2047},{},[2048,2053,2058],{"type":43,"tag":405,"props":2049,"children":2050},{},[2051],{"type":49,"value":2052},"You know the exact query",{"type":43,"tag":405,"props":2054,"children":2055},{},[2056],{"type":49,"value":2057},"Deterministic command",{"type":43,"tag":405,"props":2059,"children":2060},{},[2061],{"type":43,"tag":96,"props":2062,"children":2064},{"className":2063},[],[2065],{"type":49,"value":2066},"gcx metrics query 'rate(http_requests_total[5m])'",{"type":43,"tag":378,"props":2068,"children":2069},{},[2070,2075,2084],{"type":43,"tag":405,"props":2071,"children":2072},{},[2073],{"type":49,"value":2074},"You don't know which metrics\u002Flabels exist",{"type":43,"tag":405,"props":2076,"children":2077},{},[2078],{"type":43,"tag":96,"props":2079,"children":2081},{"className":2080},[],[2082],{"type":49,"value":2083},"gcx assistant prompt",{"type":43,"tag":405,"props":2085,"children":2086},{},[2087],{"type":43,"tag":96,"props":2088,"children":2090},{"className":2089},[],[2091],{"type":49,"value":2092},"\"What metrics exist for the checkout service?\"",{"type":43,"tag":378,"props":2094,"children":2095},{},[2096,2101,2110],{"type":43,"tag":405,"props":2097,"children":2098},{},[2099],{"type":49,"value":2100},"You need cross-signal root cause analysis",{"type":43,"tag":405,"props":2102,"children":2103},{},[2104],{"type":43,"tag":96,"props":2105,"children":2107},{"className":2106},[],[2108],{"type":49,"value":2109},"gcx assistant investigations",{"type":43,"tag":405,"props":2111,"children":2112},{},[2113],{"type":49,"value":2114},"Multi-agent parallel exploration across metrics, logs, traces, profiles",{"type":43,"tag":378,"props":2116,"children":2117},{},[2118,2123,2127],{"type":43,"tag":405,"props":2119,"children":2120},{},[2121],{"type":49,"value":2122},"You need a precise, repeatable data point",{"type":43,"tag":405,"props":2124,"children":2125},{},[2126],{"type":49,"value":2057},{"type":43,"tag":405,"props":2128,"children":2129},{},[2130,2136,2137],{"type":43,"tag":96,"props":2131,"children":2133},{"className":2132},[],[2134],{"type":49,"value":2135},"gcx slo definitions status",{"type":49,"value":592},{"type":43,"tag":96,"props":2138,"children":2140},{"className":2139},[],[2141],{"type":49,"value":2142},"gcx alert instances list --state firing",{"type":43,"tag":378,"props":2144,"children":2145},{},[2146,2151,2159],{"type":43,"tag":405,"props":2147,"children":2148},{},[2149],{"type":49,"value":2150},"You need to understand service dependencies",{"type":43,"tag":405,"props":2152,"children":2153},{},[2154],{"type":43,"tag":96,"props":2155,"children":2157},{"className":2156},[],[2158],{"type":49,"value":2083},{"type":43,"tag":405,"props":2160,"children":2161},{},[2162,2168],{"type":43,"tag":96,"props":2163,"children":2165},{"className":2164},[],[2166],{"type":49,"value":2167},"\"How are services in namespace X connected?\"",{"type":49,"value":2169}," — Assistant Memories know your stack topology",{"type":43,"tag":358,"props":2171,"children":2173},{"id":2172},"commands",[2174],{"type":49,"value":2175},"Commands",{"type":43,"tag":88,"props":2177,"children":2179},{"className":90,"code":2178,"language":92,"meta":93,"style":93},"# Ask a question (Assistant uses Infrastructure Memories for context)\ngcx assistant prompt \"What services are unhealthy in namespace checkout?\"\n\n# Follow up on the previous conversation\ngcx assistant prompt \"Dig into the database connection issue\" --continue\n\n# Launch a deep investigation (multi-agent, parallel signal exploration)\ngcx assistant investigations create --title=\"Checkout latency spike\"\n\n# Monitor and read results\ngcx assistant investigations get \u003Cid>\ngcx assistant investigations get-narrative \u003Cid>\n",[2180],{"type":43,"tag":96,"props":2181,"children":2182},{"__ignoreMap":93},[2183,2191,2223,2230,2238,2272,2279,2287,2327,2335,2344,2382],{"type":43,"tag":100,"props":2184,"children":2185},{"class":102,"line":103},[2186],{"type":43,"tag":100,"props":2187,"children":2188},{"style":197},[2189],{"type":49,"value":2190},"# Ask a question (Assistant uses Infrastructure Memories for context)\n",{"type":43,"tag":100,"props":2192,"children":2193},{"class":102,"line":203},[2194,2198,2203,2208,2213,2218],{"type":43,"tag":100,"props":2195,"children":2196},{"style":107},[2197],{"type":49,"value":4},{"type":43,"tag":100,"props":2199,"children":2200},{"style":112},[2201],{"type":49,"value":2202}," assistant",{"type":43,"tag":100,"props":2204,"children":2205},{"style":112},[2206],{"type":49,"value":2207}," prompt",{"type":43,"tag":100,"props":2209,"children":2210},{"style":167},[2211],{"type":49,"value":2212}," \"",{"type":43,"tag":100,"props":2214,"children":2215},{"style":112},[2216],{"type":49,"value":2217},"What services are unhealthy in namespace checkout?",{"type":43,"tag":100,"props":2219,"children":2220},{"style":167},[2221],{"type":49,"value":2222},"\"\n",{"type":43,"tag":100,"props":2224,"children":2225},{"class":102,"line":1796},[2226],{"type":43,"tag":100,"props":2227,"children":2228},{"emptyLinePlaceholder":36},[2229],{"type":49,"value":1802},{"type":43,"tag":100,"props":2231,"children":2232},{"class":102,"line":1805},[2233],{"type":43,"tag":100,"props":2234,"children":2235},{"style":197},[2236],{"type":49,"value":2237},"# Follow up on the previous conversation\n",{"type":43,"tag":100,"props":2239,"children":2240},{"class":102,"line":1814},[2241,2245,2249,2253,2257,2262,2267],{"type":43,"tag":100,"props":2242,"children":2243},{"style":107},[2244],{"type":49,"value":4},{"type":43,"tag":100,"props":2246,"children":2247},{"style":112},[2248],{"type":49,"value":2202},{"type":43,"tag":100,"props":2250,"children":2251},{"style":112},[2252],{"type":49,"value":2207},{"type":43,"tag":100,"props":2254,"children":2255},{"style":167},[2256],{"type":49,"value":2212},{"type":43,"tag":100,"props":2258,"children":2259},{"style":112},[2260],{"type":49,"value":2261},"Dig into the database connection issue",{"type":43,"tag":100,"props":2263,"children":2264},{"style":167},[2265],{"type":49,"value":2266},"\"",{"type":43,"tag":100,"props":2268,"children":2269},{"style":112},[2270],{"type":49,"value":2271}," --continue\n",{"type":43,"tag":100,"props":2273,"children":2274},{"class":102,"line":1880},[2275],{"type":43,"tag":100,"props":2276,"children":2277},{"emptyLinePlaceholder":36},[2278],{"type":49,"value":1802},{"type":43,"tag":100,"props":2280,"children":2281},{"class":102,"line":1889},[2282],{"type":43,"tag":100,"props":2283,"children":2284},{"style":197},[2285],{"type":49,"value":2286},"# Launch a deep investigation (multi-agent, parallel signal exploration)\n",{"type":43,"tag":100,"props":2288,"children":2290},{"class":102,"line":2289},8,[2291,2295,2299,2304,2309,2314,2318,2323],{"type":43,"tag":100,"props":2292,"children":2293},{"style":107},[2294],{"type":49,"value":4},{"type":43,"tag":100,"props":2296,"children":2297},{"style":112},[2298],{"type":49,"value":2202},{"type":43,"tag":100,"props":2300,"children":2301},{"style":112},[2302],{"type":49,"value":2303}," investigations",{"type":43,"tag":100,"props":2305,"children":2306},{"style":112},[2307],{"type":49,"value":2308}," create",{"type":43,"tag":100,"props":2310,"children":2311},{"style":112},[2312],{"type":49,"value":2313}," --title=",{"type":43,"tag":100,"props":2315,"children":2316},{"style":167},[2317],{"type":49,"value":2266},{"type":43,"tag":100,"props":2319,"children":2320},{"style":112},[2321],{"type":49,"value":2322},"Checkout latency spike",{"type":43,"tag":100,"props":2324,"children":2325},{"style":167},[2326],{"type":49,"value":2222},{"type":43,"tag":100,"props":2328,"children":2330},{"class":102,"line":2329},9,[2331],{"type":43,"tag":100,"props":2332,"children":2333},{"emptyLinePlaceholder":36},[2334],{"type":49,"value":1802},{"type":43,"tag":100,"props":2336,"children":2338},{"class":102,"line":2337},10,[2339],{"type":43,"tag":100,"props":2340,"children":2341},{"style":197},[2342],{"type":49,"value":2343},"# Monitor and read results\n",{"type":43,"tag":100,"props":2345,"children":2347},{"class":102,"line":2346},11,[2348,2352,2356,2360,2364,2368,2373,2377],{"type":43,"tag":100,"props":2349,"children":2350},{"style":107},[2351],{"type":49,"value":4},{"type":43,"tag":100,"props":2353,"children":2354},{"style":112},[2355],{"type":49,"value":2202},{"type":43,"tag":100,"props":2357,"children":2358},{"style":112},[2359],{"type":49,"value":2303},{"type":43,"tag":100,"props":2361,"children":2362},{"style":112},[2363],{"type":49,"value":1828},{"type":43,"tag":100,"props":2365,"children":2366},{"style":167},[2367],{"type":49,"value":170},{"type":43,"tag":100,"props":2369,"children":2370},{"style":112},[2371],{"type":49,"value":2372},"i",{"type":43,"tag":100,"props":2374,"children":2375},{"style":178},[2376],{"type":49,"value":238},{"type":43,"tag":100,"props":2378,"children":2379},{"style":167},[2380],{"type":49,"value":2381},">\n",{"type":43,"tag":100,"props":2383,"children":2385},{"class":102,"line":2384},12,[2386,2390,2394,2398,2403,2407,2411,2415],{"type":43,"tag":100,"props":2387,"children":2388},{"style":107},[2389],{"type":49,"value":4},{"type":43,"tag":100,"props":2391,"children":2392},{"style":112},[2393],{"type":49,"value":2202},{"type":43,"tag":100,"props":2395,"children":2396},{"style":112},[2397],{"type":49,"value":2303},{"type":43,"tag":100,"props":2399,"children":2400},{"style":112},[2401],{"type":49,"value":2402}," get-narrative",{"type":43,"tag":100,"props":2404,"children":2405},{"style":167},[2406],{"type":49,"value":170},{"type":43,"tag":100,"props":2408,"children":2409},{"style":112},[2410],{"type":49,"value":2372},{"type":43,"tag":100,"props":2412,"children":2413},{"style":178},[2414],{"type":49,"value":238},{"type":43,"tag":100,"props":2416,"children":2417},{"style":167},[2418],{"type":49,"value":2381},{"type":43,"tag":358,"props":2420,"children":2422},{"id":2421},"recommended-workflow-interleave-both",[2423],{"type":49,"value":2424},"Recommended Workflow: Interleave Both",{"type":43,"tag":1149,"props":2426,"children":2427},{},[2428,2443,2459,2475],{"type":43,"tag":932,"props":2429,"children":2430},{},[2431,2436,2438],{"type":43,"tag":70,"props":2432,"children":2433},{},[2434],{"type":49,"value":2435},"Detect",{"type":49,"value":2437}," with deterministic commands — ",{"type":43,"tag":96,"props":2439,"children":2441},{"className":2440},[],[2442],{"type":49,"value":2142},{"type":43,"tag":932,"props":2444,"children":2445},{},[2446,2451,2453],{"type":43,"tag":70,"props":2447,"children":2448},{},[2449],{"type":49,"value":2450},"Understand",{"type":49,"value":2452}," with the Assistant — ",{"type":43,"tag":96,"props":2454,"children":2456},{"className":2455},[],[2457],{"type":49,"value":2458},"gcx assistant prompt \"Why is checkout-latency firing?\"",{"type":43,"tag":932,"props":2460,"children":2461},{},[2462,2467,2469],{"type":43,"tag":70,"props":2463,"children":2464},{},[2465],{"type":49,"value":2466},"Investigate",{"type":49,"value":2468}," if needed — ",{"type":43,"tag":96,"props":2470,"children":2472},{"className":2471},[],[2473],{"type":49,"value":2474},"gcx assistant investigations create --title=\"...\"",{"type":43,"tag":932,"props":2476,"children":2477},{},[2478,2483,2484],{"type":43,"tag":70,"props":2479,"children":2480},{},[2481],{"type":49,"value":2482},"Verify fix",{"type":49,"value":2437},{"type":43,"tag":96,"props":2485,"children":2487},{"className":2486},[],[2488],{"type":49,"value":2489},"gcx slo definitions status \u003Cuuid>",{"type":43,"tag":58,"props":2491,"children":2493},{"id":2492},"provider-commands",[2494],{"type":49,"value":2495},"Provider Commands",{"type":43,"tag":52,"props":2497,"children":2498},{},[2499,2501,2507,2509,2515],{"type":49,"value":2500},"Product-specific providers register their own top-level command groups.\nDiscover them with ",{"type":43,"tag":96,"props":2502,"children":2504},{"className":2503},[],[2505],{"type":49,"value":2506},"gcx providers",{"type":49,"value":2508},", then explore with ",{"type":43,"tag":96,"props":2510,"children":2512},{"className":2511},[],[2513],{"type":49,"value":2514},"gcx \u003Cprovider> --help",{"type":49,"value":1450},{"type":43,"tag":52,"props":2517,"children":2518},{},[2519],{"type":49,"value":2520},"Each provider adds domain-specific subcommands for managing that product's\nresources. The set of providers grows over time — always discover rather than\nhardcode.",{"type":43,"tag":58,"props":2522,"children":2524},{"id":2523},"parallelism",[2525],{"type":49,"value":2526},"Parallelism",{"type":43,"tag":52,"props":2528,"children":2529},{},[2530],{"type":49,"value":2531},"gcx commands are stateless API calls. When multiple operations are independent\n(no output dependency between them), issue them as parallel Bash tool calls in\na single message. This applies to:",{"type":43,"tag":928,"props":2533,"children":2534},{},[2535,2540,2545,2550],{"type":43,"tag":932,"props":2536,"children":2537},{},[2538],{"type":49,"value":2539},"Multiple list\u002Fget calls across different resource types",{"type":43,"tag":932,"props":2541,"children":2542},{},[2543],{"type":49,"value":2544},"Multiple schema\u002Fexample fetches",{"type":43,"tag":932,"props":2546,"children":2547},{},[2548],{"type":49,"value":2549},"Independent create\u002Fupdate operations",{"type":43,"tag":932,"props":2551,"children":2552},{},[2553],{"type":49,"value":2554},"Concurrent datasource queries",{"type":43,"tag":52,"props":2556,"children":2557},{},[2558],{"type":49,"value":2559},"Only sequence commands when a later call needs output from an earlier one.",{"type":43,"tag":58,"props":2561,"children":2563},{"id":2562},"secret-safety",[2564],{"type":49,"value":2565},"Secret Safety",{"type":43,"tag":52,"props":2567,"children":2568},{},[2569,2571,2576],{"type":49,"value":2570},"Never read raw config files — they contain plaintext tokens. Use ",{"type":43,"tag":96,"props":2572,"children":2574},{"className":2573},[],[2575],{"type":49,"value":951},{"type":49,"value":2577},"\n(which redacts secrets) for inspection. When passing tokens to external tools,\nuse shell variables rather than inline values.",{"type":43,"tag":2579,"props":2580,"children":2581},"style",{},[2582],{"type":49,"value":2583},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2585,"total":2764},[2586,2604,2623,2643,2656,2672,2685,2700,2717,2732,2745,2752],{"slug":2587,"name":2587,"fn":2588,"description":2589,"org":2590,"tags":2591,"stars":2601,"repoUrl":2602,"updatedAt":2603},"faro-setup-web","instrument web apps with Grafana Faro","Instruments a web app with Grafana Faro Web SDK for frontend observability. Use when setting up error tracking, Web Vitals, session monitoring, or distributed tracing in a browser app.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2592,2595,2597,2598],{"name":2593,"slug":2594,"type":15},"Distributed Tracing","distributed-tracing",{"name":2596,"slug":825,"type":15},"Frontend",{"name":17,"slug":18,"type":15},{"name":2599,"slug":2600,"type":15},"Observability","observability",1103,"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Ffaro-web-sdk","2026-07-12T07:43:24.63314",{"slug":2605,"name":2605,"fn":2606,"description":2607,"org":2608,"tags":2609,"stars":2620,"repoUrl":2621,"updatedAt":2622},"configuring-yesoreyeram-infinity-datasource","configure Grafana Infinity data source","Configure the Infinity data source — base URL and allowed hosts, the authentication methods (basic, bearer token, API key, digest, OAuth passthrough, OAuth 2.0 client credentials\u002FJWT, Azure, Azure Blob, AWS), TLS, custom HTTP headers, network and security settings, the custom health check, and provisioning with a config file. Use when a user asks how to set up, configure, or change settings for the Infinity data source; how to authenticate to an API; how to allow hosts; how to provision it as YAML; or how to troubleshoot connection, authentication, or health-check issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2610,2613,2616,2619],{"name":2611,"slug":2612,"type":15},"API Development","api-development",{"name":2614,"slug":2615,"type":15},"Authentication","authentication",{"name":2617,"slug":2618,"type":15},"Configuration","configuration",{"name":9,"slug":8,"type":15},1056,"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fgrafana-infinity-datasource","2026-07-12T07:43:25.939136",{"slug":2624,"name":2624,"fn":2625,"description":2626,"org":2627,"tags":2628,"stars":2620,"repoUrl":2621,"updatedAt":2642},"querying-yesoreyeram-infinity-datasource","query data with Infinity datasource","Build queries with the Infinity data source — the query types (JSON, CSV, TSV, XML, GraphQL, HTML, UQL, GROQ, Google Sheets, Series, Transformations), the parsers (Frontend\u002Fsimple, Backend JSONata, JQ, UQL, GROQ) and which support alerting, the sources (URL, Inline, Reference, Azure Blob, Random walk), output formats (table, timeseries, logs, trace, node graph, dataframe), root selector and columns, computed columns\u002Ffilters\u002Fsummarize, pagination, and template variables. Use when a user asks how to query Infinity; how to fetch JSON\u002FCSV\u002FXML\u002FGraphQL\u002FHTML from a URL or inline; how to select rows and columns; how to transform data with UQL\u002FGROQ\u002FJSONata\u002FJQ; how to make a query work with alerting; how to paginate; or how to use variables in a query.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2629,2632,2635,2636,2639],{"name":2630,"slug":2631,"type":15},"CSV","csv",{"name":2633,"slug":2634,"type":15},"Data Analysis","data-analysis",{"name":9,"slug":8,"type":15},{"name":2637,"slug":2638,"type":15},"GraphQL","graphql",{"name":2640,"slug":2641,"type":15},"JSON","json","2026-07-15T05:34:05.773947",{"slug":2644,"name":2644,"fn":2645,"description":2646,"org":2647,"tags":2648,"stars":23,"repoUrl":24,"updatedAt":2655},"agento11y","manage Grafana Agent Observability resources","Inspects and manages Grafana Agent Observability resources via gcx: conversations, generations, evaluators, rules, scores, and templates. Use when the user wants to list or search conversations, inspect generations, manage evaluators (upsert, test, delete), set up evaluation rules, check scores, or browse evaluator templates. Trigger on phrases like \"list conversations\", \"search generations\", \"what did the agent do\", \"debug LLM conversation\", \"create evaluator\", \"set up evaluation rule\", \"test evaluator\", \"check scores\", \"evaluate generation quality\", or \"set up online evaluation\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2649,2652,2653,2654],{"name":2650,"slug":2651,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"name":2599,"slug":2600,"type":15},"2026-07-25T05:30:40.29622",{"slug":2657,"name":2657,"fn":2658,"description":2659,"org":2660,"tags":2661,"stars":23,"repoUrl":24,"updatedAt":2671},"agento11y-instrument","instrument LLM apps for agent observability","Sets up and instruments a developer's own LLM app or agent to send generations and agentic workflow to Grafana Agent Observability (the Agent Observability SDKs) — greenfield setup, fixing broken instrumentation, or filling gaps in existing instrumentation. Uses gcx for the parts a static prompt can't do: `gcx login` \u002F `gcx cloud stacks` to find the stack, and `gcx agento11y agents|conversations|generations` to VERIFY that data actually lands — so it iterates (instrument → run → verify → fix) until generations arrive, not blindly. Reads the app's code, detects language\u002Fframework, classifies instrumentation state (none \u002F partial \u002F broken), then runs a fixed gap checklist whose #1 item is the silent failure no other prompt catches: the SDK emits OTel spans\u002Fmetrics but never creates a TracerProvider\u002FMeterProvider, so without them all metrics go to a no-op and are lost. Also checks agent_version (required for per-version Performance charts), set_result completeness, SYNC vs STREAM, parent_generation_ids DAG links, and workflow-step coverage. Recommends changes citing file:line and, only with explicit confirmation, applies minimal diffs that don't change app behavior. Pulls SDK reference from agento11y's llms.txt rather than restating it, and hands off to `agento11y-test-starter` once data flows. It does NOT write test suites or set up tenant evaluations, rules, or guards — offline test suites are `agento11y-test-starter`, tenant eval rules + guards are `agento11y-prod-setup`; does NOT install coding-agent telemetry plugins (that is llms.txt \"Path A\"); does NOT mint or store credentials or invent endpoints. Trigger on phrases like \"instrument my app\", \"send my agent's traces to Grafana\", \"set up AI observability for my app\", \"my generations aren't showing up\", \"why is Performance empty\", \"add Agent Observability to my code\", \"fix my instrumentation\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2662,2663,2664,2667,2670],{"name":2650,"slug":2651,"type":15},{"name":9,"slug":8,"type":15},{"name":2665,"slug":2666,"type":15},"Instrumentation","instrumentation",{"name":2668,"slug":2669,"type":15},"LLM","llm",{"name":2599,"slug":2600,"type":15},"2026-07-31T05:53:52.580237",{"slug":2673,"name":2673,"fn":2674,"description":2675,"org":2676,"tags":2677,"stars":23,"repoUrl":24,"updatedAt":2684},"agento11y-prod-setup","setup production evaluation for AI agents","Sets up production evaluation and guardrails for a DEPLOYED AI agent in Grafana Agent Observability, grounded in the agent's own code and its real ingested traffic. The judgment layer on top of the `agento11y` skill: it reads the agent's source (system prompt, tools, entrypoint) AND samples its live traffic via gcx, checks what evaluators\u002Frules\u002Fguards already exist, then recommends only what's missing — online eval rules (score live conversations for regressions) and guards (warn-first request-path policies that redact \u002F tool-filter and may later be promoted to deny). It drafts reviewable YAML and, only with explicit confirmation, applies via `gcx agento11y`. New guards are drafted in warn mode (safe on live traffic — warn records but never blocks). It DOES create stack-level objects — that is the point — but every write is confirmed. It never rewrites or redeploys the agent. Trigger on phrases like \"set up production evaluation\", \"my agent is in prod what should I evaluate\", \"catch quality regressions\", \"add guardrails to my agent\", \"redact PII from my agent\", \"block dangerous tools\", \"set up online evals and guards\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2678,2679,2682,2683],{"name":2650,"slug":2651,"type":15},{"name":2680,"slug":2681,"type":15},"Evals","evals",{"name":9,"slug":8,"type":15},{"name":2599,"slug":2600,"type":15},"2026-07-31T05:53:53.576347",{"slug":2686,"name":2686,"fn":2687,"description":2688,"org":2689,"tags":2690,"stars":23,"repoUrl":24,"updatedAt":2699},"agento11y-test-starter","build and run agent test suites","Use early in an AI-agent project — before ship, before real traffic — to build a starter test suite for the agent and run it offline. Reads the agent's own code (system prompt, tools, task), writes a labeled draft suite of test cases (happy\u002Fedge\u002Fadversarial) grounded in real lines, and recommends how to score each case (the evaluators\u002Fjudges the offline runner uses). Assesses how runnable the agent is: for an easily-invoked agent it generates a runner stub (run_experiment.py) with two holes to fill and can optionally run it (only with permission, only against the endpoint the developer configured); for agents needing a harness or full runtime it points to the existing eval infra. It runs OFFLINE and never creates tenant-level evaluators, rules, or guards — that is `agento11y-prod-setup`, for a deployed agent with real traffic. Trigger on phrases like \"how do I test my agent before shipping\", \"write test cases for my agent\", \"set up tests for my agent\", \"check my agent before prod\", \"I have no traffic yet, how do I evaluate it\", \"test my agent offline\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2691,2692,2693,2696],{"name":2650,"slug":2651,"type":15},{"name":9,"slug":8,"type":15},{"name":2694,"slug":2695,"type":15},"QA","qa",{"name":2697,"slug":2698,"type":15},"Testing","testing","2026-07-31T05:53:51.62785",{"slug":2701,"name":2701,"fn":2702,"description":2703,"org":2704,"tags":2705,"stars":23,"repoUrl":24,"updatedAt":2716},"create-dashboard","create Grafana dashboards with gcx","Designs and creates Grafana dashboards with gcx, using `gcx dashboards snapshot` as a visual feedback loop. Use when the user wants to create a new Grafana dashboard, add panels, variables, or annotations to an existing dashboard, design dashboard panels, variables, queries, or layout, or make a material visual redesign. Triggers on \"create dashboard\", \"new dashboard\", \"build dashboard\", \"dashboard for \u003Cservice>\", \"add panels\", \"add variable\", \"add annotation\", \"improve this dashboard\", or \"iterate on a dashboard\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2706,2709,2712,2715],{"name":2707,"slug":2708,"type":15},"Dashboards","dashboards",{"name":2710,"slug":2711,"type":15},"Data Visualization","data-visualization",{"name":2713,"slug":2714,"type":15},"Design","design",{"name":9,"slug":8,"type":15},"2026-07-25T05:30:46.289717",{"slug":2718,"name":2718,"fn":2719,"description":2720,"org":2721,"tags":2722,"stars":23,"repoUrl":24,"updatedAt":2731},"debug-with-grafana","investigate application issues with Grafana","Structured workflow for investigating application problems with Grafana observability data (metrics, logs, traces) via gcx. Covers live firefighting AND retrospective incident analysis: incident triage, root-cause analysis, blast-radius checks (did an incident spill into other services), verifying whether a deployment or rollout triggered an incident, finding which service, endpoint, or path owns the most errors or slow requests, checking whether retries or queue backlogs piled up, and quantifying error or latency shares over a time window. Trigger on: \"my API is returning 500 errors\", \"latency is spiking\", \"investigate why requests are failing\", \"triage the incident\", \"blast radius\", \"root cause\", \"did the rollout cause it\", \"which endpoint owns the most 5xx\", \"did retries pile up\", or any request to analyse an earlier incident window using telemetry. For authoring dashboards use create-dashboard; for dashboard inventory use manage-dashboards.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2723,2726,2727,2730],{"name":2724,"slug":2725,"type":15},"Debugging","debugging",{"name":9,"slug":8,"type":15},{"name":2728,"slug":2729,"type":15},"Incident Response","incident-response",{"name":2599,"slug":2600,"type":15},"2026-07-18T05:11:10.445428",{"slug":2733,"name":2733,"fn":2734,"description":2735,"org":2736,"tags":2737,"stars":23,"repoUrl":24,"updatedAt":2744},"diagnose-entity-graph","diagnose Grafana Entity Graph issues","Diagnose Entity Graph problems: missing entities, missing edges, disconnected clusters, or filtering issues. Use when the user reports that Entity Graph doesn't look right, services are missing, edges aren't appearing, or environments can't be filtered. Triggers for: \"entity graph is empty\", \"services missing from entity graph\", \"no edges in entity graph\", \"disconnected services\", \"can't filter entity graph\", \"entity graph not working\", \"diagnose entity graph\", \"debug knowledge graph\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2738,2739,2740,2743],{"name":2724,"slug":2725,"type":15},{"name":9,"slug":8,"type":15},{"name":2741,"slug":2742,"type":15},"Graph Analysis","graph-analysis",{"name":2599,"slug":2600,"type":15},"2026-07-25T05:30:39.380934",{"slug":4,"name":4,"fn":5,"description":6,"org":2746,"tags":2747,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2748,2749,2750,2751],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"slug":2753,"name":2753,"fn":2754,"description":2755,"org":2756,"tags":2757,"stars":23,"repoUrl":24,"updatedAt":2763},"gcx-demo","present gcx demo tours","Run a narrated, read-only demo tour of gcx for customer or colleague presentations. Showcases the breadth of gcx across every Grafana Cloud product area — resources, datasources, metrics, logs, traces, SLOs, alerts, synthetic monitoring, IRM, k6, fleet, and more. All commands are strictly read-only. Trigger when the user says \"demo gcx\", \"show off gcx\", \"customer demo\", \"gcx tour\", or \"\u002Fgcx-demo\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2758,2759,2760],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":2761,"slug":2762,"type":15},"Presentations","presentations","2026-07-25T05:30:45.282458",80,{"items":2766,"total":2817},[2767,2774,2782,2789,2796,2803,2810],{"slug":2644,"name":2644,"fn":2645,"description":2646,"org":2768,"tags":2769,"stars":23,"repoUrl":24,"updatedAt":2655},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2770,2771,2772,2773],{"name":2650,"slug":2651,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"name":2599,"slug":2600,"type":15},{"slug":2657,"name":2657,"fn":2658,"description":2659,"org":2775,"tags":2776,"stars":23,"repoUrl":24,"updatedAt":2671},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2777,2778,2779,2780,2781],{"name":2650,"slug":2651,"type":15},{"name":9,"slug":8,"type":15},{"name":2665,"slug":2666,"type":15},{"name":2668,"slug":2669,"type":15},{"name":2599,"slug":2600,"type":15},{"slug":2673,"name":2673,"fn":2674,"description":2675,"org":2783,"tags":2784,"stars":23,"repoUrl":24,"updatedAt":2684},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2785,2786,2787,2788],{"name":2650,"slug":2651,"type":15},{"name":2680,"slug":2681,"type":15},{"name":9,"slug":8,"type":15},{"name":2599,"slug":2600,"type":15},{"slug":2686,"name":2686,"fn":2687,"description":2688,"org":2790,"tags":2791,"stars":23,"repoUrl":24,"updatedAt":2699},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2792,2793,2794,2795],{"name":2650,"slug":2651,"type":15},{"name":9,"slug":8,"type":15},{"name":2694,"slug":2695,"type":15},{"name":2697,"slug":2698,"type":15},{"slug":2701,"name":2701,"fn":2702,"description":2703,"org":2797,"tags":2798,"stars":23,"repoUrl":24,"updatedAt":2716},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2799,2800,2801,2802],{"name":2707,"slug":2708,"type":15},{"name":2710,"slug":2711,"type":15},{"name":2713,"slug":2714,"type":15},{"name":9,"slug":8,"type":15},{"slug":2718,"name":2718,"fn":2719,"description":2720,"org":2804,"tags":2805,"stars":23,"repoUrl":24,"updatedAt":2731},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2806,2807,2808,2809],{"name":2724,"slug":2725,"type":15},{"name":9,"slug":8,"type":15},{"name":2728,"slug":2729,"type":15},{"name":2599,"slug":2600,"type":15},{"slug":2733,"name":2733,"fn":2734,"description":2735,"org":2811,"tags":2812,"stars":23,"repoUrl":24,"updatedAt":2744},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2813,2814,2815,2816],{"name":2724,"slug":2725,"type":15},{"name":9,"slug":8,"type":15},{"name":2741,"slug":2742,"type":15},{"name":2599,"slug":2600,"type":15},24]