From the skill’s files
Taken from the skill’s own files (its description, section headings and stated usage). Not an AutoGineer summary, and not written by the author as one.
Help existing PostHog customers improve their PostHog instance. Triggers on "help [customer] improve their PostHog setup", "audit [company]'s PostHog instance", "create tracking plan for [company]", "design data schema for [customer]", or requests to improve analytics coverage, fix instrumentation gaps, expand PostHog usage, or build better insights for customers already using PostHog. Use when working with a customer who already has PostHog installed. Help existing PostHog customers get more value from their instance. This skill is for Customer Success, not sales — the customer already has PostHog installed, something isn't working well, and your job is to diagnose the gaps and give them a clear path forward.
What it does
- Workflow
- Step 1: Research
- Step 2: Current State
- Step 3: Customer Profile
- Step 4: Ideal Schema
- Step 5: Insights Plan
When to use it
- Triggers on "help [customer] improve their PostHog setup", "audit [company]'s PostHog instance", "create tracking plan for [company]", "design data schema for [customer]", or requests to improve…
- Use when working with a customer who already has PostHog installed.
Advantages
The skill’s files do not state this.
Usage examples
The skill’s files do not state this.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/posthog/posthog-onboarding/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip posthog-onboarding.zip -d .agents/skills
Documentation by PostHog
PostHog CS Improvement Skill
Help existing PostHog customers get more value from their instance. This skill is for Customer Success, not sales — the customer already has PostHog installed, something isn't working well, and your job is to diagnose the gaps and give them a clear path forward.
Core assumption: Their current implementation is probably underinstrumented, inconsistently named, or not being used by the right people. Start from that baseline.
Workflow
Research – Understand what the company builds
Current State – Ask the customer to describe their setup and pain points
Customer Profile – Synthesize into a structured profile
Ideal Schema – Design best-in-class events and properties for their business type
Insights Plan – Prescribe insights by problem + maturity (see
references/insights-plan.md)Improvement Plan – Prioritized, actionable recommendations
Output – Customer-facing improvement plan
Writing Style: Follow references/writing-style.md for all outputs. Conversational and direct — not corporate, not salesy.
Step 1: Research
When triggered with a company name or domain, research:
What they build (product/service)
Their customers (B2B/B2C, market)
Business model (pricing, signup flow)
Tech signals (job postings, docs, stack)
Determine business type: B2B SaaS, B2C SaaS, E-commerce, Marketplace, Developer Tools, Fintech, Healthcare, Content/Media
See references/business-types.md for events and metrics by type.
Step 2: Current State
The goal here is to understand what's broken, missing, or ignored — not to validate what's working. Ask questions that surface problems.
Ask 2–3 questions max per message. Skip anything already known from research or context.
Must-Have
| Context | Why | Question |
|---|---|---|
| Primary pain point | Drives everything | "What's the #1 thing PostHog isn't giving you right now?" |
| Key user journeys | Core of any tracking plan | "What are the 2–3 most important flows in your product?" |
| Current events | Identifies gaps | "What events are you tracking today? What do you wish you were tracking?" |
| Who uses PostHog | Shapes recommendations | "Which teams actually open PostHog — and which ones should but don't?" |
| Products in use | Finds expansion areas | "Which PostHog products are you actively using vs. ignoring?" |
Should-Have
How long they've had PostHog
Whether engineers are engaged or if CS/PM are blocked waiting for instrumentation
Any previous attempts to fix the problem that didn't stick
Compliance constraints
Step 3: Customer Profile
## Customer Profile: [Company]
### Overview
- **Business Type:** [type]
- **What They Build:** [1–2 sentences]
- **Their Customers:** [B2B/B2C, who]
- **Revenue Model:** [subscription/usage/etc]
- **Stage:** [Seed/A/B, employee count]
### PostHog Setup
- **Time Using PostHog:** [months/years]
- **Products Active:** [Analytics, Replay, Flags, Experiments, Surveys, etc]
- **Analytics Maturity:** [Beginner/Intermediate/Advanced]
- **Who Uses PostHog:** [roles]
- **Who Doesn't (But Should):** [roles being left out]
### Current State
- **What They Think Is Working:** [their perception]
- **Primary Pain Point:** [the #1 problem, in their words]
- **Likely Gaps:** [based on what they told you — missing events, underused products, no dashboards, wrong people]
### Technical Context
- **Stack:** [web/mobile/backend, frameworks]
- **User Volume:** [DAU/MAU or events/month if known]
- **Compliance:** [requirements if any]
### Their Product
- **Key Journeys:** [1] [2] [3]
- **Activation Metric:** [what success looks like for their users]Step 4: Ideal Schema
Don't try to audit what they have — you don't have visibility into their data. Instead, design the best-in-class schema for their business type and key journeys, then use it as a benchmark. The customer can map their current tracking against it.
See references/data-schema.md for full property lists, group schemas, and AARRR event templates.
See references/business-types.md for events and metrics specific to their business type.
What to design
Person properties — what you'd want to know about every user (role, plan, signup source, activation status, etc.)
Group properties — for B2B: org name, plan, seat count, MRR, health score
Core events — cover the full AARRR journey for their product type:
Acquisition: how users arrive and sign up
Activation: the moment they first get value
Retention: the actions that predict they'll come back
Referral: sharing, inviting, expanding
Revenue: upgrade, purchase, renewal
Key properties on each event — include context that makes the event useful: source, method, plan, is_first_time, duration_seconds, etc.
Naming conventions
snake_casefor everythingis_prefix for booleans_countsuffix for numbers_atsuffix for timestampsBe specific:
subscription_upgradednotupgrade
Present this as: "Here's what great looks like for a company like yours — let's figure out how close you are."
Step 5: Insights Plan
Prescribe insights based on their pain point and maturity. See references/insights-plan.md for full detail.
Maturity Levels
Beginner: No analytics or just GA, no custom events, no dashboards Intermediate: Some events, knows funnels/cohorts, has used Mixpanel or Amplitude Advanced: Mature tracking, warehouse integration, running experiments
By Problem
| Problem | Beginner | Intermediate | Advanced |
|---|---|---|---|
| Churn | Retention chart, replays of churned users | Behavioral cohorts, correlation analysis | LTV analysis, churn prediction experiments |
| Trial conversion | Signup funnel, replays | Breakdown by source/plan | Exit surveys, A/B test CTAs |
| Onboarding | Step funnel, replays | Paths, device breakdown | A/B test flows, in-product surveys |
| Feature adoption | Usage trends, stickiness | Feature retention, power users | Correlation with retention |
| PMF | 12-week retention, WAU/MAU | Power user cohorts | Sean Ellis survey |
Always suggest 2–3 capabilities they're probably not using:
Session Replay with filters (most underused)
Correlation analysis
Feature flags for safe rollouts
In-product surveys
User paths
Group analytics for B2B accounts
Step 6: Improvement Plan
Prioritize by what unblocks the most value fastest. Frame as three phases:
Fix first (Days 1–7): Broken or missing events that are blocking any meaningful analysis. Naming fixes. Enabling products they already have access to.
Strengthen (Week 2–3): Add tracking for key journeys identified in Step 2. Build 2–3 core dashboards tied directly to their pain point. Get the right people in PostHog.
Expand (Week 3+): Add PostHog products they're not using (Flags, Experiments, Surveys). Deepen with group analytics or warehouse if relevant.
SDK reference (for instrumentation fixes)
| Stack | SDK | Notes |
|---|---|---|
| React/Next.js | posthog-js + Provider | Use PostHogProvider |
| Vue/Nuxt | posthog-js | Manual init |
| React Native | posthog-react-native | Handles persistence |
| Flutter | posthog-flutter | Dart |
| iOS | posthog-ios | Swift/ObjC |
| Android | posthog-android | Kotlin/Java |
| Node.js | posthog-node | Server-side |
| Python | posthog-python | Django/Flask/FastAPI |
Watch-outs
No engineering bandwidth to implement fixes — flag this early, don't build a plan that requires it
Pain point is vague — keep asking until it's specific and measurable
Tracking exists but no one looks at it — this is an insights gap, not a data gap; solve differently
The champion isn't actually using PostHog — whoever you're talking to needs to be a real user
Step 7: Output — Customer Improvement Plan
One document, shared with the customer. Conversational and direct — written like a PostHog doc, not a sales deck.
# PostHog improvement plan – [Company]
## What we're trying to fix
[One or two sentences. Name the problem specifically — not "improve analytics" but "understand why users churn in week 2" or "know which features drive retention."]
## Where you are now
[Honest, kind assessment. What's working, what isn't, and what's missing. Don't sugarcoat but don't be harsh. 3–5 sentences.]
## The ideal setup for a company like yours
[Brief description of what best-in-class looks like for their business type — reference the ideal schema from Step 4. Frame as "here's where you want to get to."]
## What we recommend
### Fix first
[2–3 specific, immediately actionable fixes. Name the event or property. Explain what it unlocks in one sentence.]
### Events to add
[Key missing events from the ideal schema. For each: event name, why it matters, one key property to include.]
### Insights to build
[3–5 specific insights tied to their pain point. Name the insight type, what question it answers.]
### Products to start using
[Any PostHog products they have access to but aren't using. One sentence on why each is relevant to their problem.]
## Your action plan
### Week 1
**Your team:**
- [ ] [Specific action + who owns it]
**We'll handle:**
- [ ] [What PostHog CS will do]
**End of week 1 goal:** [What "done" looks like]
### Week 2–3
[Next phase actions, same format]
## How we'll know it's working
| What | Target | How to check |
|------|--------|--------------|
| [Metric] | [Specific number or outcome] | [Where to look in PostHog] |Reference Files
references/data-schema.md– Person/group/event properties with stakeholder valuereferences/insights-plan.md– Insights by problem and maturityreferences/business-types.md– Events and metrics by business typereferences/writing-style.md– PostHog writing guidelines
Files
- ATTRIBUTION.mdAdded by AutoGineer869 B
- LICENSELicence file added by AutoGineer1.0 KiB
- README.md2.6 KiB
- SKILL.md10.3 KiB
- references/business-types.md7.2 KiB
- references/data-schema.md9.3 KiB
- references/insights-plan.md9.0 KiB
- references/sales-context.md2.1 KiB
- references/writing-style.md2.9 KiB
references/data-schema.md
Data Schema Reference
Prescriptive recommendations for person properties, group properties, and events with stakeholder value explanations.
Person Properties
Set on signup/login. Persist across all events.
Core Properties
| Property | Type | Example | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
email | string | "[email protected]" | Identification | Contact for feedback | Debug user issues | Join external data | Email campaigns |
name | string | "Jane Smith" | Personalization | Humanize research | Support tickets | Data enrichment | Personalized outreach |
signup_date | datetime | "2024-01-15" | Cohort analysis | Compare cohorts | Debug time issues | Lifecycle calcs | Campaign timing |
signup_source | string | "google_ads" | Attribution | Channel quality | n/a | Attribution joins | Optimize spend |
initial_referrer | string | "blog.competitor.com" | First-touch | Understand discovery | n/a | Attribution models | Content strategy |
initial_utm_source | string | "linkedin" | Campaign tracking | Campaign ROI | n/a | Multi-touch | Optimize campaigns |
initial_utm_campaign | string | "q1_launch" | Campaign tracking | Campaign performance | n/a | Attribution | Campaign reporting |
plan | string | "pro" | Monetization | Adoption by tier | Flag targeting | Revenue analysis | Upsell targeting |
subscription_status | string | "active" | Churn analysis | At-risk users | Trial logic | Churn prediction | Retention campaigns |
is_paying | boolean | true | Revenue segment | Paying vs free behavior | Paywall logic | Revenue metrics | Conversion campaigns |
trial_start_date | datetime | "2024-01-15" | Trial analysis | Trial optimization | Trial experience | Trial metrics | Trial nurture |
trial_end_date | datetime | "2024-01-29" | Trial urgency | Conversion timing | Trial cutoff | Trial metrics | Urgency campaigns |
first_activated_at | datetime | "2024-01-16" | Activation | Time-to-value | Onboarding | Activation metrics | Onboarding campaigns |
user_role | string | "admin" | Role analysis | Role journeys | Permission logic | Role segmentation | Role messaging |
job_title | string | "Product Manager" | Persona | Persona behavior | n/a | Persona enrichment | Persona targeting |
country | string | "US" | Geo analysis | Localization | i18n decisions | Regional analysis | Geo campaigns |
is_employee | boolean | false | Filter internal | Exclude from analysis | Test filtering | Data quality | Exclude from campaigns |
B2B-Specific Person Properties
| Property | Type | Example | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
company_name | string | "Acme Corp" | Account context | Account insights | Support context | Account joins | ABM |
company_size | string | "50-200" | Segmentation | SMB vs Enterprise | Pricing logic | Size analysis | Segment targeting |
company_industry | string | "fintech" | Vertical analysis | Industry patterns | Compliance flags | Benchmarks | Vertical campaigns |
Group Properties (B2B)
Configure "company" or "organization" as group type. Enables account-level analytics.
| Property | Type | Example | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
name | string | "Acme Corp" | Identification | Account health | Support lookup | Account joins | Personalization |
plan | string | "enterprise" | Revenue segment | Feature access | Entitlements | Revenue analysis | Upsell targeting |
mrr | number | 5000 | Revenue tracking | Revenue vs engagement | n/a | Revenue metrics | High-value focus |
employee_count | number | 150 | Size segment | Size patterns | Capacity planning | Sizing analysis | Segment campaigns |
industry | string | "healthcare" | Vertical | Industry patterns | Compliance | Benchmarks | Industry content |
created_at | datetime | "2023-06-01" | Account age | Maturity analysis | n/a | Cohort analysis | Lifecycle campaigns |
owner_email | string | "[email protected]" | Primary contact | Champion ID | Escalation | Owner joins | Primary contact |
contract_end_date | datetime | "2024-12-31" | Renewal | Renewal risk | n/a | Renewal metrics | Renewal campaigns |
seat_count | number | 25 | License util | Expansion opportunity | Seat enforcement | Utilization | Expansion campaigns |
active_users_30d | number | 18 | Health scoring | Engagement health | n/a | Health metrics | Re-engagement |
What Groups Unlock
PM: "How many companies completed onboarding?" not just users
PE: Feature flags by company. Roll out to Acme Corp first.
DE: Company-level retention. DAC (Daily Active Companies) metrics.
Marketer: Account-based reporting. Which companies at risk?
Core Events (AARRR Framework)
Acquisition
| Event | Trigger | Properties | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
user_signed_up | Account created | signup_method, referral_source, utm_source, utm_campaign | Track new users | Acquisition funnel | Debug signup | Signup metrics | Attribution |
account_created | Org created (B2B) | company_name, company_size, industry | Track accounts | Account acquisition | Setup flow | Account metrics | ABM attribution |
invite_accepted | User joins via invite | inviter_id, invite_method, days_to_accept | Viral growth | Invite optimization | Invite debugging | Viral metrics | Referral programs |
Activation
| Event | Trigger | Properties | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
[activation_event] | First value achieved | time_to_activate, activation_path, features_used | Core success | Activation optimization | Onboarding improvements | Activation cohorts | Onboarding campaigns |
onboarding_step_completed | Each step done | step_name, step_number, time_on_step | Onboarding funnel | Step optimization | UX improvements | Funnel metrics | Onboarding nudges |
onboarding_completed | All steps done | total_time, steps_skipped, help_viewed | Onboarding success | Completion rate | Flow optimization | Onboarding metrics | Graduation campaigns |
Retention
| Event | Trigger | Properties | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
[core_feature]_used | Feature usage | feature_variant, items_count, duration | Engagement | Feature health | Feature performance | Usage metrics | Engagement campaigns |
session_started | App opened | session_id, referrer, device_type | Session analysis | Session patterns | Performance | Session metrics | Re-engagement |
project_created | New workspace | project_type, template_used | Depth of use | Expansion | Project features | Usage depth | Use case education |
Revenue
| Event | Trigger | Properties | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
subscription_started | New subscription | plan, mrr, billing_interval, payment_method | Revenue | Conversion optimization | Payment flow | Revenue metrics | Conversion campaigns |
subscription_upgraded | Plan upgrade | from_plan, to_plan, mrr_change, upgrade_trigger | Expansion | Upgrade patterns | Upgrade UX | Expansion metrics | Upsell campaigns |
subscription_cancelled | Cancellation | plan, mrr_lost, reason, months_active | Churn | Churn analysis | Offboarding | Churn metrics | Win-back campaigns |
payment_failed | Failed charge | amount, failure_reason, retry_count | Revenue risk | Payment issues | Payment debugging | Failed metrics | Dunning campaigns |
Referral
| Event | Trigger | Properties | Why Overall | Why PM | Why PE | Why DE | Why Marketer |
|---|---|---|---|---|---|---|---|
invite_sent | User invites | invite_method, invitee_role, message_included | Viral growth | Invite optimization | Invite UX | Viral metrics | Referral incentives |
share_completed | Content shared | share_type, destination, content_type | Word of mouth | Shareability | Share UX | Virality metrics | Share prompts |
referral_completed | Referred converts | referrer_id, referral_code, time_to_convert | Referral success | Referral program | Referral tracking | Referral metrics | Referral rewards |
Naming Conventions
snake_casefor all propertiesis_prefix for booleans:is_first_time,is_premiumhas_prefix for existence:has_attachment,has_team_countsuffix for numbers:item_count,member_count_atsuffix for timestamps:created_at,completed_at_idsuffix for identifiers:project_id,team_id
Context Properties (Include on Every Event)
| Property | Purpose |
|---|---|
source | Where triggered: "dashboard", "email", "api" |
method | How done: "drag_drop", "keyboard", "button" |
duration_seconds | Time taken (for timed actions) |
previous_value / new_value | For state changes |
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Python, Needs Node.js
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- PostHog
- Publisher
- PostHog (Official)
- Source
- PostHog/skills · skills/team/customer-success/posthog-onboarding · commit a5d30e7
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by PostHog.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download posthog-onboarding.zip