Browse workflows

Platform and SRE teams

Incident triage with GitHub, Forge, and PostHog

Correlate a production error spike with failing GitHub Actions runs and Forge deploy history.

Outcome: A ranked incident brief linking errors, recent deploys, and failing workflows

Integrations in this workflow

Example questions

Try asking your AI client

  • We have elevated 500 errors in PostHog for the last hour. List recent Forge deployments for our production site, check the latest GitHub workflow runs on the main branch, and correlate timestamps. Summarize likely deploy-related regressions and suggest the next rollback or hotfix step.

  • PostHog shows checkout errors after 21:00. Which Forge deploy and GitHub Actions run line up with that, and what files changed?

  • Compare last night's Forge deploy logs with GitHub checks on main and the PostHog error spike. Is this a config issue or an application bug?

  • Write a short incident timeline using PostHog error counts, Forge deploy history, and GitHub workflow conclusions - do not roll back or redeploy.

  • If I have to page Amalie, give me a three-bullet brief: PostHog symptom, last good Forge deploy, and the GitHub run that looks guilty.

The problem

When errors spike, on-call engineers jump between PostHog, GitHub Actions, and Forge deploy logs to find the blast radius.

Gateway tools

  • posthog__query-hogql-tool or PostHog MCP tools for error trends
  • forge__list_deployments → forge__get_deployment_log for release timing
  • github__list_workflow_runs → github__get_workflow_run for CI failures

Use describe-service-tool to confirm PostHog and Forge are connected before dispatching.

Governance

  • Forge deploy triggers require explicit permission scopes on your API token — use least-privilege tokens for read-only triage.
  • PostHog queries may include user identifiers; paste only redacted summaries into public incident channels.
  • Audit logs record every tool call — attach the audit trail when handing off to another engineer.

Connect via private gateway

Activate the integrations above, create an API token scoped to mcp:private-gateway, then add this config to your MCP client.

Config file: ~/.cursor/mcp.json

{
    "mcpServers": {
        "stackgate-private-gateway": {
            "url": "https://stackgate.ai/mcp/private",
            "headers": {
                "Authorization": "Bearer YOUR_API_TOKEN"
            }
        }
    }
}