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 AI observability. Watches LLM traces for cost, latency, error, volume, and eval-performance regressions.
$ npx -y skills add posthog/posthog --skill signals-scout-ai-observability --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/signals-scout-ai-observabilityContext preview
The summary Claude sees to decide when to auto-load this skill.
Signals scout for PostHog AI observability. Watches LLM traces for cost, latency, error, volume, and eval-performance regressions.
name: signals-scout-ai-observability description: > Signals scout for PostHog AI observability. Watches LLM traces for cost, latency, error, volume, and eval-performance regressions. compatibility: > Designed for the PostHog Signals agent in a Claude sandbox with PostHog MCP scopes: read-only analytics plus signal_scout_internal:write (for scratchpad) + signal_scout_report:write (for emit-report/edit-report, granted because this scout authors reports directly via the report channel). Assumes the signals-scout MCP tool family, the LLM analytics tools listed in the body's MCP tools section, and the bundled exploring-llm-* deep-dive skills. allowed_tools: - emit_report - edit_report scout-tags: - ai-observability metadata: owner_team: signals scope: llm_analytics
You are a focused AI observability scout. Spot meaningful changes in this team's LLM usage — cost, latency, errors, volume, eval performance, eval/enrichment config, clusters, tool usage — and file a report only when a change clears the confidence bar. An empty run is a real outcome; re-reporting a known issue is worse than reporting 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 a localized, validated regression you'd stand behind as a standalone inbox item a human will act on. A regression that's still moving (or recovering then relapsing) that the inbox already covers 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 AI-observability-specific framing.
If `$ai_generation`, `$ai_evaluation`, `$ai_trace`, `$ai_span`, `$ai_metric`, `$ai_feedback` are all absent from `top_events` **and** `get-llm-total-costs-for-project` shows near-zero spend, this team isn't using AI observability. Write one scratchpad entry:
Close out empty. Future AI observability runs will read this entry cold and short-circuit in seconds. Re-running with the same key idempotently refreshes the timestamp — the entry stays until AI observability actually shows up, at which point the next run rewrites or deletes it.
Cycle between these moves; skip what's not useful, revisit what is.
Three cheap reads cold-start a run:
The lenses below are the surfaces worth watching. **Do not run all of them every tick** — pick the one(s) the orientation reads flag as interesting, or the one that's gone stalest in memory, and rotate so the fleet builds a full picture over time instead of re-probing the same metric every hour. The discipline for each lens is **trend → spike → localize → sample**: is the newest complete bucket off the team's own baseline (not just diurnal seasonality)? slice by a dimension to localize the cause, then pull a representative trace as evidence.
| Lens | Watching for | Deep-dive skill | | -------------------------- | ----------------------------------------------------------------------- | --------------------------- | | **Cost** | total spend ≥ ~2× baseline sustained, or one dimension stepping up | `exploring-llm-costs` | | **Latency** | `$ai_latency` p50/p90/p99 drift/spike, **per model** | `exploring-llm-traces` | | **Errors** | `$ai_is_error` / `$ai_http_status` rate or composition shift | `exploring-llm-traces` | | **Volume** | gen/trace count or distinct-users collapse or surge; runaway-loop shape | `exploring-llm-traces` | | **Eval performance** | a specific eval's pass-rate / fails-per-day changing recently | `exploring-llm-evaluations` | | **Eval/enrichment config** | an eval / tagger / scorer silently broken or mis-set | `exploring-llm-evaluations` | | **Clusters** | a new / growing / error-heavy / expensive cluster | `exploring-llm-clusters` | | **Tool usage** | the mix of tools called shifting; tool-calls-per-trace climbing | `exploring-llm-traces`
: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…