Omnibus
200 skills · 1230 min
Omnibus
Skill 35 of 200
Creates product analytics or SQL-backed box plot insights in PostHog.
2 minutes · 467 words · 5 sections
Install
npx skills add PostHog/skills --skill creating-box-plot-insightsnpx skills add PostHog/skills/plugin marketplace add PostHog/skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
Box plots need distribution data, not an already-aggregated average or total. Choose the simplest query type that can express the user’s question.
Use a standard product analytics box plot when all of these are true:
Use a SQL box plot when the user needs custom grouping, joins, derived values, or bespoke SQL. Read querying-posthog-data before writing HogQL, then use references/sql-examples.md (opens in a new tab) as a starting point.
Do not use SQL only to reproduce a standard Trends query.
InsightVizNode whose source is a TrendsQuery:
math_property to the numeric property.trendsFilter.display to BoxPlot.posthog:query-trends.posthog:insight-create.posthog:insight-get and confirm the property, interval, and display.A box plot without a numeric math_property is invalid. Do not substitute event counts unless counts are the values the user wants to distribute.
The SQL must return one pre-aggregated row for each X-axis and series pair. Calculate the summary in the database. Never calculate percentiles from the limited result rows in the client.
Required numeric roles:
The easiest result shape uses these aliases:
x, series, min, p25, median, mean, p75, maxx and series are optional:
xAxisColumn to null for one overall distribution or one box per series.seriesColumn to null for one series.Validate the HogQL with posthog:execute-sql before saving. Check that:
min <= p25 <= median <= p75 <= max for every row.Then save this shape with posthog:insight-create:
{
"query": {
"kind": "DataVisualizationNode",
"source": {
"kind": "HogQLQuery",
"query": "<validated HogQL>"
},
"display": "BoxPlot",
"chartSettings": {
"boxPlot": {
"xAxisColumn": "x",
Use the actual aliases when the query uses different names. Do not map the six statistics as six Y-axis series.
posthog:insight-get.posthog:insight-query.If an individual row has a missing or invalid summary, PostHog omits that box while keeping valid boxes visible. Fix the SQL when omitted boxes are not expected.
querying-posthog-data - required before authoring or changing the HogQL for a SQL box plot.formatting-insight-axes - use when the value axis needs currency, duration, percentage, or other formatting.building-a-dashboard - use when the box plot should be placed with other insights on a dashboard.Creates product analytics or SQL-backed box plot insights in PostHog. Use when a user asks to create, build, or save a box plot, visualize a numeric distribution, compare quartiles or medians across dates or groups, or turn SQL results into a box plot. Chooses between a standard Trends box plot and a SQL insight, validates the distribution data, saves the insight, and verifies it.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 24 September 2026.SKILL.md, not by matching a directory convention. 2 distinct layouts observed: skills/omnibus/*/SKILL.md, skills/posthog/all/skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by PostHog, declaring 6 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./PostHog/skills.md, and each skill at its own .md URL.1 file · 3 KB
Everything this skill ships beside its prose. All of it is set here, as a subchapter of skill 35.
Documentation the agent loads on demand, rather than up front.