thomas-agentkit 0.8.0 → 0.9.0-alpha.1
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 +101 -9
- package/dist/cli.js +145 -32
- package/dist/skill-install.js +125 -0
- package/package.json +3 -1
- package/templates/.cursor/rules/agentkit.md +1 -1
- package/templates/.github/copilot-instructions.md +1 -1
- package/templates/AGENTS.md +1 -1
- package/templates/WORKFLOWS.md +1 -1
- package/templates/design-systems/apple.md +74 -209
- package/templates/design-systems/cursor.md +95 -0
- package/templates/design-systems/framer.md +95 -0
- package/templates/design-systems/linear.md +95 -207
- package/templates/design-systems/notion.md +94 -0
- package/templates/design-systems/warp.md +89 -0
- package/templates/skills/agentkit/SKILL.md +101 -0
- package/templates/skills/agentkit/agents/openai.yaml +4 -0
- package/templates/skills/agentkit/references/design-baselines/apple.md +101 -0
- package/templates/skills/agentkit/references/design-baselines/cursor.md +95 -0
- package/templates/skills/agentkit/references/design-baselines/framer.md +95 -0
- package/templates/skills/agentkit/references/design-baselines/linear.md +117 -0
- package/templates/skills/agentkit/references/design-baselines/notion.md +94 -0
- package/templates/skills/agentkit/references/design-baselines/warp.md +89 -0
- package/templates/skills/agentkit/references/design.md +100 -0
- package/templates/skills/agentkit/references/doctor.md +133 -0
- package/templates/skills/agentkit/references/file-contract.md +164 -0
- package/templates/skills/agentkit/references/init.md +213 -0
- package/templates/skills/agentkit/references/learn.md +149 -0
- package/templates/skills/agentkit/references/repair.md +119 -0
- package/templates/skills/agentkit/references/update.md +202 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# [Project Name] Design — Apple
|
|
2
|
+
|
|
3
|
+
Design spec for [Project Name]. Map semantic tokens to `[theme stylesheet path, e.g. src/styles.css]` or your Tailwind theme. Do not hardcode literal colors in components.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Photography-first marketing: full-bleed product tiles alternating light and dark canvases, confident display type, and a single Action Blue accent for interactive elements. UI recedes so product imagery leads. One soft product shadow is allowed on photographic renders — never on cards or buttons.
|
|
8
|
+
|
|
9
|
+
**Key characteristics:**
|
|
10
|
+
- Tile alternation (white/parchment ↔ near-black) as section divider
|
|
11
|
+
- Single structural accent (`{colors.primary}`) for CTAs and links
|
|
12
|
+
- Pill CTAs (`{rounded.pill}`) vs compact utility rects (`{rounded.sm}`)
|
|
13
|
+
- Display tracking pulls negative at large sizes; body at 17px
|
|
14
|
+
- No decorative gradients; atmosphere from photography only
|
|
15
|
+
|
|
16
|
+
## Colors
|
|
17
|
+
|
|
18
|
+
### Brand & Accent
|
|
19
|
+
- `{colors.primary}` — Action Blue (CTAs, links, focus)
|
|
20
|
+
- `{colors.primary-hover}`, `{colors.primary-focus}` — hover and focus variants
|
|
21
|
+
- `{colors.on-primary}` — text on primary fills
|
|
22
|
+
|
|
23
|
+
### Surface
|
|
24
|
+
- `{colors.canvas}` — pure white tile
|
|
25
|
+
- `{colors.canvas-parchment}` — off-white alternating tile
|
|
26
|
+
- `{colors.surface-tile-1}` through `{colors.surface-tile-3}` — dark tile steps
|
|
27
|
+
- `{colors.surface-black}` — nav bar, video void
|
|
28
|
+
- `{colors.hairline}` — card and divider borders
|
|
29
|
+
|
|
30
|
+
### Text
|
|
31
|
+
- `{colors.ink}` — near-black on light; `{colors.body-on-dark}` on dark tiles
|
|
32
|
+
- `{colors.body-muted}`, `{colors.ink-muted-48}` — secondary and disabled
|
|
33
|
+
|
|
34
|
+
## Typography
|
|
35
|
+
|
|
36
|
+
- Display: system sans (SF Pro Display stack); body: SF Pro Text stack; mono for code snippets
|
|
37
|
+
- Substitute: Inter at 500/600/700 with tightened tracking; JetBrains Mono for mono
|
|
38
|
+
|
|
39
|
+
| Token | Use |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `{typography.display-xl}` | Hero headline |
|
|
42
|
+
| `{typography.display-lg}` | Section openers |
|
|
43
|
+
| `{typography.lead}` | Tile taglines |
|
|
44
|
+
| `{typography.body}` | Default body (17px) |
|
|
45
|
+
| `{typography.button}` | Button labels |
|
|
46
|
+
| `{typography.nav-link}` | Global nav |
|
|
47
|
+
|
|
48
|
+
### Principles
|
|
49
|
+
- Headlines weight 600 with negative tracking; body 400
|
|
50
|
+
- Weight 300 rare and deliberate for large airy reads
|
|
51
|
+
- No weight 500 in the ladder
|
|
52
|
+
|
|
53
|
+
## Layout
|
|
54
|
+
|
|
55
|
+
- Base unit: 8px; section padding `{spacing.section}` ~80px
|
|
56
|
+
- Max width ~1280px; tile stacks edge-to-edge vertically
|
|
57
|
+
- Whitespace = canvas color change between tiles
|
|
58
|
+
|
|
59
|
+
## Elevation
|
|
60
|
+
|
|
61
|
+
Flat tiles default. One product shadow on renders resting on surface. Backdrop blur on frosted sub-nav and sticky bars.
|
|
62
|
+
|
|
63
|
+
## Shapes
|
|
64
|
+
|
|
65
|
+
| Token | Use |
|
|
66
|
+
|---|---|
|
|
67
|
+
| `{rounded.sm}` 8px | Utility buttons, inputs |
|
|
68
|
+
| `{rounded.lg}` 18px | Cards |
|
|
69
|
+
| `{rounded.pill}` | Primary/secondary pill CTAs |
|
|
70
|
+
| `{rounded.none}` | Full-bleed tiles |
|
|
71
|
+
|
|
72
|
+
## Components
|
|
73
|
+
|
|
74
|
+
- `{components.button-primary}` — Action Blue pill
|
|
75
|
+
- `{components.button-secondary}` — charcoal pill with hairline
|
|
76
|
+
- `{components.product-tile-light}`, `{components.product-tile-dark}` — full-bleed tiles
|
|
77
|
+
- `{components.store-utility-card}` — bordered white card
|
|
78
|
+
- `{components.global-nav}`, `{components.sub-nav-frosted}` — two-row nav
|
|
79
|
+
- `{components.text-input}` — surface fill, pill or md radius
|
|
80
|
+
|
|
81
|
+
## Do's and Don'ts
|
|
82
|
+
|
|
83
|
+
### Do
|
|
84
|
+
- Use `{colors.primary}` only for interactive signals
|
|
85
|
+
- Alternate light and dark tiles for rhythm
|
|
86
|
+
- Apply `scale(0.95)` as button press state
|
|
87
|
+
- Keep global nav on `{colors.surface-black}`
|
|
88
|
+
|
|
89
|
+
### Don't
|
|
90
|
+
- Don't add decorative gradients or second accents
|
|
91
|
+
- Don't pill-round utility buttons
|
|
92
|
+
- Don't use true `#000000` as canvas
|
|
93
|
+
- Don't shadow cards or buttons
|
|
94
|
+
|
|
95
|
+
## Responsive Behavior
|
|
96
|
+
|
|
97
|
+
Nav hamburger below 768px. Card grids 3→2→1. Display scales from 80px toward 36px on small phones. Touch targets ≥44px.
|
|
98
|
+
|
|
99
|
+
## Token Mapping
|
|
100
|
+
|
|
101
|
+
Bind roles in `[theme stylesheet path, e.g. src/styles.css]`.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# [Project Name] Design — Cursor
|
|
2
|
+
|
|
3
|
+
Design spec for [Project Name]. Map semantic tokens to `[theme stylesheet path, e.g. src/styles.css]` or your Tailwind theme.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Editorial developer brand on warm cream canvas: quiet display weight 400, single Cursor Orange accent used scarcely, and IDE mockup cards as the primary decorative system. AI timeline pastels are scoped to in-product agent visualizations only.
|
|
8
|
+
|
|
9
|
+
**Key characteristics:**
|
|
10
|
+
- Warm cream `{colors.canvas}` — never pure white page floor
|
|
11
|
+
- Single CTA color `{colors.primary}` (orange)
|
|
12
|
+
- Display weight 400; negative tracking on display only
|
|
13
|
+
- JetBrains Mono on every code surface
|
|
14
|
+
- Hairline-only depth; no drop shadows
|
|
15
|
+
- Timeline pastels: thinking, grep, read, edit, done — agent UI only
|
|
16
|
+
|
|
17
|
+
## Colors
|
|
18
|
+
|
|
19
|
+
### Brand & Accent
|
|
20
|
+
- `{colors.primary}`, `{colors.primary-active}`, `{colors.on-primary}`
|
|
21
|
+
|
|
22
|
+
### Surface
|
|
23
|
+
- `{colors.canvas}` — warm cream page floor
|
|
24
|
+
- `{colors.canvas-soft}` — IDE pane background in mockups
|
|
25
|
+
- `{colors.surface-card}` — white cards on cream
|
|
26
|
+
- `{colors.surface-strong}` — badges
|
|
27
|
+
- `{colors.hairline}`, `{colors.hairline-soft}`, `{colors.hairline-strong}`
|
|
28
|
+
|
|
29
|
+
### Text
|
|
30
|
+
- `{colors.ink}`, `{colors.body}`, `{colors.body-strong}`, `{colors.muted}`, `{colors.muted-soft}`
|
|
31
|
+
|
|
32
|
+
### Timeline (in-product only)
|
|
33
|
+
- `{colors.timeline-thinking}`, `{colors.timeline-grep}`, `{colors.timeline-read}`, `{colors.timeline-edit}`, `{colors.timeline-done}`
|
|
34
|
+
|
|
35
|
+
### Semantic
|
|
36
|
+
- `{colors.semantic-success}`, `{colors.semantic-error}`
|
|
37
|
+
|
|
38
|
+
## Typography
|
|
39
|
+
|
|
40
|
+
- CursorGothic substitute: Inter weight 400/500/600; JetBrains Mono for code
|
|
41
|
+
- Display 400 with negative tracking; body 400 at 16px
|
|
42
|
+
|
|
43
|
+
| Token | Use |
|
|
44
|
+
|---|---|
|
|
45
|
+
| `{typography.display-mega}` | Homepage hero |
|
|
46
|
+
| `{typography.display-lg}` | Section heads |
|
|
47
|
+
| `{typography.body-md}` | Default body |
|
|
48
|
+
| `{typography.code}` | Code blocks |
|
|
49
|
+
| `{typography.button}` | CTA labels |
|
|
50
|
+
|
|
51
|
+
## Layout
|
|
52
|
+
|
|
53
|
+
- Base 4px; `{spacing.section}` 80px; max width ~1200px
|
|
54
|
+
- Feature grids 3-up → 2-up → 1-up; footer 5-column desktop
|
|
55
|
+
|
|
56
|
+
## Elevation
|
|
57
|
+
|
|
58
|
+
Hairlines + white-on-cream contrast only. IDE mockup cards are the elevated element.
|
|
59
|
+
|
|
60
|
+
## Shapes
|
|
61
|
+
|
|
62
|
+
| Token | Use |
|
|
63
|
+
|---|---|
|
|
64
|
+
| `{rounded.md}` 8px | CTAs, inputs |
|
|
65
|
+
| `{rounded.lg}` 12px | Cards, IDE panes |
|
|
66
|
+
| `{rounded.pill}` | Timeline pills, badges |
|
|
67
|
+
|
|
68
|
+
## Components
|
|
69
|
+
|
|
70
|
+
- `{components.button-primary}` — orange CTA `{rounded.md}`
|
|
71
|
+
- `{components.button-download}` — ink fill inverted CTA
|
|
72
|
+
- `{components.hero-band}`, `{components.ide-mockup-card}`, `{components.ide-pane}`
|
|
73
|
+
- `{components.timeline-pill-*}` — five stage variants
|
|
74
|
+
- `{components.feature-card}`, `{components.pricing-tier-card}`
|
|
75
|
+
- `{components.top-nav}`, `{components.footer}`
|
|
76
|
+
|
|
77
|
+
## Do's and Don'ts
|
|
78
|
+
|
|
79
|
+
### Do
|
|
80
|
+
- Keep display at weight 400
|
|
81
|
+
- Use timeline pastels only in agent timeline UI
|
|
82
|
+
- Render code in JetBrains Mono
|
|
83
|
+
|
|
84
|
+
### Don't
|
|
85
|
+
- Don't add drop shadows
|
|
86
|
+
- Don't use timeline pastels as system action colors
|
|
87
|
+
- Don't bold display headlines
|
|
88
|
+
|
|
89
|
+
## Responsive Behavior
|
|
90
|
+
|
|
91
|
+
Nav hamburger below 768px. Hero display 72→32px mobile. IDE mockup collapses to single pane.
|
|
92
|
+
|
|
93
|
+
## Token Mapping
|
|
94
|
+
|
|
95
|
+
Bind roles in `[theme stylesheet path, e.g. src/styles.css]`.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# [Project Name] Design — Framer
|
|
2
|
+
|
|
3
|
+
Design spec for [Project Name]. Map semantic tokens to `[theme stylesheet path, e.g. src/styles.css]` or your Tailwind theme.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Dark poster marketing: near-black canvas, oversized white display type with extreme negative tracking, white pill primary CTAs, and gradient spotlight cards as individual showcase tiles — never section backgrounds. Single sky-blue accent for links and focus only.
|
|
8
|
+
|
|
9
|
+
**Key characteristics:**
|
|
10
|
+
- Dark-only marketing; no light mode
|
|
11
|
+
- `{colors.primary}` = white (CTA fill and ink on dark)
|
|
12
|
+
- `{colors.accent-blue}` — hyperlinks, focus, selection only
|
|
13
|
+
- Gradient spotlight cards (violet, magenta, orange, coral) as scarce atmosphere
|
|
14
|
+
- Inter Variable body with OpenType variants when available
|
|
15
|
+
- Pill CTAs (`{rounded.pill}`); charcoal secondary pills
|
|
16
|
+
|
|
17
|
+
## Colors
|
|
18
|
+
|
|
19
|
+
### Brand & Accent
|
|
20
|
+
- `{colors.primary}` — white (CTA, headlines, body on canvas)
|
|
21
|
+
- `{colors.accent-blue}` — signal blue (links, focus ring)
|
|
22
|
+
- `{colors.on-primary}` — text on white pills (dark)
|
|
23
|
+
|
|
24
|
+
### Surface
|
|
25
|
+
- `{colors.canvas}` — near-black page
|
|
26
|
+
- `{colors.surface-1}`, `{colors.surface-2}` — card and button lifts
|
|
27
|
+
- `{colors.hairline}`, `{colors.hairline-soft}`
|
|
28
|
+
- `{colors.ink}`, `{colors.ink-muted}`
|
|
29
|
+
|
|
30
|
+
### Gradients (card fills only)
|
|
31
|
+
- `{colors.gradient-violet}`, `{colors.gradient-magenta}`, `{colors.gradient-orange}`, `{colors.gradient-coral}`
|
|
32
|
+
|
|
33
|
+
## Typography
|
|
34
|
+
|
|
35
|
+
- Display: GT Walsheim substitute (Mona Sans, Geist, or Inter 600–700 with tight tracking)
|
|
36
|
+
- Body: Inter Variable with `cv01`, `cv05`, `cv09`, `cv11`, `ss03`, `ss07` when supported
|
|
37
|
+
|
|
38
|
+
| Token | Use |
|
|
39
|
+
|---|---|
|
|
40
|
+
| `{typography.display-xxl}` | 110px hero |
|
|
41
|
+
| `{typography.display-xl}` | 85px section |
|
|
42
|
+
| `{typography.body}` | 15px default |
|
|
43
|
+
| `{typography.button}` | Pill labels |
|
|
44
|
+
|
|
45
|
+
### Principles
|
|
46
|
+
- Tracking scales hard with size (-5.5px at largest display)
|
|
47
|
+
- Weight band: 400 body, 500 display/buttons
|
|
48
|
+
- Tight line-heights (~1.30 body)
|
|
49
|
+
|
|
50
|
+
## Layout
|
|
51
|
+
|
|
52
|
+
- Base 5px increments; `{spacing.section}` 96px
|
|
53
|
+
- Max ~1199px; card grids 2-up → 1-up below 810px
|
|
54
|
+
|
|
55
|
+
## Elevation
|
|
56
|
+
|
|
57
|
+
Surface lift (canvas → surface-1 → surface-2). Light-edge shadow on floating mockup cards. Blue ring for focus.
|
|
58
|
+
|
|
59
|
+
## Shapes
|
|
60
|
+
|
|
61
|
+
| Token | Use |
|
|
62
|
+
|---|---|
|
|
63
|
+
| `{rounded.pill}` 100px | All text CTAs |
|
|
64
|
+
| `{rounded.xl}` 20px | Pricing, mockup tiles |
|
|
65
|
+
| `{rounded.xxl}` 30px | Gradient spotlight cards |
|
|
66
|
+
|
|
67
|
+
## Components
|
|
68
|
+
|
|
69
|
+
- `{components.button-primary}` — white pill
|
|
70
|
+
- `{components.button-secondary}` — charcoal pill
|
|
71
|
+
- `{components.gradient-spotlight-card}` — atmospheric variant tiles
|
|
72
|
+
- `{components.pricing-card}`, `{components.template-card}`, `{components.product-mockup-tile}`
|
|
73
|
+
- `{components.top-nav}`, `{components.footer}`
|
|
74
|
+
|
|
75
|
+
## Do's and Don'ts
|
|
76
|
+
|
|
77
|
+
### Do
|
|
78
|
+
- Push negative display tracking aggressively
|
|
79
|
+
- Use accent blue only for links and focus
|
|
80
|
+
- Limit gradient spotlight cards to 1–2 per long page
|
|
81
|
+
- Keep CTAs pill-shaped
|
|
82
|
+
|
|
83
|
+
### Don't
|
|
84
|
+
- Don't use accent blue as CTA fill
|
|
85
|
+
- Don't apply gradients to whole sections
|
|
86
|
+
- Don't ship light mode
|
|
87
|
+
- Don't square off CTAs
|
|
88
|
+
|
|
89
|
+
## Responsive Behavior
|
|
90
|
+
|
|
91
|
+
Nav hamburger below 810px. Display scales 110→62→32px. Pricing table becomes accordion on mobile.
|
|
92
|
+
|
|
93
|
+
## Token Mapping
|
|
94
|
+
|
|
95
|
+
Bind roles in `[theme stylesheet path, e.g. src/styles.css]`.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# [Project Name] Design — Linear
|
|
2
|
+
|
|
3
|
+
Design spec for [Project Name]. Map every `{colors.*}`, `{typography.*}`, `{spacing.*}`, and `{rounded.*}` token to semantic roles in `[theme stylesheet path, e.g. src/styles.css]` or your Tailwind theme. Do not hardcode literal hex values in components.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Dark-canvas marketing system: near-black canvas with a faint cool tint, light gray ink, and a single lavender-blue accent used scarcely on brand mark, focus rings, and primary CTAs. Hierarchy comes from a four-step surface ladder and hairline borders — not shadows. Product UI screenshots dominate section composition.
|
|
8
|
+
|
|
9
|
+
**Key characteristics:**
|
|
10
|
+
- Dark canvas anchor; no light-mode marketing variant
|
|
11
|
+
- Single chromatic accent (`{colors.primary}`) — no second brand color
|
|
12
|
+
- Surface ladder: canvas → surface-1 → surface-2 → surface-3 → surface-4
|
|
13
|
+
- Aggressive negative letter-spacing on display sizes
|
|
14
|
+
- Cards: `{rounded.lg}` with 1px hairlines; product panels `{rounded.xl}`
|
|
15
|
+
- No atmospheric gradients or spotlight cards
|
|
16
|
+
|
|
17
|
+
## Colors
|
|
18
|
+
|
|
19
|
+
### Brand & Accent
|
|
20
|
+
- `{colors.primary}` — signature accent (CTA, brand mark, link emphasis, focus tint)
|
|
21
|
+
- `{colors.primary-hover}` — lighter hover state for primary CTA
|
|
22
|
+
- `{colors.primary-focus}` — focus-ring tint
|
|
23
|
+
- `{colors.on-primary}` — text on primary fills
|
|
24
|
+
|
|
25
|
+
### Surface
|
|
26
|
+
- `{colors.canvas}` — default page background (deepest dark)
|
|
27
|
+
- `{colors.surface-1}` through `{colors.surface-4}` — stepped lifts for cards, panels, sub-nav
|
|
28
|
+
- `{colors.hairline}`, `{colors.hairline-strong}`, `{colors.hairline-tertiary}` — 1px borders
|
|
29
|
+
- `{colors.inverse-canvas}`, `{colors.inverse-surface-1}`, `{colors.inverse-surface-2}` — inverse pill surfaces
|
|
30
|
+
|
|
31
|
+
### Text
|
|
32
|
+
- `{colors.ink}` — headlines and emphasized body
|
|
33
|
+
- `{colors.ink-muted}`, `{colors.ink-subtle}`, `{colors.ink-tertiary}` — secondary through quaternary
|
|
34
|
+
|
|
35
|
+
### Semantic
|
|
36
|
+
- `{colors.semantic-success}` — status pills only
|
|
37
|
+
- `{colors.semantic-overlay}` — modal scrim
|
|
38
|
+
|
|
39
|
+
## Typography
|
|
40
|
+
|
|
41
|
+
### Font Family
|
|
42
|
+
- Display/body sans with tight tracking at large sizes; mono for code in product screenshots only
|
|
43
|
+
- Substitute: Inter or system UI stack; JetBrains Mono or Geist Mono for mono
|
|
44
|
+
|
|
45
|
+
### Hierarchy (map sizes to your scale)
|
|
46
|
+
|
|
47
|
+
| Token | Use |
|
|
48
|
+
|---|---|
|
|
49
|
+
| `{typography.display-xl}` | Largest hero headline |
|
|
50
|
+
| `{typography.display-lg}` | Section openers |
|
|
51
|
+
| `{typography.display-md}` | Sub-section headlines |
|
|
52
|
+
| `{typography.headline}` | Pricing tier titles, CTA banners |
|
|
53
|
+
| `{typography.card-title}` | Feature card titles |
|
|
54
|
+
| `{typography.subhead}` | Lead body |
|
|
55
|
+
| `{typography.body-lg}` | Hero subhead |
|
|
56
|
+
| `{typography.body}` | Default body |
|
|
57
|
+
| `{typography.body-sm}` | Card body, footer |
|
|
58
|
+
| `{typography.caption}` | Meta, status |
|
|
59
|
+
| `{typography.button}` | Button labels |
|
|
60
|
+
| `{typography.eyebrow}` | Section eyebrow (slight positive tracking) |
|
|
61
|
+
| `{typography.mono}` | Code in screenshots |
|
|
62
|
+
|
|
63
|
+
### Principles
|
|
64
|
+
- Negative tracking scales with display size; body near zero
|
|
65
|
+
- Display weight 600; body 400
|
|
66
|
+
- Mono only in code contexts inside mockups
|
|
67
|
+
|
|
68
|
+
## Layout
|
|
69
|
+
|
|
70
|
+
- Base unit: 4px (`{spacing.xxs}` 4 · `{spacing.xs}` 8 · `{spacing.sm}` 12 · `{spacing.md}` 16 · `{spacing.lg}` 24 · `{spacing.xl}` 32 · `{spacing.xxl}` 48 · `{spacing.section}` 96)
|
|
71
|
+
- Max content ~1280px; card grids 3-up → 2-up → 1-up
|
|
72
|
+
- Product screenshot panels span full content width
|
|
73
|
+
|
|
74
|
+
## Elevation & Depth
|
|
75
|
+
|
|
76
|
+
Surface ladder + hairlines only. No drop shadows on dark marketing surfaces. Focus: 2px `{colors.primary-focus}` outline at reduced opacity.
|
|
77
|
+
|
|
78
|
+
## Shapes
|
|
79
|
+
|
|
80
|
+
| Token | Typical use |
|
|
81
|
+
|---|---|
|
|
82
|
+
| `{rounded.xs}` 4px | Chips, badges |
|
|
83
|
+
| `{rounded.md}` 8px | Buttons, inputs |
|
|
84
|
+
| `{rounded.lg}` 12px | Cards |
|
|
85
|
+
| `{rounded.xl}` 16px | Screenshot panels |
|
|
86
|
+
| `{rounded.pill}` | Pricing tabs, status pills |
|
|
87
|
+
|
|
88
|
+
## Components
|
|
89
|
+
|
|
90
|
+
- `{components.button-primary}` — primary CTA on `{colors.primary}`
|
|
91
|
+
- `{components.button-secondary}` — charcoal surface-1 + hairline
|
|
92
|
+
- `{components.button-tertiary}` — plain text on canvas
|
|
93
|
+
- `{components.pricing-card}`, `{components.feature-card}`, `{components.product-screenshot-card}` — surface-1 + hairline + `{rounded.lg}` or `{rounded.xl}`
|
|
94
|
+
- `{components.top-nav}` — sticky dark bar, 56px
|
|
95
|
+
- `{components.text-input}` — surface-1, focus ring on `{colors.primary-focus}`
|
|
96
|
+
|
|
97
|
+
## Do's and Don'ts
|
|
98
|
+
|
|
99
|
+
### Do
|
|
100
|
+
- Reserve `{colors.primary}` for brand mark, primary CTA, focus, links
|
|
101
|
+
- Use the surface ladder sequentially
|
|
102
|
+
- Lead sections with product UI screenshots
|
|
103
|
+
- Use `{rounded.md}` for CTAs
|
|
104
|
+
|
|
105
|
+
### Don't
|
|
106
|
+
- Don't ship light-mode marketing
|
|
107
|
+
- Don't use lavender as section background
|
|
108
|
+
- Don't add atmospheric gradients or second chromatic accents
|
|
109
|
+
- Don't pill-round primary CTAs (use `{rounded.md}`)
|
|
110
|
+
|
|
111
|
+
## Responsive Behavior
|
|
112
|
+
|
|
113
|
+
Breakpoints: desktop 1280px · tablet 1024px · mobile-lg 768px · mobile 480px. Nav hamburger below 768px. Display type scales down on mobile while preserving negative tracking ratio.
|
|
114
|
+
|
|
115
|
+
## Token Mapping
|
|
116
|
+
|
|
117
|
+
Bind each `{colors.*}` role to your theme (e.g. Tailwind `@theme` or CSS custom properties). Repo theme file: `[theme stylesheet path, e.g. src/styles.css]`.
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# [Project Name] Design — Notion
|
|
2
|
+
|
|
3
|
+
Design spec for [Project Name]. Map semantic tokens to `[theme stylesheet path, e.g. src/styles.css]` or your Tailwind theme.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Document-like daylight system: warm paper-soft canvas, near-black ink, single Notion Blue for structure, and a decorative sticker palette for illustrations only. One optional dark indigo hero band inverts the otherwise light rhythm.
|
|
8
|
+
|
|
9
|
+
**Key characteristics:**
|
|
10
|
+
- `{colors.canvas-soft}` warm page floor; `{colors.surface}` white for cards
|
|
11
|
+
- Single structural accent `{colors.primary}` (blue) for CTAs and links
|
|
12
|
+
- Sticker colors (`accent-purple`, `accent-pink`, etc.) — decoration only
|
|
13
|
+
- Pill marketing CTAs vs 8px utility buttons
|
|
14
|
+
- Barely-there layered micro-shadows
|
|
15
|
+
- Optional `{colors.secondary}` night hero band
|
|
16
|
+
|
|
17
|
+
## Colors
|
|
18
|
+
|
|
19
|
+
### Brand & Accent
|
|
20
|
+
- `{colors.primary}`, `{colors.primary-active}`, `{colors.on-primary}`
|
|
21
|
+
- `{colors.secondary}` — dark hero band only
|
|
22
|
+
|
|
23
|
+
### Sticker palette (decorative only)
|
|
24
|
+
- `{colors.accent-sky}`, `{colors.accent-purple}`, `{colors.accent-pink}`, `{colors.accent-orange}`, `{colors.accent-teal}`, `{colors.accent-green}`
|
|
25
|
+
|
|
26
|
+
### Surface
|
|
27
|
+
- `{colors.canvas}` / `{colors.surface}` — white cards
|
|
28
|
+
- `{colors.canvas-soft}` — warm page and footer
|
|
29
|
+
- `{colors.hairline}` — borders
|
|
30
|
+
|
|
31
|
+
### Text
|
|
32
|
+
- `{colors.ink}`, `{colors.ink-secondary}`, `{colors.ink-muted}`, `{colors.ink-faint}`
|
|
33
|
+
|
|
34
|
+
## Typography
|
|
35
|
+
|
|
36
|
+
- NotionInter substitute: Inter with explicit negative tracking on display
|
|
37
|
+
- Weight 700 headlines; 400 body; 600 titles
|
|
38
|
+
|
|
39
|
+
| Token | Use |
|
|
40
|
+
|---|---|
|
|
41
|
+
| `{typography.display-1}` | Hero (64px) |
|
|
42
|
+
| `{typography.heading-1}` | Section headlines |
|
|
43
|
+
| `{typography.body-md}` | Default body (16px) |
|
|
44
|
+
| `{typography.button}` | Button labels |
|
|
45
|
+
| `{typography.eyebrow}` | Pill badges |
|
|
46
|
+
|
|
47
|
+
## Layout
|
|
48
|
+
|
|
49
|
+
- Base 8px; max width ~1080–1300px
|
|
50
|
+
- Section gaps over rules; card padding `{spacing.lg}` 24px
|
|
51
|
+
|
|
52
|
+
## Elevation
|
|
53
|
+
|
|
54
|
+
Level 0: hairline only. Level 1: multi-layer micro-shadow. Level 2: modals and elevated pills on dark hero.
|
|
55
|
+
|
|
56
|
+
## Shapes
|
|
57
|
+
|
|
58
|
+
| Token | Use |
|
|
59
|
+
|---|---|
|
|
60
|
+
| `{rounded.xs}` 4px | Inputs |
|
|
61
|
+
| `{rounded.md}` 8px | Utility buttons |
|
|
62
|
+
| `{rounded.lg}` 12px | Feature cards |
|
|
63
|
+
| `{rounded.full}` | Marketing pill CTAs |
|
|
64
|
+
|
|
65
|
+
## Components
|
|
66
|
+
|
|
67
|
+
- `{components.button-primary}` — blue pill CTA
|
|
68
|
+
- `{components.button-secondary}` — white pill with soft shadow
|
|
69
|
+
- `{components.button-utility}` — nav/plan select, `{rounded.md}`
|
|
70
|
+
- `{components.feature-card}`, `{components.pricing-plan-card}`
|
|
71
|
+
- `{components.hero-band}` — optional dark inverted hero
|
|
72
|
+
- `{components.nav-bar}`, `{components.footer}`
|
|
73
|
+
|
|
74
|
+
## Do's and Don'ts
|
|
75
|
+
|
|
76
|
+
### Do
|
|
77
|
+
- Reserve blue for actions and links only
|
|
78
|
+
- Use sticker palette in illustrations and dots only
|
|
79
|
+
- Apply negative tracking on display explicitly
|
|
80
|
+
- Use warm canvas for full pages
|
|
81
|
+
|
|
82
|
+
### Don't
|
|
83
|
+
- Don't paint CTAs in sticker colors
|
|
84
|
+
- Don't use pill radius on form fields
|
|
85
|
+
- Don't add heavy drop shadows
|
|
86
|
+
- Don't repeat dark hero bands
|
|
87
|
+
|
|
88
|
+
## Responsive Behavior
|
|
89
|
+
|
|
90
|
+
Nav hamburger below tablet. Grids collapse to single column. Touch targets ≥44px.
|
|
91
|
+
|
|
92
|
+
## Token Mapping
|
|
93
|
+
|
|
94
|
+
Bind roles in `[theme stylesheet path, e.g. src/styles.css]`.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# [Project Name] Design — Warp
|
|
2
|
+
|
|
3
|
+
Design spec for [Project Name]. Map semantic tokens to `[theme stylesheet path, e.g. src/styles.css]` or your Tailwind theme.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Warm dark terminal brand: brown-beige canvas (not pure black), off-white as the only "primary" — no chromatic accent. Terminal mockups carry decoration. Extremely tight 3–4px button radii. Inter for narrative, DM Mono for code.
|
|
8
|
+
|
|
9
|
+
**Key characteristics:**
|
|
10
|
+
- `{colors.primary}` = warm off-white (CTA fill AND default text) — not a hue
|
|
11
|
+
- `{colors.canvas}` warm dark (#2b2622 family) — warmth is identity
|
|
12
|
+
- Tight radii: `{rounded.sm}` 3px, `{rounded.md}` 4px for CTAs
|
|
13
|
+
- Hero display weight 400, quietly confident
|
|
14
|
+
- Hairline + surface contrast only; no drop shadows
|
|
15
|
+
- Terminal screenshots as sole decorative system
|
|
16
|
+
|
|
17
|
+
## Colors
|
|
18
|
+
|
|
19
|
+
### Brand (no chromatic accent)
|
|
20
|
+
- `{colors.primary}` — off-white (button fill, ink on canvas)
|
|
21
|
+
- `{colors.on-primary}` — warm dark text on off-white buttons
|
|
22
|
+
|
|
23
|
+
### Surface
|
|
24
|
+
- `{colors.canvas}` — warm dark page
|
|
25
|
+
- `{colors.canvas-soft}` — cards, mockup chrome, partner tiles
|
|
26
|
+
- `{colors.hairline}` — dividers
|
|
27
|
+
|
|
28
|
+
### Text
|
|
29
|
+
- `{colors.ink}` — same off-white as primary on canvas
|
|
30
|
+
- `{colors.body-strong}`, `{colors.body}`, `{colors.mute}` — stepped emphasis
|
|
31
|
+
|
|
32
|
+
## Typography
|
|
33
|
+
|
|
34
|
+
- Inter 400/500 for UI; DM Mono 400 for terminal/code; Instrument Serif optional for rare editorial italics
|
|
35
|
+
- Negative tracking on display (-1.6px at 64px hero)
|
|
36
|
+
|
|
37
|
+
| Token | Use |
|
|
38
|
+
|---|---|
|
|
39
|
+
| `{typography.display-xl}` | Hero 64px / 400 |
|
|
40
|
+
| `{typography.body-md}` | Default body 16px |
|
|
41
|
+
| `{typography.code}` | Terminal mockup body |
|
|
42
|
+
| `{typography.button-md}` | Button labels |
|
|
43
|
+
|
|
44
|
+
## Layout
|
|
45
|
+
|
|
46
|
+
- Base 4px; `{spacing.5xl}` 96px section padding; max ~1200px
|
|
47
|
+
- Hero 2-column terminal split; download tiles 3-up
|
|
48
|
+
|
|
49
|
+
## Elevation
|
|
50
|
+
|
|
51
|
+
Flat hero; hairline borders on `{colors.canvas-soft}` cards. No shadows.
|
|
52
|
+
|
|
53
|
+
## Shapes
|
|
54
|
+
|
|
55
|
+
| Token | Use |
|
|
56
|
+
|---|---|
|
|
57
|
+
| `{rounded.sm}` 3px | Primary buttons |
|
|
58
|
+
| `{rounded.md}` 4px | Cards |
|
|
59
|
+
| `{rounded.full}` | Icon circles only |
|
|
60
|
+
|
|
61
|
+
## Components
|
|
62
|
+
|
|
63
|
+
- `{components.button-primary}` — off-white on dark, `{rounded.sm}`
|
|
64
|
+
- `{components.button-secondary-ghost}` — ghost nav actions
|
|
65
|
+
- `{components.card-mockup}`, `{components.download-tile}`, `{components.partner-logo-tile}`
|
|
66
|
+
- `{components.hero-band}` — display-xl + terminal split
|
|
67
|
+
- `{components.nav-bar}`, `{components.footer}`
|
|
68
|
+
|
|
69
|
+
## Do's and Don'ts
|
|
70
|
+
|
|
71
|
+
### Do
|
|
72
|
+
- Keep canvas warm dark — not neutral gray or pure black
|
|
73
|
+
- Use 3–4px button radii
|
|
74
|
+
- Pair Inter with DM Mono for technical surfaces
|
|
75
|
+
- Set hero at weight 400
|
|
76
|
+
|
|
77
|
+
### Don't
|
|
78
|
+
- Don't introduce a chromatic brand accent
|
|
79
|
+
- Don't use generous pill CTAs
|
|
80
|
+
- Don't use heavy display weights (700+)
|
|
81
|
+
- Don't add card drop shadows
|
|
82
|
+
|
|
83
|
+
## Responsive Behavior
|
|
84
|
+
|
|
85
|
+
Nav hamburger below 768px. Hero mockups stack vertically. Touch targets padded to 44px on mobile.
|
|
86
|
+
|
|
87
|
+
## Token Mapping
|
|
88
|
+
|
|
89
|
+
Bind roles in `[theme stylesheet path, e.g. src/styles.css]`.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# agentkit design (skill workflow)
|
|
2
|
+
|
|
3
|
+
Create or refresh `DESIGN.md` from a bundled design baseline. This workflow runs inside the agent; it is not the CLI template installer.
|
|
4
|
+
|
|
5
|
+
Use this when the user asks `/agentkit design`, wants to choose a design language, or needs `DESIGN.md` for UI work (including skills that read only from `DESIGN.md`).
|
|
6
|
+
|
|
7
|
+
## Preconditions
|
|
8
|
+
|
|
9
|
+
- Read `references/file-contract.md` before editing.
|
|
10
|
+
- Read `agentkit.config.json` when present for `designSystem` default.
|
|
11
|
+
- Baseline sources live in `references/design-baselines/` (bundled with this skill).
|
|
12
|
+
|
|
13
|
+
## Supported baselines
|
|
14
|
+
|
|
15
|
+
| Key | Best for |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `linear` | Dark dev-tool marketing, lavender accent, product UI screenshots |
|
|
18
|
+
| `apple` | Photography-first tiles, Action Blue, pill CTAs |
|
|
19
|
+
| `cursor` | Warm cream editorial, Cursor Orange, IDE mockups, agent timeline |
|
|
20
|
+
| `framer` | Dark poster aesthetic, white pill CTAs, gradient spotlight cards |
|
|
21
|
+
| `notion` | Warm paper canvas, Notion Blue, sticker decorations |
|
|
22
|
+
| `warp` | Warm dark terminal, off-white only, tight radii, monospace-forward |
|
|
23
|
+
|
|
24
|
+
Default to `designSystem` from config when set. When unsure, recommend `linear` for dark SaaS marketing or `notion` for document/productivity apps; mention the other options briefly.
|
|
25
|
+
|
|
26
|
+
## Non-negotiables
|
|
27
|
+
|
|
28
|
+
- Map semantic tokens to the project's real theme — inspect Tailwind config, CSS variables, or `[theme stylesheet path]` before writing.
|
|
29
|
+
- Do not hardcode literal hex in the final `DESIGN.md` unless the user explicitly wants fixed values.
|
|
30
|
+
- Preserve user content outside AgentKit managed blocks when refreshing an existing file.
|
|
31
|
+
- Skip overwriting an existing `DESIGN.md` unless the user explicitly asks to create or refresh it.
|
|
32
|
+
- Do not modify application source, lockfiles, or CI during this workflow unless the user asks to update theme files.
|
|
33
|
+
|
|
34
|
+
## Procedure
|
|
35
|
+
|
|
36
|
+
### 1. Check existing state
|
|
37
|
+
|
|
38
|
+
- If `DESIGN.md` exists with valid managed blocks, ask whether to refresh or only adjust.
|
|
39
|
+
- If `DESIGN.md` exists without managed blocks, ask before converting or overwriting.
|
|
40
|
+
- If missing, proceed to create.
|
|
41
|
+
|
|
42
|
+
### 2. Choose baseline
|
|
43
|
+
|
|
44
|
+
Present the six baselines with one-line guidance. Confirm the user's choice (or accept config default).
|
|
45
|
+
|
|
46
|
+
Brief customization questions (pick 2–3 relevant to the baseline):
|
|
47
|
+
|
|
48
|
+
- Light vs dark default (or confirm dark-only / light-only baselines)
|
|
49
|
+
- Accent mapping: which theme token maps to `{colors.primary}`
|
|
50
|
+
- Density: compact vs editorial spacing
|
|
51
|
+
- For `notion`: include dark "night" hero band or full daylight
|
|
52
|
+
- For `framer`: which gradient spotlight variants to document
|
|
53
|
+
- For `warp`: confirm no chromatic accent (off-white primary)
|
|
54
|
+
|
|
55
|
+
### 3. Inspect repository theme
|
|
56
|
+
|
|
57
|
+
Before writing, find:
|
|
58
|
+
|
|
59
|
+
- Tailwind `@theme` / `tailwind.config.*` / global CSS variables
|
|
60
|
+
- Existing component primitives and radius/spacing conventions
|
|
61
|
+
- Font stacks in use
|
|
62
|
+
|
|
63
|
+
Add a **Token Mapping** section that binds each `{colors.*}` / `{typography.*}` role to project tokens. Replace `[theme stylesheet path, e.g. src/styles.css]` with the real path.
|
|
64
|
+
|
|
65
|
+
### 4. Build DESIGN.md
|
|
66
|
+
|
|
67
|
+
1. Read the chosen baseline from `references/design-baselines/<name>.md`.
|
|
68
|
+
2. Personalize `[Project Name]` from `package.json` or directory name.
|
|
69
|
+
3. Apply customization answers in Overview, Colors, or Do's/Don'ts as needed.
|
|
70
|
+
4. Wrap AgentKit-owned content in managed block markers:
|
|
71
|
+
|
|
72
|
+
```html
|
|
73
|
+
<!-- agentkit:start design -->
|
|
74
|
+
...content...
|
|
75
|
+
<!-- agentkit:end design -->
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
5. Write `DESIGN.md` at the repository root unless `personalization.designSystemPath` or an existing project convention points elsewhere.
|
|
79
|
+
|
|
80
|
+
### 5. Update AGENTS.md reference
|
|
81
|
+
|
|
82
|
+
If `AGENTS.md` exists and still references `DESIGN-SYSTEM.md`, update the companion trigger to `DESIGN.md` inside managed blocks only.
|
|
83
|
+
|
|
84
|
+
### 6. Verify
|
|
85
|
+
|
|
86
|
+
- Managed block id is `design` (paired markers).
|
|
87
|
+
- No `[Project Name]` placeholders remain.
|
|
88
|
+
- Token mapping points at real project theme paths/tokens.
|
|
89
|
+
- Baseline-specific rules preserved (e.g. Warp: no chromatic accent; Cursor: timeline pastels scoped to agent UI).
|
|
90
|
+
|
|
91
|
+
### 7. Report
|
|
92
|
+
|
|
93
|
+
Tell the user:
|
|
94
|
+
|
|
95
|
+
- Baseline chosen and customizations applied
|
|
96
|
+
- Path written (`DESIGN.md` or configured path)
|
|
97
|
+
- Theme mapping sources used
|
|
98
|
+
- Assumptions or deferred sections
|
|
99
|
+
|
|
100
|
+
Keep the report concise.
|