review-hog-authoring

tarafından posthog

How to author custom ReviewHog skills — the review perspectives, blind-spot checks, and validation criteria that drive ReviewHog's automated PR reviews. Use…

npx skills add https://github.com/posthog/ai-plugin --skill review-hog-authoring

Authoring ReviewHog skills

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.

KindName contractCardinality per userCanonical example
Review perspectivereview-hog-perspective-<slug>Multi-enable, at least one stays onreview-hog-perspective-logic-correctness
Blind-spot checkreview-hog-blind-spots-<slug>Exactly one active; selecting swapsreview-hog-blind-spots-general
Validation criteriareview-hog-validation-<slug>Exactly one active; selecting swapsreview-hog-validation-criteria

Authoring flow

  1. Ground yourself. Using the PostHog MCP skill tools, 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).
  2. Interview the user. Ask what the skill should focus on, and offer a few concrete directions the current set doesn't cover — grounded in what you saw in step 1 and, when useful, in the project itself. Don't start writing until the direction is picked.
  3. Draft the body following the per-kind guidance below. Keep it a focused instruction set the review agent can apply to one chunk in one pass — not an essay.
  4. Create the skill yourself with 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.
  5. Tell the user how to activate it. A custom skill starts inactive for them:
    • Perspective — toggle it on under Inbox → Code review → Perspectives (it appears disabled until they enable it; at least one perspective must stay on).
    • Blind-spot check / validation criteria — select it under the matching section; exactly one runs at a time, so selecting it swaps out the current one for their reviews only. Reviews pin skill versions when a run starts, so an edit mid-review applies from the next run.

Writing a review perspective

The body instructs one specialist review pass over one PR chunk. Match the canonical logic-correctness skill's shape:

  • The lane — one sentence on what this lens is responsible for; report everything in lane and leave the rest to the other perspectives.
  • Hunting grounds — a numbered handful of concrete places to look, each a specific check the agent can walk against the chunk ("transaction boundaries that split writes that must land together"), not an abstract virtue ("ensure correctness").
  • Lane boundary — which perspective owns each adjacent concern this lens must leave alone.
  • The finding bar — a publishable finding names the concrete trigger and the concrete consequence; close with a completion criterion ("done when every changed file is flagged or cleared against every hunting ground").

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.

Writing a blind-spot check

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).

Writing validation criteria

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.

posthog tarafından daha fazla skill

managing-experiment-lifecycle
posthog
Deney durumu geçişlerini yönlendirir: başlatma, duraklatma, devam ettirme, sonlandırma, varyantları gönderme, arşivleme, sıfırlama ve çoğaltma. Ön koşulları kapsar,…
official
configuring-experiment-analytics
posthog
Configures the analytics side of a PostHog experiment — exposure criteria (default `$feature_flag_called` vs custom exposure events), primary and secondary…
official
error-tracking-hono
posthog
PostHog hata izleme, Hono için
official
error-tracking-react
posthog
PostHog hata izleme, React için
official
integration-android
posthog
PostHog entegrasyonu, Android uygulamaları için
official
integration-ruby
posthog
Herhangi bir Ruby uygulaması için Ruby SDK kullanan PostHog entegrasyonu
official
tuning-incremental-sync-config
posthog
Bir senkronizasyonun yapılandırması ExternalDataSchema üzerinde bulunur ve external-data-schemas-partial-update aracılığıyla herhangi bir zamanda değiştirilebilir. Çoğu değişiklik yıkıcı değildir (bir sonraki senkronizasyonda etkili olur), ancak birkaçı (sync_type değiştirme, birincil anahtarları değiştirme) senkronize edilmiş verilerin bozulmasını önlemek için dikkatli bir işlem gerektirir.
official
instrument-integration
posthog
PostHog SDK'sini bir uygulamaya eklemek için bu yeteneği kullanın. PostHog'u ilk kez kurarken veya PostHog başlatması gereken PR'leri incelerken kullanın. SDK kurulumu, sağlayıcı yapılandırması ve temel konfigürasyonu kapsar. Herhangi bir framework veya dili destekler.
official