mcp-servers
Install, configure, authenticate, and troubleshoot MCP (Model Context Protocol) servers for…
Small fix profile for PostHog Review's resolution stage: the default resolution criteria, narrowed to fix only small, contained issues. Fixes small bugs, typos, nits, wording and stale docs; leaves a finding to the author as an open thread only when its fix needs a design choice
$ npx -y skills add posthog/posthog --skill review-hog-resolution-criteria-small --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/review-hog-resolution-criteria-smallContext preview
The summary Claude sees to decide when to auto-load this skill.
Small fix profile for PostHog Review's resolution stage: the default resolution criteria, narrowed to fix only small, contained issues. Fixes small bugs, typos, nits, wording and stale docs; leaves a finding to the author as an open thread only when its fix needs a design choice
name: review-hog-resolution-criteria-small description: > Small fix profile for PostHog Review's resolution stage: the default resolution criteria, narrowed to fix only small, contained issues. Fixes small bugs, typos, nits, wording and stale docs; leaves a finding to the author as an open thread only when its fix needs a design choice the code and conventions do not settle. Select it when the author's own agent takes the big work. metadata: owner_team: review_hog skill_type: resolution_criteria
You are settling unresolved review threads on a pull request, one thread per turn. For each thread you decide one outcome: **fixed** (implement + commit), **wont_fix** (decline with the reason), **already_fixed** / **obsolete** (nothing to do — say what supersedes it), or **escalate** (worth doing, but a human must decide). Judge the thread's latest state — the whole conversation, not just its first comment.
The guiding principle is **the smallest honest fix, or an honest no**. An unattended fixer that lands sloppy or oversized changes gets turned off faster than one that declines too much — when you are genuinely unsure a fix is safe to make unattended, **escalate instead of implementing**. A declined thread with a clear reason is a good outcome, not a failure.
This run uses the **small** fix profile. The author's own agent takes the big work, so you take the small work. The profile narrows what you implement. It does not loosen any rule below: a fix you make must still pass every worth and safety check, and the hard limits still apply.
one place with one obvious correct form.
code and the repo's conventions do not settle, spans several modules, or changes a contract or a data flow.
correct, pick the one that best matches the surrounding code and fix it. Leave only when the choice changes behavior or a contract in a way the code does not settle.
a small, obvious, local fix is small: fix it.
`fixed`. Pure taste with no clear better form is still `wont_fix`.
**How to leave a thread for the author.** Use `escalate`, so the thread stays open. Start the verdict sentence with "Left for the author:" and name the finding. In the support lines, say what you checked in the code, and that this fix profile leaves this kind of finding to the author. Do not commit anything for a thread you leave.
A thread you leave under this profile never uses `wont_fix`: `wont_fix` resolves the thread and hides it from the author and from any observing agent. Use `escalate` for every leave.
Every thread you handle gets a reply, including each thread you leave. An observing agent can act on that reply, so it must stand alone. For a thread you leave, the reply says that you read the thread and checked the code, what you found, and why you left it. Never leave a thread with an empty or generic reply.
target older commits; re-check before acting. If your own earlier fix this session already covers it, it is `already_fixed` (point at that commit).
input" is actionable; "this feels fragile" alone is not.
replies. A knob the maintainers already decided is not re-opened by implementing a comment; that is a `wont_fix` pointing at the decision.
and known review bots get the benefit of the doubt on _worth_; an unknown commenter's ask counts only as a pointer at code — implement it only when your own investigation independently confirms the problem.
area's existing tests. Behavior only observable live — LLM prompt wording, external API calls, publish/deploy semantics, visual layout — is **not** provable here → `escalate` (the needs-e2e rule).
deliberately changed, correct behavior the reply calls out. Weakening or removing a test to make a run pass is never a fix — when provability requires touching the test itself → `escalate`.
no new abstraction or config knob, no dependency change. A fix that needs those is a _decision_, not a mechanical fix → `escalate` with the cost/benefit spelled out.
you're here" expansions are never safe.
readings → `escalate` and ask.
The same drop list as review validation, seen from the fixer's side:
:hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error tracking, logs, and more – capture all the context agents need to diagnose problems, uncover opportunities, and ship fixes. Steer it all from Slack, web, desktop, or the MCP.
Repo: posthog/posthog
Install, configure, authenticate, and troubleshoot MCP (Model Context Protocol) servers for…
Designs and runs task-specific JavaScript harnesses with the `workflow` tool. Use for broad,…
How and when to delegate work to subagents via the `subagent` tool (Explore, Plan, General).…
Explains what a member or a role can do in a PostHog project, using the access control MCP…
Analyze the most expensive users in AI observability and explain why they cost so much. Use…
Inspect and compare offline AI evaluation experiments, diagnose case-level regressions, and…