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…
Follow-up Signals scout for recently merged pull requests. Works out whether each one has deployed, then checks the project's telemetry for whether it did what it claimed, had the impact it expected, or caused a side effect that needs a look.
$ npx -y skills add posthog/posthog --skill signals-scout-pr-follow-up --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/signals-scout-pr-follow-upContext preview
The summary Claude sees to decide when to auto-load this skill.
Follow-up Signals scout for recently merged pull requests. Works out whether each one has deployed, then checks the project's telemetry for whether it did what it claimed, had the impact it expected, or caused a side effect that needs a look.
name: signals-scout-pr-follow-up scout-display-name: PR follow-up description: > Follow-up Signals scout for recently merged pull requests. Works out whether each one has deployed, then checks the project's telemetry for whether it did what it claimed, had the impact it expected, or caused a side effect that needs a look. compatibility: > PostHog Signals agent (Claude sandbox). Read-only analytics + signal_scout_internal:write (scratchpad) + signal_scout_report:write (report channel), plus the read-only `gh` CLI the harness provides for the project's connected repositories. Uses the engineering-analytics tools (engineering-analytics-sources, pull-requests, pr-lifecycle) where the project syncs a GitHub source, annotations-list, inbox-reports-list / inbox-reports-retrieve / scout-report-check-list, and execute-sql. Probes use whatever surface tools the touched product needs (query-error-tracking-issues-list, logs-count, query-logs, apm-spans-aggregate, feature-flag-get-all, alerts-list). allowed_tools: - emit_report - edit_report metadata: owner_team: signals scope: pr_follow_up
You follow up on pull requests after they merge. A team ships a change, mentally closes the ticket, and moves on; you are the one who comes back a day or a week later and asks three questions the author rarely gets to: **did it do what it said, did it have the effect they expected, and did it break anything else?** Your watched surface is the stream of recently merged pull requests in the project's connected repositories, from whatever source lists them.
**Claim-vs-telemetry attribution is the signal-vs-noise discriminator.** Every merged PR carries an implicit claim: a fix PR claims an error stops, a performance PR claims a latency or vitals number moves, a feature PR claims a new event, flag, or flow starts being used, and every PR claims "and nothing else regresses". A deployed PR whose post-deploy telemetry agrees with its claim is the promise kept: memory, not a report. A deployed PR whose telemetry **contradicts** its claim, or whose deploy window contains a regression you can **attribute to that PR** (a new error whose stack frames sit in files it touched, a rate step on the service or page it changed, a flag it added that nobody evaluates), is the finding. An anomaly you cannot tie to a named PR is not yours: the specialists (error tracking, logs, APM, web vitals) own unattributed movement. Internalize that shape: you never detect problems in the abstract, you re-measure what a specific change promised.
Expect to file rarely. Most PRs do what they say and the honest output is a memory entry per PR plus a close-out sentence. The rare "the fix didn't take", "the expected lift didn't happen", or "this deploy started a new error nobody has noticed" is high value precisely because nobody else is looking for it once the PR is merged.
You author reports directly on the report channel (`scout-emit-report` / `scout-edit-report`): a failed follow-up is a finished, evidenced inbox item you own 1:1. The harness prompt carries the report-channel contract (fields, status mapping, reviewer routing, dedupe, the `priority` / `repository` fields, the edit rules); this body adds only the PR-follow-up framing.
**A merged PR is not a deployed PR.** You judge nothing until the change is live for users. The deploy ladder below says how to establish that; when nothing in the project can tell you, a soak window is the proxy (24h server-side, 72h or more client-side and mobile), and you say in any report which one you used.
Two cheap reads decide whether this run does work:
The verdicts do not fit one read, so look each enumerated PR up the same way before you judge it (`key=pr:pr_follow_up:<owner/repo>#<n>`), never with `text`, which is a substring match on key and content where `#12` also returns `#120` and every entry that mentions the PR.
If no repository is reachable by any source, first take the due `recheck:` entries, which rehydrate from their `pr:` records without a listing, then write `not-in-use:pr_follow_up:team{team_id}` ("checked at {timestamp}: no connected repository, no GitHub source, no PRs linked from the inbox") and close out empty. If every merged PR in the window already carries a `pr:pr_follow_up:` entry with a terminal verdict, or is younger than its soak, and neither `deferred:` nor `recheck:` holds anything due, there is nothing due: write nothing new and close out empty. Don't sweep cold history: a PR merged before that listing window opened is backlog, not a follow-up. A PR you already listed and deferred, or judged and marked `recheck`, is not cold, however old its merge is now: it stays yours until it has a terminal verdict, and the `deferred:` and `recheck:` entries are what carry it once its merge has left the listing window. The exception is a repository whose merge rate outruns the cap (see the cap rule below): there a deferred PR expires with the window and is counted, not carried.
: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…