Omnibus
Skill 148 of 200
Runs once after Self-Driving activation to find one valuable, actionable finding in a project’s existing product and warehouse data.
6 minutes · 1,286 words · 6 sections
Install
npx skills add PostHog/skills --skill signals-scout-first-reportnpx 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.
Run one bounded investigation of this project’s existing data. Publish at most one report that helps the customer take a worthwhile action now. Returning no report is a successful outcome when the evidence does not justify one. Aim to finish within five minutes; the run has a 20-minute ceiling.
Start from the ranked PostHog sources in the First-report project context at the end of the run prompt. Configured sources do not prove usable data, and unlisted sources are not proven empty. Verify a promising unknown with a bounded query. Fetch the full project profile only if missing or stale context blocks an investigation. When warehouse tables are connected, discover relevant tables on demand; a new connection may contain substantial history, and a warehouse-only project is worth investigating.
A handful of isolated observations without useful history usually calls for insufficient_data. Confirm any promising alternative source, then finish with the specific missing evidence. Missing pageviews, identities, sessions, or downstream events in a small sample do not prove broken tracking. Intentional server-side capture or limited instrumentation can explain them. Small samples can establish a directly observed defect, such as failed deliveries with an explicit error, but cannot establish a population-wide conversion or retention regression.
This one-time investigation takes precedence over recurring patrol and watchlist guidance. This scout has no future scheduled run. Do not build watchlists, maintain the fleet, or wait for another scout. Specialist ownership does not restrict this investigation. Give brief progress updates when you check a lead, validate it, or change direction; present unverified leads as questions, without invented completion percentages or time estimates.
Prioritize available sources by their likely usefulness:
This order is a starting point, not a requirement to exhaust each source. Follow the strongest evidence. When a lead looks promising, combine sources to validate it and establish impact: connect an error to logs or traces, measure affected users and outcomes in product analytics, or inspect relevant recordings to understand the user experience. Match users, sessions, trace IDs, and time windows where available; coincident changes alone do not establish causation. Use connected warehouse data when it can establish business impact. A persistent problem can be valuable without a recent anomaly.
Rank evidence of impact ahead of the size of a percentage change. Prefer a directly observed user-facing failure with affected users or worse outcomes over an unexplained volume cliff. When both coexist, investigate the failure; the data gap may limit what you can say about recovery.
An unexplained data pattern is not enough to publish. A stream ending, missing optional metadata, an unusual cohort, or a suggestive property name does not establish a defect. For a tracking or data-quality report, directly verify a broken expectation and a concrete affected workflow: for example, an enabled delivery repeatedly failing, or a required input preventing an active analysis from running. Merely finding a saved chart that uses an event does not prove the event stream is wrong. If the only next step is to identify the source or ask whether the traffic was intentional, record that uncertainty in the close-out and publish nothing. Do not recommend excluding users just because their metadata is unusual.
Stop exploring once one candidate is validated. If the strongest leads do not survive validation, finish without a report instead of expanding into a general instrumentation audit.
Before writing, collect the few facts needed to explain the finding: population, period, measured outcome, denominator, comparison, and a source the customer can inspect.
Search for an existing report covering the candidate before emitting. A useful next step can be a targeted reproduction, an operational decision, or a product decision; a code fix and GitHub access are not prerequisites. Respect the customer’s implementation settings.
Keep the report body to 250 words, including its table. Use this structure:
Include only facts needed for this one finding. Omit secondary discoveries, imagined business losses, and an account of the investigation. Check the exact title and body against the evidence before publishing: no universal failure claim when successes exist, no borrowed statistic from another population, and no follow-up beyond the available history. Remove unsupported claims; a caveat later in the report does not repair them. If removing them leaves no worthwhile finding, publish nothing. The first saved report is already visible to the customer.
Always return the harness’s structured close-out, including when no report was created. Prose alone leaves the customer’s investigation incomplete.
report_created: the report tool returned a persisted report. The server checks visibility before showing success.insufficient_data: observations or history cannot support a reliable finding; name the missing evidence in missing_data.no_actionable_finding: you completed the investigation with enough data, but no finding met the quality threshold.incomplete: access, failed queries, or the time budget prevented a conclusion. Do not describe these as insufficient customer data.For example, an insufficient-data close-out has this shape. Replace the text and products with what you actually checked, and choose the outcome that matches the investigation:
{
"summary": "Recorded activity is too sparse to validate a useful finding. No report was created.",
"first_report_result": {
"outcome": "insufficient_data",
"checked_products": ["product_analytics"],
"missing_data": ["More observations of the entry step and subsequent outcomes over comparable periods"]
}
}Keep the close-out factual and concise. Do not emit a placeholder report to explain an empty result.
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.