Omnibus
Skill 181 of 200
Use PostHog Autoresearch, agent-driven predictive models: ask “who will do X in the next N days?”, let an agent train a model, then score people daily into a person property and…
6 minutes · 1,258 words · 6 sections
Install
npx skills add PostHog/skills --skill working-with-autoresearchnpx 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.
Autoresearch answers one standing question per model: who in a population will do a target within a horizon? For example, “which active users will open a report in the next 7 days?”.
autoresearch_prediction event with their probability.
When the model’s write_person_property is on, a person who resolves to a current distinct ID also gets the model’s output person property, for example predicted_p_adopt_insights_14d. It is off by default for new models. Turn it on with autoresearch-partial-update before you target people by score in a flag, cohort, workflow or insight. Turning it off removes the property from the people the model scored. Changing the setting needs the person:write scope.research_interval_days (maintain, default 7) after the latest training run, so a run started by hand resets the clock.
With research_interval_days null the model trains only when someone asks. A champion that cannot score still gets a short rescue run.
training_phase and next_research_at on posthog:autoresearch-retrieve say where the model is.In the PostHog UI the entity is a model. The API and tools call it a pipeline. Use “model” when you talk to people.
Autoresearch is behind the autoresearch feature flag.
Training runs in a cloud sandbox, so it also needs PostHog Desktop access.
If the autoresearch-* tools are missing, the project probably does not have access yet.
| The user wants to | Start with | Reference |
|---|---|---|
| Create a model | posthog:autoresearch-resolve-template-create or a custom definition, then posthog:autoresearch-validate-create | defining-a-question.md (opens in a new tab) |
| Know if a model is any good | posthog:autoresearch-retrieve, then posthog:autoresearch-online-performance-retrieve | reading-model-quality.md (opens in a new tab) |
| Use the predictions | The output person property, or posthog:execute-sql on autoresearch_prediction | using-predictions.md (opens in a new tab) |
| Fix or steer a model | posthog:autoresearch-training-runs-list, posthog:autoresearch-runs-list, posthog:autoresearch-suggestions-create | troubleshooting-and-steering.md (opens in a new tab) |
| See what models exist | posthog:autoresearch-list | This page |
The usual path is short. Each tool’s description names its prerequisites and refusals, so read it with info before the first call.
posthog:autoresearch-validate-create with the same target, horizon, lookback and populations you will create with. It returns the base rate, positive and negative counts and warnings. Fix anything that sets can_proceed to false, and tell the user about the non-blocking warnings.posthog:autoresearch-create. The new model is a draft until training starts.posthog:autoresearch-train-create starts an agent run that takes a while (often tens of minutes). It costs real sandbox and LLM time, so confirm with the user before you start one, and never start a second run while one is live. A 403 means either the call came from inside a sandbox (ask the user to click Start training on the model’s page) or the user has no PostHog Desktop access (the page will refuse too). Read the error message to tell them apart.posthog:autoresearch-training-runs-list at a relaxed pace. While the first run is in progress the model is bootstrapping, and a missing champion is normal.posthog:autoresearch-score-create scores today now; call it once, then poll posthog:autoresearch-runs-list. A second manual score for the same date can duplicate predictions.Pause, resume and delete are in the model’s menu in the UI only. Pausing stops scoring and new training runs. A training run already in progress keeps running, and it can still promote a champion.
| Status | Meaning |
|---|---|
draft | Defined, never trained. |
bootstrapping | The first training run is in progress. No champion yet. |
running | A champion exists and scores on the cadence. Retraining can still happen. |
converged | Treated like running: the champion still scores and is still validated. |
paused | No scoring and no new training until someone resumes it in the UI. A run already in progress finishes. |
The training run’s iteration_count and best_holdout_score are written only when the run completes.
A healthy run can show 0 iterations while its experiments are already recorded, so do not call a run stuck from the counter alone.
reading-model-quality.md (opens in a new tab) covers calibration, likelihood segments, coverage and what to say when the numbers disagree.
output_person_property from posthog:autoresearch-retrieve. A derived name includes the target and the horizon (predicted_p_<target>_<horizon>d), and templates use their own prefix, so two models on one target do not overwrite each other.agent_model and agent_reasoning_effort. Null uses the default, Claude Opus 5.5 at medium effort, which costs about twice what Claude Sonnet 5.5 costs per run. effective_agent_model on posthog:autoresearch-retrieve shows what the next run uses, and posthog:autoresearch-partial-update changes it. An unknown model or an effort the model does not support returns 400 with the valid choices. posthog:autoresearch-training-runs-list shows the model each run used.An agent outside PostHog (on a laptop, for example) can train a model for an existing pipeline.
It opens a run with posthog:autoresearch-training-runs-create, records each experiment with posthog:autoresearch-training-runs-iterations-create, uploads its bundle with posthog:autoresearch-training-runs-artifacts-upload-create, and finishes with posthog:autoresearch-training-runs-complete-create.
It pulls training data with posthog:execute-sql, because posthog:autoresearch-materialize-features writes only into a PostHog sandbox.
Read posthog:autoresearch-training-runs-history first to reuse what earlier runs on the same target learned.
The iteration tool’s description is the contract for valid feature SQL: read it in full before the first iteration.
Use PostHog Autoresearch, agent-driven predictive models: ask "who will do X in the next N days?", let an agent train a model, then score people daily into a person property and `autoresearch_prediction` events. Use when a user wants to predict churn, activity, return, feature adoption, conversion or any event or action per person; create or validate a model from a template; start training or score now; read model quality (holdout vs realized AUC, lift, calibration, likelihood segments, coverage); steer training with suggestions; act on predictions with cohorts, feature flags, workflows or SQL; or diagnose a model that fails to train, scores everyone the same, or stops scoring. Trigger on "autoresearch", "predictive model", "propensity score", "churn prediction", "likely to convert", "who will do X", "predicted_p_", "autoresearch_prediction", "realized AUC", "champion model".
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 8 November 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.4 files · 33 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 181.
Documentation the agent loads on demand, rather than up front.