posthog-instrumentation

oleh posthog

Secara otomatis menginstrumentasi analitik PostHog, pelacakan peristiwa, dan bendera fitur di berbagai kerangka kerja. Mendukung JavaScript/TypeScript, React, Python, dan Node.js dengan pola pengaturan spesifik kerangka kerja. Mencakup tiga kemampuan inti: penangkapan peristiwa dengan properti kustom, evaluasi bendera fitur untuk peluncuran bertahap, dan identifikasi pengguna. Mendeteksi konfigurasi PostHog yang ada dan menambahkan instrumentasi tanpa menduplikasi pengaturan. Termasuk praktik terbaik untuk konvensi penamaan peristiwa, properti...

npx skills add https://github.com/posthog/posthog-for-claude --skill posthog-instrumentation

PostHog Instrumentation Skill

Help users add PostHog analytics, event tracking, and feature flags to their code.

When to Use

  • User asks to "add PostHog" or "add analytics"
  • User wants to track events or user actions
  • User needs to implement feature flags
  • User asks about instrumenting their code

Workflow

  1. Identify the framework (React, Next.js, Python, Node.js, etc.)
  2. Check for existing PostHog setup
  3. Add appropriate instrumentation

Code Patterns

JavaScript/TypeScript

// Event tracking
posthog.capture('button_clicked', { button_name: 'signup' })

// Feature flags
if (posthog.isFeatureEnabled('new-feature')) {
  // Show new feature
}

// User identification
posthog.identify(userId, { email: user.email })

Python

from posthog import Posthog
posthog = Posthog(api_key='<ph_project_api_key>')

# Event tracking
posthog.capture(distinct_id='user_123', event='purchase_completed')

# Feature flags
if posthog.feature_enabled('new-feature', 'user_123'):
    # Show new feature

React

import { usePostHog } from 'posthog-js/react'

function MyComponent() {
  const posthog = usePostHog()

  const handleClick = () => {
    posthog.capture('button_clicked')
  }
}

Best Practices

  • Use consistent event naming (snake_case recommended)
  • Include relevant properties with events
  • Identify users early in their session
  • Use feature flags for gradual rollouts