[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-grafana-grafana-assistant-cli":3,"mdc--q7zf2b-key":33,"related-repo-grafana-grafana-assistant-cli":3022,"related-org-grafana-grafana-assistant-cli":3055},{"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":31,"mdContent":32},"grafana-assistant-cli","interact with Grafana Assistant via CLI","Use the grafana-assistant CLI to interact with Grafana Assistant via A2A API. Covers installation, configuration, prompting, keeping conversation context, and practical patterns for ops investigations. Use when the user mentions grafana-assistant, Grafana Assistant CLI, assistant tunnel, or wants to query a Grafana instance via the assistant.",{"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},15,"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fai-marketplace","2026-07-12T07:43:53.491466",null,3,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":26},[],"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fai-marketplace\u002Ftree\u002FHEAD\u002Fplugins\u002Fgrafana-assistant\u002Fskills\u002Fgrafana-assistant-cli","---\nname: grafana-assistant-cli\ndescription: Use the grafana-assistant CLI to interact with Grafana Assistant via A2A API. Covers installation, configuration, prompting, keeping conversation context, and practical patterns for ops investigations. Use when the user mentions grafana-assistant, Grafana Assistant CLI, assistant tunnel, or wants to query a Grafana instance via the assistant.\n---\n\n# grafana-assistant CLI\n\nCLI tool for interacting with Grafana Assistant via the A2A API.\n\n## Prerequisites\n\nThe `grafana-assistant` binary must already be installed and available on `$PATH`. **Do not attempt to install it automatically.** If the command is not found, stop and tell the user to install it first.\n\nInstallation instructions and pre-built binaries: [github.com\u002Fgrafana\u002Fassistant-cli](https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fassistant-cli)\n\nA Docker image is also available: [github.com\u002Fgrafana\u002Fassistant-cli\u002Fpkgs](https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fassistant-cli\u002Fpkgs)\n\n## Configuration\n\n### Config file locations (first found wins)\n\n1. `GRAFANA_ASSISTANT_CONFIG` env var (if set)\n2. `.\u002Fgrafana-assistant.yaml` (current directory, use `--local` flag)\n3. `~\u002F.config\u002Fgrafana-assistant\u002Fconfig.yaml`\n\n### Config file format\n\n```yaml\ncurrent-instance: prod\n\ninstances:\n  localhost:\n    url: http:\u002F\u002Flocalhost:3000\n    token: glsa_abcd1234\n  prod:\n    url: https:\u002F\u002Fmystack.grafana.net\n    token: ${GRAFANA_PROD_TOKEN}  # env var expansion supported\n\nprojects:\n  - name: my-app\n    path: ~\u002Fprojects\u002Fmy-app\n\ntunnel:\n  tools:\n    filesystem:\n      allowed_paths: [\u002Fvar\u002Flog\u002Fmyapp]\n      deny_paths: [\"**\u002F*.key\", \"**\u002Fsecrets.yaml\"]\n    terminal:\n      allowed_commands: [git, kubectl, docker]\n      deny_commands: [\"rm -rf\"]\n      passthrough_env: [AWS_PROFILE, KUBECONFIG]\n```\n\n### Environment variables\n\n| Variable | Description |\n|---|---|\n| `GRAFANA_URL` | Grafana instance URL (overrides config) |\n| `GRAFANA_SA_TOKEN` | Service account token (overrides config) |\n| `GRAFANA_ASSISTANT_CONFIG` | Override config file path |\n\n### Credential resolution priority\n\n1. `--url` and `--token` flags\n2. `GRAFANA_URL` and `GRAFANA_SA_TOKEN` env vars\n3. `--instance \u003Cname>` flag\n4. `current-instance` from config file\n\n### Quick setup\n\n```bash\ngrafana-assistant config set-instance mystack --url https:\u002F\u002Fmystack.grafana.net\ngrafana-assistant config use-instance mystack\ngrafana-assistant auth                    # opens browser for PKCE auth\ngrafana-assistant chat                    # start interactive chat\n```\n\nThe **Assistant CLI User** role is required for browser auth. Users with **Editor** role or above get this automatically. For custom roles, include the `grafana-assistant-app.tokens:access` permission.\n\n### Managing instances\n\n```bash\ngrafana-assistant config set-instance \u003Cname> -u \u003Curl> -t \u003Ctoken>\ngrafana-assistant config use-instance \u003Cname>\ngrafana-assistant config current\ngrafana-assistant config list\ngrafana-assistant config delete-instance \u003Cname>\ngrafana-assistant config path\n```\n\nToken supports env var references: `-t '${MY_TOKEN_VAR}'`\n\n### Managing projects\n\nProjects are named directories the assistant can access via the tunnel.\n\n```bash\ngrafana-assistant config add-project \u003Cname> \u003Cpath>\ngrafana-assistant config list-projects\ngrafana-assistant config remove-project \u003Cname>\n```\n\n## Prompting (non-interactive, primary mode for agent use)\n\n`grafana-assistant prompt` sends a single message and returns the response. This is the primary command to use from Cursor.\n\n```bash\ngrafana-assistant prompt \"your message here\"\ngrafana-assistant prompt \"your message\" --json            # JSON output with contextId\ngrafana-assistant prompt \"your message\" -c \u003Ccontext-id>   # continue a conversation\ngrafana-assistant prompt \"your message\" -a \u003Cagent-id>     # specific agent\ngrafana-assistant prompt \"your message\" --wait=false      # fire and forget\n```\n\n### Keeping conversation context\n\nEach prompt starts a **new, independent conversation** by default. To thread follow-up messages into the same conversation (so the assistant remembers prior context), you must:\n\n1. Use `--json` on the first prompt to capture the `contextId`\n2. Pass `-c \u003CcontextId>` on all subsequent prompts\n\n```bash\n# First message — capture contextId\ngrafana-assistant prompt \"Show me metrics for the assistant service in ops-eu-south-0\" --json\n# Response: { \"contextId\": \"62a8823a-...\", \"status\": \"completed\", \"response\": \"...\" }\n\n# Follow-ups — pass contextId\ngrafana-assistant prompt \"Now break those down by handler label\" -c 62a8823a-... --json\n```\n\n**Caveats:**\n- Without `-c`, every prompt is a brand new conversation with no memory.\n- If context threading fails (e.g. \"context was not created by CLI\"), include relevant prior findings directly in the prompt text instead.\n- For long multi-step investigations, including key findings inline is often more reliable than depending on context threading.\n\n### JSON output format\n\n```json\n{\n  \"taskId\": \"a2a-xxx\",\n  \"contextId\": \"uuid\",\n  \"agentId\": \"grafana_assistant_cli\",\n  \"status\": \"completed\",\n  \"response\": \"The assistant's full text response...\"\n}\n```\n\nPossible status values: `completed`, `failed`, `timeout`, `canceled`, `unknown`.\n\n## Chatting (interactive)\n\nOpens a full-screen TUI. Context is maintained automatically within the session.\n\n```bash\ngrafana-assistant chat\ngrafana-assistant chat -i \u003Cinstance>          # specific instance\ngrafana-assistant chat -a \u003Cagent-id>          # specific agent\ngrafana-assistant chat --continue             # resume previous session\ngrafana-assistant chat -c \u003Ccontext-id>        # resume specific conversation\ngrafana-assistant chat --timeout 600          # custom timeout (default: 300s)\n```\n\nIn-chat commands: `\u002Fclear` or `\u002Fnew` (new conversation), `\u002Fexit` or `\u002Fquit` or `Ctrl+C` (quit), `\u002Fhelp`.\n\n## Listing agents\n\n```bash\ngrafana-assistant agents\ngrafana-assistant agents --json\ngrafana-assistant agents -i \u003Cinstance>\n```\n\n## Generating AGENTS.md\n\nGenerate an `AGENTS.md` file for AI coding agents:\n\n```bash\ngrafana-assistant agents-md \u003Ctarget-directory>\ngrafana-assistant agents-md \u003Ctarget-directory> --dry-run    # preview to stdout\ngrafana-assistant agents-md \u003Ctarget-directory> -o AGENTS.md  # custom output name\ngrafana-assistant agents-md \u003Ctarget-directory> --force        # overwrite existing\ngrafana-assistant agents-md \u003Ctarget-directory> --non-interactive  # skip prompts\n```\n\n## Assistant Tunnel\n\nThe tunnel allows Grafana Assistant to execute tools on your local machine.\n\n```bash\ngrafana-assistant tunnel auth                    # authenticate (opens browser)\ngrafana-assistant tunnel connect                 # foreground connection (filesystem enabled by default)\ngrafana-assistant tunnel connect --all           # all authenticated instances\ngrafana-assistant tunnel connect --terminal      # enable terminal tool\n```\n\n### Daemon management\n\n```bash\ngrafana-assistant tunnel daemon install          # install as system service\ngrafana-assistant tunnel daemon install --all    # connect all instances\ngrafana-assistant tunnel daemon install --start-on-login=false\ngrafana-assistant tunnel daemon start|stop|restart|status\ngrafana-assistant tunnel daemon logs [--follow]\ngrafana-assistant tunnel daemon uninstall\n```\n\n### Default security\n\n**Filesystem:** read-only, project-scoped, blocks `~\u002F.ssh`, `~\u002F.gnupg`, `~\u002F.aws\u002Fcredentials`, `**\u002F.env`, `**\u002Fsecrets.yaml`, `**\u002F*.pem`, `**\u002F*.key`. File size limit: 1MB.\n\n**Terminal:** blocks dangerous commands (`rm -rf \u002F`, `mkfs`, `dd`, fork bombs), minimal environment by default. Configurable via allow\u002Fdeny lists in config.\n\n## Practical patterns for agent use\n\n### Shell permissions\n\nThe CLI makes HTTPS requests to Grafana. Always use `required_permissions: [\"all\"]` in Shell tool calls — this avoids TLS certificate verification failures from sandbox restrictions.\n\n### Timeout handling\n\nPrompts can take 30s–300s depending on how many tools the assistant invokes. Set `block_until_ms` to at least 300000 (5 min) for complex queries.\n\n### What the CLI agent can do\n\nThe CLI agent is a **read-only** Grafana Assistant. It queries and analyzes data but cannot modify anything in Grafana.\n\n**Capabilities:**\n- Query metrics (PromQL, Graphite), logs (LogQL), traces (TraceQL), profiles, SQL, and more across all configured datasources\n- Discover datasources, metric names, label values, and log streams\n- Search dashboards and read panel definitions\n- Search Grafana docs and blog posts\n- Query alert history, on-call schedules, and incidents\n- Query Asserts entity health, graph, and RCA patterns\n- Query infrastructure memory service\n\n**Workflows it follows:**\n- **Quick data query**: discovers datasources → discovers metric\u002Flog names → executes query → presents findings\n- **Investigation**: follows signals across metrics → logs → traces to find probable cause\n- **Q&A \u002F doc search**: answers Grafana\u002Fobservability questions using docs\n\n**Not available in CLI** (web\u002FSlack only):\n- Dashboard creation\u002Fmodification\n- Alert rule and silence management\n- Navigation to Grafana pages\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,46,52,59,89,103,115,121,128,172,178,654,660,738,744,803,809,905,931,937,1138,1149,1155,1160,1265,1271,1282,1483,1489,1501,1536,1640,1648,1675,1681,1889,1930,1936,1941,2118,2168,2174,2240,2246,2259,2449,2455,2460,2559,2565,2743,2749,2807,2839,2845,2851,2864,2870,2883,2889,2901,2909,2947,2955,2988,2998,3016],{"type":39,"tag":40,"props":41,"children":42},"element","h1",{"id":4},[43],{"type":44,"value":45},"text","grafana-assistant CLI",{"type":39,"tag":47,"props":48,"children":49},"p",{},[50],{"type":44,"value":51},"CLI tool for interacting with Grafana Assistant via the A2A API.",{"type":39,"tag":53,"props":54,"children":56},"h2",{"id":55},"prerequisites",[57],{"type":44,"value":58},"Prerequisites",{"type":39,"tag":47,"props":60,"children":61},{},[62,64,71,73,79,81,87],{"type":44,"value":63},"The ",{"type":39,"tag":65,"props":66,"children":68},"code",{"className":67},[],[69],{"type":44,"value":70},"grafana-assistant",{"type":44,"value":72}," binary must already be installed and available on ",{"type":39,"tag":65,"props":74,"children":76},{"className":75},[],[77],{"type":44,"value":78},"$PATH",{"type":44,"value":80},". ",{"type":39,"tag":82,"props":83,"children":84},"strong",{},[85],{"type":44,"value":86},"Do not attempt to install it automatically.",{"type":44,"value":88}," If the command is not found, stop and tell the user to install it first.",{"type":39,"tag":47,"props":90,"children":91},{},[92,94],{"type":44,"value":93},"Installation instructions and pre-built binaries: ",{"type":39,"tag":95,"props":96,"children":100},"a",{"href":97,"rel":98},"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fassistant-cli",[99],"nofollow",[101],{"type":44,"value":102},"github.com\u002Fgrafana\u002Fassistant-cli",{"type":39,"tag":47,"props":104,"children":105},{},[106,108],{"type":44,"value":107},"A Docker image is also available: ",{"type":39,"tag":95,"props":109,"children":112},{"href":110,"rel":111},"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fassistant-cli\u002Fpkgs",[99],[113],{"type":44,"value":114},"github.com\u002Fgrafana\u002Fassistant-cli\u002Fpkgs",{"type":39,"tag":53,"props":116,"children":118},{"id":117},"configuration",[119],{"type":44,"value":120},"Configuration",{"type":39,"tag":122,"props":123,"children":125},"h3",{"id":124},"config-file-locations-first-found-wins",[126],{"type":44,"value":127},"Config file locations (first found wins)",{"type":39,"tag":129,"props":130,"children":131},"ol",{},[132,144,163],{"type":39,"tag":133,"props":134,"children":135},"li",{},[136,142],{"type":39,"tag":65,"props":137,"children":139},{"className":138},[],[140],{"type":44,"value":141},"GRAFANA_ASSISTANT_CONFIG",{"type":44,"value":143}," env var (if set)",{"type":39,"tag":133,"props":145,"children":146},{},[147,153,155,161],{"type":39,"tag":65,"props":148,"children":150},{"className":149},[],[151],{"type":44,"value":152},".\u002Fgrafana-assistant.yaml",{"type":44,"value":154}," (current directory, use ",{"type":39,"tag":65,"props":156,"children":158},{"className":157},[],[159],{"type":44,"value":160},"--local",{"type":44,"value":162}," flag)",{"type":39,"tag":133,"props":164,"children":165},{},[166],{"type":39,"tag":65,"props":167,"children":169},{"className":168},[],[170],{"type":44,"value":171},"~\u002F.config\u002Fgrafana-assistant\u002Fconfig.yaml",{"type":39,"tag":122,"props":173,"children":175},{"id":174},"config-file-format",[176],{"type":44,"value":177},"Config file format",{"type":39,"tag":179,"props":180,"children":185},"pre",{"className":181,"code":182,"language":183,"meta":184,"style":184},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","current-instance: prod\n\ninstances:\n  localhost:\n    url: http:\u002F\u002Flocalhost:3000\n    token: glsa_abcd1234\n  prod:\n    url: https:\u002F\u002Fmystack.grafana.net\n    token: ${GRAFANA_PROD_TOKEN}  # env var expansion supported\n\nprojects:\n  - name: my-app\n    path: ~\u002Fprojects\u002Fmy-app\n\ntunnel:\n  tools:\n    filesystem:\n      allowed_paths: [\u002Fvar\u002Flog\u002Fmyapp]\n      deny_paths: [\"**\u002F*.key\", \"**\u002Fsecrets.yaml\"]\n    terminal:\n      allowed_commands: [git, kubectl, docker]\n      deny_commands: [\"rm -rf\"]\n      passthrough_env: [AWS_PROFILE, KUBECONFIG]\n","yaml","",[186],{"type":39,"tag":65,"props":187,"children":188},{"__ignoreMap":184},[189,213,223,236,249,267,285,298,315,338,346,359,382,400,408,420,433,446,474,528,541,585,619],{"type":39,"tag":190,"props":191,"children":194},"span",{"class":192,"line":193},"line",1,[195,201,207],{"type":39,"tag":190,"props":196,"children":198},{"style":197},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[199],{"type":44,"value":200},"current-instance",{"type":39,"tag":190,"props":202,"children":204},{"style":203},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[205],{"type":44,"value":206},":",{"type":39,"tag":190,"props":208,"children":210},{"style":209},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[211],{"type":44,"value":212}," prod\n",{"type":39,"tag":190,"props":214,"children":216},{"class":192,"line":215},2,[217],{"type":39,"tag":190,"props":218,"children":220},{"emptyLinePlaceholder":219},true,[221],{"type":44,"value":222},"\n",{"type":39,"tag":190,"props":224,"children":225},{"class":192,"line":27},[226,231],{"type":39,"tag":190,"props":227,"children":228},{"style":197},[229],{"type":44,"value":230},"instances",{"type":39,"tag":190,"props":232,"children":233},{"style":203},[234],{"type":44,"value":235},":\n",{"type":39,"tag":190,"props":237,"children":239},{"class":192,"line":238},4,[240,245],{"type":39,"tag":190,"props":241,"children":242},{"style":197},[243],{"type":44,"value":244},"  localhost",{"type":39,"tag":190,"props":246,"children":247},{"style":203},[248],{"type":44,"value":235},{"type":39,"tag":190,"props":250,"children":252},{"class":192,"line":251},5,[253,258,262],{"type":39,"tag":190,"props":254,"children":255},{"style":197},[256],{"type":44,"value":257},"    url",{"type":39,"tag":190,"props":259,"children":260},{"style":203},[261],{"type":44,"value":206},{"type":39,"tag":190,"props":263,"children":264},{"style":209},[265],{"type":44,"value":266}," http:\u002F\u002Flocalhost:3000\n",{"type":39,"tag":190,"props":268,"children":270},{"class":192,"line":269},6,[271,276,280],{"type":39,"tag":190,"props":272,"children":273},{"style":197},[274],{"type":44,"value":275},"    token",{"type":39,"tag":190,"props":277,"children":278},{"style":203},[279],{"type":44,"value":206},{"type":39,"tag":190,"props":281,"children":282},{"style":209},[283],{"type":44,"value":284}," glsa_abcd1234\n",{"type":39,"tag":190,"props":286,"children":288},{"class":192,"line":287},7,[289,294],{"type":39,"tag":190,"props":290,"children":291},{"style":197},[292],{"type":44,"value":293},"  prod",{"type":39,"tag":190,"props":295,"children":296},{"style":203},[297],{"type":44,"value":235},{"type":39,"tag":190,"props":299,"children":301},{"class":192,"line":300},8,[302,306,310],{"type":39,"tag":190,"props":303,"children":304},{"style":197},[305],{"type":44,"value":257},{"type":39,"tag":190,"props":307,"children":308},{"style":203},[309],{"type":44,"value":206},{"type":39,"tag":190,"props":311,"children":312},{"style":209},[313],{"type":44,"value":314}," https:\u002F\u002Fmystack.grafana.net\n",{"type":39,"tag":190,"props":316,"children":318},{"class":192,"line":317},9,[319,323,327,332],{"type":39,"tag":190,"props":320,"children":321},{"style":197},[322],{"type":44,"value":275},{"type":39,"tag":190,"props":324,"children":325},{"style":203},[326],{"type":44,"value":206},{"type":39,"tag":190,"props":328,"children":329},{"style":209},[330],{"type":44,"value":331}," ${GRAFANA_PROD_TOKEN}",{"type":39,"tag":190,"props":333,"children":335},{"style":334},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[336],{"type":44,"value":337},"  # env var expansion supported\n",{"type":39,"tag":190,"props":339,"children":341},{"class":192,"line":340},10,[342],{"type":39,"tag":190,"props":343,"children":344},{"emptyLinePlaceholder":219},[345],{"type":44,"value":222},{"type":39,"tag":190,"props":347,"children":349},{"class":192,"line":348},11,[350,355],{"type":39,"tag":190,"props":351,"children":352},{"style":197},[353],{"type":44,"value":354},"projects",{"type":39,"tag":190,"props":356,"children":357},{"style":203},[358],{"type":44,"value":235},{"type":39,"tag":190,"props":360,"children":362},{"class":192,"line":361},12,[363,368,373,377],{"type":39,"tag":190,"props":364,"children":365},{"style":203},[366],{"type":44,"value":367},"  -",{"type":39,"tag":190,"props":369,"children":370},{"style":197},[371],{"type":44,"value":372}," name",{"type":39,"tag":190,"props":374,"children":375},{"style":203},[376],{"type":44,"value":206},{"type":39,"tag":190,"props":378,"children":379},{"style":209},[380],{"type":44,"value":381}," my-app\n",{"type":39,"tag":190,"props":383,"children":385},{"class":192,"line":384},13,[386,391,395],{"type":39,"tag":190,"props":387,"children":388},{"style":197},[389],{"type":44,"value":390},"    path",{"type":39,"tag":190,"props":392,"children":393},{"style":203},[394],{"type":44,"value":206},{"type":39,"tag":190,"props":396,"children":397},{"style":209},[398],{"type":44,"value":399}," ~\u002Fprojects\u002Fmy-app\n",{"type":39,"tag":190,"props":401,"children":403},{"class":192,"line":402},14,[404],{"type":39,"tag":190,"props":405,"children":406},{"emptyLinePlaceholder":219},[407],{"type":44,"value":222},{"type":39,"tag":190,"props":409,"children":410},{"class":192,"line":23},[411,416],{"type":39,"tag":190,"props":412,"children":413},{"style":197},[414],{"type":44,"value":415},"tunnel",{"type":39,"tag":190,"props":417,"children":418},{"style":203},[419],{"type":44,"value":235},{"type":39,"tag":190,"props":421,"children":423},{"class":192,"line":422},16,[424,429],{"type":39,"tag":190,"props":425,"children":426},{"style":197},[427],{"type":44,"value":428},"  tools",{"type":39,"tag":190,"props":430,"children":431},{"style":203},[432],{"type":44,"value":235},{"type":39,"tag":190,"props":434,"children":436},{"class":192,"line":435},17,[437,442],{"type":39,"tag":190,"props":438,"children":439},{"style":197},[440],{"type":44,"value":441},"    filesystem",{"type":39,"tag":190,"props":443,"children":444},{"style":203},[445],{"type":44,"value":235},{"type":39,"tag":190,"props":447,"children":449},{"class":192,"line":448},18,[450,455,459,464,469],{"type":39,"tag":190,"props":451,"children":452},{"style":197},[453],{"type":44,"value":454},"      allowed_paths",{"type":39,"tag":190,"props":456,"children":457},{"style":203},[458],{"type":44,"value":206},{"type":39,"tag":190,"props":460,"children":461},{"style":203},[462],{"type":44,"value":463}," [",{"type":39,"tag":190,"props":465,"children":466},{"style":209},[467],{"type":44,"value":468},"\u002Fvar\u002Flog\u002Fmyapp",{"type":39,"tag":190,"props":470,"children":471},{"style":203},[472],{"type":44,"value":473},"]\n",{"type":39,"tag":190,"props":475,"children":477},{"class":192,"line":476},19,[478,483,487,491,496,501,505,510,515,520,524],{"type":39,"tag":190,"props":479,"children":480},{"style":197},[481],{"type":44,"value":482},"      deny_paths",{"type":39,"tag":190,"props":484,"children":485},{"style":203},[486],{"type":44,"value":206},{"type":39,"tag":190,"props":488,"children":489},{"style":203},[490],{"type":44,"value":463},{"type":39,"tag":190,"props":492,"children":493},{"style":203},[494],{"type":44,"value":495},"\"",{"type":39,"tag":190,"props":497,"children":498},{"style":209},[499],{"type":44,"value":500},"**\u002F*.key",{"type":39,"tag":190,"props":502,"children":503},{"style":203},[504],{"type":44,"value":495},{"type":39,"tag":190,"props":506,"children":507},{"style":203},[508],{"type":44,"value":509},",",{"type":39,"tag":190,"props":511,"children":512},{"style":203},[513],{"type":44,"value":514}," \"",{"type":39,"tag":190,"props":516,"children":517},{"style":209},[518],{"type":44,"value":519},"**\u002Fsecrets.yaml",{"type":39,"tag":190,"props":521,"children":522},{"style":203},[523],{"type":44,"value":495},{"type":39,"tag":190,"props":525,"children":526},{"style":203},[527],{"type":44,"value":473},{"type":39,"tag":190,"props":529,"children":531},{"class":192,"line":530},20,[532,537],{"type":39,"tag":190,"props":533,"children":534},{"style":197},[535],{"type":44,"value":536},"    terminal",{"type":39,"tag":190,"props":538,"children":539},{"style":203},[540],{"type":44,"value":235},{"type":39,"tag":190,"props":542,"children":544},{"class":192,"line":543},21,[545,550,554,558,563,567,572,576,581],{"type":39,"tag":190,"props":546,"children":547},{"style":197},[548],{"type":44,"value":549},"      allowed_commands",{"type":39,"tag":190,"props":551,"children":552},{"style":203},[553],{"type":44,"value":206},{"type":39,"tag":190,"props":555,"children":556},{"style":203},[557],{"type":44,"value":463},{"type":39,"tag":190,"props":559,"children":560},{"style":209},[561],{"type":44,"value":562},"git",{"type":39,"tag":190,"props":564,"children":565},{"style":203},[566],{"type":44,"value":509},{"type":39,"tag":190,"props":568,"children":569},{"style":209},[570],{"type":44,"value":571}," kubectl",{"type":39,"tag":190,"props":573,"children":574},{"style":203},[575],{"type":44,"value":509},{"type":39,"tag":190,"props":577,"children":578},{"style":209},[579],{"type":44,"value":580}," docker",{"type":39,"tag":190,"props":582,"children":583},{"style":203},[584],{"type":44,"value":473},{"type":39,"tag":190,"props":586,"children":588},{"class":192,"line":587},22,[589,594,598,602,606,611,615],{"type":39,"tag":190,"props":590,"children":591},{"style":197},[592],{"type":44,"value":593},"      deny_commands",{"type":39,"tag":190,"props":595,"children":596},{"style":203},[597],{"type":44,"value":206},{"type":39,"tag":190,"props":599,"children":600},{"style":203},[601],{"type":44,"value":463},{"type":39,"tag":190,"props":603,"children":604},{"style":203},[605],{"type":44,"value":495},{"type":39,"tag":190,"props":607,"children":608},{"style":209},[609],{"type":44,"value":610},"rm -rf",{"type":39,"tag":190,"props":612,"children":613},{"style":203},[614],{"type":44,"value":495},{"type":39,"tag":190,"props":616,"children":617},{"style":203},[618],{"type":44,"value":473},{"type":39,"tag":190,"props":620,"children":622},{"class":192,"line":621},23,[623,628,632,636,641,645,650],{"type":39,"tag":190,"props":624,"children":625},{"style":197},[626],{"type":44,"value":627},"      passthrough_env",{"type":39,"tag":190,"props":629,"children":630},{"style":203},[631],{"type":44,"value":206},{"type":39,"tag":190,"props":633,"children":634},{"style":203},[635],{"type":44,"value":463},{"type":39,"tag":190,"props":637,"children":638},{"style":209},[639],{"type":44,"value":640},"AWS_PROFILE",{"type":39,"tag":190,"props":642,"children":643},{"style":203},[644],{"type":44,"value":509},{"type":39,"tag":190,"props":646,"children":647},{"style":209},[648],{"type":44,"value":649}," KUBECONFIG",{"type":39,"tag":190,"props":651,"children":652},{"style":203},[653],{"type":44,"value":473},{"type":39,"tag":122,"props":655,"children":657},{"id":656},"environment-variables",[658],{"type":44,"value":659},"Environment variables",{"type":39,"tag":661,"props":662,"children":663},"table",{},[664,683],{"type":39,"tag":665,"props":666,"children":667},"thead",{},[668],{"type":39,"tag":669,"props":670,"children":671},"tr",{},[672,678],{"type":39,"tag":673,"props":674,"children":675},"th",{},[676],{"type":44,"value":677},"Variable",{"type":39,"tag":673,"props":679,"children":680},{},[681],{"type":44,"value":682},"Description",{"type":39,"tag":684,"props":685,"children":686},"tbody",{},[687,705,722],{"type":39,"tag":669,"props":688,"children":689},{},[690,700],{"type":39,"tag":691,"props":692,"children":693},"td",{},[694],{"type":39,"tag":65,"props":695,"children":697},{"className":696},[],[698],{"type":44,"value":699},"GRAFANA_URL",{"type":39,"tag":691,"props":701,"children":702},{},[703],{"type":44,"value":704},"Grafana instance URL (overrides config)",{"type":39,"tag":669,"props":706,"children":707},{},[708,717],{"type":39,"tag":691,"props":709,"children":710},{},[711],{"type":39,"tag":65,"props":712,"children":714},{"className":713},[],[715],{"type":44,"value":716},"GRAFANA_SA_TOKEN",{"type":39,"tag":691,"props":718,"children":719},{},[720],{"type":44,"value":721},"Service account token (overrides config)",{"type":39,"tag":669,"props":723,"children":724},{},[725,733],{"type":39,"tag":691,"props":726,"children":727},{},[728],{"type":39,"tag":65,"props":729,"children":731},{"className":730},[],[732],{"type":44,"value":141},{"type":39,"tag":691,"props":734,"children":735},{},[736],{"type":44,"value":737},"Override config file path",{"type":39,"tag":122,"props":739,"children":741},{"id":740},"credential-resolution-priority",[742],{"type":44,"value":743},"Credential resolution priority",{"type":39,"tag":129,"props":745,"children":746},{},[747,766,782,793],{"type":39,"tag":133,"props":748,"children":749},{},[750,756,758,764],{"type":39,"tag":65,"props":751,"children":753},{"className":752},[],[754],{"type":44,"value":755},"--url",{"type":44,"value":757}," and ",{"type":39,"tag":65,"props":759,"children":761},{"className":760},[],[762],{"type":44,"value":763},"--token",{"type":44,"value":765}," flags",{"type":39,"tag":133,"props":767,"children":768},{},[769,774,775,780],{"type":39,"tag":65,"props":770,"children":772},{"className":771},[],[773],{"type":44,"value":699},{"type":44,"value":757},{"type":39,"tag":65,"props":776,"children":778},{"className":777},[],[779],{"type":44,"value":716},{"type":44,"value":781}," env vars",{"type":39,"tag":133,"props":783,"children":784},{},[785,791],{"type":39,"tag":65,"props":786,"children":788},{"className":787},[],[789],{"type":44,"value":790},"--instance \u003Cname>",{"type":44,"value":792}," flag",{"type":39,"tag":133,"props":794,"children":795},{},[796,801],{"type":39,"tag":65,"props":797,"children":799},{"className":798},[],[800],{"type":44,"value":200},{"type":44,"value":802}," from config file",{"type":39,"tag":122,"props":804,"children":806},{"id":805},"quick-setup",[807],{"type":44,"value":808},"Quick setup",{"type":39,"tag":179,"props":810,"children":814},{"className":811,"code":812,"language":813,"meta":184,"style":184},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","grafana-assistant config set-instance mystack --url https:\u002F\u002Fmystack.grafana.net\ngrafana-assistant config use-instance mystack\ngrafana-assistant auth                    # opens browser for PKCE auth\ngrafana-assistant chat                    # start interactive chat\n","bash",[815],{"type":39,"tag":65,"props":816,"children":817},{"__ignoreMap":184},[818,850,871,888],{"type":39,"tag":190,"props":819,"children":820},{"class":192,"line":193},[821,826,831,836,841,846],{"type":39,"tag":190,"props":822,"children":824},{"style":823},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[825],{"type":44,"value":70},{"type":39,"tag":190,"props":827,"children":828},{"style":209},[829],{"type":44,"value":830}," config",{"type":39,"tag":190,"props":832,"children":833},{"style":209},[834],{"type":44,"value":835}," set-instance",{"type":39,"tag":190,"props":837,"children":838},{"style":209},[839],{"type":44,"value":840}," mystack",{"type":39,"tag":190,"props":842,"children":843},{"style":209},[844],{"type":44,"value":845}," --url",{"type":39,"tag":190,"props":847,"children":848},{"style":209},[849],{"type":44,"value":314},{"type":39,"tag":190,"props":851,"children":852},{"class":192,"line":215},[853,857,861,866],{"type":39,"tag":190,"props":854,"children":855},{"style":823},[856],{"type":44,"value":70},{"type":39,"tag":190,"props":858,"children":859},{"style":209},[860],{"type":44,"value":830},{"type":39,"tag":190,"props":862,"children":863},{"style":209},[864],{"type":44,"value":865}," use-instance",{"type":39,"tag":190,"props":867,"children":868},{"style":209},[869],{"type":44,"value":870}," mystack\n",{"type":39,"tag":190,"props":872,"children":873},{"class":192,"line":27},[874,878,883],{"type":39,"tag":190,"props":875,"children":876},{"style":823},[877],{"type":44,"value":70},{"type":39,"tag":190,"props":879,"children":880},{"style":209},[881],{"type":44,"value":882}," auth",{"type":39,"tag":190,"props":884,"children":885},{"style":334},[886],{"type":44,"value":887},"                    # opens browser for PKCE auth\n",{"type":39,"tag":190,"props":889,"children":890},{"class":192,"line":238},[891,895,900],{"type":39,"tag":190,"props":892,"children":893},{"style":823},[894],{"type":44,"value":70},{"type":39,"tag":190,"props":896,"children":897},{"style":209},[898],{"type":44,"value":899}," chat",{"type":39,"tag":190,"props":901,"children":902},{"style":334},[903],{"type":44,"value":904},"                    # start interactive chat\n",{"type":39,"tag":47,"props":906,"children":907},{},[908,909,914,916,921,923,929],{"type":44,"value":63},{"type":39,"tag":82,"props":910,"children":911},{},[912],{"type":44,"value":913},"Assistant CLI User",{"type":44,"value":915}," role is required for browser auth. Users with ",{"type":39,"tag":82,"props":917,"children":918},{},[919],{"type":44,"value":920},"Editor",{"type":44,"value":922}," role or above get this automatically. For custom roles, include the ",{"type":39,"tag":65,"props":924,"children":926},{"className":925},[],[927],{"type":44,"value":928},"grafana-assistant-app.tokens:access",{"type":44,"value":930}," permission.",{"type":39,"tag":122,"props":932,"children":934},{"id":933},"managing-instances",[935],{"type":44,"value":936},"Managing instances",{"type":39,"tag":179,"props":938,"children":940},{"className":811,"code":939,"language":813,"meta":184,"style":184},"grafana-assistant config set-instance \u003Cname> -u \u003Curl> -t \u003Ctoken>\ngrafana-assistant config use-instance \u003Cname>\ngrafana-assistant config current\ngrafana-assistant config list\ngrafana-assistant config delete-instance \u003Cname>\ngrafana-assistant config path\n",[941],{"type":39,"tag":65,"props":942,"children":943},{"__ignoreMap":184},[944,1027,1058,1074,1090,1122],{"type":39,"tag":190,"props":945,"children":946},{"class":192,"line":193},[947,951,955,959,964,969,975,980,985,989,994,999,1003,1008,1012,1017,1022],{"type":39,"tag":190,"props":948,"children":949},{"style":823},[950],{"type":44,"value":70},{"type":39,"tag":190,"props":952,"children":953},{"style":209},[954],{"type":44,"value":830},{"type":39,"tag":190,"props":956,"children":957},{"style":209},[958],{"type":44,"value":835},{"type":39,"tag":190,"props":960,"children":961},{"style":203},[962],{"type":44,"value":963}," \u003C",{"type":39,"tag":190,"props":965,"children":966},{"style":209},[967],{"type":44,"value":968},"nam",{"type":39,"tag":190,"props":970,"children":972},{"style":971},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[973],{"type":44,"value":974},"e",{"type":39,"tag":190,"props":976,"children":977},{"style":203},[978],{"type":44,"value":979},">",{"type":39,"tag":190,"props":981,"children":982},{"style":209},[983],{"type":44,"value":984}," -u",{"type":39,"tag":190,"props":986,"children":987},{"style":203},[988],{"type":44,"value":963},{"type":39,"tag":190,"props":990,"children":991},{"style":209},[992],{"type":44,"value":993},"ur",{"type":39,"tag":190,"props":995,"children":996},{"style":971},[997],{"type":44,"value":998},"l",{"type":39,"tag":190,"props":1000,"children":1001},{"style":203},[1002],{"type":44,"value":979},{"type":39,"tag":190,"props":1004,"children":1005},{"style":209},[1006],{"type":44,"value":1007}," -t",{"type":39,"tag":190,"props":1009,"children":1010},{"style":203},[1011],{"type":44,"value":963},{"type":39,"tag":190,"props":1013,"children":1014},{"style":209},[1015],{"type":44,"value":1016},"toke",{"type":39,"tag":190,"props":1018,"children":1019},{"style":971},[1020],{"type":44,"value":1021},"n",{"type":39,"tag":190,"props":1023,"children":1024},{"style":203},[1025],{"type":44,"value":1026},">\n",{"type":39,"tag":190,"props":1028,"children":1029},{"class":192,"line":215},[1030,1034,1038,1042,1046,1050,1054],{"type":39,"tag":190,"props":1031,"children":1032},{"style":823},[1033],{"type":44,"value":70},{"type":39,"tag":190,"props":1035,"children":1036},{"style":209},[1037],{"type":44,"value":830},{"type":39,"tag":190,"props":1039,"children":1040},{"style":209},[1041],{"type":44,"value":865},{"type":39,"tag":190,"props":1043,"children":1044},{"style":203},[1045],{"type":44,"value":963},{"type":39,"tag":190,"props":1047,"children":1048},{"style":209},[1049],{"type":44,"value":968},{"type":39,"tag":190,"props":1051,"children":1052},{"style":971},[1053],{"type":44,"value":974},{"type":39,"tag":190,"props":1055,"children":1056},{"style":203},[1057],{"type":44,"value":1026},{"type":39,"tag":190,"props":1059,"children":1060},{"class":192,"line":27},[1061,1065,1069],{"type":39,"tag":190,"props":1062,"children":1063},{"style":823},[1064],{"type":44,"value":70},{"type":39,"tag":190,"props":1066,"children":1067},{"style":209},[1068],{"type":44,"value":830},{"type":39,"tag":190,"props":1070,"children":1071},{"style":209},[1072],{"type":44,"value":1073}," current\n",{"type":39,"tag":190,"props":1075,"children":1076},{"class":192,"line":238},[1077,1081,1085],{"type":39,"tag":190,"props":1078,"children":1079},{"style":823},[1080],{"type":44,"value":70},{"type":39,"tag":190,"props":1082,"children":1083},{"style":209},[1084],{"type":44,"value":830},{"type":39,"tag":190,"props":1086,"children":1087},{"style":209},[1088],{"type":44,"value":1089}," list\n",{"type":39,"tag":190,"props":1091,"children":1092},{"class":192,"line":251},[1093,1097,1101,1106,1110,1114,1118],{"type":39,"tag":190,"props":1094,"children":1095},{"style":823},[1096],{"type":44,"value":70},{"type":39,"tag":190,"props":1098,"children":1099},{"style":209},[1100],{"type":44,"value":830},{"type":39,"tag":190,"props":1102,"children":1103},{"style":209},[1104],{"type":44,"value":1105}," delete-instance",{"type":39,"tag":190,"props":1107,"children":1108},{"style":203},[1109],{"type":44,"value":963},{"type":39,"tag":190,"props":1111,"children":1112},{"style":209},[1113],{"type":44,"value":968},{"type":39,"tag":190,"props":1115,"children":1116},{"style":971},[1117],{"type":44,"value":974},{"type":39,"tag":190,"props":1119,"children":1120},{"style":203},[1121],{"type":44,"value":1026},{"type":39,"tag":190,"props":1123,"children":1124},{"class":192,"line":269},[1125,1129,1133],{"type":39,"tag":190,"props":1126,"children":1127},{"style":823},[1128],{"type":44,"value":70},{"type":39,"tag":190,"props":1130,"children":1131},{"style":209},[1132],{"type":44,"value":830},{"type":39,"tag":190,"props":1134,"children":1135},{"style":209},[1136],{"type":44,"value":1137}," path\n",{"type":39,"tag":47,"props":1139,"children":1140},{},[1141,1143],{"type":44,"value":1142},"Token supports env var references: ",{"type":39,"tag":65,"props":1144,"children":1146},{"className":1145},[],[1147],{"type":44,"value":1148},"-t '${MY_TOKEN_VAR}'",{"type":39,"tag":122,"props":1150,"children":1152},{"id":1151},"managing-projects",[1153],{"type":44,"value":1154},"Managing projects",{"type":39,"tag":47,"props":1156,"children":1157},{},[1158],{"type":44,"value":1159},"Projects are named directories the assistant can access via the tunnel.",{"type":39,"tag":179,"props":1161,"children":1163},{"className":811,"code":1162,"language":813,"meta":184,"style":184},"grafana-assistant config add-project \u003Cname> \u003Cpath>\ngrafana-assistant config list-projects\ngrafana-assistant config remove-project \u003Cname>\n",[1164],{"type":39,"tag":65,"props":1165,"children":1166},{"__ignoreMap":184},[1167,1217,1233],{"type":39,"tag":190,"props":1168,"children":1169},{"class":192,"line":193},[1170,1174,1178,1183,1187,1191,1195,1199,1203,1208,1213],{"type":39,"tag":190,"props":1171,"children":1172},{"style":823},[1173],{"type":44,"value":70},{"type":39,"tag":190,"props":1175,"children":1176},{"style":209},[1177],{"type":44,"value":830},{"type":39,"tag":190,"props":1179,"children":1180},{"style":209},[1181],{"type":44,"value":1182}," add-project",{"type":39,"tag":190,"props":1184,"children":1185},{"style":203},[1186],{"type":44,"value":963},{"type":39,"tag":190,"props":1188,"children":1189},{"style":209},[1190],{"type":44,"value":968},{"type":39,"tag":190,"props":1192,"children":1193},{"style":971},[1194],{"type":44,"value":974},{"type":39,"tag":190,"props":1196,"children":1197},{"style":203},[1198],{"type":44,"value":979},{"type":39,"tag":190,"props":1200,"children":1201},{"style":203},[1202],{"type":44,"value":963},{"type":39,"tag":190,"props":1204,"children":1205},{"style":209},[1206],{"type":44,"value":1207},"pat",{"type":39,"tag":190,"props":1209,"children":1210},{"style":971},[1211],{"type":44,"value":1212},"h",{"type":39,"tag":190,"props":1214,"children":1215},{"style":203},[1216],{"type":44,"value":1026},{"type":39,"tag":190,"props":1218,"children":1219},{"class":192,"line":215},[1220,1224,1228],{"type":39,"tag":190,"props":1221,"children":1222},{"style":823},[1223],{"type":44,"value":70},{"type":39,"tag":190,"props":1225,"children":1226},{"style":209},[1227],{"type":44,"value":830},{"type":39,"tag":190,"props":1229,"children":1230},{"style":209},[1231],{"type":44,"value":1232}," list-projects\n",{"type":39,"tag":190,"props":1234,"children":1235},{"class":192,"line":27},[1236,1240,1244,1249,1253,1257,1261],{"type":39,"tag":190,"props":1237,"children":1238},{"style":823},[1239],{"type":44,"value":70},{"type":39,"tag":190,"props":1241,"children":1242},{"style":209},[1243],{"type":44,"value":830},{"type":39,"tag":190,"props":1245,"children":1246},{"style":209},[1247],{"type":44,"value":1248}," remove-project",{"type":39,"tag":190,"props":1250,"children":1251},{"style":203},[1252],{"type":44,"value":963},{"type":39,"tag":190,"props":1254,"children":1255},{"style":209},[1256],{"type":44,"value":968},{"type":39,"tag":190,"props":1258,"children":1259},{"style":971},[1260],{"type":44,"value":974},{"type":39,"tag":190,"props":1262,"children":1263},{"style":203},[1264],{"type":44,"value":1026},{"type":39,"tag":53,"props":1266,"children":1268},{"id":1267},"prompting-non-interactive-primary-mode-for-agent-use",[1269],{"type":44,"value":1270},"Prompting (non-interactive, primary mode for agent use)",{"type":39,"tag":47,"props":1272,"children":1273},{},[1274,1280],{"type":39,"tag":65,"props":1275,"children":1277},{"className":1276},[],[1278],{"type":44,"value":1279},"grafana-assistant prompt",{"type":44,"value":1281}," sends a single message and returns the response. This is the primary command to use from Cursor.",{"type":39,"tag":179,"props":1283,"children":1285},{"className":811,"code":1284,"language":813,"meta":184,"style":184},"grafana-assistant prompt \"your message here\"\ngrafana-assistant prompt \"your message\" --json            # JSON output with contextId\ngrafana-assistant prompt \"your message\" -c \u003Ccontext-id>   # continue a conversation\ngrafana-assistant prompt \"your message\" -a \u003Cagent-id>     # specific agent\ngrafana-assistant prompt \"your message\" --wait=false      # fire and forget\n",[1286],{"type":39,"tag":65,"props":1287,"children":1288},{"__ignoreMap":184},[1289,1315,1349,1400,1450],{"type":39,"tag":190,"props":1290,"children":1291},{"class":192,"line":193},[1292,1296,1301,1305,1310],{"type":39,"tag":190,"props":1293,"children":1294},{"style":823},[1295],{"type":44,"value":70},{"type":39,"tag":190,"props":1297,"children":1298},{"style":209},[1299],{"type":44,"value":1300}," prompt",{"type":39,"tag":190,"props":1302,"children":1303},{"style":203},[1304],{"type":44,"value":514},{"type":39,"tag":190,"props":1306,"children":1307},{"style":209},[1308],{"type":44,"value":1309},"your message here",{"type":39,"tag":190,"props":1311,"children":1312},{"style":203},[1313],{"type":44,"value":1314},"\"\n",{"type":39,"tag":190,"props":1316,"children":1317},{"class":192,"line":215},[1318,1322,1326,1330,1335,1339,1344],{"type":39,"tag":190,"props":1319,"children":1320},{"style":823},[1321],{"type":44,"value":70},{"type":39,"tag":190,"props":1323,"children":1324},{"style":209},[1325],{"type":44,"value":1300},{"type":39,"tag":190,"props":1327,"children":1328},{"style":203},[1329],{"type":44,"value":514},{"type":39,"tag":190,"props":1331,"children":1332},{"style":209},[1333],{"type":44,"value":1334},"your message",{"type":39,"tag":190,"props":1336,"children":1337},{"style":203},[1338],{"type":44,"value":495},{"type":39,"tag":190,"props":1340,"children":1341},{"style":209},[1342],{"type":44,"value":1343}," --json",{"type":39,"tag":190,"props":1345,"children":1346},{"style":334},[1347],{"type":44,"value":1348},"            # JSON output with contextId\n",{"type":39,"tag":190,"props":1350,"children":1351},{"class":192,"line":27},[1352,1356,1360,1364,1368,1372,1377,1381,1386,1391,1395],{"type":39,"tag":190,"props":1353,"children":1354},{"style":823},[1355],{"type":44,"value":70},{"type":39,"tag":190,"props":1357,"children":1358},{"style":209},[1359],{"type":44,"value":1300},{"type":39,"tag":190,"props":1361,"children":1362},{"style":203},[1363],{"type":44,"value":514},{"type":39,"tag":190,"props":1365,"children":1366},{"style":209},[1367],{"type":44,"value":1334},{"type":39,"tag":190,"props":1369,"children":1370},{"style":203},[1371],{"type":44,"value":495},{"type":39,"tag":190,"props":1373,"children":1374},{"style":209},[1375],{"type":44,"value":1376}," -c",{"type":39,"tag":190,"props":1378,"children":1379},{"style":203},[1380],{"type":44,"value":963},{"type":39,"tag":190,"props":1382,"children":1383},{"style":209},[1384],{"type":44,"value":1385},"context-i",{"type":39,"tag":190,"props":1387,"children":1388},{"style":971},[1389],{"type":44,"value":1390},"d",{"type":39,"tag":190,"props":1392,"children":1393},{"style":203},[1394],{"type":44,"value":979},{"type":39,"tag":190,"props":1396,"children":1397},{"style":334},[1398],{"type":44,"value":1399},"   # continue a conversation\n",{"type":39,"tag":190,"props":1401,"children":1402},{"class":192,"line":238},[1403,1407,1411,1415,1419,1423,1428,1432,1437,1441,1445],{"type":39,"tag":190,"props":1404,"children":1405},{"style":823},[1406],{"type":44,"value":70},{"type":39,"tag":190,"props":1408,"children":1409},{"style":209},[1410],{"type":44,"value":1300},{"type":39,"tag":190,"props":1412,"children":1413},{"style":203},[1414],{"type":44,"value":514},{"type":39,"tag":190,"props":1416,"children":1417},{"style":209},[1418],{"type":44,"value":1334},{"type":39,"tag":190,"props":1420,"children":1421},{"style":203},[1422],{"type":44,"value":495},{"type":39,"tag":190,"props":1424,"children":1425},{"style":209},[1426],{"type":44,"value":1427}," -a",{"type":39,"tag":190,"props":1429,"children":1430},{"style":203},[1431],{"type":44,"value":963},{"type":39,"tag":190,"props":1433,"children":1434},{"style":209},[1435],{"type":44,"value":1436},"agent-i",{"type":39,"tag":190,"props":1438,"children":1439},{"style":971},[1440],{"type":44,"value":1390},{"type":39,"tag":190,"props":1442,"children":1443},{"style":203},[1444],{"type":44,"value":979},{"type":39,"tag":190,"props":1446,"children":1447},{"style":334},[1448],{"type":44,"value":1449},"     # specific agent\n",{"type":39,"tag":190,"props":1451,"children":1452},{"class":192,"line":251},[1453,1457,1461,1465,1469,1473,1478],{"type":39,"tag":190,"props":1454,"children":1455},{"style":823},[1456],{"type":44,"value":70},{"type":39,"tag":190,"props":1458,"children":1459},{"style":209},[1460],{"type":44,"value":1300},{"type":39,"tag":190,"props":1462,"children":1463},{"style":203},[1464],{"type":44,"value":514},{"type":39,"tag":190,"props":1466,"children":1467},{"style":209},[1468],{"type":44,"value":1334},{"type":39,"tag":190,"props":1470,"children":1471},{"style":203},[1472],{"type":44,"value":495},{"type":39,"tag":190,"props":1474,"children":1475},{"style":209},[1476],{"type":44,"value":1477}," --wait=false",{"type":39,"tag":190,"props":1479,"children":1480},{"style":334},[1481],{"type":44,"value":1482},"      # fire and forget\n",{"type":39,"tag":122,"props":1484,"children":1486},{"id":1485},"keeping-conversation-context",[1487],{"type":44,"value":1488},"Keeping conversation context",{"type":39,"tag":47,"props":1490,"children":1491},{},[1492,1494,1499],{"type":44,"value":1493},"Each prompt starts a ",{"type":39,"tag":82,"props":1495,"children":1496},{},[1497],{"type":44,"value":1498},"new, independent conversation",{"type":44,"value":1500}," by default. To thread follow-up messages into the same conversation (so the assistant remembers prior context), you must:",{"type":39,"tag":129,"props":1502,"children":1503},{},[1504,1523],{"type":39,"tag":133,"props":1505,"children":1506},{},[1507,1509,1515,1517],{"type":44,"value":1508},"Use ",{"type":39,"tag":65,"props":1510,"children":1512},{"className":1511},[],[1513],{"type":44,"value":1514},"--json",{"type":44,"value":1516}," on the first prompt to capture the ",{"type":39,"tag":65,"props":1518,"children":1520},{"className":1519},[],[1521],{"type":44,"value":1522},"contextId",{"type":39,"tag":133,"props":1524,"children":1525},{},[1526,1528,1534],{"type":44,"value":1527},"Pass ",{"type":39,"tag":65,"props":1529,"children":1531},{"className":1530},[],[1532],{"type":44,"value":1533},"-c \u003CcontextId>",{"type":44,"value":1535}," on all subsequent prompts",{"type":39,"tag":179,"props":1537,"children":1539},{"className":811,"code":1538,"language":813,"meta":184,"style":184},"# First message — capture contextId\ngrafana-assistant prompt \"Show me metrics for the assistant service in ops-eu-south-0\" --json\n# Response: { \"contextId\": \"62a8823a-...\", \"status\": \"completed\", \"response\": \"...\" }\n\n# Follow-ups — pass contextId\ngrafana-assistant prompt \"Now break those down by handler label\" -c 62a8823a-... --json\n",[1540],{"type":39,"tag":65,"props":1541,"children":1542},{"__ignoreMap":184},[1543,1551,1580,1588,1595,1603],{"type":39,"tag":190,"props":1544,"children":1545},{"class":192,"line":193},[1546],{"type":39,"tag":190,"props":1547,"children":1548},{"style":334},[1549],{"type":44,"value":1550},"# First message — capture contextId\n",{"type":39,"tag":190,"props":1552,"children":1553},{"class":192,"line":215},[1554,1558,1562,1566,1571,1575],{"type":39,"tag":190,"props":1555,"children":1556},{"style":823},[1557],{"type":44,"value":70},{"type":39,"tag":190,"props":1559,"children":1560},{"style":209},[1561],{"type":44,"value":1300},{"type":39,"tag":190,"props":1563,"children":1564},{"style":203},[1565],{"type":44,"value":514},{"type":39,"tag":190,"props":1567,"children":1568},{"style":209},[1569],{"type":44,"value":1570},"Show me metrics for the assistant service in ops-eu-south-0",{"type":39,"tag":190,"props":1572,"children":1573},{"style":203},[1574],{"type":44,"value":495},{"type":39,"tag":190,"props":1576,"children":1577},{"style":209},[1578],{"type":44,"value":1579}," --json\n",{"type":39,"tag":190,"props":1581,"children":1582},{"class":192,"line":27},[1583],{"type":39,"tag":190,"props":1584,"children":1585},{"style":334},[1586],{"type":44,"value":1587},"# Response: { \"contextId\": \"62a8823a-...\", \"status\": \"completed\", \"response\": \"...\" }\n",{"type":39,"tag":190,"props":1589,"children":1590},{"class":192,"line":238},[1591],{"type":39,"tag":190,"props":1592,"children":1593},{"emptyLinePlaceholder":219},[1594],{"type":44,"value":222},{"type":39,"tag":190,"props":1596,"children":1597},{"class":192,"line":251},[1598],{"type":39,"tag":190,"props":1599,"children":1600},{"style":334},[1601],{"type":44,"value":1602},"# Follow-ups — pass contextId\n",{"type":39,"tag":190,"props":1604,"children":1605},{"class":192,"line":269},[1606,1610,1614,1618,1623,1627,1631,1636],{"type":39,"tag":190,"props":1607,"children":1608},{"style":823},[1609],{"type":44,"value":70},{"type":39,"tag":190,"props":1611,"children":1612},{"style":209},[1613],{"type":44,"value":1300},{"type":39,"tag":190,"props":1615,"children":1616},{"style":203},[1617],{"type":44,"value":514},{"type":39,"tag":190,"props":1619,"children":1620},{"style":209},[1621],{"type":44,"value":1622},"Now break those down by handler label",{"type":39,"tag":190,"props":1624,"children":1625},{"style":203},[1626],{"type":44,"value":495},{"type":39,"tag":190,"props":1628,"children":1629},{"style":209},[1630],{"type":44,"value":1376},{"type":39,"tag":190,"props":1632,"children":1633},{"style":209},[1634],{"type":44,"value":1635}," 62a8823a-...",{"type":39,"tag":190,"props":1637,"children":1638},{"style":209},[1639],{"type":44,"value":1579},{"type":39,"tag":47,"props":1641,"children":1642},{},[1643],{"type":39,"tag":82,"props":1644,"children":1645},{},[1646],{"type":44,"value":1647},"Caveats:",{"type":39,"tag":1649,"props":1650,"children":1651},"ul",{},[1652,1665,1670],{"type":39,"tag":133,"props":1653,"children":1654},{},[1655,1657,1663],{"type":44,"value":1656},"Without ",{"type":39,"tag":65,"props":1658,"children":1660},{"className":1659},[],[1661],{"type":44,"value":1662},"-c",{"type":44,"value":1664},", every prompt is a brand new conversation with no memory.",{"type":39,"tag":133,"props":1666,"children":1667},{},[1668],{"type":44,"value":1669},"If context threading fails (e.g. \"context was not created by CLI\"), include relevant prior findings directly in the prompt text instead.",{"type":39,"tag":133,"props":1671,"children":1672},{},[1673],{"type":44,"value":1674},"For long multi-step investigations, including key findings inline is often more reliable than depending on context threading.",{"type":39,"tag":122,"props":1676,"children":1678},{"id":1677},"json-output-format",[1679],{"type":44,"value":1680},"JSON output format",{"type":39,"tag":179,"props":1682,"children":1686},{"className":1683,"code":1684,"language":1685,"meta":184,"style":184},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"taskId\": \"a2a-xxx\",\n  \"contextId\": \"uuid\",\n  \"agentId\": \"grafana_assistant_cli\",\n  \"status\": \"completed\",\n  \"response\": \"The assistant's full text response...\"\n}\n","json",[1687],{"type":39,"tag":65,"props":1688,"children":1689},{"__ignoreMap":184},[1690,1698,1738,1774,1811,1848,1881],{"type":39,"tag":190,"props":1691,"children":1692},{"class":192,"line":193},[1693],{"type":39,"tag":190,"props":1694,"children":1695},{"style":203},[1696],{"type":44,"value":1697},"{\n",{"type":39,"tag":190,"props":1699,"children":1700},{"class":192,"line":215},[1701,1706,1712,1716,1720,1724,1729,1733],{"type":39,"tag":190,"props":1702,"children":1703},{"style":203},[1704],{"type":44,"value":1705},"  \"",{"type":39,"tag":190,"props":1707,"children":1709},{"style":1708},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1710],{"type":44,"value":1711},"taskId",{"type":39,"tag":190,"props":1713,"children":1714},{"style":203},[1715],{"type":44,"value":495},{"type":39,"tag":190,"props":1717,"children":1718},{"style":203},[1719],{"type":44,"value":206},{"type":39,"tag":190,"props":1721,"children":1722},{"style":203},[1723],{"type":44,"value":514},{"type":39,"tag":190,"props":1725,"children":1726},{"style":209},[1727],{"type":44,"value":1728},"a2a-xxx",{"type":39,"tag":190,"props":1730,"children":1731},{"style":203},[1732],{"type":44,"value":495},{"type":39,"tag":190,"props":1734,"children":1735},{"style":203},[1736],{"type":44,"value":1737},",\n",{"type":39,"tag":190,"props":1739,"children":1740},{"class":192,"line":27},[1741,1745,1749,1753,1757,1761,1766,1770],{"type":39,"tag":190,"props":1742,"children":1743},{"style":203},[1744],{"type":44,"value":1705},{"type":39,"tag":190,"props":1746,"children":1747},{"style":1708},[1748],{"type":44,"value":1522},{"type":39,"tag":190,"props":1750,"children":1751},{"style":203},[1752],{"type":44,"value":495},{"type":39,"tag":190,"props":1754,"children":1755},{"style":203},[1756],{"type":44,"value":206},{"type":39,"tag":190,"props":1758,"children":1759},{"style":203},[1760],{"type":44,"value":514},{"type":39,"tag":190,"props":1762,"children":1763},{"style":209},[1764],{"type":44,"value":1765},"uuid",{"type":39,"tag":190,"props":1767,"children":1768},{"style":203},[1769],{"type":44,"value":495},{"type":39,"tag":190,"props":1771,"children":1772},{"style":203},[1773],{"type":44,"value":1737},{"type":39,"tag":190,"props":1775,"children":1776},{"class":192,"line":238},[1777,1781,1786,1790,1794,1798,1803,1807],{"type":39,"tag":190,"props":1778,"children":1779},{"style":203},[1780],{"type":44,"value":1705},{"type":39,"tag":190,"props":1782,"children":1783},{"style":1708},[1784],{"type":44,"value":1785},"agentId",{"type":39,"tag":190,"props":1787,"children":1788},{"style":203},[1789],{"type":44,"value":495},{"type":39,"tag":190,"props":1791,"children":1792},{"style":203},[1793],{"type":44,"value":206},{"type":39,"tag":190,"props":1795,"children":1796},{"style":203},[1797],{"type":44,"value":514},{"type":39,"tag":190,"props":1799,"children":1800},{"style":209},[1801],{"type":44,"value":1802},"grafana_assistant_cli",{"type":39,"tag":190,"props":1804,"children":1805},{"style":203},[1806],{"type":44,"value":495},{"type":39,"tag":190,"props":1808,"children":1809},{"style":203},[1810],{"type":44,"value":1737},{"type":39,"tag":190,"props":1812,"children":1813},{"class":192,"line":251},[1814,1818,1823,1827,1831,1835,1840,1844],{"type":39,"tag":190,"props":1815,"children":1816},{"style":203},[1817],{"type":44,"value":1705},{"type":39,"tag":190,"props":1819,"children":1820},{"style":1708},[1821],{"type":44,"value":1822},"status",{"type":39,"tag":190,"props":1824,"children":1825},{"style":203},[1826],{"type":44,"value":495},{"type":39,"tag":190,"props":1828,"children":1829},{"style":203},[1830],{"type":44,"value":206},{"type":39,"tag":190,"props":1832,"children":1833},{"style":203},[1834],{"type":44,"value":514},{"type":39,"tag":190,"props":1836,"children":1837},{"style":209},[1838],{"type":44,"value":1839},"completed",{"type":39,"tag":190,"props":1841,"children":1842},{"style":203},[1843],{"type":44,"value":495},{"type":39,"tag":190,"props":1845,"children":1846},{"style":203},[1847],{"type":44,"value":1737},{"type":39,"tag":190,"props":1849,"children":1850},{"class":192,"line":269},[1851,1855,1860,1864,1868,1872,1877],{"type":39,"tag":190,"props":1852,"children":1853},{"style":203},[1854],{"type":44,"value":1705},{"type":39,"tag":190,"props":1856,"children":1857},{"style":1708},[1858],{"type":44,"value":1859},"response",{"type":39,"tag":190,"props":1861,"children":1862},{"style":203},[1863],{"type":44,"value":495},{"type":39,"tag":190,"props":1865,"children":1866},{"style":203},[1867],{"type":44,"value":206},{"type":39,"tag":190,"props":1869,"children":1870},{"style":203},[1871],{"type":44,"value":514},{"type":39,"tag":190,"props":1873,"children":1874},{"style":209},[1875],{"type":44,"value":1876},"The assistant's full text response...",{"type":39,"tag":190,"props":1878,"children":1879},{"style":203},[1880],{"type":44,"value":1314},{"type":39,"tag":190,"props":1882,"children":1883},{"class":192,"line":287},[1884],{"type":39,"tag":190,"props":1885,"children":1886},{"style":203},[1887],{"type":44,"value":1888},"}\n",{"type":39,"tag":47,"props":1890,"children":1891},{},[1892,1894,1899,1901,1907,1908,1914,1915,1921,1922,1928],{"type":44,"value":1893},"Possible status values: ",{"type":39,"tag":65,"props":1895,"children":1897},{"className":1896},[],[1898],{"type":44,"value":1839},{"type":44,"value":1900},", ",{"type":39,"tag":65,"props":1902,"children":1904},{"className":1903},[],[1905],{"type":44,"value":1906},"failed",{"type":44,"value":1900},{"type":39,"tag":65,"props":1909,"children":1911},{"className":1910},[],[1912],{"type":44,"value":1913},"timeout",{"type":44,"value":1900},{"type":39,"tag":65,"props":1916,"children":1918},{"className":1917},[],[1919],{"type":44,"value":1920},"canceled",{"type":44,"value":1900},{"type":39,"tag":65,"props":1923,"children":1925},{"className":1924},[],[1926],{"type":44,"value":1927},"unknown",{"type":44,"value":1929},".",{"type":39,"tag":53,"props":1931,"children":1933},{"id":1932},"chatting-interactive",[1934],{"type":44,"value":1935},"Chatting (interactive)",{"type":39,"tag":47,"props":1937,"children":1938},{},[1939],{"type":44,"value":1940},"Opens a full-screen TUI. Context is maintained automatically within the session.",{"type":39,"tag":179,"props":1942,"children":1944},{"className":811,"code":1943,"language":813,"meta":184,"style":184},"grafana-assistant chat\ngrafana-assistant chat -i \u003Cinstance>          # specific instance\ngrafana-assistant chat -a \u003Cagent-id>          # specific agent\ngrafana-assistant chat --continue             # resume previous session\ngrafana-assistant chat -c \u003Ccontext-id>        # resume specific conversation\ngrafana-assistant chat --timeout 600          # custom timeout (default: 300s)\n",[1945],{"type":39,"tag":65,"props":1946,"children":1947},{"__ignoreMap":184},[1948,1960,1998,2034,2055,2091],{"type":39,"tag":190,"props":1949,"children":1950},{"class":192,"line":193},[1951,1955],{"type":39,"tag":190,"props":1952,"children":1953},{"style":823},[1954],{"type":44,"value":70},{"type":39,"tag":190,"props":1956,"children":1957},{"style":209},[1958],{"type":44,"value":1959}," chat\n",{"type":39,"tag":190,"props":1961,"children":1962},{"class":192,"line":215},[1963,1967,1971,1976,1980,1985,1989,1993],{"type":39,"tag":190,"props":1964,"children":1965},{"style":823},[1966],{"type":44,"value":70},{"type":39,"tag":190,"props":1968,"children":1969},{"style":209},[1970],{"type":44,"value":899},{"type":39,"tag":190,"props":1972,"children":1973},{"style":209},[1974],{"type":44,"value":1975}," -i",{"type":39,"tag":190,"props":1977,"children":1978},{"style":203},[1979],{"type":44,"value":963},{"type":39,"tag":190,"props":1981,"children":1982},{"style":209},[1983],{"type":44,"value":1984},"instanc",{"type":39,"tag":190,"props":1986,"children":1987},{"style":971},[1988],{"type":44,"value":974},{"type":39,"tag":190,"props":1990,"children":1991},{"style":203},[1992],{"type":44,"value":979},{"type":39,"tag":190,"props":1994,"children":1995},{"style":334},[1996],{"type":44,"value":1997},"          # specific instance\n",{"type":39,"tag":190,"props":1999,"children":2000},{"class":192,"line":27},[2001,2005,2009,2013,2017,2021,2025,2029],{"type":39,"tag":190,"props":2002,"children":2003},{"style":823},[2004],{"type":44,"value":70},{"type":39,"tag":190,"props":2006,"children":2007},{"style":209},[2008],{"type":44,"value":899},{"type":39,"tag":190,"props":2010,"children":2011},{"style":209},[2012],{"type":44,"value":1427},{"type":39,"tag":190,"props":2014,"children":2015},{"style":203},[2016],{"type":44,"value":963},{"type":39,"tag":190,"props":2018,"children":2019},{"style":209},[2020],{"type":44,"value":1436},{"type":39,"tag":190,"props":2022,"children":2023},{"style":971},[2024],{"type":44,"value":1390},{"type":39,"tag":190,"props":2026,"children":2027},{"style":203},[2028],{"type":44,"value":979},{"type":39,"tag":190,"props":2030,"children":2031},{"style":334},[2032],{"type":44,"value":2033},"          # specific agent\n",{"type":39,"tag":190,"props":2035,"children":2036},{"class":192,"line":238},[2037,2041,2045,2050],{"type":39,"tag":190,"props":2038,"children":2039},{"style":823},[2040],{"type":44,"value":70},{"type":39,"tag":190,"props":2042,"children":2043},{"style":209},[2044],{"type":44,"value":899},{"type":39,"tag":190,"props":2046,"children":2047},{"style":209},[2048],{"type":44,"value":2049}," --continue",{"type":39,"tag":190,"props":2051,"children":2052},{"style":334},[2053],{"type":44,"value":2054},"             # resume previous session\n",{"type":39,"tag":190,"props":2056,"children":2057},{"class":192,"line":251},[2058,2062,2066,2070,2074,2078,2082,2086],{"type":39,"tag":190,"props":2059,"children":2060},{"style":823},[2061],{"type":44,"value":70},{"type":39,"tag":190,"props":2063,"children":2064},{"style":209},[2065],{"type":44,"value":899},{"type":39,"tag":190,"props":2067,"children":2068},{"style":209},[2069],{"type":44,"value":1376},{"type":39,"tag":190,"props":2071,"children":2072},{"style":203},[2073],{"type":44,"value":963},{"type":39,"tag":190,"props":2075,"children":2076},{"style":209},[2077],{"type":44,"value":1385},{"type":39,"tag":190,"props":2079,"children":2080},{"style":971},[2081],{"type":44,"value":1390},{"type":39,"tag":190,"props":2083,"children":2084},{"style":203},[2085],{"type":44,"value":979},{"type":39,"tag":190,"props":2087,"children":2088},{"style":334},[2089],{"type":44,"value":2090},"        # resume specific conversation\n",{"type":39,"tag":190,"props":2092,"children":2093},{"class":192,"line":269},[2094,2098,2102,2107,2113],{"type":39,"tag":190,"props":2095,"children":2096},{"style":823},[2097],{"type":44,"value":70},{"type":39,"tag":190,"props":2099,"children":2100},{"style":209},[2101],{"type":44,"value":899},{"type":39,"tag":190,"props":2103,"children":2104},{"style":209},[2105],{"type":44,"value":2106}," --timeout",{"type":39,"tag":190,"props":2108,"children":2110},{"style":2109},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[2111],{"type":44,"value":2112}," 600",{"type":39,"tag":190,"props":2114,"children":2115},{"style":334},[2116],{"type":44,"value":2117},"          # custom timeout (default: 300s)\n",{"type":39,"tag":47,"props":2119,"children":2120},{},[2121,2123,2129,2131,2137,2139,2145,2146,2152,2153,2159,2161,2167],{"type":44,"value":2122},"In-chat commands: ",{"type":39,"tag":65,"props":2124,"children":2126},{"className":2125},[],[2127],{"type":44,"value":2128},"\u002Fclear",{"type":44,"value":2130}," or ",{"type":39,"tag":65,"props":2132,"children":2134},{"className":2133},[],[2135],{"type":44,"value":2136},"\u002Fnew",{"type":44,"value":2138}," (new conversation), ",{"type":39,"tag":65,"props":2140,"children":2142},{"className":2141},[],[2143],{"type":44,"value":2144},"\u002Fexit",{"type":44,"value":2130},{"type":39,"tag":65,"props":2147,"children":2149},{"className":2148},[],[2150],{"type":44,"value":2151},"\u002Fquit",{"type":44,"value":2130},{"type":39,"tag":65,"props":2154,"children":2156},{"className":2155},[],[2157],{"type":44,"value":2158},"Ctrl+C",{"type":44,"value":2160}," (quit), ",{"type":39,"tag":65,"props":2162,"children":2164},{"className":2163},[],[2165],{"type":44,"value":2166},"\u002Fhelp",{"type":44,"value":1929},{"type":39,"tag":53,"props":2169,"children":2171},{"id":2170},"listing-agents",[2172],{"type":44,"value":2173},"Listing agents",{"type":39,"tag":179,"props":2175,"children":2177},{"className":811,"code":2176,"language":813,"meta":184,"style":184},"grafana-assistant agents\ngrafana-assistant agents --json\ngrafana-assistant agents -i \u003Cinstance>\n",[2178],{"type":39,"tag":65,"props":2179,"children":2180},{"__ignoreMap":184},[2181,2193,2209],{"type":39,"tag":190,"props":2182,"children":2183},{"class":192,"line":193},[2184,2188],{"type":39,"tag":190,"props":2185,"children":2186},{"style":823},[2187],{"type":44,"value":70},{"type":39,"tag":190,"props":2189,"children":2190},{"style":209},[2191],{"type":44,"value":2192}," agents\n",{"type":39,"tag":190,"props":2194,"children":2195},{"class":192,"line":215},[2196,2200,2205],{"type":39,"tag":190,"props":2197,"children":2198},{"style":823},[2199],{"type":44,"value":70},{"type":39,"tag":190,"props":2201,"children":2202},{"style":209},[2203],{"type":44,"value":2204}," agents",{"type":39,"tag":190,"props":2206,"children":2207},{"style":209},[2208],{"type":44,"value":1579},{"type":39,"tag":190,"props":2210,"children":2211},{"class":192,"line":27},[2212,2216,2220,2224,2228,2232,2236],{"type":39,"tag":190,"props":2213,"children":2214},{"style":823},[2215],{"type":44,"value":70},{"type":39,"tag":190,"props":2217,"children":2218},{"style":209},[2219],{"type":44,"value":2204},{"type":39,"tag":190,"props":2221,"children":2222},{"style":209},[2223],{"type":44,"value":1975},{"type":39,"tag":190,"props":2225,"children":2226},{"style":203},[2227],{"type":44,"value":963},{"type":39,"tag":190,"props":2229,"children":2230},{"style":209},[2231],{"type":44,"value":1984},{"type":39,"tag":190,"props":2233,"children":2234},{"style":971},[2235],{"type":44,"value":974},{"type":39,"tag":190,"props":2237,"children":2238},{"style":203},[2239],{"type":44,"value":1026},{"type":39,"tag":53,"props":2241,"children":2243},{"id":2242},"generating-agentsmd",[2244],{"type":44,"value":2245},"Generating AGENTS.md",{"type":39,"tag":47,"props":2247,"children":2248},{},[2249,2251,2257],{"type":44,"value":2250},"Generate an ",{"type":39,"tag":65,"props":2252,"children":2254},{"className":2253},[],[2255],{"type":44,"value":2256},"AGENTS.md",{"type":44,"value":2258}," file for AI coding agents:",{"type":39,"tag":179,"props":2260,"children":2262},{"className":811,"code":2261,"language":813,"meta":184,"style":184},"grafana-assistant agents-md \u003Ctarget-directory>\ngrafana-assistant agents-md \u003Ctarget-directory> --dry-run    # preview to stdout\ngrafana-assistant agents-md \u003Ctarget-directory> -o AGENTS.md  # custom output name\ngrafana-assistant agents-md \u003Ctarget-directory> --force        # overwrite existing\ngrafana-assistant agents-md \u003Ctarget-directory> --non-interactive  # skip prompts\n",[2263],{"type":39,"tag":65,"props":2264,"children":2265},{"__ignoreMap":184},[2266,2296,2333,2375,2412],{"type":39,"tag":190,"props":2267,"children":2268},{"class":192,"line":193},[2269,2273,2278,2282,2287,2292],{"type":39,"tag":190,"props":2270,"children":2271},{"style":823},[2272],{"type":44,"value":70},{"type":39,"tag":190,"props":2274,"children":2275},{"style":209},[2276],{"type":44,"value":2277}," agents-md",{"type":39,"tag":190,"props":2279,"children":2280},{"style":203},[2281],{"type":44,"value":963},{"type":39,"tag":190,"props":2283,"children":2284},{"style":209},[2285],{"type":44,"value":2286},"target-director",{"type":39,"tag":190,"props":2288,"children":2289},{"style":971},[2290],{"type":44,"value":2291},"y",{"type":39,"tag":190,"props":2293,"children":2294},{"style":203},[2295],{"type":44,"value":1026},{"type":39,"tag":190,"props":2297,"children":2298},{"class":192,"line":215},[2299,2303,2307,2311,2315,2319,2323,2328],{"type":39,"tag":190,"props":2300,"children":2301},{"style":823},[2302],{"type":44,"value":70},{"type":39,"tag":190,"props":2304,"children":2305},{"style":209},[2306],{"type":44,"value":2277},{"type":39,"tag":190,"props":2308,"children":2309},{"style":203},[2310],{"type":44,"value":963},{"type":39,"tag":190,"props":2312,"children":2313},{"style":209},[2314],{"type":44,"value":2286},{"type":39,"tag":190,"props":2316,"children":2317},{"style":971},[2318],{"type":44,"value":2291},{"type":39,"tag":190,"props":2320,"children":2321},{"style":203},[2322],{"type":44,"value":979},{"type":39,"tag":190,"props":2324,"children":2325},{"style":209},[2326],{"type":44,"value":2327}," --dry-run",{"type":39,"tag":190,"props":2329,"children":2330},{"style":334},[2331],{"type":44,"value":2332},"    # preview to stdout\n",{"type":39,"tag":190,"props":2334,"children":2335},{"class":192,"line":27},[2336,2340,2344,2348,2352,2356,2360,2365,2370],{"type":39,"tag":190,"props":2337,"children":2338},{"style":823},[2339],{"type":44,"value":70},{"type":39,"tag":190,"props":2341,"children":2342},{"style":209},[2343],{"type":44,"value":2277},{"type":39,"tag":190,"props":2345,"children":2346},{"style":203},[2347],{"type":44,"value":963},{"type":39,"tag":190,"props":2349,"children":2350},{"style":209},[2351],{"type":44,"value":2286},{"type":39,"tag":190,"props":2353,"children":2354},{"style":971},[2355],{"type":44,"value":2291},{"type":39,"tag":190,"props":2357,"children":2358},{"style":203},[2359],{"type":44,"value":979},{"type":39,"tag":190,"props":2361,"children":2362},{"style":209},[2363],{"type":44,"value":2364}," -o",{"type":39,"tag":190,"props":2366,"children":2367},{"style":209},[2368],{"type":44,"value":2369}," AGENTS.md",{"type":39,"tag":190,"props":2371,"children":2372},{"style":334},[2373],{"type":44,"value":2374},"  # custom output name\n",{"type":39,"tag":190,"props":2376,"children":2377},{"class":192,"line":238},[2378,2382,2386,2390,2394,2398,2402,2407],{"type":39,"tag":190,"props":2379,"children":2380},{"style":823},[2381],{"type":44,"value":70},{"type":39,"tag":190,"props":2383,"children":2384},{"style":209},[2385],{"type":44,"value":2277},{"type":39,"tag":190,"props":2387,"children":2388},{"style":203},[2389],{"type":44,"value":963},{"type":39,"tag":190,"props":2391,"children":2392},{"style":209},[2393],{"type":44,"value":2286},{"type":39,"tag":190,"props":2395,"children":2396},{"style":971},[2397],{"type":44,"value":2291},{"type":39,"tag":190,"props":2399,"children":2400},{"style":203},[2401],{"type":44,"value":979},{"type":39,"tag":190,"props":2403,"children":2404},{"style":209},[2405],{"type":44,"value":2406}," --force",{"type":39,"tag":190,"props":2408,"children":2409},{"style":334},[2410],{"type":44,"value":2411},"        # overwrite existing\n",{"type":39,"tag":190,"props":2413,"children":2414},{"class":192,"line":251},[2415,2419,2423,2427,2431,2435,2439,2444],{"type":39,"tag":190,"props":2416,"children":2417},{"style":823},[2418],{"type":44,"value":70},{"type":39,"tag":190,"props":2420,"children":2421},{"style":209},[2422],{"type":44,"value":2277},{"type":39,"tag":190,"props":2424,"children":2425},{"style":203},[2426],{"type":44,"value":963},{"type":39,"tag":190,"props":2428,"children":2429},{"style":209},[2430],{"type":44,"value":2286},{"type":39,"tag":190,"props":2432,"children":2433},{"style":971},[2434],{"type":44,"value":2291},{"type":39,"tag":190,"props":2436,"children":2437},{"style":203},[2438],{"type":44,"value":979},{"type":39,"tag":190,"props":2440,"children":2441},{"style":209},[2442],{"type":44,"value":2443}," --non-interactive",{"type":39,"tag":190,"props":2445,"children":2446},{"style":334},[2447],{"type":44,"value":2448},"  # skip prompts\n",{"type":39,"tag":53,"props":2450,"children":2452},{"id":2451},"assistant-tunnel",[2453],{"type":44,"value":2454},"Assistant Tunnel",{"type":39,"tag":47,"props":2456,"children":2457},{},[2458],{"type":44,"value":2459},"The tunnel allows Grafana Assistant to execute tools on your local machine.",{"type":39,"tag":179,"props":2461,"children":2463},{"className":811,"code":2462,"language":813,"meta":184,"style":184},"grafana-assistant tunnel auth                    # authenticate (opens browser)\ngrafana-assistant tunnel connect                 # foreground connection (filesystem enabled by default)\ngrafana-assistant tunnel connect --all           # all authenticated instances\ngrafana-assistant tunnel connect --terminal      # enable terminal tool\n",[2464],{"type":39,"tag":65,"props":2465,"children":2466},{"__ignoreMap":184},[2467,2488,2509,2534],{"type":39,"tag":190,"props":2468,"children":2469},{"class":192,"line":193},[2470,2474,2479,2483],{"type":39,"tag":190,"props":2471,"children":2472},{"style":823},[2473],{"type":44,"value":70},{"type":39,"tag":190,"props":2475,"children":2476},{"style":209},[2477],{"type":44,"value":2478}," tunnel",{"type":39,"tag":190,"props":2480,"children":2481},{"style":209},[2482],{"type":44,"value":882},{"type":39,"tag":190,"props":2484,"children":2485},{"style":334},[2486],{"type":44,"value":2487},"                    # authenticate (opens browser)\n",{"type":39,"tag":190,"props":2489,"children":2490},{"class":192,"line":215},[2491,2495,2499,2504],{"type":39,"tag":190,"props":2492,"children":2493},{"style":823},[2494],{"type":44,"value":70},{"type":39,"tag":190,"props":2496,"children":2497},{"style":209},[2498],{"type":44,"value":2478},{"type":39,"tag":190,"props":2500,"children":2501},{"style":209},[2502],{"type":44,"value":2503}," connect",{"type":39,"tag":190,"props":2505,"children":2506},{"style":334},[2507],{"type":44,"value":2508},"                 # foreground connection (filesystem enabled by default)\n",{"type":39,"tag":190,"props":2510,"children":2511},{"class":192,"line":27},[2512,2516,2520,2524,2529],{"type":39,"tag":190,"props":2513,"children":2514},{"style":823},[2515],{"type":44,"value":70},{"type":39,"tag":190,"props":2517,"children":2518},{"style":209},[2519],{"type":44,"value":2478},{"type":39,"tag":190,"props":2521,"children":2522},{"style":209},[2523],{"type":44,"value":2503},{"type":39,"tag":190,"props":2525,"children":2526},{"style":209},[2527],{"type":44,"value":2528}," --all",{"type":39,"tag":190,"props":2530,"children":2531},{"style":334},[2532],{"type":44,"value":2533},"           # all authenticated instances\n",{"type":39,"tag":190,"props":2535,"children":2536},{"class":192,"line":238},[2537,2541,2545,2549,2554],{"type":39,"tag":190,"props":2538,"children":2539},{"style":823},[2540],{"type":44,"value":70},{"type":39,"tag":190,"props":2542,"children":2543},{"style":209},[2544],{"type":44,"value":2478},{"type":39,"tag":190,"props":2546,"children":2547},{"style":209},[2548],{"type":44,"value":2503},{"type":39,"tag":190,"props":2550,"children":2551},{"style":209},[2552],{"type":44,"value":2553}," --terminal",{"type":39,"tag":190,"props":2555,"children":2556},{"style":334},[2557],{"type":44,"value":2558},"      # enable terminal tool\n",{"type":39,"tag":122,"props":2560,"children":2562},{"id":2561},"daemon-management",[2563],{"type":44,"value":2564},"Daemon management",{"type":39,"tag":179,"props":2566,"children":2568},{"className":811,"code":2567,"language":813,"meta":184,"style":184},"grafana-assistant tunnel daemon install          # install as system service\ngrafana-assistant tunnel daemon install --all    # connect all instances\ngrafana-assistant tunnel daemon install --start-on-login=false\ngrafana-assistant tunnel daemon start|stop|restart|status\ngrafana-assistant tunnel daemon logs [--follow]\ngrafana-assistant tunnel daemon uninstall\n",[2569],{"type":39,"tag":65,"props":2570,"children":2571},{"__ignoreMap":184},[2572,2598,2626,2650,2698,2723],{"type":39,"tag":190,"props":2573,"children":2574},{"class":192,"line":193},[2575,2579,2583,2588,2593],{"type":39,"tag":190,"props":2576,"children":2577},{"style":823},[2578],{"type":44,"value":70},{"type":39,"tag":190,"props":2580,"children":2581},{"style":209},[2582],{"type":44,"value":2478},{"type":39,"tag":190,"props":2584,"children":2585},{"style":209},[2586],{"type":44,"value":2587}," daemon",{"type":39,"tag":190,"props":2589,"children":2590},{"style":209},[2591],{"type":44,"value":2592}," install",{"type":39,"tag":190,"props":2594,"children":2595},{"style":334},[2596],{"type":44,"value":2597},"          # install as system service\n",{"type":39,"tag":190,"props":2599,"children":2600},{"class":192,"line":215},[2601,2605,2609,2613,2617,2621],{"type":39,"tag":190,"props":2602,"children":2603},{"style":823},[2604],{"type":44,"value":70},{"type":39,"tag":190,"props":2606,"children":2607},{"style":209},[2608],{"type":44,"value":2478},{"type":39,"tag":190,"props":2610,"children":2611},{"style":209},[2612],{"type":44,"value":2587},{"type":39,"tag":190,"props":2614,"children":2615},{"style":209},[2616],{"type":44,"value":2592},{"type":39,"tag":190,"props":2618,"children":2619},{"style":209},[2620],{"type":44,"value":2528},{"type":39,"tag":190,"props":2622,"children":2623},{"style":334},[2624],{"type":44,"value":2625},"    # connect all instances\n",{"type":39,"tag":190,"props":2627,"children":2628},{"class":192,"line":27},[2629,2633,2637,2641,2645],{"type":39,"tag":190,"props":2630,"children":2631},{"style":823},[2632],{"type":44,"value":70},{"type":39,"tag":190,"props":2634,"children":2635},{"style":209},[2636],{"type":44,"value":2478},{"type":39,"tag":190,"props":2638,"children":2639},{"style":209},[2640],{"type":44,"value":2587},{"type":39,"tag":190,"props":2642,"children":2643},{"style":209},[2644],{"type":44,"value":2592},{"type":39,"tag":190,"props":2646,"children":2647},{"style":209},[2648],{"type":44,"value":2649}," --start-on-login=false\n",{"type":39,"tag":190,"props":2651,"children":2652},{"class":192,"line":238},[2653,2657,2661,2665,2670,2675,2680,2684,2689,2693],{"type":39,"tag":190,"props":2654,"children":2655},{"style":823},[2656],{"type":44,"value":70},{"type":39,"tag":190,"props":2658,"children":2659},{"style":209},[2660],{"type":44,"value":2478},{"type":39,"tag":190,"props":2662,"children":2663},{"style":209},[2664],{"type":44,"value":2587},{"type":39,"tag":190,"props":2666,"children":2667},{"style":209},[2668],{"type":44,"value":2669}," start",{"type":39,"tag":190,"props":2671,"children":2672},{"style":203},[2673],{"type":44,"value":2674},"|",{"type":39,"tag":190,"props":2676,"children":2677},{"style":823},[2678],{"type":44,"value":2679},"stop",{"type":39,"tag":190,"props":2681,"children":2682},{"style":203},[2683],{"type":44,"value":2674},{"type":39,"tag":190,"props":2685,"children":2686},{"style":823},[2687],{"type":44,"value":2688},"restart",{"type":39,"tag":190,"props":2690,"children":2691},{"style":203},[2692],{"type":44,"value":2674},{"type":39,"tag":190,"props":2694,"children":2695},{"style":823},[2696],{"type":44,"value":2697},"status\n",{"type":39,"tag":190,"props":2699,"children":2700},{"class":192,"line":251},[2701,2705,2709,2713,2718],{"type":39,"tag":190,"props":2702,"children":2703},{"style":823},[2704],{"type":44,"value":70},{"type":39,"tag":190,"props":2706,"children":2707},{"style":209},[2708],{"type":44,"value":2478},{"type":39,"tag":190,"props":2710,"children":2711},{"style":209},[2712],{"type":44,"value":2587},{"type":39,"tag":190,"props":2714,"children":2715},{"style":209},[2716],{"type":44,"value":2717}," logs",{"type":39,"tag":190,"props":2719,"children":2720},{"style":971},[2721],{"type":44,"value":2722}," [--follow]\n",{"type":39,"tag":190,"props":2724,"children":2725},{"class":192,"line":269},[2726,2730,2734,2738],{"type":39,"tag":190,"props":2727,"children":2728},{"style":823},[2729],{"type":44,"value":70},{"type":39,"tag":190,"props":2731,"children":2732},{"style":209},[2733],{"type":44,"value":2478},{"type":39,"tag":190,"props":2735,"children":2736},{"style":209},[2737],{"type":44,"value":2587},{"type":39,"tag":190,"props":2739,"children":2740},{"style":209},[2741],{"type":44,"value":2742}," uninstall\n",{"type":39,"tag":122,"props":2744,"children":2746},{"id":2745},"default-security",[2747],{"type":44,"value":2748},"Default security",{"type":39,"tag":47,"props":2750,"children":2751},{},[2752,2757,2759,2765,2766,2772,2773,2779,2780,2786,2787,2792,2793,2799,2800,2805],{"type":39,"tag":82,"props":2753,"children":2754},{},[2755],{"type":44,"value":2756},"Filesystem:",{"type":44,"value":2758}," read-only, project-scoped, blocks ",{"type":39,"tag":65,"props":2760,"children":2762},{"className":2761},[],[2763],{"type":44,"value":2764},"~\u002F.ssh",{"type":44,"value":1900},{"type":39,"tag":65,"props":2767,"children":2769},{"className":2768},[],[2770],{"type":44,"value":2771},"~\u002F.gnupg",{"type":44,"value":1900},{"type":39,"tag":65,"props":2774,"children":2776},{"className":2775},[],[2777],{"type":44,"value":2778},"~\u002F.aws\u002Fcredentials",{"type":44,"value":1900},{"type":39,"tag":65,"props":2781,"children":2783},{"className":2782},[],[2784],{"type":44,"value":2785},"**\u002F.env",{"type":44,"value":1900},{"type":39,"tag":65,"props":2788,"children":2790},{"className":2789},[],[2791],{"type":44,"value":519},{"type":44,"value":1900},{"type":39,"tag":65,"props":2794,"children":2796},{"className":2795},[],[2797],{"type":44,"value":2798},"**\u002F*.pem",{"type":44,"value":1900},{"type":39,"tag":65,"props":2801,"children":2803},{"className":2802},[],[2804],{"type":44,"value":500},{"type":44,"value":2806},". File size limit: 1MB.",{"type":39,"tag":47,"props":2808,"children":2809},{},[2810,2815,2817,2823,2824,2830,2831,2837],{"type":39,"tag":82,"props":2811,"children":2812},{},[2813],{"type":44,"value":2814},"Terminal:",{"type":44,"value":2816}," blocks dangerous commands (",{"type":39,"tag":65,"props":2818,"children":2820},{"className":2819},[],[2821],{"type":44,"value":2822},"rm -rf \u002F",{"type":44,"value":1900},{"type":39,"tag":65,"props":2825,"children":2827},{"className":2826},[],[2828],{"type":44,"value":2829},"mkfs",{"type":44,"value":1900},{"type":39,"tag":65,"props":2832,"children":2834},{"className":2833},[],[2835],{"type":44,"value":2836},"dd",{"type":44,"value":2838},", fork bombs), minimal environment by default. Configurable via allow\u002Fdeny lists in config.",{"type":39,"tag":53,"props":2840,"children":2842},{"id":2841},"practical-patterns-for-agent-use",[2843],{"type":44,"value":2844},"Practical patterns for agent use",{"type":39,"tag":122,"props":2846,"children":2848},{"id":2847},"shell-permissions",[2849],{"type":44,"value":2850},"Shell permissions",{"type":39,"tag":47,"props":2852,"children":2853},{},[2854,2856,2862],{"type":44,"value":2855},"The CLI makes HTTPS requests to Grafana. Always use ",{"type":39,"tag":65,"props":2857,"children":2859},{"className":2858},[],[2860],{"type":44,"value":2861},"required_permissions: [\"all\"]",{"type":44,"value":2863}," in Shell tool calls — this avoids TLS certificate verification failures from sandbox restrictions.",{"type":39,"tag":122,"props":2865,"children":2867},{"id":2866},"timeout-handling",[2868],{"type":44,"value":2869},"Timeout handling",{"type":39,"tag":47,"props":2871,"children":2872},{},[2873,2875,2881],{"type":44,"value":2874},"Prompts can take 30s–300s depending on how many tools the assistant invokes. Set ",{"type":39,"tag":65,"props":2876,"children":2878},{"className":2877},[],[2879],{"type":44,"value":2880},"block_until_ms",{"type":44,"value":2882}," to at least 300000 (5 min) for complex queries.",{"type":39,"tag":122,"props":2884,"children":2886},{"id":2885},"what-the-cli-agent-can-do",[2887],{"type":44,"value":2888},"What the CLI agent can do",{"type":39,"tag":47,"props":2890,"children":2891},{},[2892,2894,2899],{"type":44,"value":2893},"The CLI agent is a ",{"type":39,"tag":82,"props":2895,"children":2896},{},[2897],{"type":44,"value":2898},"read-only",{"type":44,"value":2900}," Grafana Assistant. It queries and analyzes data but cannot modify anything in Grafana.",{"type":39,"tag":47,"props":2902,"children":2903},{},[2904],{"type":39,"tag":82,"props":2905,"children":2906},{},[2907],{"type":44,"value":2908},"Capabilities:",{"type":39,"tag":1649,"props":2910,"children":2911},{},[2912,2917,2922,2927,2932,2937,2942],{"type":39,"tag":133,"props":2913,"children":2914},{},[2915],{"type":44,"value":2916},"Query metrics (PromQL, Graphite), logs (LogQL), traces (TraceQL), profiles, SQL, and more across all configured datasources",{"type":39,"tag":133,"props":2918,"children":2919},{},[2920],{"type":44,"value":2921},"Discover datasources, metric names, label values, and log streams",{"type":39,"tag":133,"props":2923,"children":2924},{},[2925],{"type":44,"value":2926},"Search dashboards and read panel definitions",{"type":39,"tag":133,"props":2928,"children":2929},{},[2930],{"type":44,"value":2931},"Search Grafana docs and blog posts",{"type":39,"tag":133,"props":2933,"children":2934},{},[2935],{"type":44,"value":2936},"Query alert history, on-call schedules, and incidents",{"type":39,"tag":133,"props":2938,"children":2939},{},[2940],{"type":44,"value":2941},"Query Asserts entity health, graph, and RCA patterns",{"type":39,"tag":133,"props":2943,"children":2944},{},[2945],{"type":44,"value":2946},"Query infrastructure memory service",{"type":39,"tag":47,"props":2948,"children":2949},{},[2950],{"type":39,"tag":82,"props":2951,"children":2952},{},[2953],{"type":44,"value":2954},"Workflows it follows:",{"type":39,"tag":1649,"props":2956,"children":2957},{},[2958,2968,2978],{"type":39,"tag":133,"props":2959,"children":2960},{},[2961,2966],{"type":39,"tag":82,"props":2962,"children":2963},{},[2964],{"type":44,"value":2965},"Quick data query",{"type":44,"value":2967},": discovers datasources → discovers metric\u002Flog names → executes query → presents findings",{"type":39,"tag":133,"props":2969,"children":2970},{},[2971,2976],{"type":39,"tag":82,"props":2972,"children":2973},{},[2974],{"type":44,"value":2975},"Investigation",{"type":44,"value":2977},": follows signals across metrics → logs → traces to find probable cause",{"type":39,"tag":133,"props":2979,"children":2980},{},[2981,2986],{"type":39,"tag":82,"props":2982,"children":2983},{},[2984],{"type":44,"value":2985},"Q&A \u002F doc search",{"type":44,"value":2987},": answers Grafana\u002Fobservability questions using docs",{"type":39,"tag":47,"props":2989,"children":2990},{},[2991,2996],{"type":39,"tag":82,"props":2992,"children":2993},{},[2994],{"type":44,"value":2995},"Not available in CLI",{"type":44,"value":2997}," (web\u002FSlack only):",{"type":39,"tag":1649,"props":2999,"children":3000},{},[3001,3006,3011],{"type":39,"tag":133,"props":3002,"children":3003},{},[3004],{"type":44,"value":3005},"Dashboard creation\u002Fmodification",{"type":39,"tag":133,"props":3007,"children":3008},{},[3009],{"type":44,"value":3010},"Alert rule and silence management",{"type":39,"tag":133,"props":3012,"children":3013},{},[3014],{"type":44,"value":3015},"Navigation to Grafana pages",{"type":39,"tag":3017,"props":3018,"children":3019},"style",{},[3020],{"type":44,"value":3021},"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":3023,"total":27},[3024,3031,3042],{"slug":4,"name":4,"fn":5,"description":6,"org":3025,"tags":3026,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3027,3028,3029,3030],{"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":3032,"name":3032,"fn":3033,"description":3034,"org":3035,"tags":3036,"stars":23,"repoUrl":24,"updatedAt":3041},"grafana-cloud-mcp-tools","use Grafana Cloud MCP server tools","Connect to and use the Grafana Cloud MCP server effectively, including natural-language Grafana Assistant questions and observability investigations. Covers setup, OAuth authorization, tool categories, read\u002Fwrite access scopes, and best practices for context window management. Use when the user wants to set up Grafana Cloud MCP, ask Grafana Assistant a question, investigate metrics, logs, traces, profiles, dashboards, alerts, or incidents, needs guidance on which tool to use, or wants to understand access scopes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3037,3038],{"name":9,"slug":8,"type":15},{"name":3039,"slug":3040,"type":15},"MCP","mcp","2026-07-21T05:39:33.356231",{"slug":3043,"name":3043,"fn":3044,"description":3045,"org":3046,"tags":3047,"stars":23,"repoUrl":24,"updatedAt":3054},"grafana-mcp-tools","configure and use Grafana MCP server","Install, configure, and use the Grafana MCP server effectively. Covers setup via Docker or binary, environment variables, tool categories, RBAC, and best practices for context window management. Use when the user wants to set up mcp-grafana, configure Grafana MCP tools, or needs guidance on which MCP tool to use.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3048,3049,3052,3053],{"name":120,"slug":117,"type":15},{"name":3050,"slug":3051,"type":15},"Docker","docker",{"name":9,"slug":8,"type":15},{"name":3039,"slug":3040,"type":15},"2026-07-12T07:45:09.886299",{"items":3056,"total":3239},[3057,3076,3093,3112,3127,3143,3156,3171,3188,3203,3216,3227],{"slug":3058,"name":3058,"fn":3059,"description":3060,"org":3061,"tags":3062,"stars":3073,"repoUrl":3074,"updatedAt":3075},"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},[3063,3066,3069,3070],{"name":3064,"slug":3065,"type":15},"Distributed Tracing","distributed-tracing",{"name":3067,"slug":3068,"type":15},"Frontend","frontend",{"name":17,"slug":18,"type":15},{"name":3071,"slug":3072,"type":15},"Observability","observability",1103,"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Ffaro-web-sdk","2026-07-12T07:43:24.63314",{"slug":3077,"name":3077,"fn":3078,"description":3079,"org":3080,"tags":3081,"stars":3090,"repoUrl":3091,"updatedAt":3092},"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},[3082,3085,3088,3089],{"name":3083,"slug":3084,"type":15},"API Development","api-development",{"name":3086,"slug":3087,"type":15},"Authentication","authentication",{"name":120,"slug":117,"type":15},{"name":9,"slug":8,"type":15},1056,"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fgrafana-infinity-datasource","2026-07-12T07:43:25.939136",{"slug":3094,"name":3094,"fn":3095,"description":3096,"org":3097,"tags":3098,"stars":3090,"repoUrl":3091,"updatedAt":3111},"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},[3099,3102,3105,3106,3109],{"name":3100,"slug":3101,"type":15},"CSV","csv",{"name":3103,"slug":3104,"type":15},"Data Analysis","data-analysis",{"name":9,"slug":8,"type":15},{"name":3107,"slug":3108,"type":15},"GraphQL","graphql",{"name":3110,"slug":1685,"type":15},"JSON","2026-07-15T05:34:05.773947",{"slug":3113,"name":3113,"fn":3114,"description":3115,"org":3116,"tags":3117,"stars":3124,"repoUrl":3125,"updatedAt":3126},"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},[3118,3121,3122,3123],{"name":3119,"slug":3120,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"name":3071,"slug":3072,"type":15},430,"https:\u002F\u002Fgithub.com\u002Fgrafana\u002Fgcx","2026-07-25T05:30:40.29622",{"slug":3128,"name":3128,"fn":3129,"description":3130,"org":3131,"tags":3132,"stars":3124,"repoUrl":3125,"updatedAt":3142},"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},[3133,3134,3135,3138,3141],{"name":3119,"slug":3120,"type":15},{"name":9,"slug":8,"type":15},{"name":3136,"slug":3137,"type":15},"Instrumentation","instrumentation",{"name":3139,"slug":3140,"type":15},"LLM","llm",{"name":3071,"slug":3072,"type":15},"2026-07-31T05:53:52.580237",{"slug":3144,"name":3144,"fn":3145,"description":3146,"org":3147,"tags":3148,"stars":3124,"repoUrl":3125,"updatedAt":3155},"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},[3149,3150,3153,3154],{"name":3119,"slug":3120,"type":15},{"name":3151,"slug":3152,"type":15},"Evals","evals",{"name":9,"slug":8,"type":15},{"name":3071,"slug":3072,"type":15},"2026-07-31T05:53:53.576347",{"slug":3157,"name":3157,"fn":3158,"description":3159,"org":3160,"tags":3161,"stars":3124,"repoUrl":3125,"updatedAt":3170},"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},[3162,3163,3164,3167],{"name":3119,"slug":3120,"type":15},{"name":9,"slug":8,"type":15},{"name":3165,"slug":3166,"type":15},"QA","qa",{"name":3168,"slug":3169,"type":15},"Testing","testing","2026-07-31T05:53:51.62785",{"slug":3172,"name":3172,"fn":3173,"description":3174,"org":3175,"tags":3176,"stars":3124,"repoUrl":3125,"updatedAt":3187},"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},[3177,3180,3183,3186],{"name":3178,"slug":3179,"type":15},"Dashboards","dashboards",{"name":3181,"slug":3182,"type":15},"Data Visualization","data-visualization",{"name":3184,"slug":3185,"type":15},"Design","design",{"name":9,"slug":8,"type":15},"2026-07-25T05:30:46.289717",{"slug":3189,"name":3189,"fn":3190,"description":3191,"org":3192,"tags":3193,"stars":3124,"repoUrl":3125,"updatedAt":3202},"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},[3194,3197,3198,3201],{"name":3195,"slug":3196,"type":15},"Debugging","debugging",{"name":9,"slug":8,"type":15},{"name":3199,"slug":3200,"type":15},"Incident Response","incident-response",{"name":3071,"slug":3072,"type":15},"2026-07-18T05:11:10.445428",{"slug":3204,"name":3204,"fn":3205,"description":3206,"org":3207,"tags":3208,"stars":3124,"repoUrl":3125,"updatedAt":3215},"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},[3209,3210,3211,3214],{"name":3195,"slug":3196,"type":15},{"name":9,"slug":8,"type":15},{"name":3212,"slug":3213,"type":15},"Graph Analysis","graph-analysis",{"name":3071,"slug":3072,"type":15},"2026-07-25T05:30:39.380934",{"slug":3217,"name":3217,"fn":3218,"description":3219,"org":3220,"tags":3221,"stars":3124,"repoUrl":3125,"updatedAt":3226},"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},[3222,3223,3224,3225],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},"2026-07-31T05:53:50.587304",{"slug":3228,"name":3228,"fn":3229,"description":3230,"org":3231,"tags":3232,"stars":3124,"repoUrl":3125,"updatedAt":3238},"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},[3233,3234,3235],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":3236,"slug":3237,"type":15},"Presentations","presentations","2026-07-25T05:30:45.282458",80]