What they did
Mendes built a proof of concept around a small .NET API that sends OpenTelemetry traces, metrics and logs to a free Grafana Cloud stack. A Grafana alert rule on 5xx errors calls a webhook that starts a GitHub Actions workflow. The workflow installs Claude Code and the official Grafana MCP server, then a shell script pulls the active alerts, skips ones already handled, and runs Claude Code headless on each new one. The agent gets a read-only Grafana service account and only the Grafana, read and edit tools, with no terminal. It is asked to query metrics, logs and traces around the alert time, find the stack trace in the code, make the smallest fix if the cause is clearly in the code, and end with a confidence score. The script, not the agent, opens the issue and, above a confidence threshold, a draft pull request.
How it went
In his test run an alert fired, the workflow picked it up, and the agent traced the errors to a division by zero and opened a draft PR with a fix for the team to review. In other test runs it only filed issues with the diagnosis. He says the payoff is that the investigation is already written up when a person looks, and that tokens are only spent when a new alert exists. He gives no timing or cost numbers, and the app was built to throw errors on purpose.
Worth knowing
It ran on a Claude Pro subscription token, so usage counts against that plan's limits. Set the alert to keep firing for about 15 minutes, or it can resolve before the workflow starts and the agent finds nothing. GitHub Actions must be allowed to create pull requests, and the script throws away any change the agent makes under .github.