integration-astro-view-transitions

โดย posthog

PostHog การผสานรวมสำหรับ Astro พร้อมการเปลี่ยนมุมมองของ ClientRouter

npx skills add https://github.com/posthog/skills --skill integration-astro-view-transitions

PostHog integration for Astro (View Transitions)

This skill helps you add PostHog analytics to Astro (View Transitions) applications.

Workflow

Follow these steps in order to complete the integration:

  1. basic-integration-1.0-begin.md - PostHog Setup - Begin ← Start here
  2. basic-integration-1.1-edit.md - PostHog Setup - Edit
  3. basic-integration-1.2-revise.md - PostHog Setup - Revise
  4. basic-integration-1.3-conclude.md - PostHog Setup - Conclusion

Reference files

  • references/EXAMPLE.md - Astro (View Transitions) example project code
  • references/astro.md - Astro - docs
  • references/identify-users.md - Identify users - docs
  • references/basic-integration-1.0-begin.md - PostHog setup - begin
  • references/basic-integration-1.1-edit.md - PostHog setup - edit
  • references/basic-integration-1.2-revise.md - PostHog setup - revise
  • references/basic-integration-1.3-conclude.md - PostHog setup - conclusion

The example project shows the target implementation pattern. Consult the documentation for API details.

Key principles

  • Environment variables: Always use environment variables for PostHog keys. Never hardcode them.
  • Minimal changes: Add PostHog code alongside existing integrations. Don't replace or restructure existing code.
  • Match the example: Your implementation should follow the example project's patterns as closely as possible.

Framework guidelines

  • Always use the is:inline directive on PostHog script tags to prevent Astro from processing them and causing TypeScript errors
  • Use PUBLIC_ prefix for client-side environment variables in Astro (e.g., PUBLIC_POSTHOG_PROJECT_TOKEN)
  • Create a posthog.astro component in src/components/ for reusable initialization across pages
  • Import the PostHog component in a Layout and wrap all pages with that layout
  • Wrap PostHog initialization with a window.__posthog_initialized guard to prevent stack overflow during soft navigation
  • Set capture_pageview option to 'history_change' for automatic pageview tracking during soft navigation
  • Use the astro page-load event instead of just DOMContentLoaded to re-run scripts after soft navigation

Identifying users

Identify users during login and signup events. Refer to the example code and documentation for the correct identify pattern for this framework. If both frontend and backend code exist, pass the client-side session and distinct ID using X-POSTHOG-DISTINCT-ID and X-POSTHOG-SESSION-ID headers to maintain correlation.

Error tracking

Add PostHog error tracking to relevant files, particularly around critical user flows and API boundaries.

Skills เพิ่มเติมจาก posthog

error-tracking-hono
posthog
การติดตามข้อผิดพลาดของ PostHog สำหรับ Hono
tuning-incremental-sync-config
posthog
การกำหนดค่าการซิงค์จะอยู่บน ExternalDataSchema และสามารถเปลี่ยนแปลงได้ตลอดเวลาผ่าน external-data-schemas-partial-update การเปลี่ยนแปลงส่วนใหญ่จะไม่ทำลายข้อมูล (มีผลในการซิงค์ครั้งถัดไป) แต่บางอย่าง (การเปลี่ยน sync_type, การเปลี่ยนคีย์หลัก) จำเป็นต้องจัดการอย่างระมัดระวังเพื่อหลีกเลี่ยงการทำให้ข้อมูลที่ซิงค์เสียหาย
playwright-test
posthog
เขียน playwright test ให้แน่ใจว่ามันรันได้ และไม่ flaky
error-tracking-ruby
posthog
การติดตามข้อผิดพลาดของ PostHog สำหรับ Ruby
authoring-log-alerts
posthog
สร้างการแจ้งเตือนบันทึกที่มีประโยชน์และมีสัญญาณรบกวนต่ำสำหรับบริการในโปรเจกต์ PostHog ใช้เมื่อผู้ใช้ขอให้ตั้งค่าการแจ้งเตือนสำหรับบันทึกของพวกเขา แนะนำการแจ้งเตือนที่ควรเพิ่ม…
making-scenes-tab-aware
posthog
Guides converting PostHog frontend scenes to be tab aware for internal scene tabs. Use when adding or refactoring a `SceneExport` scene, fixing state leaking…
posthog-survey-creator
posthog
สร้างและกำหนดค่าแบบสำรวจใน PostHog ผ่านการสนทนาที่มีคำแนะนำ ใช้ทักษะนี้เมื่อผู้ใช้ต้องการสร้างแบบสำรวจ รวบรวมความคิดเห็นจากผู้ใช้ ดำเนินการ…
authoring-scouts
posthog
วิธีการเขียน แก้ไข และปรับแต่ง PostHog Signals scouts — เอเจนต์ตามกำหนดการที่สแกนโปรเจกต์และเขียนรายงานลงในกล่องข้อความ Signals ใช้เมื่อผู้ใช้…