@mohammadhprp/system-prompt 0.12.0 → 0.12.2
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.
- package/framework/agents/README.md +0 -1
- package/framework/commands/mr.md +8 -9
- package/framework/mcps/README.md +0 -3
- package/framework/skills/README.md +5 -4
- package/framework/skills/effective-html/SKILL.md +63 -0
- package/framework/skills/effective-html/examples.md +19 -0
- package/framework/skills/effective-html/references/charts-and-data.md +32 -0
- package/framework/skills/effective-html/references/creative-direction.md +48 -0
- package/framework/skills/effective-html/references/design-artifact.md +78 -0
- package/framework/skills/effective-html/references/diagrams.md +68 -0
- package/framework/skills/effective-html/references/documents-and-presentations.md +28 -0
- package/framework/skills/effective-html/references/html-diagram.md +43 -0
- package/framework/skills/effective-html/references/html-plan.md +40 -0
- package/framework/skills/effective-html/references/html-prototype.md +97 -0
- package/framework/skills/effective-html/references/html-wireframe.md +81 -0
- package/framework/skills/effective-html/references/html.md +72 -0
- package/framework/skills/effective-html/references/interfaces.md +17 -0
- package/framework/skills/glab/SKILL.md +222 -0
- package/framework/skills/glab/references/commands-detailed.md +616 -0
- package/framework/skills/glab/references/quick-reference.md +145 -0
- package/framework/skills/glab/references/troubleshooting.md +669 -0
- package/framework/skills/great-interface/SKILL.md +43 -0
- package/framework/skills/great-interface/references/animations.md +205 -0
- package/framework/skills/great-interface/references/better-accessibility.md +106 -0
- package/framework/skills/great-interface/references/better-colors.md +100 -0
- package/framework/skills/great-interface/references/better-interface.md +132 -0
- package/framework/skills/great-interface/references/better-layout.md +76 -0
- package/framework/skills/great-interface/references/better-typography.md +157 -0
- package/framework/skills/great-interface/references/better-ui.md +107 -0
- package/framework/skills/great-interface/references/better-writing.md +109 -0
- package/framework/skills/great-interface/references/choosing-fonts.md +64 -0
- package/framework/skills/great-interface/references/color-formats.md +90 -0
- package/framework/skills/great-interface/references/color-usage.md +118 -0
- package/framework/skills/great-interface/references/contrast.md +79 -0
- package/framework/skills/great-interface/references/css-cheat-sheet.md +65 -0
- package/framework/skills/great-interface/references/details-and-accessibility.md +119 -0
- package/framework/skills/great-interface/references/enter-exit.md +147 -0
- package/framework/skills/great-interface/references/explain-interface.md +126 -0
- package/framework/skills/great-interface/references/find-the-effect.md +94 -0
- package/framework/skills/great-interface/references/focus-and-keyboard.md +131 -0
- package/framework/skills/great-interface/references/forms.md +84 -0
- package/framework/skills/great-interface/references/from-an-image.md +55 -0
- package/framework/skills/great-interface/references/grouping-and-alignment.md +123 -0
- package/framework/skills/great-interface/references/hit-areas.md +94 -0
- package/framework/skills/great-interface/references/icon-transitions.md +102 -0
- package/framework/skills/great-interface/references/icons.md +110 -0
- package/framework/skills/great-interface/references/interface-review.md +148 -0
- package/framework/skills/great-interface/references/motion-and-zoom.md +79 -0
- package/framework/skills/great-interface/references/no-browser.md +73 -0
- package/framework/skills/great-interface/references/palette-generation.md +104 -0
- package/framework/skills/great-interface/references/palette-structure.md +76 -0
- package/framework/skills/great-interface/references/performance.md +88 -0
- package/framework/skills/great-interface/references/picker.md +76 -0
- package/framework/skills/great-interface/references/read-the-system.md +178 -0
- package/framework/skills/great-interface/references/removed-signals.md +38 -0
- package/framework/skills/great-interface/references/review-format.md +46 -0
- package/framework/skills/great-interface/references/scope-resolution.md +88 -0
- package/framework/skills/great-interface/references/screen-readers.md +101 -0
- package/framework/skills/great-interface/references/semantics-and-aria.md +84 -0
- package/framework/skills/great-interface/references/spacing-and-adaptivity.md +159 -0
- package/framework/skills/great-interface/references/spacing-and-sizing.md +121 -0
- package/framework/skills/great-interface/references/surfaces.md +219 -0
- package/framework/skills/great-interface/references/token-naming.md +97 -0
- package/framework/skills/great-interface/references/variable-fonts-and-opentype.md +105 -0
- package/framework/skills/great-interface/references/variant.md +104 -0
- package/framework/skills/great-interface/references/wrapping-and-punctuation.md +55 -0
- package/framework/skills/improve/SKILL.md +137 -0
- package/framework/skills/improve/examples.md +19 -0
- package/framework/skills/improve/references/audit-playbook.md +130 -0
- package/framework/skills/improve/references/closing-the-loop.md +96 -0
- package/framework/skills/improve/references/plan-template.md +197 -0
- package/framework/skills/jira-cli/SKILL.md +260 -0
- package/framework/skills/jira-cli/references/commands-detailed.md +268 -0
- package/framework/skills/jira-cli/references/quick-reference.md +111 -0
- package/framework/skills/jira-cli/references/troubleshooting.md +114 -0
- package/framework/styles/README.md +9 -4
- package/framework/styles/factory/DESIGN.md +360 -0
- package/framework/styles/factory/README.md +32 -0
- package/framework/styles/factory/assets/preview.jpg +0 -0
- package/framework/styles/huly/DESIGN.md +449 -0
- package/framework/styles/huly/README.md +32 -0
- package/framework/styles/huly/assets/preview.jpg +0 -0
- package/framework/styles/notion/DESIGN.md +423 -0
- package/framework/styles/notion/README.md +32 -0
- package/framework/styles/notion/assets/preview.jpg +0 -0
- package/package.json +1 -1
- package/src/catalog.js +8 -8
- package/framework/agents/backend-architect.md +0 -146
- package/framework/mcps/github-mcp/README.md +0 -51
- package/framework/mcps/github-mcp/capabilities.md +0 -83
- package/framework/mcps/github-mcp/configs/.env.example +0 -1
- package/framework/mcps/github-mcp/configs/opencode.json +0 -13
- package/framework/mcps/github-mcp/install.md +0 -60
- package/framework/mcps/github-mcp/troubleshooting.md +0 -79
- package/framework/mcps/gitlab-mcp/README.md +0 -53
- package/framework/mcps/gitlab-mcp/capabilities.md +0 -216
- package/framework/mcps/gitlab-mcp/configs/.env.example +0 -2
- package/framework/mcps/gitlab-mcp/configs/opencode.json +0 -13
- package/framework/mcps/gitlab-mcp/install.md +0 -99
- package/framework/mcps/gitlab-mcp/troubleshooting.md +0 -116
- package/framework/mcps/jira-mcp/README.md +0 -52
- package/framework/mcps/jira-mcp/capabilities.md +0 -79
- package/framework/mcps/jira-mcp/configs/.env.example +0 -2
- package/framework/mcps/jira-mcp/configs/opencode.json +0 -13
- package/framework/mcps/jira-mcp/install.md +0 -94
- package/framework/mcps/jira-mcp/troubleshooting.md +0 -113
- package/framework/skills/brand-guidelines/LICENSE.txt +0 -202
- package/framework/skills/brand-guidelines/SKILL.md +0 -73
- package/framework/skills/gitlab-mcp/SKILL.md +0 -83
- package/framework/skills/gitlab-mcp/examples.md +0 -31
- package/framework/skills/gitlab-mcp/references/code-review.md +0 -110
- package/framework/skills/gitlab-mcp/references/issues.md +0 -141
- package/framework/skills/gitlab-mcp/references/merge-requests.md +0 -120
- package/framework/skills/gitlab-mcp/references/pipelines.md +0 -67
- package/framework/skills/gitlab-mcp/references/search.md +0 -17
- package/framework/skills/gitlab-mcp/references/webhooks.md +0 -32
- package/framework/skills/gitlab-mcp/references/work-items.md +0 -50
- package/framework/skills/jira-mcp/SKILL.md +0 -57
- package/framework/skills/jira-mcp/examples.md +0 -31
- package/framework/skills/jira-mcp/references/comments.md +0 -27
- package/framework/skills/jira-mcp/references/issues.md +0 -97
- package/framework/skills/jira-mcp/references/projects.md +0 -39
- package/framework/skills/lavish/SKILL.md +0 -67
- package/framework/skills/lavish/examples.md +0 -31
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
# Notion — Style Reference
|
|
2
|
+
> warm paper notebook under afternoon sun
|
|
3
|
+
|
|
4
|
+
**Theme:** light
|
|
5
|
+
|
|
6
|
+
Notion reads like a well-loved paper notebook under afternoon light: a warm off-white canvas (#f6f5f4) that feels tactile rather than clinical, generous sans typography that gives editorial weight to product copy, and color used as sparse punctuation — peachy pills highlight verbs, a single blue anchors the primary action, and a rotating cast of accent hues (coral, amber, sky, midnight) paints the feature card backgrounds like sticky notes. Cards sit on the canvas with 1px hairline borders and 12px corners — no shadows, no chrome — like ruled sections in a Moleskine. Motion is playful and springy, with 200ms ease transitions and bouncy character-mark animations that make the interface feel alive without ever being decorative.
|
|
7
|
+
|
|
8
|
+
## Tokens — Colors
|
|
9
|
+
|
|
10
|
+
| Name | Value | Token | Role |
|
|
11
|
+
|------|-------|-------|------|
|
|
12
|
+
| Notion Blue | `#0075de` | `--color-notion-blue` | Primary CTA fill, active nav accent, filled action buttons — the single chromatic commitment in a near-monochrome system, saturated enough to read as a switch |
|
|
13
|
+
| Paper Warmth | `#f6f5f4` | `--color-paper-warmth` | Page canvas, hero background, section backgrounds — warm off-white gives the system its tactile analog feel |
|
|
14
|
+
| Pure White | `#ffffff` | `--color-pure-white` | Card surfaces, elevated panels, logo-wall background, contrast text on dark cards |
|
|
15
|
+
| Ink Black | `#000000` | `--color-ink-black` | Primary text, nav links, headings — deployed at varying alpha (100%, 95%, 90%, 60%, 40%, 20%) to build hierarchy without adding new colors |
|
|
16
|
+
| Charcoal | `#111111` | `--color-charcoal` | Dark text variant for specific UI moments where pure black would feel too harsh |
|
|
17
|
+
| Stone | `#757575` | `--color-stone` | Secondary nav text, muted helper text, deactivated button labels — the 60% alpha of ink |
|
|
18
|
+
| Graphite | `#615d59` | `--color-graphite` | Body text with warm cast — the brown-tinted gray that harmonizes with the warm canvas |
|
|
19
|
+
| Slate | `#696969` | `--color-slate` | Card body text, secondary content within cards — slightly lighter than Stone |
|
|
20
|
+
| Sky Tint | `#e6f3fe` | `--color-sky-tint` | Ghost CTA background, soft blue wash for secondary actions, tinted hover states |
|
|
21
|
+
| Marigold | `#ffb110` | `--color-marigold` | Hero pill highlights, Agent feature card background, warm accent for callouts — the first color the eye finds |
|
|
22
|
+
| Coral | `#f64932` | `--color-coral` | Decorative card backgrounds, hero pill alternates, warm-to-hot accent in the rotating cast |
|
|
23
|
+
| Saffron | `#e89d01` | `--color-saffron` | Body-section accent panels, secondary warm yellow for background washes |
|
|
24
|
+
| Vermillion | `#e32d14` | `--color-vermillion` | Deep coral for saturated body-section backgrounds, signal-warm accent |
|
|
25
|
+
| Mocha | `#b18164` | `--color-mocha` | Warm brown accent for body-section panels — the earthy member of the accent cast |
|
|
26
|
+
| Signal Blue | `#097fe8` | `--color-signal-blue` | Decorative card backgrounds, hero decorative highlights, secondary blue for visual variety |
|
|
27
|
+
| Sky Wash | `#62aef0` | `--color-sky-wash` | Lightest blue in the cast — decorative backgrounds, heading accent highlights, airy washes |
|
|
28
|
+
| Midnight Ink | `#02093a` | `--color-midnight-ink` | Violet wash for highlight backgrounds, decorative bands, and soft emphasis behind content. |
|
|
29
|
+
|
|
30
|
+
## Tokens — Typography
|
|
31
|
+
|
|
32
|
+
### NotionInter — Primary sans-serif — geometric humanist with slight quirks, deployed at 400 for body, 500 for nav/UI, 600-700 for display headings. The type-scale uses aggressive negative letter-spacing at large sizes (-4.6px at 96px, -2px at 72px) that tightens the headline to feel confident and compact rather than airy. · `--font-notioninter`
|
|
33
|
+
- **Substitute:** Inter
|
|
34
|
+
- **Weights:** 400, 500, 600, 700
|
|
35
|
+
- **Sizes:** 12px, 14px, 16px, 20px, 22px, 24px, 40px, 42px, 48px, 54px, 72px, 96px
|
|
36
|
+
- **Line height:** 0.83, 1.00, 1.04, 1.14, 1.21, 1.27, 1.33, 1.40, 1.43, 1.50
|
|
37
|
+
- **Letter spacing:** -0.048em at 96px, -0.036em at 42px, -0.035em at 54px, -0.028em at 72px, -0.011em at 22px, +0.01em at 12px, normal at body sizes
|
|
38
|
+
- **OpenType features:** `"lnum", "locl" 0`
|
|
39
|
+
- **Role:** Primary sans-serif — geometric humanist with slight quirks, deployed at 400 for body, 500 for nav/UI, 600-700 for display headings. The type-scale uses aggressive negative letter-spacing at large sizes (-4.6px at 96px, -2px at 72px) that tightens the headline to feel confident and compact rather than airy.
|
|
40
|
+
|
|
41
|
+
### Lyon Text — Editorial serif reserved for specific body-text moments and section intros — used sparingly (4 instances) to give voice a literary weight, like a pull-quote in a magazine layout. Functions as a system accent, not a parallel hierarchy. · `--font-lyon-text`
|
|
42
|
+
- **Substitute:** Source Serif Pro
|
|
43
|
+
- **Weights:** 400
|
|
44
|
+
- **Sizes:** 18px, 32px
|
|
45
|
+
- **Line height:** 1.25, 1.56
|
|
46
|
+
- **Role:** Editorial serif reserved for specific body-text moments and section intros — used sparingly (4 instances) to give voice a literary weight, like a pull-quote in a magazine layout. Functions as a system accent, not a parallel hierarchy.
|
|
47
|
+
|
|
48
|
+
### Type Scale
|
|
49
|
+
|
|
50
|
+
| Role | Size | Line Height | Letter Spacing | Token |
|
|
51
|
+
|------|------|-------------|----------------|-------|
|
|
52
|
+
| caption | 12px | 1.33 | 0.12px | `--text-caption` |
|
|
53
|
+
| body-sm | 14px | 1.43 | — | `--text-body-sm` |
|
|
54
|
+
| body | 16px | 1.5 | — | `--text-body` |
|
|
55
|
+
| subheading | 20px | 1 | — | `--text-subheading` |
|
|
56
|
+
| heading-sm | 22px | 1.27 | -0.242px | `--text-heading-sm` |
|
|
57
|
+
| heading | 40px | 1.5 | — | `--text-heading` |
|
|
58
|
+
| heading-lg | 48px | 1.5 | — | `--text-heading-lg` |
|
|
59
|
+
| display-sm | 54px | 1.04 | -1.89px | `--text-display-sm` |
|
|
60
|
+
| display | 72px | 1.21 | -2.016px | `--text-display` |
|
|
61
|
+
| display-lg | 96px | 1.04 | -4.608px | `--text-display-lg` |
|
|
62
|
+
|
|
63
|
+
## Tokens — Spacing & Shapes
|
|
64
|
+
|
|
65
|
+
**Base unit:** 4px
|
|
66
|
+
|
|
67
|
+
**Density:** comfortable
|
|
68
|
+
|
|
69
|
+
### Spacing Scale
|
|
70
|
+
|
|
71
|
+
| Name | Value | Token |
|
|
72
|
+
|------|-------|-------|
|
|
73
|
+
| 4 | 4px | `--spacing-4` |
|
|
74
|
+
| 8 | 8px | `--spacing-8` |
|
|
75
|
+
| 12 | 12px | `--spacing-12` |
|
|
76
|
+
| 16 | 16px | `--spacing-16` |
|
|
77
|
+
| 20 | 20px | `--spacing-20` |
|
|
78
|
+
| 24 | 24px | `--spacing-24` |
|
|
79
|
+
| 28 | 28px | `--spacing-28` |
|
|
80
|
+
| 32 | 32px | `--spacing-32` |
|
|
81
|
+
| 36 | 36px | `--spacing-36` |
|
|
82
|
+
| 64 | 64px | `--spacing-64` |
|
|
83
|
+
| 80 | 80px | `--spacing-80` |
|
|
84
|
+
|
|
85
|
+
### Border Radius
|
|
86
|
+
|
|
87
|
+
| Element | Value |
|
|
88
|
+
|---------|-------|
|
|
89
|
+
| cards | 12px |
|
|
90
|
+
| pills | 9999px |
|
|
91
|
+
| small | 4px |
|
|
92
|
+
| buttons | 8px |
|
|
93
|
+
|
|
94
|
+
### Layout
|
|
95
|
+
|
|
96
|
+
- **Page max-width:** 1440px
|
|
97
|
+
- **Section gap:** 80px
|
|
98
|
+
- **Card padding:** 24px
|
|
99
|
+
- **Element gap:** 8px
|
|
100
|
+
|
|
101
|
+
## Components
|
|
102
|
+
|
|
103
|
+
### Primary CTA Button
|
|
104
|
+
**Role:** Filled blue action button for the main conversion goal
|
|
105
|
+
|
|
106
|
+
Background #0075de, text #ffffff at 14px NotionInter weight 500, border-radius 8px, padding 6px 15px. The only chromatic filled button in the system — every other action defers to ghost or text styles.
|
|
107
|
+
|
|
108
|
+
### Ghost CTA Button
|
|
109
|
+
**Role:** Secondary action with a subtle blue tint
|
|
110
|
+
|
|
111
|
+
Background #e6f3fe (sky tint), text #0075de at 14px weight 500, border-radius 8px, padding 6px 15px. Pairs beside the primary CTA as the lower-commitment alternative.
|
|
112
|
+
|
|
113
|
+
### Ghost Text Button
|
|
114
|
+
**Role:** Minimal action button with no fill or border
|
|
115
|
+
|
|
116
|
+
Background transparent, text #000000 at 95% alpha, border-radius 8px, padding 6px 15px. The default for tertiary actions in the hero and feature cards.
|
|
117
|
+
|
|
118
|
+
### Outlined Text Button
|
|
119
|
+
**Role:** Bordered button with no fill for mid-priority actions
|
|
120
|
+
|
|
121
|
+
Background transparent, text #000000 at 90% alpha, 1px border at same color, border-radius 4px, padding 5px 10px. Used for compact inline actions like view-all links.
|
|
122
|
+
|
|
123
|
+
### Muted Nav Link
|
|
124
|
+
**Role:** Low-emphasis navigation item
|
|
125
|
+
|
|
126
|
+
Background transparent, text #000000 at 54% alpha, border-radius 8px, padding 12px 16px. The default nav-item state — text darkens to full alpha on hover, never gets an underline.
|
|
127
|
+
|
|
128
|
+
### Pill Tag
|
|
129
|
+
**Role:** Category label or status indicator
|
|
130
|
+
|
|
131
|
+
Background colored fill (varies), text #000000 or #ffffff, border-radius 9999px, padding 4px 12px. Used for status labels like 'In progress', 'To do', 'Complete' in product mockups.
|
|
132
|
+
|
|
133
|
+
### White Feature Card
|
|
134
|
+
**Role:** Standard content card on warm canvas
|
|
135
|
+
|
|
136
|
+
Background #ffffff, border-radius 12px, padding 24px, 1px solid border at rgba(0,0,0,0.08), no shadow. The default card — sits on the warm canvas like a sticky note.
|
|
137
|
+
|
|
138
|
+
### Accent Feature Card
|
|
139
|
+
**Role:** Full-bleed colored card for feature blocks
|
|
140
|
+
|
|
141
|
+
Background one of the accent hues (#ffb110, #f64932, #62aef0, #e6f3fe, etc.), border-radius 12px, padding 24px, no border. Functions as a colored panel that paints the canvas — text inside uses #000000 or #ffffff depending on contrast.
|
|
142
|
+
|
|
143
|
+
### Dark Feature Card
|
|
144
|
+
**Role:** Inverted card for dark-on-light contrast moments
|
|
145
|
+
|
|
146
|
+
Background #02093a (midnight), text #ffffff, border-radius 12px, padding 24px. The system uses this sparingly as a 'dark mode island' on the light page — not as a full dark theme.
|
|
147
|
+
|
|
148
|
+
### Hero Highlight Pill
|
|
149
|
+
**Role:** Colored pill placed behind a verb in hero copy
|
|
150
|
+
|
|
151
|
+
Background accent color (peach #f6d5b8, yellow #ffb110, or coral #f64932), text #000000, border-radius 9999px, padding 8px 24px. The signature typographic device — wraps a single word in a sentence to draw the eye and give it weight.
|
|
152
|
+
|
|
153
|
+
### Avatar Character Mark
|
|
154
|
+
**Role:** Decorative illustrated character in a circle
|
|
155
|
+
|
|
156
|
+
40-48px circle with 2px colored border (blue, red, yellow), flat illustration inside, white background. Used in hero arrangements and scattered as decorative marks with squiggle/sparkle companions.
|
|
157
|
+
|
|
158
|
+
### Kanban Task Card
|
|
159
|
+
**Role:** Product UI task item in the embedded product mockup
|
|
160
|
+
|
|
161
|
+
Background #ffffff, border-radius 8px, padding 8px 12px, 1px border at rgba(0,0,0,0.08), small status text and emoji. Replicates the real Notion task card aesthetic inside the marketing screenshot.
|
|
162
|
+
|
|
163
|
+
### Section Header
|
|
164
|
+
**Role:** Large heading that opens a new content section
|
|
165
|
+
|
|
166
|
+
NotionInter weight 500-700, 48-54px, line-height 1.04-1.5, letter-spacing -1.89 to -2.016px. Color #000000. Followed by an optional Lyon Text subhead at 18px for editorial voice.
|
|
167
|
+
|
|
168
|
+
### Logo Wall Item
|
|
169
|
+
**Role:** Greyscale partner/client logo
|
|
170
|
+
|
|
171
|
+
SVG logo at native proportions, color desaturated to near-black (#000000 at 60% alpha), no individual borders or backgrounds. Centered grid layout with generous spacing — logos are treated as typography, not imagery.
|
|
172
|
+
|
|
173
|
+
## Do's and Don'ts
|
|
174
|
+
|
|
175
|
+
### Do
|
|
176
|
+
- Use #f6f5f4 as the page canvas and #ffffff for card surfaces — never invert this hierarchy by putting a warm card on a white page
|
|
177
|
+
- Reserve #0075de for the single primary action per screen; all secondary actions should use ghost (#e6f3fe bg) or text styles
|
|
178
|
+
- Apply negative letter-spacing to all display sizes: -4.6px at 96px, -2px at 72px, -1.9px at 54px — body text stays at normal tracking
|
|
179
|
+
- Use 1px solid borders at rgba(0,0,0,0.08) instead of shadows to separate cards from the canvas
|
|
180
|
+
- Use 12px border-radius for cards and 8px for buttons; reserve 9999px for pills and hero highlight pills only
|
|
181
|
+
- Paint feature-block backgrounds with accent hues (#ffb110, #f64932, #62aef0, #02093a) rather than adding borders or shadows to create visual variety
|
|
182
|
+
- Keep motion at 200ms with ease timing for hovers and transitions; reserve spring/bounce animations for character marks and hero elements
|
|
183
|
+
|
|
184
|
+
### Don't
|
|
185
|
+
- Do not use pure #ffffff as the page background — the warm #f6f5f4 canvas is the system's signature warmth
|
|
186
|
+
- Do not add shadows to content cards — the system uses hairline borders only, shadows appear only on the product UI mockup and nav bar
|
|
187
|
+
- Do not use multiple chromatic button colors in the same view — #0075de is the only filled button; color variety belongs in card backgrounds
|
|
188
|
+
- Do not use #000000 at 100% for all text — build hierarchy through alpha (100%, 95%, 60%, 40%) on the same color
|
|
189
|
+
- Do not use Lyon Text for UI labels or navigation — it is reserved for editorial body copy moments at 18px
|
|
190
|
+
- Do not apply border-radius larger than 12px to rectangular content — pills (9999px) and cards (12px) are the two shapes
|
|
191
|
+
- Do not use gradients — the system is strictly flat fills; visual depth comes from the warm-to-white surface contrast and accent card backgrounds
|
|
192
|
+
|
|
193
|
+
## Surfaces
|
|
194
|
+
|
|
195
|
+
| Level | Name | Value | Purpose |
|
|
196
|
+
|-------|------|-------|---------|
|
|
197
|
+
| 0 | Page Canvas | `#f6f5f4` | Warm off-white base for the entire page — the analog-paper feel starts here |
|
|
198
|
+
| 1 | Card Surface | `#ffffff` | White cards on warm canvas — pure white is reserved for surfaces that need to read as 'on top of the page' |
|
|
199
|
+
| 2 | Accent Card Surface | `#ffb110` | Colored card backgrounds (yellow, coral, blue, midnight) — feature blocks paint the canvas with single-hue fills |
|
|
200
|
+
| 3 | Dark Card Surface | `#02093a` | Deep navy panels for dark-mode-style feature blocks — inverting the surface stack with white text on midnight |
|
|
201
|
+
|
|
202
|
+
## Elevation
|
|
203
|
+
|
|
204
|
+
- **Nav (sticky):** `0px 0.7px 1.462px 0px rgb(0% 0% 0%/0.015), 0px 3px 9px 0px rgb(0% 0% 0%/0.03)`
|
|
205
|
+
- **Product UI Mockup:** `0px 4px 12px rgba(0, 0, 0, 0.1)`
|
|
206
|
+
|
|
207
|
+
## Imagery
|
|
208
|
+
|
|
209
|
+
Illustration-first, photography-free. The visual language is built from flat illustrated character marks (round faces in 2px colored circles), abstract decorative elements (hand-drawn squiggles, sparkles, arrows, flower shapes), and product UI mockups. Character marks appear in the hero as a horizontal row of 7 avatars and scatter across the page as playful punctuation. Product screenshots are the only 'real' visuals — they show the actual Notion interface (kanban boards, document views, AI agent panels) with full chrome and real data. The product mockup in the hero is large, centered, and casts a single drop-shadow to separate it from the canvas. There are no lifestyle photos, no stock imagery, no abstract 3D renders.
|
|
210
|
+
|
|
211
|
+
## Layout
|
|
212
|
+
|
|
213
|
+
Centered, max-width contained at ~1440px. The hero is a centered stack: character-mark row → large two-line headline with an embedded colored pill → subhead → two-button CTA row → large product UI mockup. Below the hero, sections alternate between white-card grids and full-bleed colored accent panels. The logo wall is a centered single-row grid of greyscale partner logos. Feature blocks use a 2-column layout (text left, colored panel right) that alternates left-right between sections. The 'Ask your on-demand assistants' section uses a 2×2 card grid where the top card is full-width and the bottom row splits into two equal columns. Section gaps are generous (~80px) creating a calm vertical rhythm. Navigation is a fixed top bar at 64px height with centered nav items and right-aligned action buttons.
|
|
214
|
+
|
|
215
|
+
## Agent Prompt Guide
|
|
216
|
+
|
|
217
|
+
## Quick Color Reference
|
|
218
|
+
- text: #000000 (build hierarchy through alpha: 100% / 95% / 60% / 40%)
|
|
219
|
+
- background: #f6f5f4 (warm off-white canvas)
|
|
220
|
+
- card surface: #ffffff
|
|
221
|
+
- border: rgba(0, 0, 0, 0.08)
|
|
222
|
+
- primary action: #0075de (filled action)
|
|
223
|
+
- accent: #ffb110, #f64932, #62aef0, #02093a (rotate through these for card backgrounds)
|
|
224
|
+
|
|
225
|
+
## Example Component Prompts
|
|
226
|
+
|
|
227
|
+
1. **Hero headline with highlight pill**: Render a centered hero on #f6f5f4. Headline: 'Where teams and agents Create together.' at 72px NotionInter weight 500, #000000, line-height 1.21, letter-spacing -2.016px. Wrap the word 'Create' in a pill: background #f6d5b8, text #000000, border-radius 9999px, padding 8px 24px, inline within the sentence. Subhead below at 18px Lyon Text weight 400, #615d59, line-height 1.56.
|
|
228
|
+
|
|
229
|
+
2. **White feature card**: Create a card on the warm canvas. Background #ffffff, border-radius 12px, padding 24px, 1px solid border rgba(0,0,0,0.08). No shadow. Title at 22px NotionInter weight 700, #000000, letter-spacing -0.242px. Body at 16px weight 400, #615d59, line-height 1.5.
|
|
230
|
+
|
|
231
|
+
3. **Accent feature block**: Create a full-bleed colored panel. Background #ffb110, border-radius 12px, padding 24px. Title at 40px NotionInter weight 400, #000000, line-height 1.5. A product UI screenshot sits inside with a drop-shadow at 0px 4px 12px rgba(0,0,0,0.1) to create depth against the colored background.
|
|
232
|
+
|
|
233
|
+
4. Create a Primary Action Button: #0075de background, #ffffff text, 9999px radius, compact pill padding. Use this filled treatment for the main CTA.
|
|
234
|
+
|
|
235
|
+
5. **Kanban task card (product mockup)**: Create a task card inside a product screenshot. Background #ffffff, border-radius 8px, padding 8px 12px, 1px solid border rgba(0,0,0,0.08). Task text at 14px NotionInter weight 500, #000000. Optional status pill above: background colored fill, text #ffffff, border-radius 9999px, padding 2px 8px, font 12px.
|
|
236
|
+
|
|
237
|
+
## Decorative Marks System
|
|
238
|
+
|
|
239
|
+
Character marks (round illustrated faces in 2px colored circles) and abstract decorative elements (squiggles, sparkles, arrows, flower shapes) are deployed as visual punctuation, not as illustrations with content. They cluster around hero copy, scatter near feature cards, and animate on scroll. Colors for the circle borders rotate through the accent palette: #097fe8 (blue), #f64932 (coral), #ffb110 (yellow), #62aef0 (sky). The marks are 40-48px circles with flat color illustrations inside, always on white fills. They never carry information or link to content — they exist purely to make the interface feel alive and handcrafted.
|
|
240
|
+
|
|
241
|
+
## Similar Brands
|
|
242
|
+
|
|
243
|
+
- **Linear** — Same monochrome-light approach with a single accent color, hairline-border cards, generous display typography with negative tracking, and zero shadows on content surfaces
|
|
244
|
+
- **Stripe** — Same editorial use of serif+sans pairing, large display headlines with tight letter-spacing, and color reserved for functional emphasis rather than decoration
|
|
245
|
+
- **Figma** — Same playful illustrated character marks as decorative punctuation, warm light canvas, and rotating accent hues for section variety
|
|
246
|
+
- **Craft Docs** — Same paper-warm aesthetic with off-white canvas, restrained color palette, and a focus on the document-as-surface metaphor
|
|
247
|
+
|
|
248
|
+
## Quick Start
|
|
249
|
+
|
|
250
|
+
### CSS Custom Properties
|
|
251
|
+
|
|
252
|
+
```css
|
|
253
|
+
:root {
|
|
254
|
+
/* Colors */
|
|
255
|
+
--color-notion-blue: #0075de;
|
|
256
|
+
--color-paper-warmth: #f6f5f4;
|
|
257
|
+
--color-pure-white: #ffffff;
|
|
258
|
+
--color-ink-black: #000000;
|
|
259
|
+
--color-charcoal: #111111;
|
|
260
|
+
--color-stone: #757575;
|
|
261
|
+
--color-graphite: #615d59;
|
|
262
|
+
--color-slate: #696969;
|
|
263
|
+
--color-sky-tint: #e6f3fe;
|
|
264
|
+
--color-marigold: #ffb110;
|
|
265
|
+
--color-coral: #f64932;
|
|
266
|
+
--color-saffron: #e89d01;
|
|
267
|
+
--color-vermillion: #e32d14;
|
|
268
|
+
--color-mocha: #b18164;
|
|
269
|
+
--color-signal-blue: #097fe8;
|
|
270
|
+
--color-sky-wash: #62aef0;
|
|
271
|
+
--color-midnight-ink: #02093a;
|
|
272
|
+
|
|
273
|
+
/* Typography — Font Families */
|
|
274
|
+
--font-notioninter: 'NotionInter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
275
|
+
--font-lyon-text: 'Lyon Text', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
276
|
+
|
|
277
|
+
/* Typography — Scale */
|
|
278
|
+
--text-caption: 12px;
|
|
279
|
+
--leading-caption: 1.33;
|
|
280
|
+
--tracking-caption: 0.12px;
|
|
281
|
+
--text-body-sm: 14px;
|
|
282
|
+
--leading-body-sm: 1.43;
|
|
283
|
+
--text-body: 16px;
|
|
284
|
+
--leading-body: 1.5;
|
|
285
|
+
--text-subheading: 20px;
|
|
286
|
+
--leading-subheading: 1;
|
|
287
|
+
--text-heading-sm: 22px;
|
|
288
|
+
--leading-heading-sm: 1.27;
|
|
289
|
+
--tracking-heading-sm: -0.242px;
|
|
290
|
+
--text-heading: 40px;
|
|
291
|
+
--leading-heading: 1.5;
|
|
292
|
+
--text-heading-lg: 48px;
|
|
293
|
+
--leading-heading-lg: 1.5;
|
|
294
|
+
--text-display-sm: 54px;
|
|
295
|
+
--leading-display-sm: 1.04;
|
|
296
|
+
--tracking-display-sm: -1.89px;
|
|
297
|
+
--text-display: 72px;
|
|
298
|
+
--leading-display: 1.21;
|
|
299
|
+
--tracking-display: -2.016px;
|
|
300
|
+
--text-display-lg: 96px;
|
|
301
|
+
--leading-display-lg: 1.04;
|
|
302
|
+
--tracking-display-lg: -4.608px;
|
|
303
|
+
|
|
304
|
+
/* Typography — Weights */
|
|
305
|
+
--font-weight-regular: 400;
|
|
306
|
+
--font-weight-medium: 500;
|
|
307
|
+
--font-weight-semibold: 600;
|
|
308
|
+
--font-weight-bold: 700;
|
|
309
|
+
|
|
310
|
+
/* Spacing */
|
|
311
|
+
--spacing-unit: 4px;
|
|
312
|
+
--spacing-4: 4px;
|
|
313
|
+
--spacing-8: 8px;
|
|
314
|
+
--spacing-12: 12px;
|
|
315
|
+
--spacing-16: 16px;
|
|
316
|
+
--spacing-20: 20px;
|
|
317
|
+
--spacing-24: 24px;
|
|
318
|
+
--spacing-28: 28px;
|
|
319
|
+
--spacing-32: 32px;
|
|
320
|
+
--spacing-36: 36px;
|
|
321
|
+
--spacing-64: 64px;
|
|
322
|
+
--spacing-80: 80px;
|
|
323
|
+
|
|
324
|
+
/* Layout */
|
|
325
|
+
--page-max-width: 1440px;
|
|
326
|
+
--section-gap: 80px;
|
|
327
|
+
--card-padding: 24px;
|
|
328
|
+
--element-gap: 8px;
|
|
329
|
+
|
|
330
|
+
/* Border Radius */
|
|
331
|
+
--radius-md: 4px;
|
|
332
|
+
--radius-lg: 8px;
|
|
333
|
+
--radius-xl: 12px;
|
|
334
|
+
--radius-full: 9999px;
|
|
335
|
+
|
|
336
|
+
/* Named Radii */
|
|
337
|
+
--radius-cards: 12px;
|
|
338
|
+
--radius-pills: 9999px;
|
|
339
|
+
--radius-small: 4px;
|
|
340
|
+
--radius-buttons: 8px;
|
|
341
|
+
|
|
342
|
+
/* Surfaces */
|
|
343
|
+
--surface-page-canvas: #f6f5f4;
|
|
344
|
+
--surface-card-surface: #ffffff;
|
|
345
|
+
--surface-accent-card-surface: #ffb110;
|
|
346
|
+
--surface-dark-card-surface: #02093a;
|
|
347
|
+
}
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Tailwind v4
|
|
351
|
+
|
|
352
|
+
```css
|
|
353
|
+
@theme {
|
|
354
|
+
/* Colors */
|
|
355
|
+
--color-notion-blue: #0075de;
|
|
356
|
+
--color-paper-warmth: #f6f5f4;
|
|
357
|
+
--color-pure-white: #ffffff;
|
|
358
|
+
--color-ink-black: #000000;
|
|
359
|
+
--color-charcoal: #111111;
|
|
360
|
+
--color-stone: #757575;
|
|
361
|
+
--color-graphite: #615d59;
|
|
362
|
+
--color-slate: #696969;
|
|
363
|
+
--color-sky-tint: #e6f3fe;
|
|
364
|
+
--color-marigold: #ffb110;
|
|
365
|
+
--color-coral: #f64932;
|
|
366
|
+
--color-saffron: #e89d01;
|
|
367
|
+
--color-vermillion: #e32d14;
|
|
368
|
+
--color-mocha: #b18164;
|
|
369
|
+
--color-signal-blue: #097fe8;
|
|
370
|
+
--color-sky-wash: #62aef0;
|
|
371
|
+
--color-midnight-ink: #02093a;
|
|
372
|
+
|
|
373
|
+
/* Typography */
|
|
374
|
+
--font-notioninter: 'NotionInter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
375
|
+
--font-lyon-text: 'Lyon Text', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
376
|
+
|
|
377
|
+
/* Typography — Scale */
|
|
378
|
+
--text-caption: 12px;
|
|
379
|
+
--leading-caption: 1.33;
|
|
380
|
+
--tracking-caption: 0.12px;
|
|
381
|
+
--text-body-sm: 14px;
|
|
382
|
+
--leading-body-sm: 1.43;
|
|
383
|
+
--text-body: 16px;
|
|
384
|
+
--leading-body: 1.5;
|
|
385
|
+
--text-subheading: 20px;
|
|
386
|
+
--leading-subheading: 1;
|
|
387
|
+
--text-heading-sm: 22px;
|
|
388
|
+
--leading-heading-sm: 1.27;
|
|
389
|
+
--tracking-heading-sm: -0.242px;
|
|
390
|
+
--text-heading: 40px;
|
|
391
|
+
--leading-heading: 1.5;
|
|
392
|
+
--text-heading-lg: 48px;
|
|
393
|
+
--leading-heading-lg: 1.5;
|
|
394
|
+
--text-display-sm: 54px;
|
|
395
|
+
--leading-display-sm: 1.04;
|
|
396
|
+
--tracking-display-sm: -1.89px;
|
|
397
|
+
--text-display: 72px;
|
|
398
|
+
--leading-display: 1.21;
|
|
399
|
+
--tracking-display: -2.016px;
|
|
400
|
+
--text-display-lg: 96px;
|
|
401
|
+
--leading-display-lg: 1.04;
|
|
402
|
+
--tracking-display-lg: -4.608px;
|
|
403
|
+
|
|
404
|
+
/* Spacing */
|
|
405
|
+
--spacing-4: 4px;
|
|
406
|
+
--spacing-8: 8px;
|
|
407
|
+
--spacing-12: 12px;
|
|
408
|
+
--spacing-16: 16px;
|
|
409
|
+
--spacing-20: 20px;
|
|
410
|
+
--spacing-24: 24px;
|
|
411
|
+
--spacing-28: 28px;
|
|
412
|
+
--spacing-32: 32px;
|
|
413
|
+
--spacing-36: 36px;
|
|
414
|
+
--spacing-64: 64px;
|
|
415
|
+
--spacing-80: 80px;
|
|
416
|
+
|
|
417
|
+
/* Border Radius */
|
|
418
|
+
--radius-md: 4px;
|
|
419
|
+
--radius-lg: 8px;
|
|
420
|
+
--radius-xl: 12px;
|
|
421
|
+
--radius-full: 9999px;
|
|
422
|
+
}
|
|
423
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Notion — Style Reference
|
|
2
|
+
|
|
3
|
+
> warm paper notebook under afternoon sun
|
|
4
|
+
|
|
5
|
+
**Theme:** light
|
|
6
|
+
|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
Notion treats the interface as a warm paper canvas: #f6f5f4 backgrounds, white cards, hairline borders, and sparse color accents. NotionInter provides compact geometric display type while Lyon Text adds occasional editorial voice. Blue anchors primary actions, and coral, amber, sky, and midnight hues appear as playful feature-card and highlight surfaces.
|
|
10
|
+
|
|
11
|
+
## Guidelines
|
|
12
|
+
|
|
13
|
+
### Do
|
|
14
|
+
|
|
15
|
+
- Use #f6f5f4 as the page canvas and #ffffff for card surfaces
|
|
16
|
+
- Reserve #0075de for the single primary action per screen
|
|
17
|
+
- Use NotionInter for UI and display text, with Lyon Text only for editorial body moments
|
|
18
|
+
- Use 12px card radii, 8px button radii, and 9999px for pills and highlight pills
|
|
19
|
+
- Separate cards with 1px hairline borders rather than shadows
|
|
20
|
+
- Use accent hues for feature panels and hero highlights, not multiple button colors
|
|
21
|
+
|
|
22
|
+
### Don't
|
|
23
|
+
|
|
24
|
+
- Do not use pure white as the page background
|
|
25
|
+
- Do not add shadows to content cards
|
|
26
|
+
- Do not use Lyon Text for navigation or UI labels
|
|
27
|
+
- Do not apply gradients
|
|
28
|
+
- Do not use large radii on rectangular content
|
|
29
|
+
|
|
30
|
+
## Similar Brands
|
|
31
|
+
|
|
32
|
+
Linear, Stripe, Figma, Craft Docs
|
|
Binary file
|
package/package.json
CHANGED
package/src/catalog.js
CHANGED
|
@@ -7,21 +7,22 @@ export const categories = {
|
|
|
7
7
|
{ id: 'agent-browser', name: 'Agent Browser', description: 'Automate browser and Electron workflows for navigation, testing, screenshots, and data extraction' },
|
|
8
8
|
{ id: 'backend-best-practices', name: 'Backend Best Practices', description: 'Consolidated backend engineering practices across API, data, security, testing, and operations' },
|
|
9
9
|
{ id: 'brainstorming', name: 'Brainstorming', description: 'Turn ideas into fully formed designs through dialogue' },
|
|
10
|
-
{ id: 'brand-guidelines', name: 'Brand Guidelines', description: 'Apply official brand colors and typography' },
|
|
11
10
|
{ id: 'code-review', name: 'Code Review', description: 'Review backend changes for correctness and maintainability' },
|
|
12
11
|
{ id: 'codenavi', name: 'CodeNavi', description: 'Navigate unknown codebases with precision, a persistent .notebook knowledge base, and surgical implementation' },
|
|
13
12
|
{ id: 'create-adr', name: 'Create ADR', description: 'Create Architecture Decision Records documenting significant architectural choices and rationale' },
|
|
14
13
|
{ id: 'design', name: 'Design Like Damien', description: 'Premium UI design philosophy and Lovable prompting' },
|
|
15
14
|
{ id: 'diagram-design', name: 'Diagram Design', description: 'Create technical and product diagrams as standalone HTML with inline SVG' },
|
|
16
15
|
{ id: 'docs-writer', name: 'Docs Writer', description: 'Write, review, and edit documentation files with consistent structure, tone, and technical accuracy' },
|
|
16
|
+
{ id: 'effective-html', name: 'Effective HTML', description: 'Create self-contained HTML artifacts with routed guidance for design, wireframes, prototypes, plans, and diagrams' },
|
|
17
17
|
{ id: 'find-skills', name: 'Find Skills', description: 'Discover, evaluate, and install agent skills for specialized tasks' },
|
|
18
18
|
{ id: 'frontend-design', name: 'Frontend Design', description: 'Distinctive, intentional visual design for new UI or reshaping existing UI' },
|
|
19
|
-
{ id: '
|
|
19
|
+
{ id: 'glab', name: 'Glab', description: 'Work with GitLab via the glab CLI for MRs, issues, and pipelines' },
|
|
20
|
+
{ id: 'great-interface', name: 'Great Interface', description: 'Build, explain, review, and refine product interfaces across accessibility, layout, writing, typography, color, and UI polish' },
|
|
20
21
|
{ id: 'humanizer', name: 'Humanizer', description: 'Remove signs of AI-generated writing to make text sound more natural and human' },
|
|
21
|
-
{ id: '
|
|
22
|
+
{ id: 'improve', name: 'Improve', description: 'Audit repositories and produce prioritized, read-only implementation plans for another agent' },
|
|
23
|
+
{ id: 'jira-cli', name: 'Jira CLI', description: 'Work with Jira via the jira CLI for issues, sprints, and epics' },
|
|
22
24
|
{ id: 'laravel-best-practices', name: 'Laravel Best Practices', description: 'Laravel patterns for Eloquent, validation, testing' },
|
|
23
25
|
{ id: 'learning-opportunities', name: 'Learning Opportunities', description: 'Facilitate deliberate skill development during AI-assisted coding with short, interactive exercises' },
|
|
24
|
-
{ id: 'lavish', name: 'Lavish', description: 'Turn complex responses into rich HTML artifacts' },
|
|
25
26
|
{ id: 'notion-mcp', name: 'Notion MCP', description: 'Work with Notion MCP for pages, databases, search' },
|
|
26
27
|
{ id: 'perf-web-optimization', name: 'Web Performance Optimization', description: 'Optimize web performance: bundle size, images, caching, lazy loading, and overall page speed' },
|
|
27
28
|
{ id: 'security-best-practices', name: 'Security Best Practices', description: 'Language and framework specific security best-practice reviews and secure-by-default coding help' },
|
|
@@ -41,7 +42,6 @@ export const categories = {
|
|
|
41
42
|
description: 'Specialized subagents for security, architecture, review, and research',
|
|
42
43
|
sourceDir: 'framework/agents',
|
|
43
44
|
items: [
|
|
44
|
-
{ id: 'backend-architect', name: 'Backend Architect', description: 'Design scalable, secure backend systems' },
|
|
45
45
|
{ id: 'researcher', name: 'Researcher', description: 'Fetch and analyze web content from URLs' },
|
|
46
46
|
{ id: 'reviewer', name: 'Reviewer', description: 'Review code for correctness and best practices' },
|
|
47
47
|
{ id: 'security-auditor', name: 'Security Auditor', description: 'Conduct security audits for REST APIs' },
|
|
@@ -71,9 +71,6 @@ export const categories = {
|
|
|
71
71
|
items: [
|
|
72
72
|
{ id: 'excalidraw', name: 'Excalidraw MCP', description: 'Stream hand-drawn diagrams with interactive editing' },
|
|
73
73
|
{ id: 'figma-mcp-go', name: 'Figma MCP Go', description: 'Read/write access to Figma designs via plugin bridge' },
|
|
74
|
-
{ id: 'gitlab-mcp', name: 'GitLab MCP', description: 'Comprehensive GitLab integration' },
|
|
75
|
-
{ id: 'github-mcp', name: 'GitHub MCP', description: 'Browse repos, manage issues/PRs, monitor Actions' },
|
|
76
|
-
{ id: 'jira-mcp', name: 'Jira MCP', description: 'Interact with self-hosted Jira instances' },
|
|
77
74
|
{ id: 'laravel-boost', name: 'Laravel Boost MCP', description: 'Laravel application context and ecosystem docs' },
|
|
78
75
|
{ id: 'notion-mcp', name: 'Notion MCP', description: 'Search, read, and write Notion content' },
|
|
79
76
|
{ id: 'playwright-mcp', name: 'Playwright MCP', description: 'Cross-browser automation with accessibility snapshots' },
|
|
@@ -96,7 +93,10 @@ export const categories = {
|
|
|
96
93
|
description: 'Design system references from Refero Styles',
|
|
97
94
|
sourceDir: 'framework/styles',
|
|
98
95
|
items: [
|
|
96
|
+
{ id: 'factory', name: 'Factory', description: 'Terminal war room design system' },
|
|
97
|
+
{ id: 'huly', name: 'Huly', description: 'Midnight observatory design system' },
|
|
99
98
|
{ id: 'linear', name: 'Linear', description: 'Midnight precision instrument design system' },
|
|
99
|
+
{ id: 'notion', name: 'Notion', description: 'Warm paper notebook design system' },
|
|
100
100
|
{ id: 'raycast', name: 'Raycast', description: 'Midnight command center design system' },
|
|
101
101
|
],
|
|
102
102
|
},
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Master backend architect for designing scalable, secure, and maintainable server-side systems. Use for API design, database architecture, system architecture decisions, security implementation, performance optimization, and DevOps integration.
|
|
3
|
-
mode: subagent
|
|
4
|
-
temperature: 0.1
|
|
5
|
-
permission:
|
|
6
|
-
bash: allow
|
|
7
|
-
read: allow
|
|
8
|
-
edit: deny
|
|
9
|
-
write: deny
|
|
10
|
-
patch: deny
|
|
11
|
-
grep: allow
|
|
12
|
-
glob: allow
|
|
13
|
-
list: allow
|
|
14
|
-
webfetch: allow
|
|
15
|
-
todoread: deny
|
|
16
|
-
todowrite: deny
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
You are a master backend architect with deep expertise in designing scalable, secure, and maintainable server-side systems. You excel at making architectural decisions that balance immediate needs with long-term scalability.
|
|
20
|
-
|
|
21
|
-
## Core Responsibilities
|
|
22
|
-
|
|
23
|
-
### 1. API Design & Implementation
|
|
24
|
-
- Design RESTful APIs following OpenAPI specifications
|
|
25
|
-
- Implement GraphQL schemas when appropriate
|
|
26
|
-
- Create proper versioning strategies
|
|
27
|
-
- Implement comprehensive error handling
|
|
28
|
-
- Design consistent response formats
|
|
29
|
-
- Build proper authentication and authorization
|
|
30
|
-
|
|
31
|
-
### 2. Database Architecture
|
|
32
|
-
- Choose appropriate databases (SQL vs NoSQL)
|
|
33
|
-
- Design normalized schemas with proper relationships
|
|
34
|
-
- Implement efficient indexing strategies
|
|
35
|
-
- Create data migration strategies
|
|
36
|
-
- Handle concurrent access patterns
|
|
37
|
-
- Implement caching layers (Redis, Memcached)
|
|
38
|
-
|
|
39
|
-
### 3. System Architecture
|
|
40
|
-
- Design microservices with clear boundaries
|
|
41
|
-
- Implement message queues for async processing
|
|
42
|
-
- Create event-driven architectures
|
|
43
|
-
- Build fault-tolerant systems
|
|
44
|
-
- Implement circuit breakers and retries
|
|
45
|
-
- Design for horizontal scaling
|
|
46
|
-
|
|
47
|
-
### 4. Security Implementation
|
|
48
|
-
- Implement proper authentication (JWT, OAuth2)
|
|
49
|
-
- Create role-based access control (RBAC)
|
|
50
|
-
- Validate and sanitize all inputs
|
|
51
|
-
- Implement rate limiting and DDoS protection
|
|
52
|
-
- Encrypt sensitive data at rest and in transit
|
|
53
|
-
- Follow OWASP security guidelines
|
|
54
|
-
|
|
55
|
-
### 5. Performance Optimization
|
|
56
|
-
- Implement efficient caching strategies
|
|
57
|
-
- Optimize database queries and connections
|
|
58
|
-
- Use connection pooling effectively
|
|
59
|
-
- Implement lazy loading where appropriate
|
|
60
|
-
- Monitor and optimize memory usage
|
|
61
|
-
- Create performance benchmarks
|
|
62
|
-
|
|
63
|
-
### 6. DevOps Integration
|
|
64
|
-
- Create Dockerized applications
|
|
65
|
-
- Implement health checks and monitoring
|
|
66
|
-
- Set up proper logging and tracing
|
|
67
|
-
- Create CI/CD-friendly architectures
|
|
68
|
-
- Implement feature flags for safe deployments
|
|
69
|
-
- Design for zero-downtime deployments
|
|
70
|
-
|
|
71
|
-
## Technology Stack Expertise
|
|
72
|
-
|
|
73
|
-
**Languages:** PHP, Python, Go, Rust
|
|
74
|
-
**Frameworks:** Laravel, FastAPI, Gin
|
|
75
|
-
**Databases:** PostgreSQL, MongoDB, Redis, MySQL
|
|
76
|
-
**Message Queues:** RabbitMQ, Kafka, SQS
|
|
77
|
-
**Cloud:** VPS, Vercel, Supabase
|
|
78
|
-
|
|
79
|
-
## Architectural Patterns
|
|
80
|
-
|
|
81
|
-
- Microservices with API Gateway
|
|
82
|
-
- Event Sourcing and CQRS
|
|
83
|
-
- Serverless with Lambda/Functions
|
|
84
|
-
- Domain-Driven Design (DDD)
|
|
85
|
-
- Hexagonal Architecture
|
|
86
|
-
- Service Mesh with Istio
|
|
87
|
-
|
|
88
|
-
## Workflow
|
|
89
|
-
|
|
90
|
-
### Step 1: Understand Requirements
|
|
91
|
-
Read conversation history, project structure, and existing code. Identify constraints: traffic patterns, data volume, latency requirements, team expertise, deployment environment. Load [`skills/backend-best-practices/SKILL.md`](../skills/backend-best-practices/SKILL.md), and referenced standards.
|
|
92
|
-
|
|
93
|
-
### Step 2: Evaluate Tradeoffs
|
|
94
|
-
For each architectural decision, consider:
|
|
95
|
-
- **Complexity vs maintainability**: will this abstraction pay off in 3 months?
|
|
96
|
-
- **Performance vs cost**: does the optimization justify the infrastructure expense?
|
|
97
|
-
- **Speed vs correctness**: can we ship a safe subset now and iterate?
|
|
98
|
-
- **Consistency vs availability**: which matters more for this specific operation?
|
|
99
|
-
|
|
100
|
-
### Step 3: Design and Document
|
|
101
|
-
Produce artifacts matching the task scope:
|
|
102
|
-
- API contracts (OpenAPI or GraphQL schema)
|
|
103
|
-
- Data model with entity relationships and indexes
|
|
104
|
-
- System architecture diagram (text or component map)
|
|
105
|
-
- Deployment architecture (containers, networking, scaling)
|
|
106
|
-
- Security model (auth flows, RBAC matrix, encryption boundaries)
|
|
107
|
-
|
|
108
|
-
### Step 4: Review Against Principles
|
|
109
|
-
- Can each component change independently?
|
|
110
|
-
- Is there a simpler architecture that satisfies the same requirements?
|
|
111
|
-
- Are failure modes documented (timeout, retry, fallback, partial failure)?
|
|
112
|
-
- Are operational concerns addressed (observability, deployability, rollback)?
|
|
113
|
-
|
|
114
|
-
## Output Format
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
## Architecture Summary
|
|
118
|
-
[High-level design and key decisions]
|
|
119
|
-
|
|
120
|
-
## API Design
|
|
121
|
-
[Contracts, versioning, error handling approach]
|
|
122
|
-
|
|
123
|
-
## Data Model
|
|
124
|
-
[Entity relationships, storage choices, caching]
|
|
125
|
-
|
|
126
|
-
## System Architecture
|
|
127
|
-
[Components, boundaries, communication patterns]
|
|
128
|
-
|
|
129
|
-
## Security Model
|
|
130
|
-
[Auth, authorization, input validation, encryption]
|
|
131
|
-
|
|
132
|
-
## Performance Considerations
|
|
133
|
-
[Caching, connection pooling, scaling strategy]
|
|
134
|
-
|
|
135
|
-
## Tradeoffs & Risks
|
|
136
|
-
[What was deferred, what could break, mitigation plan]
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## Tone
|
|
140
|
-
|
|
141
|
-
- **Pragmatic** — recommend what works for the actual constraints, not theoretical ideal
|
|
142
|
-
- **Explicit about tradeoffs** — every decision has a cost; surface it
|
|
143
|
-
- **Specific and actionable** — concrete schema snippets, config examples, code patterns
|
|
144
|
-
- **Cost-aware** — consider infra cost, team velocity, and maintenance burden
|
|
145
|
-
|
|
146
|
-
Return findings in response. Do not modify files.
|