posthog/ai-plugin · Official

choosing-trend-or-slope-view

Clarify how to visualize change over a time range before building a trend. Use whenever the user asks how much something changed, grew, dropped, improved, or…

First seen Jun 19, 2026

Installation

$ npx skills add https://github.com/posthog/ai-plugin
Feature your product here Skill page unit · reach builders installing agent skills View pricing →

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from posthog/ai-plugin · top by installs.

npx skills add https://github.com/posthog/ai-plugin

Browse all from posthog/ai-plugin

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 80
License MIT
Default branch main
Open issues 10
Status Active

History

  1. First seen on skills.sh
  2. First recorded snapshot · 62 installs

SKILL.md

Choosing a trend line vs a slope view

"How did X change between A and B?" is ambiguous. Two charts answer two different questions, so clarify before you build unless the user already named one:

  • Change over time (line) — the value at every interval across the range.

Shows the path: dips, spikes, when it moved. This is the default trend.

  • Start vs end (slope) — only the first and last point, one line per series

connecting them. Shows the net change and, across many series, which rose, which fell, and any rank flips — without the noise of the path between.

When the request could be either, ask a short either/or, e.g.:

Do you want to see how it moved across the whole period (a line chart), or just
the change from the start to the end (a slope chart)?

If the user clearly wants one — "just tell me how much it grew start to end" → slope; "show me the trend / when did it spike" → line — skip the question and build it.

How to render each

Both come from the same TrendsQuery over the same date range — the slope is that series collapsed to its first and last point, not a different query.

Change over time → line

Default trends behavior. Create or run a TrendsQuery and leave trendsFilter.display as ActionsLineGraph (the default, "change over time"):

{
  "kind": "TrendsQuery",
  "series": [{ "kind": "EventsNode", "event": "$pageview", "math": "total" }],
  "dateRange": { "date_from": "2025-01-01", "date_to": "2025-03-31" },
  "trendsFilter": { "display": "ActionsLineGraph" }
}

Start vs end → slope

Run the trend with posthog:query-trends. The result card Max renders has a Line / Bar / Slope view toggle — switch it to Slope to show each series as a single line from its first to its last point, with the per-series change in the legend. Tell the user they can flip to the Slope view on the result.

The slope view is best for a clean before→after comparison, especially with several series/categories whose relative movement matters. Pick a date range whose two ends are the points you want compared (the slope uses the first and last interval).

Important limits

  • Two surfaces, one computation. Both the inline slope (Max's query-trends

result card) and the saved-insight slope (ChartDisplayType.SlopeGraph, behind the slope-graph-insight feature flag) show the same thing: the first interval's value vs the last interval's value, at the chosen group-by interval. The grouping defines the slope — group by month to compare the first vs last month, by day for the first vs last day. Use the inline view for a quick before→after on a result you're already looking at; reach for the saved display to persist it on a dashboard where the flag is enabled. A still-accumulating final period is shown as-is with a dashed connector, the same affordance the line chart uses for an incomplete tail.

  • For period-over-period on a single series (this month vs last), a line with

compareFilter: { "compare": true } overlays the two periods; a slope is the better fit when comparing the endpoints of many series at once.