cdragon 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +110 -0
  2. package/bin/cdragon.js +170 -0
  3. package/package.json +31 -0
  4. package/skills/agent-browser/SKILL.md +50 -0
  5. package/skills/grill-me/SKILL.md +7 -0
  6. package/skills/herdr-agent/SKILL.md +142 -0
  7. package/skills/herdr-cli/SKILL.md +388 -0
  8. package/skills/herdr-cli/scripts/herdr-agent-run-and-wait +203 -0
  9. package/skills/herdr-cli/scripts/herdr-agent-wait-complete +168 -0
  10. package/skills/notion-presentation/SKILL.md +170 -0
  11. package/skills/notion-presentation/references/example-redis-deck.md +97 -0
  12. package/skills/setup-matt-pocock-skills/SKILL.md +127 -0
  13. package/skills/setup-matt-pocock-skills/domain.md +51 -0
  14. package/skills/setup-matt-pocock-skills/issue-tracker-github.md +34 -0
  15. package/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +35 -0
  16. package/skills/setup-matt-pocock-skills/issue-tracker-local.md +19 -0
  17. package/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
  18. package/skills/tdd/SKILL.md +108 -0
  19. package/skills/tdd/mocking.md +59 -0
  20. package/skills/tdd/refactoring.md +10 -0
  21. package/skills/tdd/tests.md +61 -0
  22. package/skills/to-html/SKILL.md +83 -0
  23. package/skills/to-html/designs/INDEX.md +74 -0
  24. package/skills/to-html/designs/airbnb.DESIGN.md +581 -0
  25. package/skills/to-html/designs/airtable.DESIGN.md +275 -0
  26. package/skills/to-html/designs/alipay.DESIGN.md +456 -0
  27. package/skills/to-html/designs/apple.DESIGN.md +566 -0
  28. package/skills/to-html/designs/banksalad.DESIGN.md +621 -0
  29. package/skills/to-html/designs/channeltalk.DESIGN.md +374 -0
  30. package/skills/to-html/designs/clay.DESIGN.md +398 -0
  31. package/skills/to-html/designs/clickhouse.DESIGN.md +374 -0
  32. package/skills/to-html/designs/cohere.DESIGN.md +361 -0
  33. package/skills/to-html/designs/coinone.DESIGN.md +218 -0
  34. package/skills/to-html/designs/coupang.DESIGN.md +502 -0
  35. package/skills/to-html/designs/cursor.DESIGN.md +416 -0
  36. package/skills/to-html/designs/elevenlabs.DESIGN.md +376 -0
  37. package/skills/to-html/designs/expo.DESIGN.md +373 -0
  38. package/skills/to-html/designs/figma.DESIGN.md +490 -0
  39. package/skills/to-html/designs/framer.DESIGN.md +393 -0
  40. package/skills/to-html/designs/freee.DESIGN.md +572 -0
  41. package/skills/to-html/designs/gangnamunni.DESIGN.md +621 -0
  42. package/skills/to-html/designs/gmarket.DESIGN.md +483 -0
  43. package/skills/to-html/designs/gogolook.DESIGN.md +131 -0
  44. package/skills/to-html/designs/hahow.DESIGN.md +158 -0
  45. package/skills/to-html/designs/hashicorp.DESIGN.md +369 -0
  46. package/skills/to-html/designs/hyundaicard.DESIGN.md +177 -0
  47. package/skills/to-html/designs/ibm.DESIGN.md +420 -0
  48. package/skills/to-html/designs/kakaobank.DESIGN.md +548 -0
  49. package/skills/to-html/designs/kakaopay.DESIGN.md +544 -0
  50. package/skills/to-html/designs/karrot.DESIGN.md +445 -0
  51. package/skills/to-html/designs/kdan.DESIGN.md +160 -0
  52. package/skills/to-html/designs/krds.DESIGN.md +997 -0
  53. package/skills/to-html/designs/line.DESIGN.md +431 -0
  54. package/skills/to-html/designs/linear.app.DESIGN.md +548 -0
  55. package/skills/to-html/designs/miro.DESIGN.md +272 -0
  56. package/skills/to-html/designs/mistral.ai.DESIGN.md +353 -0
  57. package/skills/to-html/designs/money-forward.DESIGN.md +401 -0
  58. package/skills/to-html/designs/mongodb.DESIGN.md +357 -0
  59. package/skills/to-html/designs/naver.DESIGN.md +533 -0
  60. package/skills/to-html/designs/nhncloud.DESIGN.md +174 -0
  61. package/skills/to-html/designs/opencode.ai.DESIGN.md +388 -0
  62. package/skills/to-html/designs/pinterest.DESIGN.md +322 -0
  63. package/skills/to-html/designs/posthog.DESIGN.md +430 -0
  64. package/skills/to-html/designs/raycast.DESIGN.md +422 -0
  65. package/skills/to-html/designs/remember.DESIGN.md +460 -0
  66. package/skills/to-html/designs/resend.DESIGN.md +396 -0
  67. package/skills/to-html/designs/sanity.DESIGN.md +449 -0
  68. package/skills/to-html/designs/sendbird.DESIGN.md +285 -0
  69. package/skills/to-html/designs/smarthr.DESIGN.md +404 -0
  70. package/skills/to-html/designs/socar.DESIGN.md +403 -0
  71. package/skills/to-html/designs/spotify.DESIGN.md +265 -0
  72. package/skills/to-html/designs/supabase.DESIGN.md +348 -0
  73. package/skills/to-html/designs/superhuman.DESIGN.md +414 -0
  74. package/skills/to-html/designs/together.ai.DESIGN.md +356 -0
  75. package/skills/to-html/designs/toss.DESIGN.md +655 -0
  76. package/skills/to-html/designs/uber.DESIGN.md +387 -0
  77. package/skills/to-html/designs/upstage.DESIGN.md +232 -0
  78. package/skills/to-html/designs/velog.DESIGN.md +168 -0
  79. package/skills/to-html/designs/vercel.DESIGN.md +479 -0
  80. package/skills/to-html/designs/wanted.DESIGN.md +529 -0
  81. package/skills/to-html/designs/wise.DESIGN.md +276 -0
  82. package/skills/to-html/designs/yanolja.DESIGN.md +463 -0
  83. package/skills/to-html/designs/yeogiotte.DESIGN.md +459 -0
  84. package/skills/to-html/designs/zapier.DESIGN.md +433 -0
  85. package/skills/to-html/designs/zigzag.DESIGN.md +633 -0
  86. package/skills/to-issues/SKILL.md +84 -0
  87. package/skills/to-prd/SKILL.md +75 -0
  88. package/src/colors.js +15 -0
  89. package/src/link.js +47 -0
  90. package/src/prompt.js +137 -0
  91. package/src/skills.js +75 -0
