skenetechnologies/plg-skills/product-analytics
Claude Code and agent skill by skenetechnologies/plg-skills
- community
Checking that the SKILL.md file is still in the repository.
When the user wants to set up product analytics -- including event taxonomy, tracking plans, funnel analysis, or tool selection (Mixpanel, Amplitude, PostHog). Also use when the user says "event tracking," "analytics setup," "tracking plan," "analytics implementation," or "user identification." For PLG metrics, see plg-metrics. For experimentation, see growth-experimentation.
Install
npx vskill@latest install skenetechnologies/plg-skills/product-analyticsSKILL.md
Product Analytics
You are a product analytics specialist. Set up and operationalize a product analytics system designed for PLG insights. This skill covers event taxonomy design, analytics tool selection, implementation best practices, and analysis frameworks that turn raw product data into growth decisions.
Diagnostic Questions
Before designing your analytics system, answer:
- What questions do you need to answer? (List the top 10 questions your team asks about user behavior)
- What analytics tools do you currently use? (And what are you dissatisfied with?)
- What is your technical stack? (Web, mobile, backend language, data warehouse)
- How many active users do you have? (Affects tool pricing and data volume planning)
- Who will consume analytics? (Engineers only, product managers, executives, marketing?)
- What is your privacy posture? (GDPR, CCPA, SOC 2, data residency requirements)
- Do you have a data warehouse? (Snowflake, BigQuery, Redshift, Databricks)
- What is your budget for analytics tooling?
Codebase Audit (Optional)
If you have access to the user's codebase, analyze it before asking diagnostic questions. Use findings to pre-fill answers and focus recommendations on what actually exists.
- Find analytics SDKs: Search for imports of
mixpanel,amplitude,posthog,segment,@segment/analytics-next,ga4,gtag,rudderstack,heap - Find tracking calls: Search for
track(,capture(,logEvent(,gtag('event',analytics.track(,posthog.capture( - List all tracked events: Extract event names from tracking calls -- build an inventory of what's currently tracked
- Check user identification: Search for
identify(,setUserId(,setUserProperties(,people.set( - Find tracking initialization: Search for analytics init/setup code -- check if properly configured with API keys
- Check for a tracking plan: Look for files like
events.ts,analytics.ts,tracking.ts,events.jsonthat define event schemas - Find page/screen tracking: Search for
page(,screen(,pageview, route change tracking - Check for server-side tracking: Search backend code for analytics calls -- not just client-side
Report: list all tracked events, the SDK(s) in use, and gaps (e.g., "No server-side tracking", "No user identification", "Only 5 events tracked -- likely incomplete").
For a full growth audit, install skene-skills to generate a structured growth manifest you can reference alongside this skill.
Analytics Stack for PLG
The Four Layers
Recommended Stacks by Stage
Early Stage (0-10K users): PostHog (open source, all-in-one) or Mixpanel/Amplitude free tier. Direct SDK integration. No data warehouse initially.
Growth Stage (10K-100K users): Segment or RudderStack + Mixpanel or Amplitude + Snowflake or BigQuery + Reverse ETL.
Scale Stage (100K+ users): Full CDP + Amplitude or custom analytics on warehouse + Looker or Mode + dbt + Feature flag system (LaunchDarkly, Statsig).
Event Taxonomy Design
Naming Convention
Use object_action format. {object}_{action} in snake_case.
Rules:
- Object first, action second:
signup_completednotcompleted_signup - Past tense for completed actions:
_completed,_created,_sent - Present tense for state changes:
_viewed,_started - Be specific:
project_creatednotitem_created - Avoid abbreviations:
subscription_upgradednotsub_upgr
Event Categories
Account Events
Onboarding Events
Core Feature Events
Engagement Events
Monetization Events
Sharing / Viral Events
Event Properties
Standard Properties (Auto-Attached to Every Event)
User Properties (Stored on Profile)
Account Properties (Stored on Account/Group)
Essential Events for PLG
Signup Flow
| Event | Properties | Purpose | |
|---|---|---|---|
signup_page_viewed | source, referrer | Track signup page traffic | |
signup_started | method (email/sso/social) | Track signup intent | |
signup_completed | method, source, referrer | Measure signup conversion | |
email_verified | time_to_verify | Track verification friction |
Activation Events
| Event | Properties | Purpose | |
|---|---|---|---|
aha_moment_reached | trigger_action, time_from_signup | Track activation | |
key_feature_first_used | feature_name | Track feature discovery | |
first_value_delivered | value_type | Track time-to-value |
Core Usage Events
| Event | Properties | Purpose | |
|---|---|---|---|
session_started | entry_point, device | Track session frequency | |
feature_used | feature_name, feature_category, context | Track feature adoption | |
[core_object]_created | object_type, method | Track creation activity | |
error_encountered | error_type, error_code, page | Track UX friction |
Collaboration Events
| Event | Properties | Purpose | |
|---|---|---|---|
invite_sent | method, role, count | Track viral loop input | |
invite_accepted | method, time_to_accept | Track viral loop conversion | |
team_created | size | Track team expansion | |
shared_item_created | item_type, visibility | Track sharing behavior |
Monetization Events
| Event | Properties | Purpose | |
|---|---|---|---|
upgrade_prompt_viewed | location, trigger, plan_shown | Track upgrade exposure | |
upgrade_prompt_clicked | location, trigger | Track upgrade intent | |
checkout_started | plan, amount | Track checkout entry | |
checkout_completed | plan, amount, payment_method | Track conversion | |
checkout_abandoned | plan, step, reason | Track checkout friction | |
plan_changed | from_plan, to_plan, reason | Track plan changes |
User Identification
The Identification Flow
Best Practices
- Generate anonymous_id immediately on first page load
- Call identify() at both signup AND login
- Use stable user_id (database primary key, not email)
- Set user properties at identify time
- Set group/account at login
- Handle multiple accounts -- track which one is active
Common Pitfalls
- Identifying too late (anonymous events won't merge)
- Using email as user_id (emails change)
- Not handling logged-out states
- Missing server-side identification
- Not aliasing anonymous_id to user_id on signup
Analytics Tool Comparison
| Tool | Strengths | Best For | |
|---|---|---|---|
| Mixpanel | Funnel analysis, flexible event queries, JQL | Event-driven segmentation | |
| Amplitude | Behavioral cohorting, pathfinding, Amplitude Experiment | Advanced behavioral analysis | |
| PostHog | Open source, session recordings, feature flags, all-in-one | Self-hosted, privacy-conscious | |
| Heap | Autocapture, retroactive analysis, low engineering effort | Teams without extensive tracking | |
| GA4 | Free, Google Ads integration | Website/marketing analytics (weak for product analytics) |
Analysis Frameworks
Funnel Analysis
Key PLG Funnels:
- Signup: Landing page -> signup started -> signup completed -> email verified
- Activation: Signup completed -> onboarding -> setup completed -> aha moment
- Monetization: Upgrade prompt viewed -> plan comparison -> checkout started -> checkout completed
- Invite: Invite sent -> invite opened -> invite accepted -> invitee activated
Checklist:
- [ ] Define conversion window
- [ ] Segment by user properties (plan, source, device, company size)
- [ ] Identify largest drop-off step
- [ ] Compare funnels across time periods
- [ ] Calculate median time between steps
Cohort Analysis
Types: Acquisition cohorts (by signup date), behavioral cohorts (by actions taken), property cohorts (by user attributes).
Reading cohort tables:
- Rows = cohorts. Should flatten. Later cohorts flattening higher = product improving.
- Columns = time periods. Same column improving over time = retention improving.
- Diagonals = specific calendar date across cohorts. Useful for identifying product changes that affected all users.
Feature Usage Analysis
Data Quality
Event Validation
- Naming follows convention
- All required properties included
- Correct types (numbers as numbers, strings as strings)
- Timestamps in UTC
- Events fire exactly once per action (no duplicates)
- Edge cases handled (error, timeout, retry)
QA Checklist
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/product-analytics/SKILL.md
Popularity
- Repository stars
- 17
- Repository forks
- 1
- 7-day trend score
- 14
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 5 May 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/skenetechnologies/plg-skills/product-analytics)