@symbo.ls/mcp 1.0.11 → 1.0.14
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/README.md +1 -0
- package/package.json +1 -1
- package/symbols_mcp/skills/AUDIT.md +148 -174
- package/symbols_mcp/skills/BRAND_IDENTITY.md +75 -0
- package/symbols_mcp/skills/COMPONENTS.md +151 -306
- package/symbols_mcp/skills/COOKBOOK.md +850 -0
- package/symbols_mcp/skills/DEFAULT_COMPONENTS.md +3856 -0
- package/symbols_mcp/skills/DEFAULT_LIBRARY.md +301 -0
- package/symbols_mcp/skills/DESIGN_CRITIQUE.md +70 -59
- package/symbols_mcp/skills/DESIGN_DIRECTION.md +109 -175
- package/symbols_mcp/skills/DESIGN_SYSTEM.md +473 -181
- package/symbols_mcp/skills/DESIGN_SYSTEM_ARCHITECT.md +65 -57
- package/symbols_mcp/skills/DESIGN_TO_CODE.md +83 -64
- package/symbols_mcp/skills/DESIGN_TREND.md +62 -50
- package/symbols_mcp/skills/FIGMA_MATCHING.md +69 -58
- package/symbols_mcp/skills/LEARNINGS.md +374 -0
- package/symbols_mcp/skills/MARKETING_ASSETS.md +71 -59
- package/symbols_mcp/skills/MIGRATION.md +158 -117
- package/symbols_mcp/skills/PATTERNS.md +101 -74
- package/symbols_mcp/skills/PRESENTATION.md +78 -0
- package/symbols_mcp/skills/PROJECT_STRUCTURE.md +114 -116
- package/symbols_mcp/skills/RULES.md +179 -148
- package/symbols_mcp/skills/RUNNING_APPS.md +476 -0
- package/symbols_mcp/skills/SEO-METADATA.md +33 -18
- package/symbols_mcp/skills/SNIPPETS.md +598 -0
- package/symbols_mcp/skills/SSR-BRENDER.md +99 -0
- package/symbols_mcp/skills/SYNTAX.md +356 -298
- package/symbols_mcp/skills/BRAND_INDENTITY.md +0 -69
- package/symbols_mcp/skills/THE_PRESENTATION.md +0 -69
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Default Library — Fundamental Component Layer
|
|
2
|
+
|
|
3
|
+
## What It Contains
|
|
4
|
+
|
|
5
|
+
The default library (`default.symbo.ls`) provides 127+ pre-built, production-ready components. Included automatically when creating projects via `smbls create` (Default option) or the Symbols platform. Choose "Blank" for an empty project.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Component Tables
|
|
10
|
+
|
|
11
|
+
### Atoms (Foundation)
|
|
12
|
+
|
|
13
|
+
| Component | Extends | Purpose |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| `Box` | — | Generic container with CSS-in-props |
|
|
16
|
+
| `Text` | — | Text rendering (H1-H6, P, Caption, etc.) |
|
|
17
|
+
| `Flex` | `Box` | Flexbox layout |
|
|
18
|
+
| `Grid` | `Box` | CSS Grid layout |
|
|
19
|
+
| `Form` | `Box` | Form container |
|
|
20
|
+
| `Hgroup` | `Flex` | Heading group |
|
|
21
|
+
| `Img` | — | Image element |
|
|
22
|
+
| `Svg` | — | SVG container for non-icon SVGs (decorative/structural). Use `Icon` for icons |
|
|
23
|
+
| `Video` | — | Video element |
|
|
24
|
+
| `Iframe` | — | Embedded frame |
|
|
25
|
+
| `Shape` | `Box` | Shape utilities |
|
|
26
|
+
|
|
27
|
+
### Buttons
|
|
28
|
+
|
|
29
|
+
| Component | Description |
|
|
30
|
+
|---|---|
|
|
31
|
+
| `Button` | Base button with text/icon support |
|
|
32
|
+
| `IconButton` | Icon-only button |
|
|
33
|
+
| `SquareButton` | Fixed-aspect button |
|
|
34
|
+
| `CircleButton` | Circular button |
|
|
35
|
+
| `SubmitButton` | Form submit button |
|
|
36
|
+
| `UploadButton` | File upload trigger |
|
|
37
|
+
| `CounterButton` | Button with counter badge |
|
|
38
|
+
| `ButtonSet` | Group of buttons |
|
|
39
|
+
| `ConfirmationButtons` | Confirm/Cancel pair |
|
|
40
|
+
|
|
41
|
+
### Inputs & Forms
|
|
42
|
+
|
|
43
|
+
| Component | Description |
|
|
44
|
+
|---|---|
|
|
45
|
+
| `Input` | Text input |
|
|
46
|
+
| `Textarea` | Multi-line input |
|
|
47
|
+
| `NumberInput` | Numeric input |
|
|
48
|
+
| `Checkbox` | Checkbox control |
|
|
49
|
+
| `Radio` | Radio button |
|
|
50
|
+
| `Toggle` | Toggle switch |
|
|
51
|
+
| `Select` | Dropdown select |
|
|
52
|
+
| `Field` | Label + input wrapper |
|
|
53
|
+
| `Search` | Search input with icon |
|
|
54
|
+
|
|
55
|
+
### Avatar & Social
|
|
56
|
+
|
|
57
|
+
| Component | Description |
|
|
58
|
+
|---|---|
|
|
59
|
+
| `Avatar` | User avatar (extends Img) |
|
|
60
|
+
| `AvatarSet` | Group of avatars |
|
|
61
|
+
| `AvatarStatus` | Avatar with status indicator |
|
|
62
|
+
| `AvatarHgroup` | Avatar + name/description |
|
|
63
|
+
|
|
64
|
+
### Data Display
|
|
65
|
+
|
|
66
|
+
| Component | Description |
|
|
67
|
+
|---|---|
|
|
68
|
+
| `Badge` | Status/count badge |
|
|
69
|
+
| `StatusDot` | Colored status indicator |
|
|
70
|
+
| `Progress` | Progress bar |
|
|
71
|
+
| `CircleProgress` | Circular progress |
|
|
72
|
+
| `Stars` | Star rating |
|
|
73
|
+
| `UnitValue` | Number + unit display |
|
|
74
|
+
|
|
75
|
+
### Navigation
|
|
76
|
+
|
|
77
|
+
| Component | Description |
|
|
78
|
+
|---|---|
|
|
79
|
+
| `Link` | Navigation link with router |
|
|
80
|
+
| `LinkSet` | Group of links |
|
|
81
|
+
| `Breadcrumb` | Breadcrumb navigation |
|
|
82
|
+
| `TabSet` | Tab navigation |
|
|
83
|
+
| `Pagination` | Page navigation |
|
|
84
|
+
|
|
85
|
+
### Feedback & Overlay
|
|
86
|
+
|
|
87
|
+
| Component | Description |
|
|
88
|
+
|---|---|
|
|
89
|
+
| `Modal` | Modal dialog |
|
|
90
|
+
| `Notification` | Notification banner |
|
|
91
|
+
| `Tooltip` | Hover tooltip |
|
|
92
|
+
| `Dropdown` | Dropdown menu |
|
|
93
|
+
| `Accordion` | Expandable sections |
|
|
94
|
+
|
|
95
|
+
### Icons
|
|
96
|
+
|
|
97
|
+
| Component | Description |
|
|
98
|
+
|---|---|
|
|
99
|
+
| `Icon` | SVG icon from icon set |
|
|
100
|
+
| `IconText` | Icon + text combination |
|
|
101
|
+
| `IconHeading` | Icon + heading |
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Extension Chain
|
|
106
|
+
|
|
107
|
+
Components form a three-level inheritance chain:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
UIKit Atom (Box, Flex, etc.)
|
|
111
|
+
-> Default Library Component (Button, Avatar, etc.)
|
|
112
|
+
-> Your Project Component (MyButton, ProfileAvatar, etc.)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
```js
|
|
116
|
+
// UIKit defines the base
|
|
117
|
+
// Avatar extends Img with default styling
|
|
118
|
+
// Your component extends Avatar with customization
|
|
119
|
+
|
|
120
|
+
export const ProfileAvatar = {
|
|
121
|
+
extends: 'Avatar',
|
|
122
|
+
boxSize: 'D D',
|
|
123
|
+
round: 'A',
|
|
124
|
+
border: '2px solid',
|
|
125
|
+
borderColor: 'primary',
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
PascalCase keys auto-extend matching registered components:
|
|
130
|
+
|
|
131
|
+
```js
|
|
132
|
+
export const MyCard = {
|
|
133
|
+
flow: 'y',
|
|
134
|
+
gap: 'A',
|
|
135
|
+
padding: 'B',
|
|
136
|
+
theme: 'card',
|
|
137
|
+
|
|
138
|
+
// "Avatar" key auto-extends the library Avatar component
|
|
139
|
+
Avatar: {
|
|
140
|
+
boxSize: 'C C',
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
// "Badge" key auto-extends the library Badge component
|
|
144
|
+
Badge: {
|
|
145
|
+
text: 'New',
|
|
146
|
+
theme: 'primary',
|
|
147
|
+
},
|
|
148
|
+
|
|
149
|
+
H: {
|
|
150
|
+
tag: 'h3',
|
|
151
|
+
text: 'Card Title',
|
|
152
|
+
},
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Design System Integration
|
|
159
|
+
|
|
160
|
+
Default library components automatically use your project's design system tokens:
|
|
161
|
+
|
|
162
|
+
```js
|
|
163
|
+
// designSystem/index.js
|
|
164
|
+
export default {
|
|
165
|
+
color: {
|
|
166
|
+
primary: '#2563EB',
|
|
167
|
+
surface: '#F8FAFC',
|
|
168
|
+
text: '#0F172A',
|
|
169
|
+
},
|
|
170
|
+
theme: {
|
|
171
|
+
primary: {
|
|
172
|
+
background: 'primary',
|
|
173
|
+
color: 'white',
|
|
174
|
+
},
|
|
175
|
+
card: {
|
|
176
|
+
background: 'surface',
|
|
177
|
+
borderRadius: 'A',
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
typography: {
|
|
181
|
+
base: 16,
|
|
182
|
+
ratio: 1.25,
|
|
183
|
+
},
|
|
184
|
+
spacing: {
|
|
185
|
+
base: 16,
|
|
186
|
+
ratio: 1.618,
|
|
187
|
+
},
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
When you use `theme: 'primary'` on a Button, it pulls colors from YOUR design system, not hardcoded values.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Project Structure with Default Library
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
project/
|
|
199
|
+
├── symbols.json # { "key": "myapp.symbo.ls", "bundler": "parcel" }
|
|
200
|
+
├── symbols/
|
|
201
|
+
│ ├── index.js # Entry: create(app, context)
|
|
202
|
+
│ ├── app.js # Root app with router
|
|
203
|
+
│ ├── config.js # { globalTheme: 'dark' }
|
|
204
|
+
│ ├── context.js # Re-exports all modules
|
|
205
|
+
│ ├── state.js # App state
|
|
206
|
+
│ ├── dependencies.js # External packages
|
|
207
|
+
│ ├── components/ # Your custom components (extend library)
|
|
208
|
+
│ │ ├── index.js # Named exports
|
|
209
|
+
│ │ ├── Header.js
|
|
210
|
+
│ │ └── Hero.js
|
|
211
|
+
│ ├── pages/ # Route pages
|
|
212
|
+
│ │ ├── index.js # Route map: { '/': home, '/about': about }
|
|
213
|
+
│ │ ├── home.js
|
|
214
|
+
│ │ └── about.js
|
|
215
|
+
│ ├── designSystem/ # Your tokens override defaults
|
|
216
|
+
│ │ ├── index.js
|
|
217
|
+
│ │ ├── color.js
|
|
218
|
+
│ │ ├── theme.js
|
|
219
|
+
│ │ ├── typography.js
|
|
220
|
+
│ │ └── spacing.js
|
|
221
|
+
│ ├── functions/ # Utility functions
|
|
222
|
+
│ ├── snippets/ # Reusable snippets
|
|
223
|
+
│ └── methods/ # Custom methods
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Router Pattern
|
|
229
|
+
|
|
230
|
+
Pages use the router with default library layout components:
|
|
231
|
+
|
|
232
|
+
```js
|
|
233
|
+
// pages/index.js
|
|
234
|
+
import { home } from './home.js'
|
|
235
|
+
import { about } from './about.js'
|
|
236
|
+
import { contact } from './contact.js'
|
|
237
|
+
|
|
238
|
+
export default {
|
|
239
|
+
'/': home,
|
|
240
|
+
'/about': about,
|
|
241
|
+
'/contact': contact,
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
```js
|
|
246
|
+
// pages/home.js
|
|
247
|
+
export const home = {
|
|
248
|
+
flow: 'y',
|
|
249
|
+
width: '100%',
|
|
250
|
+
minHeight: '100vh',
|
|
251
|
+
|
|
252
|
+
Header: {}, // Uses your Header component
|
|
253
|
+
Hero: {}, // Uses your Hero component
|
|
254
|
+
FeatureGrid: {}, // Uses your FeatureGrid component
|
|
255
|
+
Footer: {}, // Uses your Footer component
|
|
256
|
+
}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## App Entry Point
|
|
262
|
+
|
|
263
|
+
```js
|
|
264
|
+
// app.js
|
|
265
|
+
export const app = {
|
|
266
|
+
routes: (pages) => pages,
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
```js
|
|
271
|
+
// index.js
|
|
272
|
+
import { create } from 'smbls'
|
|
273
|
+
import * as context from './context.js'
|
|
274
|
+
import { app } from './app.js'
|
|
275
|
+
|
|
276
|
+
create(app, context)
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
```js
|
|
280
|
+
// context.js
|
|
281
|
+
export { default as state } from './state.js'
|
|
282
|
+
export { default as pages } from './pages/index.js'
|
|
283
|
+
export { default as designSystem } from './designSystem/index.js'
|
|
284
|
+
export * as components from './components/index.js'
|
|
285
|
+
export * as functions from './functions/index.js'
|
|
286
|
+
export * as snippets from './snippets/index.js'
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Usage Rules
|
|
292
|
+
|
|
293
|
+
| Rule | Details |
|
|
294
|
+
|---|---|
|
|
295
|
+
| Never import components | Reference by PascalCase key name |
|
|
296
|
+
| `extends` is required | Use `extends: 'Button'` to inherit library behavior |
|
|
297
|
+
| PascalCase keys auto-extend | `Avatar: {}` automatically extends registered Avatar |
|
|
298
|
+
| Design tokens override | Your designSystem tokens take precedence over defaults |
|
|
299
|
+
| Flat folders only | No subfolders in `components/`, `pages/`, etc. |
|
|
300
|
+
| Named exports for components | `export const MyComp = { ... }` |
|
|
301
|
+
| Default exports for state/pages/config | `export default { ... }` |
|
|
@@ -1,64 +1,75 @@
|
|
|
1
|
-
|
|
1
|
+
# Design Critique Partner
|
|
2
2
|
|
|
3
|
-
You are a Design Director at Apple reviewing work from your team.
|
|
3
|
+
You are a Design Director at Apple reviewing work from your team. Perform a comprehensive design critique. Be thorough but constructive — treat this as a teaching moment.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Input
|
|
6
6
|
|
|
7
7
|
[DESIGN DESCRIPTION, WIREFRAME, OR UPLOADED DESIGN]
|
|
8
8
|
|
|
9
|
-
Critique
|
|
10
|
-
|
|
11
|
-
1.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
2.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
9
|
+
## Critique Framework
|
|
10
|
+
|
|
11
|
+
### 1. Heuristic Evaluation
|
|
12
|
+
|
|
13
|
+
Score each of Nielsen's 10 heuristics 1-5 with specific examples:
|
|
14
|
+
|
|
15
|
+
- Visibility of system status
|
|
16
|
+
- Match between system and real world
|
|
17
|
+
- User control and freedom
|
|
18
|
+
- Consistency and standards
|
|
19
|
+
- Error prevention
|
|
20
|
+
- Recognition rather than recall
|
|
21
|
+
- Flexibility and efficiency of use
|
|
22
|
+
- Aesthetic and minimalist design
|
|
23
|
+
- Help users recognize, diagnose, and recover from errors
|
|
24
|
+
- Help and documentation
|
|
25
|
+
|
|
26
|
+
### 2. Visual Hierarchy Analysis
|
|
27
|
+
|
|
28
|
+
- Identify what users see first — assess whether it is the correct element
|
|
29
|
+
- Evaluate call-to-action hierarchy
|
|
30
|
+
- Assess visual weight balance
|
|
31
|
+
- Check for adequate white space
|
|
32
|
+
|
|
33
|
+
### 3. Typography Audit
|
|
34
|
+
|
|
35
|
+
- Evaluate font choices for brand appropriateness
|
|
36
|
+
- Verify type scale creates clear hierarchy
|
|
37
|
+
- Check line lengths (target 45-75 characters)
|
|
38
|
+
- Confirm contrast is sufficient for readability
|
|
39
|
+
|
|
40
|
+
### 4. Color Analysis
|
|
41
|
+
|
|
42
|
+
- Assess palette alignment with brand personality
|
|
43
|
+
- Verify WCAG AA contrast compliance
|
|
44
|
+
- Evaluate whether color is used meaningfully (not just decoratively)
|
|
45
|
+
- Note dark mode considerations
|
|
46
|
+
|
|
47
|
+
### 5. Usability Concerns
|
|
48
|
+
|
|
49
|
+
- Assess cognitive load (information overload risk)
|
|
50
|
+
- Check interaction clarity (can users identify clickable elements?)
|
|
51
|
+
- Verify mobile touch targets (minimum 44x44pt)
|
|
52
|
+
- Evaluate form usability (label placement, validation)
|
|
53
|
+
|
|
54
|
+
### 6. Strategic Alignment
|
|
55
|
+
|
|
56
|
+
- Does this serve business goals?
|
|
57
|
+
- Does it serve user goals?
|
|
58
|
+
- Is the value proposition clear?
|
|
59
|
+
- Would this differentiate from competitors?
|
|
60
|
+
|
|
61
|
+
### 7. Recommendations
|
|
62
|
+
|
|
63
|
+
Prioritize all findings into three tiers:
|
|
64
|
+
|
|
65
|
+
- **Critical** (must fix before launch): [LIST]
|
|
66
|
+
- **Important** (fix in next iteration): [LIST]
|
|
67
|
+
- **Polish** (nice to have): [LIST]
|
|
68
|
+
|
|
69
|
+
### 8. Redesign Direction
|
|
70
|
+
|
|
71
|
+
Provide 2 alternative approaches with sketches described in words.
|
|
72
|
+
|
|
73
|
+
## Tone
|
|
74
|
+
|
|
75
|
+
Keep feedback constructive, educational, and actionable throughout.
|