posthog
Skill159 starsChanged 31 days agoMITView on GitHub
Capture PostHog events, update person properties, read persons, inspect feature flags, test flag evaluation, and run bounded analytics queries through gateway-managed secrets.
- Reads credentials
6 other projects use a version of this.
Adopted by
Most recently taken up by
- thensls/nsls-builder-toolkittheir own version, first seen Nov 8, 2026
- therapys/dotagentstheir own version, first seen Nov 1, 2026
- openai/pluginstheir own version, first seen Oct 13, 2026
- alexjmiller5/agent-config-publictheir own version, first seen Oct 2, 2026
- miketromba/skillstheir own version, first seen Apr 8, 2026
- alanalvestech/hitanktheir own version, first seen Mar 5, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- openai/plugins★ 7.8ksame name
- alanalvestech/hitank★ 38same name
- therapys/dotagents★ 8same name
- miketromba/skills★ 2same name
- alexjmiller5/agent-config-public★ 0same name
- thensls/nsls-builder-toolkit★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository93 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/llm-wiki/templates/AGENTS.mdAGENTS.md
- templates/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- 1passwordSkill
- agentic-tpmSkill
- airtableSkill
- alexaSkill
- apple-calendarSkill
- apple-musicSkill
- apple-passwordsSkill
- bahnSkill
- blinkSkill
- bookingSkill
- brand-voiceSkill
- byd-batterySkill
- channel-catchupSkill
- code-reviewSkill
- code-simplificationSkill
- current-timeSkill
- daily-briefSkill
- diagramSkill
- discordSkill
- distil-pii-redactorSkill
- docxSkill
- download-platform-invoicesSkill
- excalidrawSkill
- fastbillSkill
- fax-sendSkill
- feature-planningSkill
- firecrawlSkill
- froniusSkill
- ga4Skill
- gh-issuesSkill
- github-pr-workflowSkill
- gogSkill
- google-adsSkill
- google-workspaceSkill
- gwsSkill
- handoff-linksSkill
- hermes3000-writingSkill
- hetzner-cloudSkill
- hetzner-dnsSkill
- hetzner-storage-boxSkill
- heygenSkill
- homematicSkill
- hubspotSkill
- hueSkill
- human-distillSkill
- hybridclaw-helpSkill
- image-generationSkill
- inbox-cleanupSkill
- iss-positionSkill
- langfuseSkill
- lexware-officeSkill
- llm-wikiSkill
- mailchimpSkill
- manim-videoSkill
- microsoft-365Skill
- miroSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 9 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 84
Use this skill for PostHog product analytics work: event capture, person property reads and updates, feature flag inspection, feature flag …
- Very specific: line 91
update person properties with a guarded $identify capture event
- Distinctive: line 94
test how a feature flag evaluates for a distinct id without changing the flag
- Distinctive: line 95
run private query API requests for HogQL, trends, funnels, retention, and other PostHog query payloads
- Very specific: line 116
Never paste either token into chat or helper arguments.
- Very specific: line 147
Use the right regional hosts.
- Very specific: line 155
Use plan for natural-language requests when you need to classify read vs write risk before executing.
- Distinctive: line 157
Run the bundled helper for live PostHog calls so request construction, gateway submission, credentials, and error interpretation stay in …
- Very specific: line 162
Use http-request only when you need to inspect the generated request or when a runtime exposes the built-in http_request tool but cannot …
- Distinctive: line 172
Keep capture payloads small and business-relevant.
- Distinctive: line 175
If a live PostHog call returns 401 or 403, stop after that first failure and ask the operator to verify the matching stored credential and …
- Very specific: line 177
If a private response is paginated and includes next, call the next URL only when the user needs another page.
- Distinctive: line 220
Update person properties after explicit approval:
- Distinctive: line 242
Read feature flags and test evaluation:
- Distinctive: line 255
Run an analytics query:
- Very specific: line 262
Use --query-json for PostHog query payloads beyond HogQL:
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PostHog
Use this skill for PostHog product analytics work: event capture, person property reads and updates, feature flag inspection, feature flag test evaluation, and bounded insight/HogQL queries.
Scope
- capture a single product analytics event through the public capture endpoint
- update person properties with a guarded
$identifycapture event - list and retrieve persons through the private persons API
- list and retrieve feature flag metadata
- test how a feature flag evaluates for a distinct id without changing the flag
- run private query API requests for HogQL, trends, funnels, retention, and other PostHog query payloads
- classify common PostHog auth, permission, validation, and rate-limit errors
- measure skill run cost through normal HybridClaw
UsageTotals
Out Of Scope
- creating, editing, rolling out, or deleting feature flags
- deleting persons or bulk deleting data
- bulk historical imports or migration-sized batch capture
- exporting large event/person tables on a schedule
- bypassing PostHog region, project, environment, or credential configuration
Credential Rules
PostHog has two credential rails:
POSTHOG_PROJECT_TOKENis the public project token used in capture payloads.POSTHOG_PERSONAL_API_KEYis a private bearer credential used for persons, feature flags, and query endpoints.
Never paste either token into chat or helper arguments. The helper emits
<secret:POSTHOG_PROJECT_TOKEN> inside capture JSON and
bearerSecretName: "POSTHOG_PERSONAL_API_KEY" for private APIs, so the gateway
injects credentials server-side.
Recommended setup order:
- Browser admin: open the active HybridClaw admin URL ending in
/admin/secretsand setPOSTHOG_PROJECT_TOKENandPOSTHOG_PERSONAL_API_KEY. - Browser
/chator TUI fallback:
/secret set POSTHOG_PROJECT_TOKEN <project-token>
/secret set POSTHOG_PERSONAL_API_KEY <personal-api-key>
/env set POSTHOG_HOST "https://us.posthog.com"
/env set POSTHOG_INGEST_HOST "https://us.i.posthog.com"
/env set POSTHOG_PROJECT_ID "12345"
/env set POSTHOG_ENVIRONMENT_ID "12345"- Local console fallback:
hybridclaw secret set POSTHOG_PROJECT_TOKEN "<project-token>"
hybridclaw secret set POSTHOG_PERSONAL_API_KEY "<personal-api-key>"
hybridclaw env set POSTHOG_HOST "https://us.posthog.com"
hybridclaw env set POSTHOG_INGEST_HOST "https://us.i.posthog.com"
hybridclaw env set POSTHOG_PROJECT_ID "12345"
hybridclaw env set POSTHOG_ENVIRONMENT_ID "12345"Use the right regional hosts. For PostHog US Cloud, private API calls use
https://us.posthog.com and capture calls use https://us.i.posthog.com. For
EU Cloud, use https://eu.posthog.com and https://eu.i.posthog.com. For
self-hosted deployments, use the self-hosted base URL for both when that is how
the instance is exposed.
Default Workflow
- Use
planfor natural-language requests when you need to classify read vs write risk before executing. - Run the bundled helper for live PostHog calls so request construction,
gateway submission, credentials, and error interpretation stay in one place:
node skills/posthog/posthog.cjs --format json run ... - Use
http-requestonly when you need to inspect the generated request or when a runtime exposes the built-inhttp_requesttool but cannot run the helper against the gateway directly:node skills/posthog/posthog.cjs --format json http-request ... - Pass only the emitted
httpRequestobject to the built-inhttp_requesttool in that fallback path. Do not handcraft PostHog API calls from memory. - For amber operations, run
approval-planfirst, get explicit operator confirmation, then rerun the exact helper command with--operator-grant. - Keep capture payloads small and business-relevant. Do not send passwords, access tokens, full message bodies, contracts, or raw support transcripts as event/person properties.
- If a live PostHog call returns 401 or 403, stop after that first failure and ask the operator to verify the matching stored credential and scopes.
- If a private response is paginated and includes
next, call the next URL only when the user needs another page.
Command Contract
Inspect the helper surface:
node skills/posthog/posthog.cjs --helpPlan a request without contacting PostHog:
node skills/posthog/posthog.cjs --format json plan "Show active flags for checkout"
node skills/posthog/posthog.cjs --format json plan "Capture a trial_started event for user_123"Build an approval plan for a capture write:
node skills/posthog/posthog.cjs --format json approval-plan capture-event \
--event trial_started \
--distinct-id user_123 \
--properties-json '{"plan":"pro"}'Capture a single event after explicit approval:
node skills/posthog/posthog.cjs --format json run capture-event \
--event trial_started \
--distinct-id user_123 \
--properties-json '{"plan":"pro"}' \
--operator-grant
node skills/posthog/posthog.cjs --format json http-request capture-event \
--event trial_started \
--distinct-id user_123 \
--properties-json '{"plan":"pro"}' \
--operator-grantUpdate person properties after explicit approval:
node skills/posthog/posthog.cjs --format json http-request identify-person \
--distinct-id user_123 \
--set-json '{"company":"Acme GmbH","plan":"pro"}' \
--operator-grantRead persons:
node skills/posthog/posthog.cjs --format json run list-persons \
--environment-id 12345 \
--search acme \
--limit 50
node skills/posthog/posthog.cjs --format json http-request get-person \
--environment-id 12345 \
--person-id 018f6c8f-...Read feature flags and test evaluation:
node skills/posthog/posthog.cjs --format json http-request list-feature-flags
node skills/posthog/posthog.cjs --format json http-request get-feature-flag \
--flag-id 42
node skills/posthog/posthog.cjs --format json http-request test-feature-flag \
--flag-id 42 \
--distinct-id user_123Run an analytics query:
node skills/posthog/posthog.cjs --format json http-request query \
--hogql "select event, count() from events where timestamp > now() - interval 7 day group by event order by count() desc limit 10"Use --query-json for PostHog query payloads beyond HogQL:
node skills/posthog/posthog.cjs --format json http-request query \
--query-json '{"kind":"TrendsQuery","series":[{"kind":"EventsNode","event":"$pageview"}]}'Interpret a saved http_request error:
node skills/posthog/posthog.cjs --format json explain-error --payload-file /tmp/posthog-error.jsonDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

