skills/review-hog-authoring/SKILL.md
How to author custom ReviewHog skills — the review perspectives, blind-spot checks, and validation criteria that drive ReviewHog's automated PR reviews. Use when a user wants a new review perspective (a specialist lens on their PRs), a custom blind-spot sweep, or their own validation bar for which findings get published. Trigger on "create a ReviewHog perspective", "custom review perspective", "my own blind-spot check", "custom validation criteria", "tune what ReviewHog publishes".
npx skillsauth add posthog/ai-plugin review-hog-authoringInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
ReviewHog is PostHog's automated PR reviewer. A review splits the PR into chunks, then for each chunk runs every enabled perspective in parallel (independent specialist lenses), a single blind-spot check afterwards (a final sweep conditioned on what the perspectives found), and finally judges every surviving candidate finding against one validation criteria skill — only findings that pass get published to the pull request.
All three kinds are team LLMSkill rows the review agents pull over MCP at run time. PostHog ships
canonicals; this skill is the guide for authoring custom ones. The skill itself is team-level;
whether it runs is a per-user setting in Inbox → Code review.
| Kind | Name contract | Cardinality per user | Canonical example |
| ------------------- | ------------------------------- | ----------------------------------- | ------------------------------------------ |
| Review perspective | review-hog-perspective-<slug> | Multi-enable, at least one stays on | review-hog-perspective-logic-correctness |
| Blind-spot check | review-hog-blind-spots-<slug> | Exactly one active; selecting swaps | review-hog-blind-spots-general |
| Validation criteria | review-hog-validation-<slug> | Exactly one active; selecting swaps | review-hog-validation-criteria |
skill-list the team's review-hog-*
skills and skill-get the canonical of the kind you're authoring (see the table above) — it is
the reference for structure and tone. For a perspective, skim the descriptions of every existing
review-hog-perspective-* so the new lens doesn't re-cover ground an enabled one already owns
(overlap gets deduplicated later, but it wastes review passes).posthog:skill-create — actually create the team LLMSkill
row; never hand the user a body to copy-paste. Pass the exact name per the contract above
(lowercase slug), a one-paragraph description of what the lens/sweep/bar is, and the body.
The name prefix is the whole identity — it is how the Code review tab and the review runs
discover the skill. There is no category parameter on the skill tools and you don't need one:
the backend stamps the review_hog grouping category itself (it only affects grouping on the
Skills page) — do not spend turns trying to set or verify it. Iterate with
posthog:skill-update if the user wants changes. Author fresh — don't skill-duplicate a
canonical to edit: seeded metadata rides along with the copy, and the canonical sync may
overwrite or prune it.The body instructs one specialist review pass over one PR chunk. Match the canonical logic-correctness skill's shape:
The review harness already tells the agent the pipeline mechanics — parallel perspectives, later deduplication, severity levels, the non-test-files rule — so the skill carries only the lens; restating harness rules dilutes it.
The body instructs the final sweep that runs after every enabled perspective finished a chunk. It is conditioned on the covered findings (the prompt lists which perspectives ran and what they found), so the body should say how to use that: the covered findings map where attention already went, and the sweep's value is the negative space — error paths, unhandled inputs, cross-file interactions, assumptions. It is not scoped to one specialty, and an empty result beats padding. A custom sweep narrows or re-weights this hunt (e.g. toward a domain the team keeps getting burned by).
The body defines the keep/drop bar every candidate finding is judged against before publishing. Precision over recall is the house default — a reviewer that raises noise gets muted — so define: what makes a finding real and worth an author's attention (user-affecting correctness, security, data loss, contract breaks, performance), what gets dropped (overengineering, speculation, defensive paranoia, unreachable edges, style), and how to treat genuine uncertainty (default: drop). A custom bar shifts strictness or re-weights concerns; it should still demand evidence from the live codebase, not vibes.
data-ai
Signals scout for PostHog Tasks, the agent work items a project runs. Two lenses: delivery health (runs failing, clustered by repository and error class, and retry storms) every run, and on a slower rotation demand (recurring asks across human-authored tasks that point at a product gap). Skips the scout fleet's own run rows.
devops
Signals scout for the PostHog Conversations (support inbox) product. Watches the `$conversation_*` ticket-lifecycle events for support-delivery regressions — SLA breach-rate steps, first-response latency blowouts, backlog inflow-vs-resolution imbalance, and channel / assignment concentration — and files each dated regression as a report. Complements the per-ticket product-feedback signals the emission pipeline already fires; does not re-surface individual ticket content.
development
Populates and maintains a project's data catalog (semantic layer): canonical metrics, trust marks (certifications) on warehouse tables/views, and reviewed table relationships. Use when asked to set up / seed / bootstrap the data catalog or semantic layer, to catalog a project's metrics, to certify or deprecate data sources, to propose or review table joins, or to work through the proposal review queue. To *use* an existing catalog to answer a business-number question, see querying-posthog-data instead. Trigger terms: data catalog, semantic layer, canonical metric, certify table, deprecate source, relationship proposal, metric drift, review queue.
tools
Investigate logs in a PostHog project: verify a service or deployment is healthy, explain an error spike, triage an incident, or understand what a log stream is saying. Use when the user asks to "check the logs", asks whether a service, deploy, release, or change is working or broke anything, asks why errors are up or what changed, or wants the root cause of failures visible in logs. Routes the logs MCP tools (services overview, pattern mining, before/after pattern diffing, bucketed counts, facets, raw rows) so investigations start from summaries instead of raw rows or hand-written SQL over the logs table.