Configure PostHog local development with hot reload and testing. Use when setting up a development environment, configuring test workflows, or establishing a fast iteration cycle with PostHog. Trigger with phrases like "posthog dev setup", "posthog local development", "posthog dev environment", "develop with posthog".
From posthog-packnpx claudepluginhub nickloveinvesting/nick-love-plugins --plugin posthog-packThis skill is limited to using the following tools:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Set up a fast, reproducible local development workflow for PostHog.
posthog-install-auth setupmy-posthog-project/
├── src/
│ ├── posthog/
│ │ ├── client.ts # PostHog client wrapper
│ │ ├── config.ts # Configuration management
│ │ └── utils.ts # Helper functions
│ └── index.ts
├── tests/
│ └── posthog.test.ts
├── .env.local # Local secrets (git-ignored)
├── .env.example # Template for team
└── package.json
set -euo pipefail
# Copy environment template
cp .env.example .env.local
# Install dependencies
npm install
# Start development server
npm run dev
{
"scripts": {
"dev": "tsx watch src/index.ts",
"test": "vitest",
"test:watch": "vitest --watch"
}
}
import { describe, it, expect, vi } from 'vitest';
import { PostHogClient } from '../src/posthog/client';
describe('PostHog Client', () => {
it('should initialize with API key', () => {
const client = new PostHogClient({ apiKey: 'test-key' });
expect(client).toBeDefined();
});
});
| Error | Cause | Solution |
|---|---|---|
| Module not found | Missing dependency | Run npm install |
| Port in use | Another process | Kill process or change port |
| Env not loaded | Missing .env.local | Copy from .env.example |
| Test timeout | Slow network | Increase test timeout |
vi.mock('@posthog/sdk', () => ({
PostHogClient: vi.fn().mockImplementation(() => ({
// Mock methods here
})),
}));
set -euo pipefail
# Enable verbose logging
DEBUG=POSTHOG=* npm run dev
See posthog-sdk-patterns for production-ready code patterns.