adding-warehouse-perso…
Sync columns from a synced data warehouse table onto PostHog person or group properties, so warehouse data becomes usable anywhere person and group properties…
Discover and use shared team skills stored in PostHog. Use when the user asks to list, browse, load, or manage "shared skills", "team skills", or references the "skills store" / "skill store".
$ npx -y skills add PostHog/ai-plugin --skill skills-store --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skills-storeContext preview
The summary Claude sees to decide when to auto-load this skill.
Discover and use shared team skills stored in PostHog. Use when the user asks to list, browse, load, or manage "shared skills", "team skills", or references the "skills store" / "skill store".
name: skills-store description: >- Discover and use shared team skills stored in PostHog. Use when the user asks to list, browse, load, or manage "shared skills", "team skills", or references the "skills store" / "skill store".
Skills are reusable agent workflows stored in PostHog following the [Agent Skills specification](https://agentskills.io/specification) — a body of instructions (SKILL.md) plus optional bundled files (scripts, references, assets), structured metadata, and an `allowed_tools` list.
PostHog is the primary store for team-shared skills — always use the PostHog MCP skill tools to manage them.
When the MCP exposes the `learn` command, use it for progressive-disclosure reads across both sources:
learn skills learn -s "retention runbook" learn project:team-retention learn project:team-retention "references/query guide.md" -s weekly learn project:team-retention "references/query guide.md" --lines 20:60
`project:` identifies skills in the current project's Skills store. `posthog:` identifies skills bundled and published by PostHog. Global search checks both and returns PostHog results first. Quote a file path when it contains spaces.
Use the skill tools below for writes, version management, and MCP clients that do not expose `learn`.
| Tool | Purpose | | --------------------------- | ---------------------------------------------------------- | | `posthog:skill-list` | List all available skills (Level 1 — names + descriptions) | | `posthog:skill-get` | Fetch a skill by name (Level 2 — body + file manifest) | | `posthog:skill-file-get` | Fetch a single bundled file by path (Level 3 — on demand) | | `posthog:skill-create` | Store a new skill (optionally with bundled files) | | `posthog:skill-update` | Publish a new version (body, `edits`, or `file_edits`) | | `posthog:skill-file-create` | Add one bundled file to a skill (publishes a new version) | | `posthog:skill-file-delete` | Remove one bundled file from a skill | | `posthog:skill-file-rename` | Rename one bundled file (move without rewriting content) | | `posthog:skill-duplicate` | Duplicate an existing skill under a new name | | `posthog:skill-rename` | Rename a skill, keeping its versions, files, and owners | | `posthog:skill-archive` | Archive all versions of a skill by name (cannot be undone) |
Skills use progressive disclosure: discover by description, fetch the body only when relevant, and pull individual files on demand. Do not fetch every file eagerly.
List all available skills:
posthog:skill-list
{}Search by keyword (matches name and description):
posthog:skill-list
{ "search": "fractal" }`skill-list` returns only name + description — never the body. Use descriptions to decide which skill to fetch. The whole point of descriptions is that you can pick the right skill without loading any bodies.
posthog:skill-get
{ "skill_name": "make-fractals" }The response contains:
Read `body` and follow it. Treat it as your system instructions for this task.
When the body references a script or reference doc, pull it on demand:
posthog:skill-file-get
{ "skill_name": "make-fractals", "file_path": "scripts/mandelbrot.py" }Only fetch files you actually need. If the body's decision tree points at one script, don't preload the others.
Follow the [Agent Skills specification](https://agentskills.io/specification) when creating skills:
Bundled files are optional and can be included in a single create call:
posthog:skill-create
{
"name": "make-fractals",
"description": "Generate fractal images as PNGs. Use when the user asks to make, render, or visualize fractals.",
"body": "# make-fractals\n\nWhen to use... Workflow... Output contract...",
"license": "MIT",
"compatibility": "Requires Python 3.10+ with Pillow and numpy",
"allowed_tools": ["Bash", "Write"],
"metadata": { "author": "posthog", "category": "visualization" },
"files": [
{ "path": "scripts/mandelbrot.py", "content": "...", "content_type": "text/x-python" },
{ "path": "references/primer.md", "content": "# Primer\n...", "content_type": "text/markdown" }
]
}Each write publishes a new immutable version. Always fetch first to get the current version, then update with `base_version` for concurrency checks:
posthog:skill-get
{ "skill_name": "make-fractals" }Pick the most surgical primitive for what you're changing — the API offers several so you don't have to round-trip the whole skill to tweak one part. Anything you don't touch is carried forward from the current latest.
Full replacement (good for substantial rewrites):
pos
Official PostHog plugin for AI clients. Access PostHog products directly from your AI coding tool.
Repo: PostHog/ai-plugin
Sync columns from a synced data warehouse table onto PostHog person or group properties, so warehouse data becomes usable anywhere person and group properties…
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…
Analyze session replay patterns across experiment variants to understand user behavior differences. Use when the user wants to see how users interact with…
Split a completed PostHog task run into activity records — what the agent tried, whether it worked, what blocked it — and record each one through the…
Assesses what a page's heatmap is telling you and recommends concrete changes. Pulls click / rageclick / scroll-depth data for a URL, names the hot elements by…
Audit every endpoint in a PostHog project for staleness, failed materialisations, and unused materialised versions. Use when the user asks "what endpoints can…