
Web Analytics Ticket Triage
FreeStreamline your web analytics support process efficiently.
Free · Opens the source repo
What Web Analytics Ticket Triage does
The Web Analytics Ticket Triage skill is designed to assist support teams in managing and resolving web analytics tickets effectively. By integrating with the PostHog MCP, this skill allows users to enumerate open support tickets from both the in-app conversations product and their Zendesk counterparts. It classifies each ticket into specific diagnostic shapes, such as frontend crashes or metric discrepancies, and provides actionable insights to address these issues. This structured approach helps support teams quickly identify the nature of the problem and respond appropriately.
Once the tickets are classified, the skill guides users through the relevant diagnostic playbooks, which contain detailed workflows for each type of issue. For instance, if a ticket indicates a frontend crash, the skill prompts the user to check error tracking logs for relevant stack traces. This ensures that users are diagnosing problems based on data and not just assumptions. The skill also emphasizes the importance of understanding the data layer where the symptom resides, helping to prevent misdiagnoses and unnecessary code changes.
Additionally, the skill generates reply drafts and draft pull requests (PRs) for identified bugs, ensuring that responses are grounded in accurate information. It encourages users to keep a running note of triage actions, making it easier for team members to pick up where others left off. This collaborative approach fosters a more organized and efficient support process.
Overall, the Web Analytics Ticket Triage skill is ideal for support teams dealing with web analytics issues, providing them with the tools and guidance necessary to resolve tickets quickly and accurately.
When to use it
Use this skill when tasked with investigating web analytics support tickets or explaining metric discrepancies reported by customers.
When not to use it
This skill may not be suitable for general support inquiries outside of web analytics or for issues unrelated to ticket triaging.
What you can build with it
Triage Incoming Tickets
Quickly assess and classify new support tickets from the web analytics channel to prioritize responses.
Investigate Metric Discrepancies
Use the skill to diagnose reported metric issues by following structured playbooks and generating accurate replies.
Collaborate on Support Responses
Maintain a shared triage note to track actions taken on tickets, enabling seamless handoffs between team members.
How to install Web Analytics Ticket Triage
View source1. Install with the skills CLI
npx skills add posthog/posthog/triaging-web-analytics-support --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by posthogTriaging web analytics support tickets
The job: turn a pile of open support tickets into (a) reply drafts grounded in code or data, and (b) draft PRs for real bugs. Most reported "bugs" are explainable semantics; most real bugs show up in error tracking or raw data before they show up in the code. Diagnose before writing code, and always determine which layer a symptom lives in before proposing a fix.
1. Enumerate the queue
Tickets live in the conversations product and are queryable via the PostHog MCP execute-sql tool against system.support_tickets (project 2, US).
Zendesk mirrors carry full comment history in the data warehouse.
See references/ticket-queries.md for ready-to-run SQL: open-ticket scans, keyword filters, full Zendesk comment extraction (the child_events JSON pattern), and resolving a requester email to an org/team across US and EU regions.
Slack channel #support-web-analytics mirrors new Zendesk tickets; the in-app ticket link in each message carries the conversations UUID.
2. Classify the shape, then run its playbook
Detailed walk-throughs with worked examples are in references/diagnostic-playbooks.md. The shapes:
| Shape | Trigger phrases | First move |
|---|---|---|
| Frontend crash | "everything crashes", exception ID, stack trace | Error tracking lookup; sourcemapped frames name the file. Check both US and EU projects |
| Two numbers don't match | "two different bounce rates", "insight X disagrees with tile Y" | Semantics first, not code: event-level vs session-entry scoping, "landing vs containing", any-event vs entry-event filters explain most of these |
| Count drop over time | "pageviews declined", "tracking loss" | Layer split: raw stored counts vs query-side exclusion. $pageview vs $pageleave ratio, UA segmentation, SDK version pin. Bot-shaped traffic disappearing is common and is not a PostHog bug |
| Tracker not loading / undercounts competitor | "numbers lower than <other tool>", GTM, consent, ad blockers | Runtime loading audit with Playwright against their live site: load method, first-request timing, blocklist simulation. See references/loading-audit.md |
| Ad-platform integration error | "can't re-add source", OAuth errors, "no conversions" | Source re-creation paths, OAuth failure modes (for example Microsoft AADSTS650052), attribution join keys (exact campaign name + normalized source, both UTMs required for the fallback) |
| Channel type misclassification | "shows as Direct", "wrong channel" | posthog/models/channel_type/channel_definitions.json + the decision tree in posthog/hogql/database/schema/channel_type.py; unknown source + stripped referrer falls through to Direct |
Two cross-cutting rules:
- Determine the layer before the fix. Capture → ingestion → stored events → query-time classification → UI. A drop in raw
count()can't be caused by query-time bot exclusion; a classification change can't alter stored counts. State which layer the evidence points at. - Check for prior art before building. Search open issues/PRs and the channel history; several recurring asks (self-referral exclusion, AI channel type, OAuth error surfacing) have open issues with context that changes the right response.
3. Produce artifacts
- Reply drafts: ground every claim in a file:line, a query result, or a doc link. Offer the customer the aligned filter/property instead of only explaining why they're "wrong" (for example: session
$entry_utm_campaigninstead of eventutm_campaign). - Fix PRs: one worktree + branch per fix, conventional commit, draft PR using the repo template. Public-repo safety: describe bugs generically; never include customer names, Zendesk numbers, or customer traffic volumes. Slack/ticket links behind auth are acceptable as origin context.
- Session note: keep a running triage note (
.notes/) with one section per ticket and an explicit "action left" marker per ticket, so a human can pick up the queue.
4. Verification tools
- Runtime loading audits and traffic simulation: references/loading-audit.md.
- Production query-side checks (per-team event series, UA splits, ingestion warnings): the
query-clickhouse-via-metabaseskill covers prod-us and prod-eu access. - Error tracking: MCP
query-error-tracking-issues-list/query-error-tracking-issue-eventswithverbosity: stackgives sourcemapped frames.
Frequently asked questions about Web Analytics Ticket Triage
Similar skills
Agent Host Debug Logs
Analyze Agent Host debug logs for deeper insights.
Code OSS Dev - Launch + Debug
Launch and debug Code OSS with isolated profiles.
Phoenix CLI
Debug LLM applications with structured analysis tools.
Power Automate Debugging
Diagnose and fix Power Automate flow errors effectively.
Arize Trace
Inspect and export traces for LLM applications.
Runtime Behavior Probe
Investigate real runtime behavior with precision.
