What problem does it solve?
Adding a new RPC to PostHog's personhog service spans proto definitions, Python and Node.js client generation, and Rust implementation across replica and router crates, and missing any step breaks the build or routing.
Core Features & Use Cases
- Eligibility and index validation: Checks whether the target table belongs in personhog and whether the query matches an existing index before any code is written.
- End-to-end implementation workflow: Walks through proto message and service definitions, client stub generation for Python and Node.js, and Rust storage, service, and router layers.
- Idempotency enforcement: Requires leader-path RPCs to be safe under at-least-once delivery via convergent operations or explicit operation identity.
- Use Case: When migrating a Django ORM query on posthog_person to personhog, follow the checklist to define the proto, generate clients, implement the Rust handler, and verify with cargo build and test.
Quick Start
Use the adding-personhog-rpc skill to add a new GetPersonCount RPC to the personhog service end to end.