quill-code

Builds and packs local @posthog/quill changes into a tarball consumed by the desktop app.

713|118|Updated Aug 11, 2020
One-click install
npx skills add https://github.com/PostHog/posthog-foss --skill quill-code
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: quill-code
Source: https://github.com/PostHog/posthog-foss/tree/main/products/desktop/.claude/skills/quill-code
Command: npx skills add https://github.com/PostHog/posthog-foss --skill quill-code

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

The products/desktop workspace cannot consume unpublished @posthog/quill changes because it is excluded from the root pnpm workspace, so workspace: linking fails and link: causes React version conflicts. This Skill provides the build-pack-override loop to test local quill design system changes inside the Code app before publishing to npm.

Core Features & Use Cases

  • Local quill sync loop: Build the full quill workspace, pack the aggregate package into a uniquely-named tarball under .local-quill/, and point a pnpm override at it.
  • Design system layout guidance: Explains where to edit primitives, components, blocks, and the aggregate package so new exports flow into @posthog/quill.
  • Revert-before-merge workflow: Restores the catalog version and removes the file: override once the quill change is published to npm.
  • Use Case: You add a new ExperimentCard block to packages/blocks and need to verify it renders correctly in the desktop Code app before publishing quill 0.3.0-beta.x to npm.

Quick Start

Ask the assistant to sync your local quill changes into products/desktop so you can test them in the Code app.

Frequently Asked Questions about quill-code

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test local @posthog/quill changes in the PostHog desktop app?

Build the whole quill workspace from packages/quill, pack the aggregate package with npm pack into products/desktop/.local-quill/ under a unique filename, point the pnpm overrides entry at that tarball, and run pnpm install. Re-run this sync after every quill edit.

Why can't I use workspace: or link: for quill in products/desktop?

products/desktop is excluded from the root pnpm workspace, so workspace: cannot resolve across the boundary. link: symlinks into the root workspace's node_modules and pulls in React 18 types, which conflict with the desktop workspace's React 19 and break typechecking and hooks at runtime.

Why are my quill component edits not showing up in the desktop app?

The app consumes the packed tarball, not the quill source, so unsynced edits are invisible. Also, building only the aggregate package re-bundles stale sub-package dist output; always build at the quill workspace root, then re-pack and reinstall.

Why does the local quill tarball need a unique filename?

pnpm pins tarballs by integrity hash, so reusing a stable filename causes pnpm to serve a stale cached version across re-syncs. Rename each packed file with a unique suffix such as the git short hash and process ID.

How do I revert the local quill override before merging?

Once the quill change is published to npm, bump the catalog version of @posthog/quill in pnpm-workspace.yaml, remove or restore the file: override pointing at .local-quill/, and run pnpm install. Never commit the file: override or the .local-quill tarballs.