Agent Skills: PostHog inbox

Check the PostHog inbox and query PostHog data with posthog-cli. Use when the user asks to check PostHog, the inbox, signal reports, what PostHog found, or anything about PostHog analytics, error tracking, session replay, or feature flag data.

UncategorizedID: qingqishi/shiqingqi.com/posthog-inbox

Install this agent skill to your local

pnpm dlx add-skill https://github.com/QingqiShi/shiqingqi.com/tree/HEAD/.claude/skills/posthog-inbox

Skill Files

Browse the full folder contents for posthog-inbox.

Download Skill

Loading file tree…

.claude/skills/posthog-inbox/SKILL.md

Skill Metadata

Name
posthog-inbox
Description
Check the PostHog inbox and query PostHog data with posthog-cli. Use when the user asks to check PostHog, the inbox, signal reports, what PostHog found, or anything about PostHog analytics, error tracking, session replay, or feature flag data.

PostHog inbox

Use the globally installed posthog-cli (pnpm add -g @posthog/cli if missing). Do not use PostHog MCP tools, and do not run posthog-cli api skill install — this project deliberately avoids the .agents/ skill layer.

This repo's PostHog project is Qingqi.dev, ID 243843, EU cloud. Sessions inherit POSTHOG_CLI_PROJECT_ID=243843 and POSTHOG_CLI_ORGANIZATION_ID=019fc258-d9d4-0000-86c6-d6c3d6b36108 from the env block in .claude/settings.json. Both are required: with the project alone, the CLI's first organization lookup resets the project to the machine-level login's active team. If either variable is missing from the environment, prefix each call with both. Do not call switch-project — it changes the machine-global default for other repos.

Auth

Calls fail with Missing PostHog API key when the machine is not authenticated. Ask the user to run ! posthog-cli login (one-time, credentials stay in the home directory). Never write PostHog credentials into the repo.

Check the inbox

The inbox holds signal reports: clusters of related observations from error tracking, session replay, and other scouts.

posthog-cli api call inbox-reports-list '{"status": "ready,pending_input"}'
posthog-cli api call inbox-reports-list '{"status": "ready"}'

status takes a comma-separated list; without it the API returns every status except suppressed, mixing archived reports (resolved, failed) and in-pipeline ones (potential, candidate, in_progress) in with the actionable ones. ready is actionable now, pending_input waits on a human, earlier statuses are still in the pipeline, and suppressed (dismissed) is hidden unless include_all_statuses is true — that flag only dedupes against the whole inbox and is ignored once status is set. Filter to ready,pending_input for the live queue, or ready alone for only what can be picked up now.

Before acting on a report, read its full work log — evidence, judgments, and log entries. Reports can be stale: check already_addressed and verify the claimed gap against current code, project settings, and merged PRs before acting.

posthog-cli api call inbox-report-artefacts-list '{"report_id": "<report-uuid>"}'

Anything else PostHog

Discover tools at runtime — never guess a schema:

posthog-cli api search <topic>
posthog-cli api info <tool>
posthog-cli api call <tool> '<json>'

posthog-cli api --agent-help prints the full agent guide. Mutating tools require --confirm and explicit user direction.