adding-analytics について
Web アプリに PostHog の分析機能を追加するスキルです。フレームワークの判定から SDK の導入までを案内し、ページビューやイベントの計測、機能フラグ、セッションリプレイに対応します。
主な機能
- 01Web フレームワークの判定
- 02PostHog SDK の導入
- 03初期化モジュールやプロバイダーの設定
- 04ページビュー計測の追加
- 05カスタムイベントの設定
- 06機能フラグやリプレイの任意設定
活用シーン
- 01SPA でルートごとのページビューを計測
- 02登録や購入などのイベントを記録
- 03要望に応じて機能フラグを追加
- 04Web アプリにセッションリプレイを設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill adding-analyticsインストール後、Claude Code で/adding-analyticsを入力して読み込まれたか確認します。
詳細
アナリティクスの追加(PostHog)
ユーザーがウェブアプリケーションへのアナリティクス、イベントトラッキング、ページビュー、フィーチャーフラグ、またはセッションリプレイの追加を依頼した場合に、このスキルを使用します。
手順
-
フレームワークを特定する —
next.config.*、vite.config.*、package.jsonのスクリプト、またはindex.htmlを確認し、Next.js、React(Vite/CRA)、Vue、Svelte、またはプレーンな HTML のどれかを判別します。 -
SDK をインストールする
- Next.js / React:
npm install posthog-js - Next.js(サーバーサイド):
npm install posthog-js posthog-node - Python:
pip install posthog - Node.js バックエンド:
npm install posthog-node
- Next.js / React:
-
プロバイダー/初期化モジュールを作成する
-
Next.js App Router の場合は、
app/providers.tsxを作成します。"use client"; import posthog from "posthog-js"; import { PostHogProvider as PHProvider } from "posthog-js/react"; import { useEffect } from "react"; export function PostHogProvider({ children }: { children: React.ReactNode }) { useEffect(() => { posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY!, { api_host: process.env.NEXT_PUBLIC_POSTHOG_HOST ?? "https://us.i.posthog.com", capture_pageview: false, // we capture manually for SPAs }); }, []); return <PHProvider client={posthog}>{children}</PHProvider>; } -
ルートレイアウトで
<PostHogProvider>を使って{children}をラップします。 -
Pages Router の場合は、
useEffect内で_app.tsxを初期化します。
-
-
ページビューのトラッキングを追加する — SPA の場合は、フレームワークのルーターイベントを使い、ルート変更時に
posthog.capture('$pageview')を呼び出すコンポーネントを作成します。 -
.env変数を追加する — PostHog プロジェクトの API キーとホストをユーザーに確認します。NEXT_PUBLIC_POSTHOG_KEY=phc_... NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.comこれらのキーを
.env.exampleにも追加します。 -
カスタムイベントを追加する — ユーザーがトラッキングするイベント(例:登録、購入)を指定した場合は、該当するハンドラーに
posthog.capture("event_name", { ...properties })の呼び出しを追加します。 -
フィーチャーフラグ(任意) — 依頼された場合は、
posthog.isFeatureEnabled("flag-name")またはuseFeatureFlagEnabledフックの使い方を示します。 -
セッションリプレイ(任意) — 依頼された場合は、初期化設定に
session_recording: { maskAllInputs: false }を追加して有効にします。
注意事項
- API キーをハードコードしないでください。必ず環境変数を使用します。
- プロジェクトに Content Security Policy が設定されている場合は、
posthog-jsを追加します。 - モノレポの場合は、ルートではなく UI をレンダリングするパッケージにインストールします。