Quill Code
PostHog/code
Edit the @posthog/quill design system locally and consume the change in this repo (posthog-code) before it is published to npm.
Edit the @posthog/quill design system locally and consume the change in products/desktop before it is published to npm.
$ npx skills add PostHog/posthog-foss --skill quill-code -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PostHog/posthog-foss quill-code --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/products/desktop/.claude/skills/quill-code .claude/skills/quill-code && 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 "quill-code" agent skill from https://github.com/PostHog/posthog-foss/tree/master/products/desktop/.claude/skills/quill-code into .claude/skills/quill-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quill-code", 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/products/desktop/.claude/skills/quill-codeType 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 quill-code -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PostHog/posthog-foss quill-code --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/products/desktop/.claude/skills/quill-code .agents/skills/quill-code && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "quill-code" agent skill from https://github.com/PostHog/posthog-foss/tree/master/products/desktop/.claude/skills/quill-code into .agents/skills/quill-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quill-code", 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 quill-code -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PostHog/posthog-foss quill-code --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/products/desktop/.claude/skills/quill-code .cursor/skills/quill-code && 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 "quill-code" agent skill from https://github.com/PostHog/posthog-foss/tree/master/products/desktop/.claude/skills/quill-code into .cursor/skills/quill-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quill-code", 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 products/desktop/.claude/skills/quill-code--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 quill-code -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PostHog/posthog-foss quill-code --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/products/desktop/.claude/skills/quill-code .gemini/skills/quill-code && 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 "quill-code" agent skill from https://github.com/PostHog/posthog-foss/tree/master/products/desktop/.claude/skills/quill-code into .gemini/skills/quill-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quill-code", 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 quill-codeInstalls 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 quill-code -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/products/desktop/.claude/skills/quill-code .github/skills/quill-code && 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 "quill-code" agent skill from https://github.com/PostHog/posthog-foss/tree/master/products/desktop/.claude/skills/quill-code into .github/skills/quill-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quill-code", 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 quill-code -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 quill-code --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/products/desktop/.claude/skills/quill-code .opencode/skills/quill-code && 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 "quill-code" agent skill from https://github.com/PostHog/posthog-foss/tree/master/products/desktop/.claude/skills/quill-code into .opencode/skills/quill-code/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "quill-code", 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.
quill-codeEdit the @posthog/quill design system locally and consume the change in products/desktop before it is published to npm.
Quill Code is an agent skill from PostHog/posthog-foss, published by the product's own GitHub organization. Edit the @posthog/quill design system locally and consume the change in products/desktop before it is published to npm. Use when changing quill components/primitives/tokens, when a quill change must be tested inside the Code app, or when the user mentions quill, the design system, the .local-quill tarball, or the @posthog/quill pnpm override.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Design systems. It works with PostHog, pnpm and npm. 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.
3 steps, taken from the first numbered list 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:
pnpmnpmgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, npm and git, 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.
Quill Code loads about 1.3k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 444 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). 444 words, ~1,281 tokens.
.claude/skills/quill-code/SKILL.md (or your agent's skills folder).@posthog/quill's source lives in this monorepo at packages/quill (repo root, two
levels up from products/desktop). Desktop still consumes the published npm package
via its nested workspace catalog — products/desktop is excluded from the root pnpm
workspace, so workspace: linking cannot reach it. To test an unpublished quill change
here, you build quill in-repo, pack it to a tarball, and point a pnpm overrides entry
at that tarball. This is a temporary local-dev state — revert before merging (see
below).
All commands below run from products/desktop/. Building quill uses the root
workspace's install, so run pnpm install at the monorepo root once first.
packages/quill (from the monorepo root) is the workspace
(@posthog/quill-workspace). It contains sub-packages, each a layer of the design
system:
packages/primitives/src — base components (Card, Badge, Button, Progress, …)packages/components/src — composed components (DataTable, DateTimePicker, Metric)packages/blocks/src — product-level blocks (e.g. ExperimentCard). Add the
file here and export it from packages/blocks/src/index.ts.packages/quill/src — the aggregate that re-exports all layers as @posthog/quill.A new export in any sub-package flows to @posthog/quill automatically on build.
Edit/add the component in the right sub-package (above) and export it from that
package's src/index.ts.
Re-sync into products/desktop manually — build → pack → point the override → reinstall:
# From products/desktop/
DESKTOP_ROOT="$PWD"
QUILL_DIR="${QUILL_DIR:-../../packages/quill/packages/quill}"
# a. Build the WHOLE quill workspace (two levels up from the aggregate), so the
# sub-packages rebuild BEFORE the aggregate bundles them.
( cd "$QUILL_DIR/../.." && pnpm build )
# b. Pack into .local-quill/ under a UNIQUE filename. pnpm pins a tarball by
# integrity, so a stable name caches stale across re-syncs — drop old local
# tarballs first, then rename the packed file to a unique local name.
# (Anchor on $DESKTOP_ROOT, not `git rev-parse --show-toplevel`: the git
# toplevel is the monorepo root, not this workspace.)
rm -f .local-quill/posthog-quill-local-*.tgz
( cd "$QUILL_DIR" && npm pack --pack-destination "$DESKTOP_ROOT/.local-quill" )
mv .local-quill/posthog-quill-[0-9]*.tgz ".local-quill/posthog-quill-local-$(git rev-parse --short HEAD)-$$.tgz"
# c. Point the override at the new tarball, then reinstall.
# Edit pnpm-workspace.yaml so overrides['@posthog/quill'] = file:./.local-quill/<new file>
pnpm installBuilding only the aggregate (
packages/quill/packages/quill) re-bundles the sub-packages' staledist/, so edits to primitives/components/blocks are silently dropped. Always build at the workspace root.
Verify in the Code app (pnpm dev, or the test-electron-app skill). Repeat from 1.
After every quill edit you must re-run the sync — the app consumes the tarball, not the quill source, so unsynced edits are invisible here.
For an out-of-tree quill checkout, set
QUILL_DIR=/abs/path/to/posthog/packages/quill/packages/quill.
link: or workspace:workspace: cannot resolve across the nested-workspace boundary (products/desktop is
excluded from the root pnpm workspace). link: symlinks into the root workspace's
node_modules and drags in its React 18 types, colliding with this workspace's
React 19 (dual-React → broken typecheck + invalid-hook-call at runtime). The
tarball is copied into this workspace's store and deduped against React 19. The
filename is content-hashed because pnpm pins a tarball by integrity, so a stable
filename gets cached stale across re-syncs.
In pnpm-workspace.yaml, under overrides::
'@posthog/quill': file:./.local-quill/posthog-quill-local-<hash>.tgzThere is also a permanent pin you should leave alone:
'@posthog/quill>@base-ui/react': ^1.3.0 # quill ships a broken catalog: dep; do not removeThe override is local-dev only. Once the quill change is published to npm (quill
publishes from this monorepo via the manual publish-quill-npm workflow dispatch):
pnpm-workspace.yaml ('@posthog/quill': 0.3.0-beta.x)
to the published version.file: override.pnpm install.Do not commit a file:./.local-quill/... override or the .local-quill/ tarballs.
© PostHog, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in products/desktop/.claude/skills/quill-code of PostHog/posthog-foss.
Open the folder on GitHubat commit 2c48221
Quill Code 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 |
|---|---|---|---|---|---|---|
| Quill Code this skillPostHog/posthog-foss | 721 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Quill CodePostHog/code | 179 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Repo Healthcheck Nodecommercetools/ui-kit | 154 | — | ~1.6k | Automated safety check: Notes | MIT | |
| Create Docsvictorgarciaesgi/nuxt-typed-router | 413 | 2 repos | ~2.8k | Automated safety check: Pass | MIT | |
| Kampsy UIkampsy/ui | 287 | — | ~3.6k | Automated safety check: Pass | MIT | |
| Run Umbraco UIumbraco/Umbraco.UI | 152 | — | ~1.2k | Automated safety check: Pass | MIT |
PostHog/code
Edit the @posthog/quill design system locally and consume the change in this repo (posthog-code) before it is published to npm.
commercetools/ui-kit
Verify a Node.js/TypeScript repo's development environment is correctly set up.
victorgarciaesgi/nuxt-typed-router
Create complete documentation sites for projects. An agent skill from victorgarciaesgi/nuxt-typed-router.
kampsy/ui
Consumer guide to build UIs with kampsy-ui (Svelte 5 + Tailwind v4, Geist-inspired).
umbraco/Umbraco.UI
Build, run, and drive the Umbraco.UI (UUI) web-component library via its Storybook.
plugin87/ux-ui-agent-skills
Creates a new design-product project from the kit's product-design template, then installs the engine folders and the Playwright dependency that the quality gates need.
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
Edit the @posthog/quill design system locally and consume the change in products/desktop before it is published to npm. Quill Code is an agent skill from PostHog/posthog-foss, published by the product's own GitHub organization. Edit the @posthog/quill design system locally and consume the change in products/desktop before it is published to npm.
Quill Code fits situations like: changing quill components/primitives/tokens; A quill change must be tested inside the Code app; the user mentions quill; the design system.
Run `npx skills add PostHog/posthog-foss --skill quill-code -a claude-code`. Or copy the skill folder (products/desktop/.claude/skills/quill-code in PostHog/posthog-foss) into .claude/skills/quill-code in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PostHog/posthog-foss --skill quill-code -a codex`. Or copy the skill folder (products/desktop/.claude/skills/quill-code in PostHog/posthog-foss) into .agents/skills/quill-code 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 quill-code -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/quill-code, .gemini/skills/quill-code, .github/skills/quill-code and .opencode/skills/quill-code in your project.
Going by SKILL.md and its folder, Quill Code needs the command-line tools its instructions call (pnpm, npm and git).
SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. 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.
Quill Code is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Quill Code: Quill Code (PostHog/code, 179 stars), Repo Healthcheck Node (commercetools/ui-kit, 154 stars), Create Docs (victorgarciaesgi/nuxt-typed-router, 413 stars) and Kampsy UI (kampsy/ui, 287 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.