Databricks Zerobus Ingest
databricks/databricks-agent-skills
Build Zerobus Ingest clients for near real-time data ingestion into Databricks Delta tables via gRPC.
Guide for adding a new RPC to personhog-replica and personhog-router.
$ npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PostHog/posthog-foss adding-personhog-rpc --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/adding-personhog-rpc .claude/skills/adding-personhog-rpc && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "adding-personhog-rpc" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-personhog-rpc into .claude/skills/adding-personhog-rpc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-personhog-rpc", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-personhog-rpcType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PostHog/posthog-foss adding-personhog-rpc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/adding-personhog-rpc .agents/skills/adding-personhog-rpc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "adding-personhog-rpc" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-personhog-rpc into .agents/skills/adding-personhog-rpc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-personhog-rpc", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PostHog/posthog-foss adding-personhog-rpc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/adding-personhog-rpc .cursor/skills/adding-personhog-rpc && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "adding-personhog-rpc" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-personhog-rpc into .cursor/skills/adding-personhog-rpc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-personhog-rpc", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PostHog/posthog-foss.git --path .agents/skills/adding-personhog-rpc--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PostHog/posthog-foss adding-personhog-rpc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/adding-personhog-rpc .gemini/skills/adding-personhog-rpc && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "adding-personhog-rpc" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-personhog-rpc into .gemini/skills/adding-personhog-rpc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-personhog-rpc", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PostHog/posthog-foss adding-personhog-rpcInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/adding-personhog-rpc .github/skills/adding-personhog-rpc && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "adding-personhog-rpc" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-personhog-rpc into .github/skills/adding-personhog-rpc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-personhog-rpc", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PostHog/posthog-foss adding-personhog-rpc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PostHog/posthog-foss.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/adding-personhog-rpc .opencode/skills/adding-personhog-rpc && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "adding-personhog-rpc" agent skill from https://github.com/PostHog/posthog-foss/tree/master/.agents/skills/adding-personhog-rpc into .opencode/skills/adding-personhog-rpc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "adding-personhog-rpc", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
adding-personhog-rpcGuide for adding a new RPC to personhog-replica and personhog-router.
Adding Personhog Rpc is an agent skill from PostHog/posthog-foss, published by the product's own GitHub organization. Guide for adding a new RPC to personhog-replica and personhog-router. Covers eligibility checks, proto definition, code generation for Python and Node.js clients, Rust implementation (storage trait, postgres queries, service handler, router wiring), and index compatibility validation. Use when adding a new gRPC endpoint to personhog, migrating a Django ORM query to personhog, or extending the personhog service API.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/database-indexes.md` and `references/proto-conventions.md`).
It sits in Backend & APIs, covering gRPC and Protobuf. It works with Rust, Python, Node.js and PostHog. The repository describes itself as: PostHog FOSS is a read-only mirror of PostHog, with all proprietary code removed. NOTE: This repo is synced automatically from the main PostHog repo. Please raise any issues and… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 2c48221. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargopnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Adding Personhog Rpc loads about 2.1k tokens when it runs, and up to ~5.6k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 871 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from PostHog/posthog-foss at commit 2c48221, republished under its MIT licence (© PostHog). 871 words, ~2,147 tokens.
.claude/skills/adding-personhog-rpc/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.This skill walks through adding a new RPC end-to-end: proto definition, code generation, Rust implementation, and client updates.
Personhog serves person, distinct ID, group, group type mapping, cohort membership, and feature flag hash key override data. If the data being accessed doesn't live in one of these tables, this RPC doesn't belong in personhog:
| Table | Data category | Routing |
|---|---|---|
posthog_person | PersonData | Reads: replica (eventual) or leader (strong). Writes: leader |
posthog_persondistinctid | PersonData | Same as person |
posthog_group | NonPersonData | All ops: replica |
posthog_grouptypemapping | NonPersonData | All ops: replica |
posthog_cohortpeople | NonPersonData | All ops: replica |
posthog_featureflaghashkeyoverride | NonPersonData | All ops: replica |
posthog_personoverride | PersonData | Reads/writes follow person routing |
posthog_personlessdistinctid | PersonData | Same as person |
If the table is not listed above, stop — this data should not go through personhog.
Before writing any proto, figure out the SQL query you need. Then validate it against the available indexes — see references/database-indexes.md.
Key questions:
All proto files live in proto/personhog/.
See references/proto-conventions.md for message conventions and a worked example.
proto/personhog/types/v1/<domain>.proto (person.proto, group.proto, cohort.proto, feature_flag.proto, or common.proto)proto/personhog/service/v1/service.proto (the public API clients call)proto/personhog/replica/v1/replica.proto (the internal API the router delegates to)proto/personhog/leader/v1/leader.proto (only if this is a person-data write routed to leader)The service and replica protos must both declare the RPC with identical signature. The router delegates from service → replica (or leader) transparently.
A leader-path request can be delivered more than once: clients retry UNAVAILABLE after ambiguous failures,
and the router internally replays fence- and transport-bounced requests.
Every leader RPC must therefore converge under redelivery —
read-only lookups, merges that re-apply to the same state, tombstone-style deletes, max-merge version floors —
or carry explicit operation identity so duplicates can be detected.
Note the precise contract: a convergent merge still loses to interleaving
(a replay can clobber a same-field write another caller made in between);
that residual is accepted today and closes with operation identity (see personhog-leader's README).
An RPC that neither converges nor carries identity (an unguarded increment, an append) must not be added.
If the operation you need fits neither shape, redesign it to carry an idempotency key before defining the proto.
bin/generate_personhog_proto.shThen update three files:
posthog/personhog_client/proto/__init__.py — add re-exports for new request/response message typesposthog/personhog_client/client.py — add a wrapper method matching the pattern of existing methodsposthog/personhog_client/fake_client.py — implement the method for test usecd nodejs && pnpm run generate:personhog-protoThen update:
nodejs/src/common/personhog/groups.ts or persons.ts — add a wrapper method to the
matching operations class (PersonHogGroupOperations / PersonHogPersonOperations),
following the pattern of existing methods. client.ts only constructs and exposes
these operation objects; it holds no RPC wrappers itself.nodejs/src/common/personhog/client.test.ts — add a default stub to SERVICE_DEFAULTS for the new RPCNo generation step needed — tonic regenerates on cargo build.
But you must implement the RPC (next step), or the build will fail.
The compiler guides you — once the proto is defined, cargo build errors tell you exactly which trait methods are missing.
rust/personhog-replica/src/storage/traits/<domain>.rsrust/personhog-replica/src/storage/postgres/<domain>.rssqlx::query_as! or sqlx::query! macrosDB_QUERY_DURATION and DB_ROWS_RETURNED metricsself.replica_pool for reads, self.primary_pool for writesrust/personhog-replica/tests/storage_tests.rsrust/personhog-replica/src/service/mod.rsStatus codesrust/personhog-replica/tests/service_tests.rsThe router forwards request bytes without decoding them, so a new RPC needs no handler there.
KNOWN_METHODS in rust/personhog-router/src/proxy.rs, keeping the list sortedproxy.rs; everything else forwards to a replicaknown_methods_is_sorted and known_methods_matches_service_proto in the same file fail until the list matches service.protoPersonHogService mock that implements the generated trait, including the ones outside personhog (rust/personhog-router/tests/common/mod.rs, rust/property-defs-rs/tests/); tonic traits have no default methodsUse rstest parameterized tests where multiple variations of the same behavior are being tested.
cargo build -p personhog-proto
cargo build -p personhog-replica
cargo build -p personhog-router
cargo test -p personhog-replica
cargo test -p personhog-routertypes/v1/<domain>.protoservice.proto and replica.proto (and leader.proto if needed)proto/__init__.py updated, client.py method added, fake_client.py updatedclient.test.ts SERVICE_DEFAULTS updatedcargo build and cargo test pass for all three crates© PostHog, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .agents/skills/adding-personhog-rpc of PostHog/posthog-foss.
Open the folder on GitHubat commit 2c48221
Adding Personhog Rpc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Adding Personhog Rpc this skillPostHog/posthog-foss | 721 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Databricks Zerobus Ingestdatabricks/databricks-agent-skills | 345 | — | ~3.1k | Automated safety check: Pass | Custom licence | |
| Doca Flow Grpc ServerNVIDIA/skills | 3.5k | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Maintain Dynamic PluginsNVIDIA/NeMo-Relay | 190 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Regenerate Grpc StubsGetBindu/Bindu | 10k | — | ~810 | Automated safety check: Pass | Custom licence | |
| Spider Kingaoyunyang/spider-king-skill | 507 | — | ~7.3k | Automated safety check: Pass | MIT |
databricks/databricks-agent-skills
Build Zerobus Ingest clients for near real-time data ingestion into Databricks Delta tables via gRPC.
NVIDIA/skills
PLAINTEXT-ONLY: the shipped docaflowgrpc server uses grpc::InsecureServerCredentials() with NO TLS / mTLS / token-auth knob on the binary — transport security must come from external infrastructure…
NVIDIA/NeMo-Relay
Change NeMo Relay dynamic plugin loaders, manifests, native ABI, gRPC worker protocol, or Python worker SDK.
GetBindu/Bindu
Regenerate Python + TypeScript gRPC stubs after editing proto files.
aoyunyang/spider-king-skill
Pure-web protocol reverse skill: turn hostile browser clients into browser-free Python collectors.
apache/skywalking-nodejs
Compile / build / type-check the skywalking-nodejs agent. An agent skill from apache/skywalking-nodejs.
PostHog/posthog-foss
Author useful, low-noise log alerts on services in a PostHog project.
PostHog/posthog-foss
Operating procedure for the conflict-autoresolver agent: sweep open PostHog/posthog PRs that conflict with master, resolve the trivial conflicts (generated artifacts deterministically, source…
PostHog/posthog-foss
Help users debug PostHog Error Tracking stack-trace symbolication for any supported platform — JavaScript/TypeScript web, React Native (Hermes), Android (Proguard / R8), or iOS / macOS (dSYM).
PostHog/posthog-foss
Investigates distributed application performance using PostHog APM (OpenTelemetry span) data via MCP.
PostHog/posthog-foss
Debug and inspect LLM/AI agent traces using PostHog's MCP tools.
PostHog/posthog-foss
Diagnose why a product metric changed (dropped, spiked, or plateaued) by orchestrating breakdowns, actors, paths, lifecycle, retention, and annotations queries.
Categories
Guide for adding a new RPC to personhog-replica and personhog-router. Adding Personhog Rpc is an agent skill from PostHog/posthog-foss, published by the product's own GitHub organization. Guide for adding a new RPC to personhog-replica and personhog-router.
Adding Personhog Rpc fits situations like: adding a new gRPC endpoint to personhog; migrating a Django ORM query to personhog; extending the personhog service API.
Run `npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a claude-code`. Or copy the skill folder (.agents/skills/adding-personhog-rpc in PostHog/posthog-foss) into .claude/skills/adding-personhog-rpc in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a codex`. Or copy the skill folder (.agents/skills/adding-personhog-rpc in PostHog/posthog-foss) into .agents/skills/adding-personhog-rpc in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PostHog/posthog-foss --skill adding-personhog-rpc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/adding-personhog-rpc, .gemini/skills/adding-personhog-rpc, .github/skills/adding-personhog-rpc and .opencode/skills/adding-personhog-rpc in your project.
Going by SKILL.md and its folder, Adding Personhog Rpc needs the command-line tools its instructions call (cargo and pnpm). Our summary lists: Python 3; Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Adding Personhog Rpc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Adding Personhog Rpc: Databricks Zerobus Ingest (databricks/databricks-agent-skills, 345 stars), Doca Flow Grpc Server (NVIDIA/skills, 3.5k stars), Maintain Dynamic Plugins (NVIDIA/NeMo-Relay, 190 stars) and Regenerate Grpc Stubs (GetBindu/Bindu, 10k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PostHog (a GitHub organization, an official publisher) maintains it in PostHog/posthog-foss, which has 721 GitHub stars. The repository holds 213 skills in this directory. The repository was last updated on October 7, 2026.
Source: PostHog/posthog-foss on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.