What problem does it solve?
Canvas dashboards need live PostHog data, but the sandboxed canvas runtime blocks direct network access, so developers cannot use fetch or posthog-js to reach analytics. This Skill defines how to correctly query, render, and verify PostHog data inside a canvas using the host-injected ph bridge.
Core Features & Use Cases
- Data hierarchy guidance: Prefer saved insights loaded by short id via ph.loadInsight, fall back to typed query nodes, and use inline HogQL only as a last resort, with every call declared in project capabilities.
- Verifiability rules: Insight-backed metrics link to the real insight in PostHog via ph.openExternal, and ad-hoc queries disclose the exact query that ran in a modal or disclosure element.
- Progressive loading and result shapes: Fire queries concurrently with per-query loading/error states, respect the 8 in-flight request cap, and read trends-style series versus SQL row results correctly.
- Use Case: Build a web-analytics status board that loads saved insights per date window, renders each card as its data arrives, captures interaction events with ph.capture, and stores viewer preferences in ph.state.
Quick Start
Use the querying-canvas-data skill to build a canvas dashboard that loads my saved PostHog insights and renders their metrics with per-card loading states.