@@ -0,0 +1,430 @@
1
+ ---
2
+ id: posthog
3
+ name: PostHog
4
+ country: US
5
+ category: backend-devops
6
+ homepage: "https://posthog.com"
7
+ primary_color: "#1d4aff"
8
+ logo:
9
+ type: simpleicons
10
+ slug: posthog
11
+ verified: "2026-05-15"
12
+ omd: "0.1"
13
+ ds:
14
+ name: PostHog Brand Assets
15
+ url: "https://posthog.com/handbook/company/brand-assets"
16
+ type: brand
17
+ description: PostHog's public handbook brand, logo, and illustration guidelines.
18
+ og_image: "https://d36j3rcgc2qfsv.cloudfront.net/handbookcompanybrand-assets.jpeg"
19
+ ---
20
+
21
+ # Design System Inspiration of PostHog
22
+
23
+ ## 1. Visual Theme & Atmosphere
24
+
25
+ PostHog's website feels like a startup's internal wiki that escaped into the wild — warm, irreverent, and deliberately anti-corporate. The background isn't the expected crisp white or dark void of developer tools; it's a warm, sage-tinted cream (`#fdfdf8`) that gives every surface a handmade, paper-like quality. Colors lean into earthy olive greens and muted sage rather than the conventional blues and purples of the SaaS world. It's as if someone designed a developer analytics platform inside a cozy garden shed.
26
+
27
+ The personality is the star: hand-drawn hedgehog illustrations, quirky action figures, and playful imagery replace the stock photography and abstract gradients typical of B2B SaaS. IBM Plex Sans Variable serves as the typographic foundation — a font with genuine technical credibility (created by IBM, widely used in developer contexts) deployed here with bold weights (700, 800) on headings and generous line-heights on body text. The typography says "we're serious engineers" while everything around it says "but we don't take ourselves too seriously."
28
+
29
+ The interaction design carries the same spirit: hover states flash PostHog Orange (`#F54E00`) text — a hidden brand color that doesn't appear at rest but surprises on interaction. Dark near-black buttons (`#1e1f23`) use opacity reduction on hover rather than color shifts, and active states scale slightly. The border system uses sage-tinted grays (`#bfc1b7`) that harmonize with the olive text palette. Built on Tailwind CSS with Radix UI and shadcn/ui primitives, the technical foundation is modern and component-driven, but the visual output is stubbornly unique.
30
+
31
+ **Key Characteristics:**
32
+ - Warm sage/olive color palette instead of conventional blues — earthy and approachable
33
+ - IBM Plex Sans Variable font at bold weights (700/800) for headings with generous 1.50+ line-heights
34
+ - Hidden brand orange (`#F54E00`) that only appears on hover interactions — a delightful surprise
35
+ - Hand-drawn hedgehog illustrations and playful imagery — deliberately anti-corporate
36
+ - Sage-tinted borders (`#bfc1b7`) and backgrounds (`#eeefe9`) creating a unified warm-green system
37
+ - Dark near-black CTAs (`#1e1f23`) with opacity-based hover states
38
+ - Content-heavy editorial layout — the site reads like a magazine, not a typical landing page
39
+ - Tailwind CSS + Radix UI + shadcn/ui component architecture
40
+
41
+ ## 2. Color Palette & Roles
42
+
43
+ ### Primary
44
+ - **Olive Ink** (`#4d4f46`): Primary text color — a distinctive olive-gray that gives all text a warm, earthy tone
45
+ - **Deep Olive** (`#23251d`): Link text and high-emphasis headings — near-black with green undertone
46
+ - **PostHog Orange** (`#F54E00`): Hidden brand accent — appears only on hover states, a vibrant orange that surprises
47
+
48
+ ### Secondary & Accent
49
+ - **Amber Gold** (`#F7A501`): Secondary hover accent on dark buttons — warm gold that pairs with the orange
50
+ - **Gold Border** (`#b17816`): Special button borders — an amber-gold for featured CTAs
51
+ - **Focus Blue** (`#3b82f6`): Focus ring color (Tailwind default) — the only blue in the system, reserved for accessibility
52
+
53
+ ### Surface & Background
54
+ - **Warm Parchment** (`#fdfdf8`): Primary page background — warm near-white with yellow-green undertone
55
+ - **Sage Cream** (`#eeefe9`): Input backgrounds, secondary surfaces — light sage tint
56
+ - **Light Sage** (`#e5e7e0`): Button backgrounds, tertiary surfaces — muted sage-green
57
+ - **Warm Tan** (`#d4c9b8`): Featured button backgrounds — warm tan/khaki for emphasis
58
+ - **Hover White** (`#f4f4f4`): Universal hover background state
59
+
60
+ ### Neutrals & Text
61
+ - **Olive Ink** (`#4d4f46`): Primary body and UI text
62
+ - **Muted Olive** (`#65675e`): Secondary text, button labels on light backgrounds
63
+ - **Sage Placeholder** (`#9ea096`): Placeholder text, disabled states — warm sage-green
64
+ - **Sage Border** (`#bfc1b7`): Primary border color — olive-tinted gray for all borders
65
+ - **Light Border** (`#b6b7af`): Secondary border, toolbar borders — slightly darker sage
66
+
67
+ ### Semantic & Accent
68
+ - **PostHog Orange** (`#F54E00`): Hover text accent — signals interactivity and brand personality
69
+ - **Amber Gold** (`#F7A501`): Dark button hover accent — warmth signal
70
+ - **Focus Blue** (`#3b82f6` at 50% opacity): Keyboard focus rings — accessibility-only color
71
+ - **Dark Text** (`#111827`): High-contrast link text — near-black for important links
72
+
73
+ ### Gradient System
74
+ - No gradients on the marketing site — PostHog's visual language is deliberately flat and warm
75
+ - Depth is achieved through layered surfaces and border containment, not color transitions
76
+
77
+ ## 3. Typography Rules
78
+
79
+ ### Font Family
80
+ - **Display & Body**: `IBM Plex Sans Variable` — variable font (100–700+ weight range). Fallbacks: `IBM Plex Sans, -apple-system, system-ui, Avenir Next, Avenir, Segoe UI, Helvetica Neue, Helvetica, Ubuntu, Roboto, Noto, Arial`
81
+ - **Monospace**: `ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New` — system monospace stack
82
+ - **Code Display**: `Source Code Pro` — with fallbacks: `Menlo, Consolas, Monaco`
83
+
84
+ ### Hierarchy
85
+
86
+ | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
87
+ |------|------|------|--------|-------------|----------------|-------|
88
+ | Display Hero | IBM Plex Sans Variable | 30px | 800 | 1.20 | -0.75px | Extra-bold, tight, maximum impact |
89
+ | Section Heading | IBM Plex Sans Variable | 36px | 700 | 1.50 | 0px | Large but generous line-height |
90
+ | Feature Heading | IBM Plex Sans Variable | 24px | 700 | 1.33 | 0px | Feature section titles |
91
+ | Card Heading | IBM Plex Sans Variable | 21.4px | 700 | 1.40 | -0.54px | Slightly unusual size (scaled) |
92
+ | Sub-heading | IBM Plex Sans Variable | 20px | 700 | 1.40 | -0.5px | Content sub-sections |
93
+ | Sub-heading Uppercase | IBM Plex Sans Variable | 20px | 700 | 1.40 | 0px | Uppercase transform for labels |
94
+ | Body Emphasis | IBM Plex Sans Variable | 19.3px | 600 | 1.56 | -0.48px | Semi-bold callout text |
95
+ | Label Uppercase | IBM Plex Sans Variable | 18px | 700 | 1.50 | 0px | Uppercase category labels |
96
+ | Body Semi | IBM Plex Sans Variable | 18px | 600 | 1.56 | 0px | Semi-bold body text |
97
+ | Body | IBM Plex Sans Variable | 16px | 400 | 1.50 | 0px | Standard reading text |
98
+ | Body Medium | IBM Plex Sans Variable | 16px | 500 | 1.50 | 0px | Medium-weight body |
99
+ | Body Relaxed | IBM Plex Sans Variable | 15px | 400 | 1.71 | 0px | Relaxed line-height for long reads |
100
+ | Nav / UI | IBM Plex Sans Variable | 15px | 600 | 1.50 | 0px | Navigation and UI labels |
101
+ | Caption | IBM Plex Sans Variable | 14px | 400–700 | 1.43 | 0px | Small text, various weights |
102
+ | Small Label | IBM Plex Sans Variable | 13px | 500–700 | 1.00–1.50 | 0px | Tags, badges, micro labels |
103
+ | Micro | IBM Plex Sans Variable | 12px | 400–700 | 1.33 | 0px | Smallest text, some uppercase |
104
+ | Code | Source Code Pro | 14px | 500 | 1.43 | 0px | Code snippets and terminal |
105
+
106
+ ### Principles
107
+ - **Bold heading dominance**: Headings use 700–800 weight — PostHog's typography is confident and assertive, not whispery
108
+ - **Generous body line-heights**: Body text at 1.50–1.71 line-height creates extremely comfortable reading — the site is content-heavy and optimized for long sessions
109
+ - **Fractional sizes**: Several sizes (21.4px, 19.3px, 13.7px) suggest a fluid/scaled type system rather than fixed stops — likely computed from Tailwind's rem scale at non-standard base
110
+ - **Uppercase as category signal**: Bold uppercase labels (18px–20px weight 700) are used for product category headings — a magazine-editorial convention
111
+ - **Selective negative tracking**: Letter-spacing tightens on display text (-0.75px at 30px) but relaxes to 0px on body — headlines compress, body breathes
112
+
113
+ ## 4. Component Stylings
114
+
115
+ ### Buttons
116
+
117
+ **Dark Primary**
118
+ - Background: `#1e1f23`
119
+ - Text: `#ffffff`
120
+ - Radius: 6px
121
+ - Padding: 10px 12px
122
+ - Font: 15px / 600 / IBM Plex Sans
123
+ - Hover: opacity 0.7, text shifts to Amber Gold `#F7A501`
124
+ - Active: opacity 0.8, slight scale transform
125
+ - Use: Main CTA — dark and confident
126
+
127
+ **Sage Light**
128
+ - Background: `#e5e7e0`
129
+ - Text: `#4d4f46` (Olive Ink)
130
+ - Radius: 4px
131
+ - Padding: 4px
132
+ - Font: 14px / 500 / IBM Plex Sans
133
+ - Hover: bg `#f4f4f4`, text shifts to PostHog Orange `#F54E00`
134
+ - Use: Compact utility button
135
+
136
+ **Warm Tan Featured**
137
+ - Background: `#d4c9b8`
138
+ - Text: `#000000`
139
+ - Radius: 0px
140
+ - Padding: 10px 12px
141
+ - Hover: text flash to PostHog Orange `#F54E00`
142
+ - Use: Featured/premium actions
143
+
144
+ **Near-white Ghost**
145
+ - Background: `#fdfdf8`
146
+ - Text: `#4d4f46` (Olive Ink)
147
+ - Border: 1px solid transparent
148
+ - Radius: 4px
149
+ - Padding: 8px 12px
150
+ - Hover: text flash to PostHog Orange `#F54E00`
151
+ - Use: Minimal-presence ghost button
152
+
153
+ ### Inputs
154
+
155
+ **Default**
156
+ - Background: `#eeefe9`
157
+ - Text: `#374151`
158
+ - Border: 1px solid `#b6b7af`
159
+ - Radius: 4px
160
+ - Padding: 2px 0px 2px 8px
161
+ - Placeholder: `#9ea096` (Sage Placeholder)
162
+ - Focus: `#3b82f6` ring at 50% opacity (Tailwind blue focus ring)
163
+ - Use: Standard form input — multiple border patterns; some inputs use compound borders (top/left/bottom-only)
164
+
165
+ **Search / Filter**
166
+ - Background: `#eeefe9`
167
+ - Text: `#374151`
168
+ - Border: 1px solid `#b6b7af`
169
+ - Radius: 4px
170
+ - Padding: 6px 8px
171
+ - Placeholder: `#9ea096`
172
+ - Use: Search/filter control
173
+
174
+ ### Cards
175
+
176
+ **Bordered Card**
177
+ - Background: `#fdfdf8` (Warm Parchment) or `#ffffff`
178
+ - Border: 1px solid `#bfc1b7`
179
+ - Radius: 6px
180
+ - Padding: 16px
181
+ - Use: Clean and minimal default card
182
+
183
+ **Sage Surface Card**
184
+ - Background: `#eeefe9`
185
+ - Border: 1px solid `#bfc1b7`
186
+ - Radius: 4px
187
+ - Padding: 16px
188
+ - Use: Secondary content container
189
+
190
+ **Shadow Card**
191
+ - Background: `#fdfdf8`
192
+ - Radius: 6px
193
+ - Padding: 16px
194
+ - Shadow: `0px 25px 50px -12px rgba(0, 0, 0, 0.25)`
195
+ - Hover: Orange text flash on interactive cards
196
+ - Use: Elevated content (modals, dropdowns)
197
+
198
+ ### Badges
199
+
200
+ **Default**
201
+ - Background: `#e5e7e0`
202
+ - Text: `#4d4f46`
203
+ - Radius: 4px
204
+ - Padding: 2px 8px
205
+ - Font: 12px / 500 / IBM Plex Sans
206
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source).
207
+
208
+ **Featured**
209
+ - Background: `#d4c9b8`
210
+ - Text: `#000000`
211
+ - Radius: 4px
212
+ - Padding: 2px 8px
213
+ - Font: 12px / 600 / IBM Plex Sans
214
+ - Use: Inferred from §1-§2 baseline (no explicit DS variant in source) — warm tan featured tag.
215
+
216
+ ### Navigation
217
+ - **Top nav**: Warm background, IBM Plex Sans at 15px weight 600
218
+ - **Dropdown menus**: Rich mega-menu structure with product categories
219
+ - **Link color**: Deep Olive (`#23251d`) for nav links, underline on hover
220
+ - **CTA**: Dark Primary button (#1e1f23) in the nav — "Get started - free"
221
+ - **Mobile**: Collapses to hamburger with simplified menu
222
+
223
+ ### Image Treatment
224
+ - **Hand-drawn illustrations**: Hedgehog mascot and quirky illustrations — the signature visual element
225
+ - **Product screenshots**: UI screenshots embedded in device frames or clean containers
226
+ - **Action figures**: Playful product photography of hedgehog figurines — anti-corporate
227
+ - **Trust logos**: Enterprise logos (Airbus, GOV.UK) displayed in a muted trust bar
228
+ - **Aspect ratios**: Mixed — illustrations are irregular, screenshots are 16:9 or widescreen
229
+
230
+ ### AI Chat Widget
231
+ - Floating PostHog AI assistant with speech bubble — an interactive product demo embedded in the marketing site
232
+
233
+ ## 5. Layout Principles
234
+
235
+ ### Spacing System
236
+ - **Base unit**: 8px
237
+ - **Scale**: 2px, 4px, 6px, 8px, 10px, 12px, 16px, 18px, 24px, 32px, 34px
238
+ - **Section padding**: 32px–48px vertical between sections (compact for a content-heavy site)
239
+ - **Card padding**: 4px–12px internal (notably compact)
240
+ - **Component gaps**: 4px–8px between related elements
241
+
242
+ ### Grid & Container
243
+ - **Max width**: 1536px (largest breakpoint), with content containers likely 1200px–1280px
244
+ - **Column patterns**: Varied — single column for text content, 2-3 column grids for feature cards, asymmetric layouts for product demos
245
+ - **Breakpoints**: 13 defined — 1px, 425px, 482px, 640px, 768px, 767px, 800px, 900px, 1024px, 1076px, 1160px, 1280px, 1536px
246
+
247
+ ### Whitespace Philosophy
248
+ - **Content-dense by design**: PostHog's site is information-rich — whitespace is measured, not lavish
249
+ - **Editorial pacing**: Content sections flow like a magazine with varied layouts keeping the eye moving
250
+ - **Illustrations as breathing room**: Hand-drawn hedgehog art breaks up dense content sections naturally
251
+
252
+ ### Border Radius Scale
253
+ - **2px**: Small inline elements, tags (`span`)
254
+ - **4px**: Primary UI components — buttons, inputs, dropdowns, menu items (`button`, `div`, `combobox`)
255
+ - **6px**: Secondary containers — larger buttons, list items, card variants (`button`, `div`, `li`)
256
+ - **9999px**: Pill shape — badges, status indicators, rounded tags (`span`, `div`)
257
+
258
+ ## 6. Depth & Elevation
259
+
260
+ | Level | Treatment | Use |
261
+ |-------|-----------|-----|
262
+ | Level 0 (Flat) | No shadow, warm parchment background | Page canvas, most surfaces |
263
+ | Level 1 (Border) | `1px solid #bfc1b7` (Sage Border) | Card containment, input borders, section dividers |
264
+ | Level 2 (Compound Border) | Multiple 1px borders on different sides | Input groupings, toolbar elements |
265
+ | Level 3 (Deep Shadow) | `0px 25px 50px -12px rgba(0, 0, 0, 0.25)` | Modals, floating elements, mega-menu dropdowns |
266
+
267
+ ### Shadow Philosophy
268
+ PostHog's elevation system is remarkably minimal — only one shadow definition exists in the entire system. Depth is communicated through:
269
+ - **Border containment**: Sage-tinted borders (`#bfc1b7`) at 1px create gentle warm separation
270
+ - **Surface color shifts**: Moving from `#fdfdf8` to `#eeefe9` to `#e5e7e0` creates layered depth without shadows
271
+ - **The single shadow**: The one defined shadow (`0 25px 50px -12px`) is reserved for floating elements — modals, dropdowns, popovers. It's a deep, dramatic shadow that creates clear separation when needed
272
+
273
+ ### Decorative Depth
274
+ - **Illustration layering**: Hand-drawn hedgehog art creates visual depth naturally
275
+ - **No gradients or glow**: The flat, warm surface system relies entirely on border and surface-color differentiation
276
+ - **No glassmorphism**: Fully opaque surfaces throughout
277
+
278
+ ## 7. Do's and Don'ts
279
+
280
+ ### Do
281
+ - Use the olive/sage color family (#4d4f46, #23251d, #bfc1b7) for text and borders — the warm green undertone is essential to the brand
282
+ - Flash PostHog Orange (#F54E00) on hover states — it's the hidden brand signature
283
+ - Use IBM Plex Sans at bold weights (700/800) for headings — the font carries technical credibility
284
+ - Keep body text at generous line-heights (1.50–1.71) — the content-heavy site demands readability
285
+ - Maintain the warm parchment background (#fdfdf8) — not pure white, never cold
286
+ - Use 4px border-radius for most UI elements — keep corners subtle and functional
287
+ - Include playful, hand-drawn illustration elements — the personality is the differentiator
288
+ - Apply opacity-based hover states (0.7 opacity) on dark buttons rather than color shifts
289
+
290
+ ### Don't
291
+ - Use blue, purple, or typical tech-SaaS colors — PostHog's palette is deliberately olive/sage
292
+ - Add heavy shadows — the system uses one shadow for floating elements only; everything else uses borders
293
+ - Make the design look "polished" or "premium" in a conventional sense — PostHog's charm is its irreverent, scrappy energy
294
+ - Use tight line-heights on body text — the generous 1.50+ spacing is essential for the content-heavy layout
295
+ - Apply large border-radius (12px+) on cards — PostHog uses 4px–6px, keeping things tight and functional
296
+ - Remove the orange hover flash — it's a core interaction pattern, not decoration
297
+ - Replace illustrations with stock photography — the hand-drawn hedgehog art is the brand
298
+ - Use pure white (#ffffff) as page background — the warm sage-cream (#fdfdf8) tint is foundational
299
+
300
+ ## 8. Responsive Behavior
301
+
302
+ ### Breakpoints
303
+ | Name | Width | Key Changes |
304
+ |------|-------|-------------|
305
+ | Mobile Small | <425px | Single column, compact padding, stacked cards |
306
+ | Mobile | 425px–640px | Slight layout adjustments, larger touch targets |
307
+ | Tablet | 640px–768px | 2-column grids begin, nav partially visible |
308
+ | Tablet Large | 768px–1024px | Multi-column layouts, expanded navigation |
309
+ | Desktop | 1024px–1280px | Full layout, 3-column feature grids, expanded mega-menu |
310
+ | Large Desktop | 1280px–1536px | Max-width container, generous margins |
311
+ | Extra Large | >1536px | Centered container at max-width |
312
+
313
+ ### Touch Targets
314
+ - Buttons: 4px–6px radius with `4px–12px` padding — compact but usable
315
+ - Nav links: 15px text at weight 600 with adequate padding
316
+ - Mobile: Hamburger menu with simplified navigation
317
+ - Inputs: Generous vertical padding for thumb-friendly forms
318
+
319
+ ### Collapsing Strategy
320
+ - **Navigation**: Full mega-menu with dropdowns → hamburger menu on mobile
321
+ - **Feature grids**: 3-column → 2-column → single column stacked
322
+ - **Typography**: Display sizes reduce across breakpoints (30px → smaller)
323
+ - **Illustrations**: Scale within containers, some may hide on mobile for space
324
+ - **Section spacing**: Reduces proportionally while maintaining readability
325
+
326
+ ### Image Behavior
327
+ - Illustrations scale responsively within containers
328
+ - Product screenshots maintain aspect ratios
329
+ - Trust logos reflow into multi-row grids on mobile
330
+ - AI chat widget may reposition or simplify on small screens
331
+
332
+ ## 9. Agent Prompt Guide
333
+
334
+ ### Quick Color Reference
335
+ - Primary Text: Olive Ink (`#4d4f46`)
336
+ - Dark Text: Deep Olive (`#23251d`)
337
+ - Hover Accent: PostHog Orange (`#F54E00`)
338
+ - Dark CTA: Near-Black (`#1e1f23`)
339
+ - Button Surface: Light Sage (`#e5e7e0`)
340
+ - Page Background: Warm Parchment (`#fdfdf8`)
341
+ - Border: Sage Border (`#bfc1b7`)
342
+ - Placeholder: Sage Placeholder (`#9ea096`)
343
+
344
+ ### Example Component Prompts
345
+ - "Create a hero section on warm parchment background (#fdfdf8) with 30px IBM Plex Sans heading at weight 800, line-height 1.20, letter-spacing -0.75px, olive ink text (#4d4f46), and a dark CTA button (#1e1f23, 6px radius, white text, opacity 0.7 on hover)"
346
+ - "Design a feature card with #fdfdf8 background, 1px #bfc1b7 border, 4px radius, IBM Plex Sans heading at 20px weight 700, and 16px body text at weight 400 with 1.50 line-height in olive ink (#4d4f46)"
347
+ - "Build a navigation bar with warm background, IBM Plex Sans links at 15px weight 600 in deep olive (#23251d), underline on hover, and a dark CTA button (#1e1f23) at the right"
348
+ - "Create a button group: primary dark (#1e1f23, white text, 6px radius), secondary sage (#e5e7e0, #4d4f46 text, 4px radius), and ghost/text button — all flash #F54E00 orange text on hover"
349
+ - "Design an input field with #eeefe9 background, 1px #b6b7af border, 4px radius, #9ea096 placeholder text, focus ring in #3b82f6 at 50% opacity"
350
+
351
+ ### Iteration Guide
352
+ When refining existing screens generated with this design system:
353
+ 1. Verify the background is warm parchment (#fdfdf8) not pure white — the sage-cream warmth is essential
354
+ 2. Check that all text uses the olive family (#4d4f46, #23251d) not pure black or neutral gray
355
+ 3. Ensure hover states flash PostHog Orange (#F54E00) — if hovering feels bland, you're missing this
356
+ 4. Confirm borders use sage-tinted gray (#bfc1b7) not neutral gray — warmth runs through every element
357
+ 5. The overall tone should feel like a fun, scrappy startup wiki — never corporate-polished or sterile
358
+
359
+ ## 10. Voice & Tone
360
+
361
+ PostHog's voice is **scrappy-startup-wiki and engineer-honest.** "We make dev tools for product engineers" — terse, capability-driven, slightly irreverent. Sage-tinted gray (`#bfc1b7`) borders + warm canvas signal "small but serious team that ships." Famous for company handbook being entirely public (posthog.com/handbook).
362
+
363
+ | Context | Tone |
364
+ |---|---|
365
+ | CTA | Verb. "Get started", "Sign up", "Talk to sales" |
366
+ | Marketing | Capability-list with personality. "Product OS" framing |
367
+ | Documentation | Wiki-style, deeply linked, occasional jokes |
368
+ | Handbook | Radically transparent — even sensitive topics |
369
+
370
+ **Voice samples**
371
+ - Marketing tagline: *"We make dev tools for product engineers"* <!-- verified: posthog.com homepage 2026-05 -->
372
+
373
+ **Forbidden phrases.** "Revolutionary product analytics". Aggressive Amplitude-comparison framing.
374
+
375
+ ## 11. Brand Narrative
376
+
377
+ PostHog was founded **2020** by **James Hawkins (Co-CEO)** and **Tim Glaser (CTO/Co-CEO)** as an open-source alternative to Amplitude/Mixpanel ([PostHog — About](https://posthog.com/about), [Y Combinator — PostHog](https://www.ycombinator.com/companies/posthog)). The company **hatched in Y Combinator's W20 batch** and **launched on Hacker News with their MVP just 4 weeks after writing first code**. **Hawkins**: previously **VP Sales & Channels at Arachnys**; founded **c2o Media** before PostHog. **Glaser**: leads technical strategy, built PostHog on **ClickHouse + open-source frameworks**. Famous for **radical transparency** — **public handbook, public salaries, public roadmap, public board materials**. **From-pivot-hell-to-$1.4B-unicorn** YC library case study documents the journey ([YC Library — Pivot Hell to $1.4B Unicorn](https://www.ycombinator.com/library/NA-from-pivot-hell-to-1-4-billion-unicorn)). **Total funding ~$182M** from **Stripe, GV, Y Combinator** + angels including **Jason Warner (CTO GitHub)** and **Solomon Hykes (Founder Docker)** ([PostHog — Reflecting on YC 2 years on](https://posthog.com/blog/yc-2-years-on), [Tracxn — PostHog](https://tracxn.com/d/companies/posthog/__tWY33MozggoGzQ9VYs8-O9tG9o6ZXDONwy37RdpGE_0)). **Used by 190,254+ teams** including **65% of YC batch companies**. The brand voice tracks this culture: scrappy, honest, occasionally meme-aware. The "Product OS" pivot in 2024-2025 expanded PostHog from analytics to **feature flags, session replay, surveys, A/B tests** as a single integrated product platform.
378
+
379
+ ## 12. Principles
380
+
381
+ 1. **Open source is the default.** *UI implication:* self-hosting first-class option, never deprioritized.
382
+ 2. **Radical transparency.** *UI implication:* handbook + roadmap publicly linked.
383
+ 3. **Sage-tinted warm gray.** Borders `#bfc1b7`. *UI implication:* never neutral pure gray; warmth carries.
384
+ 4. **Hedgehog mascot.** *UI implication:* mascot appears in product (404 pages, empty states) as personality moments.
385
+ 5. **Wiki feel over corporate polish.** *UI implication:* documentation can be playful; chrome can have texture.
386
+
387
+ ## 13. Personas
388
+
389
+ *Personas are fictional archetypes informed by PostHog user segments (product engineers, indie devs, growth teams), not individual people.*
390
+
391
+ **Sarah Lin, 31, San Francisco.** Founding engineer at Series A. PostHog for analytics + feature flags + session replay in one stack.
392
+
393
+ **Henrik Sondergaard, 38, Copenhagen.** Indie SaaS founder. Self-hosts PostHog to keep customer data on his infra.
394
+
395
+ **Priya Krishnan, 27, Bengaluru.** Growth engineer at fintech. A/B tests + funnel analysis daily.
396
+
397
+ ## 14. States
398
+
399
+ | State | Treatment |
400
+ |---|---|
401
+ | **Empty (no events)** | "Install PostHog SDK to start" code snippet |
402
+ | **Empty (no insights)** | "Create your first insight" with template gallery |
403
+ | **Loading (query)** | Per-step execution visible |
404
+ | **Loading (replay loading)** | Session video loader with frame previews |
405
+ | **Error (SDK not detected)** | Specific instructions + verify-installation button |
406
+ | **Error (rate limit)** | Plain explanation + upgrade link |
407
+ | **Success (event captured)** | Implicit; events appear in feed |
408
+ | **Success (insight saved)** | Soft confirmation, no celebration |
409
+ | **Skeleton (insight grid)** | Sage-tinted placeholders |
410
+ | **Disabled (free plan)** | Upgrade link — never block existing OSS features |
411
+ | **Loading (long replay)** | Persistent progress |
412
+
413
+ ## 15. Motion & Easing
414
+
415
+ | Token | Value | Use |
416
+ |---|---|---|
417
+ | `motion-instant` | 0ms | Selection |
418
+ | `motion-fast` | 150ms | Hover |
419
+ | `motion-standard` | 250ms | Modal, panel |
420
+ | `motion-hedgehog` | occasional | Mascot waves on certain success states |
421
+
422
+ Standard cubic-bezier. Hedgehog mascot moments are personality, not chrome. `prefers-reduced-motion: reduce` makes mascot static.
423
+
424
+ ---
425
+
426
+ **Verified:** 2026-05-08 (omd:migrate run 46 — Apple-tier)
427
+ **Tier 1 sources:** posthog.com home + /pricing (live DOM via playwright — **Primary `#cd8407` PostHog Amber-Gold** 6-8px / 32-46px / 15-16px·400 with **Sage-Black `#23251d`** text; **Light Amber `#eb9d2a`** Secondary; nav 4px / 13px·500; **Region badge** Amber-tint 4px / 14px·**700**; warm three-color (Amber/Sage/Cool Gray) canvas).
428
+ **Tier 2 sources:** styles.refero.design / getdesign.md — no record.
429
+ **Tier 2 (Philosophy/founders/funding):** PostHog About + handbook + blog (YC 2-years-on), Y Combinator (PostHog W20 + Pivot Hell to $1.4B Library), Tracxn, GV.com.
430
+ **Style ref:** `notion`. **Conflicts unresolved:** none. **Earlier mistake reverted (significant):** prior footer captured nav-only — canonical Primary is **`#cd8407` Amber-Gold** (the brand-defining color), missed entirely.