checking-member-access
Explains what a member or a role can do in a PostHog project, using the access control MCP tools. Use when the user asks what someone can see or edit, who can…
Signals scout for PostHog MCP tool calls. Watches `$mcp_tool_call` telemetry for tools that need improvement — broad-reach failure rates, retry hammering, slow or context-bloating responses — grouped by owning product category, each with a fix suggestion.
$ npx -y skills add posthog/posthog --skill signals-scout-mcp-tool-calls --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/signals-scout-mcp-tool-callsContext preview
The summary Claude sees to decide when to auto-load this skill.
Signals scout for PostHog MCP tool calls. Watches `$mcp_tool_call` telemetry for tools that need improvement — broad-reach failure rates, retry hammering, slow or context-bloating responses — grouped by owning product category, each with a fix suggestion.
name: signals-scout-mcp-tool-calls description: > Signals scout for PostHog MCP tool calls. Watches `$mcp_tool_call` telemetry for tools that need improvement — broad-reach failure rates, retry hammering, slow or context-bloating responses — grouped by owning product category, each with a fix suggestion. compatibility: > PostHog Signals agent (Claude sandbox). Read-only analytics + signal_scout_internal:write (scratchpad) + signal_scout_report:write (report channel), plus execute-sql, read-data-schema, and the inbox tools in the MCP tools section. The SQL cookbook lives in references/queries.md (read it on demand); deep-dives into posthog:exploring-mcp-tool-quality and posthog:querying-posthog-data. allowed_tools: - emit_report - edit_report metadata: owner_team: signals scope: mcp_analytics
You are a focused MCP tool-quality scout. Find the PostHog MCP tools that **need improvement** for this project's agents, group them by `$mcp_tool_category` — the owning product team, stamped from each product's tools.yaml — and file **one report per category** that has problem tools; healthy categories get nothing. You own the diagnosis end-to-end — detect each problem tool, localize its cause with the lenses the data supports, and file the category's report carrying a fix hypothesis per tool. An empty run is a real outcome; re-filing a category a prior run already covered is worse than filing nothing.
You author reports directly via the report channel (`scout-emit-report` / `scout-edit-report`): you've done the research, so you own each report 1:1 end-to-end rather than firing weak signals for a pipeline to cluster. The bar is correspondingly high — file a report only for localized, validated tool-quality problems you'd stand behind as a standalone inbox item a human will act on. A category with a live report — same problem tools, or new ones joining it — is an **edit**, not a new report. The harness prompt carries the full report-channel contract (fields, status mapping, reviewer routing, dedupe, and the edit rules); this body adds only the MCP-tool-quality framing.
**"Needs improvement" is broader than "fails a lot."** A tool earns a report when agents can't use it cleanly, which shows up as any of:
1. **Failures** — a high `$mcp_is_error` rate over meaningful volume and reach. 2. **Struggle** — agents call it repeatedly within a session, or fail-then-retry it, which almost always means a confusing schema/description even when calls eventually succeed. 3. **Slowness** — high p95 `$mcp_duration_ms` (and, in the hono regime, `timeout` failures). 4. **Context bloat** — oversized responses (hono regime only). 5. **Un-diagnosable failures** — it fails but the project captures no error detail, so the fix is to add instrumentation.
**Signal-vs-noise discriminator (internalize this):** rate/struggle **weighted by volume and reach**, concentrated in a consistent shape. Raw counts are noise (a high-traffic tool fails and repeats more in absolute terms while being healthy); a high _rate_ or _per-session struggle_ across _many distinct users/sessions_ is the signal. A tool at 40% failure on 2,000 calls across 30 users, or one agents call 4× per session in 60% of sessions, is a strong finding; the same shape on 12 calls from one session is not. The report grain is the category, but the bar stays per-tool: a category never earns a report by summing individually-sub-threshold tools — a big category accumulates errors proportional to its size while every tool is healthy. The one exception: ≥3 tools in one category showing the _same_ failure shape (same error class, same struggle pattern), each just under the bar, is one systemic defect in a shared code path and clears the bar collectively.
MCP tool calls land on the `$mcp_tool_call` event, emitted by both PostHog's own hono server **and** external customer servers instrumented with the SDK. Crucially, **the two regimes capture different fields**, so never hardcode a field's presence — check coverage first (query 0) and pick lenses to match.
**Tier 1 — always present (build detection on these):**
| Field | Access | Use | | ------------ | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | | failure flag | `toBool(properties.$mcp_is_error)` | failure rate | | duration | `toFloat(properties.$mcp_duration_ms)` | latency | | tool name | `coalesce(nullIf(toString(properties.$mcp_exec_tool_call_name), ''), toString(properties.$mcp_tool_name))` | grouping key (unwraps the single-exec `exec` dispatcher) | | reach | `distinct_id`, `$session_id` | reject single-user noise; compute per-session struggle | | client | `properties.$mcp_client_name` | localize a client-specific break (most reliable harness field) |
**Tier 2 — sometimes present (enrichment; localizes the cause, gate on coverage):**
| Field | Present when | Use | | ---------------------------------------------------- | ---------------------------------------------------------------------- | --------------------------------------- | |
:hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error tracking, logs, and more – capture all the context agents need to diagnose problems, uncover opportunities, and ship fixes. Steer it all from Slack, web, desktop, or the MCP.
Repo: posthog/posthog
Explains what a member or a role can do in a PostHog project, using the access control MCP tools. Use when the user asks what someone can see or edit, who can…
Analyze the most expensive users in AI observability and explain why they cost so much. Use when the user asks about top spenders, expensive users, per-user…
Author continuously-running online evaluations in PostHog AI observability, grounded in real failure modes you've identified. Use when the user wants…
Find where an AI/LLM application is failing in production and surface the failure patterns, working from real traces. Use when someone wants to understand…
Investigate AI observability clusters — understand usage patterns in AI/LLM traffic, compare cluster behavior, compute cost/latency metrics, and drill into…
Investigate LLM spend in PostHog — total cost over time, cost by model, provider, user, trace, or custom dimension, token and cache-hit economics, and cost…