Prod Telemetry
UsefulSoftwareCo/executor
Query Executor's production telemetry — Axiom traces (executor-cloud dataset), prod Postgres via PlanetScale, PostHog product analytics — through the Executor MCP.
Mine Boardsesh's PostHog telemetry (error tracking, session recordings, product analytics) with a multi-agent workflow, then file verified, deduplicated, severity-labelled GitHub issues.
$ npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install boardsesh/boardsesh posthog-product-health-audit --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/posthog-product-health-audit .claude/skills/posthog-product-health-audit && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "posthog-product-health-audit" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/posthog-product-health-audit into .claude/skills/posthog-product-health-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "posthog-product-health-audit", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/posthog-product-health-auditType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install boardsesh/boardsesh posthog-product-health-audit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/posthog-product-health-audit .agents/skills/posthog-product-health-audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "posthog-product-health-audit" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/posthog-product-health-audit into .agents/skills/posthog-product-health-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "posthog-product-health-audit", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install boardsesh/boardsesh posthog-product-health-audit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/posthog-product-health-audit .cursor/skills/posthog-product-health-audit && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "posthog-product-health-audit" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/posthog-product-health-audit into .cursor/skills/posthog-product-health-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "posthog-product-health-audit", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/boardsesh/boardsesh.git --path .claude/skills/posthog-product-health-audit--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install boardsesh/boardsesh posthog-product-health-audit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/posthog-product-health-audit .gemini/skills/posthog-product-health-audit && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "posthog-product-health-audit" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/posthog-product-health-audit into .gemini/skills/posthog-product-health-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "posthog-product-health-audit", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install boardsesh/boardsesh posthog-product-health-auditInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/posthog-product-health-audit .github/skills/posthog-product-health-audit && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "posthog-product-health-audit" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/posthog-product-health-audit into .github/skills/posthog-product-health-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "posthog-product-health-audit", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install boardsesh/boardsesh posthog-product-health-audit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/boardsesh/boardsesh.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/posthog-product-health-audit .opencode/skills/posthog-product-health-audit && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "posthog-product-health-audit" agent skill from https://github.com/boardsesh/boardsesh/tree/main/.claude/skills/posthog-product-health-audit into .opencode/skills/posthog-product-health-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "posthog-product-health-audit", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
posthog-product-health-auditMine Boardsesh's PostHog telemetry (error tracking, session recordings, product analytics) with a multi-agent workflow, then file verified, deduplicated, severity-labelled GitHub issues.
Posthog Product Health Audit is an agent skill from boardsesh/boardsesh. Mine Boardsesh's PostHog telemetry (error tracking, session recordings, product analytics) with a multi-agent workflow, then file verified, deduplicated, severity-labelled GitHub issues. Use when asked to analyse PostHog errors/recordings/analytics, do a production-health or bug sweep, or turn telemetry into tracked issues. Project id 412845; repo boardsesh/boardsesh.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `audit-workflow.js`).
It sits in Data & Analytics, covering Product analytics. It works with PostHog, GitHub and Model Context Protocol. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 52ea68f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
us.posthog.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Posthog Product Health Audit loads about 2.1k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 905 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from boardsesh/boardsesh at commit 52ea68f, republished under its Apache-2.0 licence (© boardsesh). 905 words, ~2,069 tokens.
.claude/skills/posthog-product-health-audit/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Turns production telemetry into a short list of real, deduplicated bugs and files them as GitHub issues with the right severity. Built around the PostHog MCP (mcp__posthog__exec) and a four-phase Workflow. The canonical implementation lives next to this file: audit-workflow.js.
Read-only against PostHog. The only writes are the GitHub issues you create in Phase 4, plus a one-time from-posthog label.
Workflow({ scriptPath: ".claude/skills/posthog-product-health-audit/audit-workflow.js" })Optional args: { project, repo, lookbackDays } — defaults (412845 / boardsesh/boardsesh / 30) live in audit-workflow.js; that file is the source of truth if these drift. The workflow returns structured findings and drafts issue specs — it does not file. You review issueSpecs, then file (Phase 4). This keeps a human checkpoint before anything lands on a public repo.
The workflow runs in the background; you get notified on completion. Watch live with /workflows.
1 — Collect (4 parallel agents, PostHog MCP, read-only). Each follows the schema-first discipline below.
query-error-tracking-issues-list (active, -30d, by occurrences, test accounts filtered), then query-error-tracking-issue + query-error-tracking-issue-events to pull stack frame, screen/URL, app version, $lib (platform), and $session_ids for the top ~8 root causes. Run a second pass with library: "posthog-js" — the top list skews mobile (posthog-react-native), so confirm web $exception coverage rather than assume it.web-analytics-weekly-digest for the macro picture, then failure rates (not raw counts) from execute-sql over paired events (Bluetooth Connection Failed/…Success, Climb Sent to Board Failure/…Success, Tick Save Failed/Tick Logged, …) and query-funnel for Login Attempted→Succeeded, Onboarding Tour Started→Completed, Session Started→Climb Sent to Board Success. A growing site inflates absolute counts and bounce-rate by composition — flag rates and drop-off, never raw jumps.query-session-recordings-list for console_error_count > 0 and short high-click sessions, then session-recording-summarize on ~5 high-signal replays to get the user-facing symptom. Deep-link as https://us.posthog.com/project/<id>/replay/<recording_id>.$csp_violation, poor $web_vitals (LCP/CLS) by page, $dead_click hotspots.2 — Verify (pipeline per candidate). classify (label + severity + suspected file via repo grep + whether a fix already exists) → refute (adversarial skeptic that tries to kill it; defaults to a lower keep level when uncertain). Each candidate ends as issue, hygiene, or drop.
3 — Dedup gate (mandatory). A dedicated dedup agent runs for each surviving candidate as the final stage of the verify pipeline() (so dedup for one finding overlaps verification of the next — no barrier). It searches open and closed issues (gh issue list --search, gh search issues) for the same root cause. duplicate:true candidates are recorded with a link and not filed; near-matches go in relatedIssues. When unsure, it errs toward duplicate:false (a reviewed near-dup beats a missed bug).
4 — Synthesize → File. One issue per root cause, climber-voice title, body = symptom + PostHog evidence link + occurrences/users/sessions + suspected file + severity rationale + related issues. Then create them with gh (see below).
| Severity | Meaning | Label |
|---|---|---|
| P0 | crash / data-loss / security / total blocker for many users | priority:P0 |
| P1 | core-flow bug or gap (login broken, send-to-board fails, board list blocked) | priority:P1 |
| P2 | noticeable, has a workaround (e.g. a validation error, a recurring 5xx pattern) | priority:P2 |
| P3 | cosmetic / long-tail / hygiene | priority:P3 |
Every filed issue also gets bug, the provenance label from-posthog, and a platform label (ios / android / mobile / web). Only use labels that already exist — check gh label list.
Real-but-not-user-facing telemetry (user cancels thrown as errors, dev/screenshot-only ReferenceErrors, log spam) is not filed one-per-item. The synthesis step rolls it into a single P3 "error-tracking hygiene" issue as a checklist (what to stop logging / guard, and where). When a run turns up no such noise, issueSpecs.hygiene is null — skip it, don't file a placeholder. Transient infra blips (a lone 502/504, a DNS miss) and expected behaviour (e.g. "auth required" when logged out — confirm in code first) are dropped, with the reason recorded.
# one-time provenance label, mirrors the existing from-sentry convention
gh label create from-posthog --color BFD4F2 --description "Filed from PostHog product telemetry" 2>/dev/null || true
# per issue, from issueSpecs.issues[]
gh issue create --repo boardsesh/boardsesh \
--title "<title>" --body "<body>" \
--label "priority:P1,bug,from-posthog,android"
# the single bundled hygiene issue from issueSpecs.hygieneAfterwards print a summary: filed (#, title, severity), skipped-as-duplicate (→ existing #), skipped-as-noise/transient. Confirm with gh issue list --label from-posthog.
mcp__posthog__exec is CLI-style. The order is mandatory, like reading a file before editing it:
search <regex> or info <tool> to find the tool.info <tool> before every call <tool>.query-* tools, schema <tool> <field> before populating array fields (e.g. schema query-funnel series).read-data-schema (kind: events / event_properties / event_property_values) — names like $pageview still need confirming per project; the Boardsesh taxonomy drifts.calls that touch collected data need a context arg: 15–25 words, third person.Key tools: query-error-tracking-issues-list, query-error-tracking-issue, query-error-tracking-issue-events, query-session-recordings-list, session-recording-summarize, web-analytics-weekly-digest, query-trends, query-funnel, execute-sql, read-data-schema.
Safe to re-run on a schedule. The dedup gate keeps it from re-filing anything already tracked, so each run only surfaces genuinely new problems. Bump lookbackDays for a wider sweep; the first collector pass auto-discovers fresh top errors, so no seed list is needed.
Watch-outs on re-run (the pipeline logic isn't unit-tested — verify by eye):
gh search. On a large tracker, skim issueSpecs against gh issue list --label from-posthog before filing to confirm nothing already-tracked slipped through — especially issues phrased differently from the error string.keep: "drop" skips dedup entirely (intended — dropped items are never filed). A finding marked hygiene that the dedup gate flags as a duplicate is excluded from the bundle and routed to duplicates.issueSpecs is { issues: [], hygiene: null } and no synth agent runs — a clean run with nothing to file is a valid outcome, not an error.© boardsesh, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills/posthog-product-health-audit of boardsesh/boardsesh.
Open the folder on GitHubat commit 52ea68f
Posthog Product Health Audit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Posthog Product Health Audit this skillboardsesh/boardsesh | 164 | — | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Prod TelemetryUsefulSoftwareCo/executor | 4.1k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Building A DashboardPostHog/posthog | 40k | — | ~2.3k | Automated safety check: Pass | Custom licence | |
| Debugging MCP AnalyticsPostHog/posthog | 40k | — | ~7.6k | Automated safety check: Pass | Custom licence | |
| Querying Canvas DataPostHog/posthog | 40k | — | ~5k | Automated safety check: Pass | Custom licence | |
| Adding MCP Store ServersPostHog/posthog | 40k | — | ~1.6k | Automated safety check: Pass | Custom licence |
UsefulSoftwareCo/executor
Query Executor's production telemetry — Axiom traces (executor-cloud dataset), prod Postgres via PlanetScale, PostHog product analytics — through the Executor MCP.
PostHog/posthog
Build a new dashboard, or update an existing one, from a set of insights — the same job the in-app assistant does with its upsert-dashboard tool, but over MCP.
PostHog/posthog
Debug, support, and build PostHog MCP Analytics — product analytics for MCP servers (the @posthog/mcp and posthog.mcp SDKs plus the mcpanalytics product).
PostHog/posthog
Get PostHog data into a canvas correctly: the host-injected ph SDK (loadInsight, query, capture, state, connectors, openExternal, navigate), the data hierarchy (saved insights first, typed query…
PostHog/posthog
Add a third-party MCP server (Linear, Notion, GitHub, ...) to the PostHog MCP store catalog.
SCStelz/security-investigator
A skill your agent uses when asked to write, create, or help with KQL (Kusto Query Language) queries for Microsoft Sentinel, Defender XDR, or Azure Data Explorer.
boardsesh/boardsesh
Run a multi-agent bug bash — pick a batch of open bugs by priority label, claim them, investigate then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review…
boardsesh/boardsesh
Classify collected Boardsesh Discord messages into GitHub issue decisions — bug, feature, question, noise, or duplicate — deduplicating against the existing tracker.
boardsesh/boardsesh
Drive Sentry-derived GitHub issues to merged PRs at scale — pick by priority label, self-assign, plan then implement via subagents, pair adversarial reviews, and shepherd every PR to ready-for-review.
boardsesh/boardsesh
Capture screenshots of the Boardsesh React Native app (packages/mobile/) running on an Android emulator, driven against Metro with a cached dev-client APK.
Works with
Categories
Mine Boardsesh's PostHog telemetry (error tracking, session recordings, product analytics) with a multi-agent workflow, then file verified, deduplicated, severity-labelled GitHub issues. Posthog Product Health Audit is an agent skill from boardsesh/boardsesh. Mine Boardsesh's PostHog telemetry (error tracking, session recordings, product analytics) with a multi-agent workflow, then file verified, deduplicated, severity-labelled GitHub issues.
Posthog Product Health Audit fits situations like: asked to analyse PostHog errors/recordings/analytics; do a production-health; turn telemetry into tracked issues.
Run `npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a claude-code`. Or copy the skill folder (.claude/skills/posthog-product-health-audit in boardsesh/boardsesh) into .claude/skills/posthog-product-health-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a codex`. Or copy the skill folder (.claude/skills/posthog-product-health-audit in boardsesh/boardsesh) into .agents/skills/posthog-product-health-audit in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add boardsesh/boardsesh --skill posthog-product-health-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/posthog-product-health-audit, .gemini/skills/posthog-product-health-audit, .github/skills/posthog-product-health-audit and .opencode/skills/posthog-product-health-audit in your project.
Going by SKILL.md and its folder, Posthog Product Health Audit needs JavaScript for the scripts in its folder and the command-line tools its instructions call (gh). Our summary lists: Node.js.
SKILL.md names 1 domain. In commands or code: us.posthog.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Posthog Product Health Audit is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Posthog Product Health Audit: Prod Telemetry (UsefulSoftwareCo/executor, 4.1k stars), Building A Dashboard (PostHog/posthog, 40k stars), Debugging MCP Analytics (PostHog/posthog, 40k stars) and Querying Canvas Data (PostHog/posthog, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
boardsesh (a GitHub organization) maintains it in boardsesh/boardsesh, which has 164 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 11, 2026.
Source: boardsesh/boardsesh on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.