Official agent skill

Writing Kea Logics

by PostHog in PostHog/posthog

Guide for writing or reviewing PostHog kea logic files (Logic.ts / Logic.tsx).

OfficialCustom licenceAuto-check passedFrontend & Design

Install Writing Kea Logics

skills CLI
$ npx skills add PostHog/posthog --skill writing-kea-logics -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PostHog/posthog writing-kea-logics --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PostHog/posthog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/writing-kea-logics .claude/skills/writing-kea-logics && rm -rf skills-src

Use ~/.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/

Facts

Skill name
writing-kea-logics
GitHub stars
40k
Token cost
~2.3k tokens
SKILL.md length
769 words
Files
12 (incl. references)
Skills in repo
252
Repo updated
First seen
Licence
Custom licence

At a glance

Guide for writing or reviewing PostHog kea logic files (Logic.ts / Logic.tsx).

  • Works in 5 steps: Business logic lives in a logic, not in… → One concept, one source of truth. Pick… → Prefer listeners over kea-subscriptions.… → …
  • Creating a new logic
  • SKILL.md covers Use this skill when, Companion skills (do not…, Core principles and Anatomy at a glance, plus 4 more sections
  • Calls pnpm

What it does

Writing Kea Logics is an agent skill from PostHog/posthog, published by the product's own GitHub organization. Guide for writing or reviewing PostHog kea logic files (Logic.ts / Logic.tsx). Use when creating a new logic, adding actions/reducers/selectors/listeners/loaders/forms/router bindings, choosing between reducer vs selector vs cache, deciding between listeners and kea-subscriptions, wiring React with useValues/useActions/BindLogic, or onboarding to kea conventions. Read keajs.org for upstream API; this skill captures PostHog-specific conventions and idioms.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `references/anti-patterns.md`, `references/connecting-logics.md` and `references/forms.md`).

It sits in Frontend & Design, covering State management and React components. It works with PostHog and React. The repository describes itself as: :hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error…

When your agent uses it

  • Creating a new logic
  • Adding actions/reducers/selectors/listeners/loaders/forms/router bindings
  • Choosing between reducer vs selector vs cache
  • Deciding between listeners and kea-subscriptions

Example prompts

  • “/writing-kea-logics”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Business logic lives in a logic, not in a component.
  2. One concept, one source of truth. Pick exactly one of: action-driven reducer,
  3. Prefer listeners over kea-subscriptions. Subscriptions install a redux
  4. Generated types are the contract. Every logic has an inline generated
  5. Resources that need cleanup go through cache.disposables. See the

What it can do on your machine

Read from SKILL.md and the folder at commit 812e5c6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • keajs.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Writing Kea Logics loads about 2.3k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 123 tokens; SKILL.md has 769 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~123
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~17k

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.

Safety

Auto-check passed

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.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 769 words (~2,328 tokens).

“PostHog uses kea as the state container for the frontend. Almost all non-trivial business logic lives in a *Logic.ts / *Logic.tsx file, not in React. We may be on a kea pre-release ahead of the version the keajs.org docs cover…”

— opening of SKILL.md by PostHog, Custom licence
name
writing-kea-logics

Read the full SKILL.md on GitHub

Files

SKILL.md and 11 other files (references) in .agents/skills/writing-kea-logics of PostHog/posthog.

  • SKILL.md
  • references/anti-patterns.md
  • references/connecting-logics.md
  • references/forms.md
  • references/keyed-logics.md
  • references/loading-data.md
  • references/persisting-state.md
  • references/polling.md
  • references/reacting-to-changes.md
  • references/routing.md
  • references/state-decision.md
  • references/testing.md

Open the folder on GitHubat commit 812e5c6

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in PostHog/posthog, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Writing Kea Logics 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.

Writing Kea Logics compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Writing Kea Logics this skillPostHog/posthog40k—~2.3kAutomated safety check: PassCustom licence
Dify Component Writing Guidelanggenius/dify158k—~626Automated safety check: PassCustom licence
Opik Frontend Patternscomet-ml/opik22k—~1.1kAutomated safety check: PassApache-2.0
Frontendredis/RedisInsight8.9k—~3.2kAutomated safety check: PassCustom licence
Compose Atomslobehub/lobehub83k—~2.6kAutomated safety check: PassCustom licence
Frontend Typescript Rulesshinpr/ai-coding-project-boilerplate233—~1.7kAutomated safety check: PassMIT

Similar skills

  • Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data…

    158k GitHub stars~626 tokensUpdated today
    Frontend & DesignAuto-check passed
  • Sets the conventions for the Opik React frontend: TanStack Query for data, Zustand for shared state, one-way layer imports and a fix for Google Translate crashes.

    22k GitHub stars~1.1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Frontend

    redis/RedisInsight

    Official

    React/Redux frontend development patterns for RedisInsight UI: component folder structure, styled-components, hooks, named exports, barrel files, layout components, and theme usage.

    8.9k GitHub stars~3.2k tokensUpdated 4 days ago
    Frontend & DesignAuto-check passed
  • Compose Atoms

    lobehub/lobehub

    Splits a heavy front-end domain into capability atoms that each host imports separately, sinking state into each atom instead of adding mode or readOnly flags.

    83k GitHub stars~2.6k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Frontend Typescript Rules

    shinpr/ai-coding-project-boilerplate

    Applies React/TypeScript type safety, component design, and state management rules.

    233 GitHub stars~1.7k tokensUpdated 5 days ago
    Frontend & DesignAuto-check passed
  • Dokan Frontend Dev

    getdokan/dokan

    Add or modify Dokan frontend code (React, TypeScript, Vue, Tailwind).

    288 GitHub stars~1.9k tokensUpdated today
    Frontend & DesignAuto-check passed

More from PostHog/posthog

All 252 skills in this repo
  • Authoring Log Alerts

    PostHog/posthog

    Official

    Author useful, low-noise log alerts on services in a PostHog project.

    40k GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Official

    Operating procedure for the conflict-autoresolver agent: sweep open PostHog/posthog PRs that conflict with master, resolve the trivial conflicts (generated artifacts deterministically, source…

    40k GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Official

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

    40k GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Exploring Apm Traces

    PostHog/posthog

    Official

    Investigates distributed application performance using PostHog APM (OpenTelemetry span) data via MCP.

    40k GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Exploring LLM Traces

    PostHog/posthog

    Official

    Debug and inspect LLM/AI agent traces using PostHog's MCP tools.

    40k GitHub stars~4.4k tokensUpdated today
    Auto-check passed
  • Investigate Metric

    PostHog/posthog

    Official

    Diagnose why a product metric changed (dropped, spiked, or plateaued) by orchestrating breakdowns, actors, paths, lifecycle, retention, and annotations queries.

    40k GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Works with

Questions about Writing Kea Logics

What does Writing Kea Logics do?

Guide for writing or reviewing PostHog kea logic files (Logic.ts / Logic.tsx). Writing Kea Logics is an agent skill from PostHog/posthog, published by the product's own GitHub organization.tsx).

When should I use Writing Kea Logics?

Writing Kea Logics fits situations like: creating a new logic; adding actions/reducers/selectors/listeners/loaders/forms/router bindings; choosing between reducer vs selector vs cache; deciding between listeners and kea-subscriptions.

How do I install Writing Kea Logics in Claude Code?

Run `npx skills add PostHog/posthog --skill writing-kea-logics -a claude-code`. Or copy the skill folder (.agents/skills/writing-kea-logics in PostHog/posthog) into .claude/skills/writing-kea-logics in your project. Claude Code loads it when a task matches its description.

How do I install Writing Kea Logics in Codex?

Run `npx skills add PostHog/posthog --skill writing-kea-logics -a codex`. Or copy the skill folder (.agents/skills/writing-kea-logics in PostHog/posthog) into .agents/skills/writing-kea-logics in your project. Codex loads it when a task matches its description.

Can I use Writing Kea Logics in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PostHog/posthog --skill writing-kea-logics -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/writing-kea-logics, .gemini/skills/writing-kea-logics, .github/skills/writing-kea-logics and .opencode/skills/writing-kea-logics in your project.

What does Writing Kea Logics need to run?

Going by SKILL.md and its folder, Writing Kea Logics needs the command-line tools its instructions call (pnpm).

Does Writing Kea Logics access the network?

SKILL.md names 1 domain. As links in the text: keajs.org. This is read from the text; nothing was executed.

Is Writing Kea Logics safe to install?

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.

What licence does Writing Kea Logics use?

Writing Kea Logics has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Writing Kea Logics use?

About 2.3k tokens (SKILL.md is roughly 9.3k 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 14k tokens, read only when the agent opens those files.

What are the alternatives to Writing Kea Logics?

Skills that share tags, products or a category with Writing Kea Logics: Dify Component Writing Guide (langgenius/dify, 158k stars), Opik Frontend Patterns (comet-ml/opik, 22k stars), Frontend (redis/RedisInsight, 8.9k stars) and Compose Atoms (lobehub/lobehub, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Writing Kea Logics?

PostHog (a GitHub organization, an official publisher) maintains it in PostHog/posthog, which has 40,200 GitHub stars. The repository holds 252 skills in this directory. The repository was last updated on October 9, 2026.

Source: PostHog/posthog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.