ui-pro-forge-cli 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +99 -0
- package/assets/data/app-interface.csv +31 -0
- package/assets/data/charts.csv +26 -0
- package/assets/data/colors.csv +194 -0
- package/assets/data/google-fonts.csv +1924 -0
- package/assets/data/icons.csv +106 -0
- package/assets/data/landing.csv +35 -0
- package/assets/data/motion.csv +17 -0
- package/assets/data/products.csv +193 -0
- package/assets/data/react-performance.csv +45 -0
- package/assets/data/stacks/angular.csv +51 -0
- package/assets/data/stacks/astro.csv +54 -0
- package/assets/data/stacks/avalonia.csv +57 -0
- package/assets/data/stacks/flutter.csv +53 -0
- package/assets/data/stacks/html-tailwind.csv +56 -0
- package/assets/data/stacks/javafx.csv +76 -0
- package/assets/data/stacks/jetpack-compose.csv +53 -0
- package/assets/data/stacks/laravel.csv +51 -0
- package/assets/data/stacks/nextjs.csv +53 -0
- package/assets/data/stacks/nuxt-ui.csv +71 -0
- package/assets/data/stacks/nuxtjs.csv +59 -0
- package/assets/data/stacks/react-native.csv +52 -0
- package/assets/data/stacks/react.csv +54 -0
- package/assets/data/stacks/shadcn.csv +61 -0
- package/assets/data/stacks/solidjs.csv +21 -0
- package/assets/data/stacks/svelte.csv +54 -0
- package/assets/data/stacks/swiftui.csv +51 -0
- package/assets/data/stacks/threejs.csv +54 -0
- package/assets/data/stacks/uno.csv +60 -0
- package/assets/data/stacks/vue.csv +50 -0
- package/assets/data/stacks/winui.csv +60 -0
- package/assets/data/styles.csv +86 -0
- package/assets/data/typography.csv +75 -0
- package/assets/data/ui-reasoning.csv +162 -0
- package/assets/data/ux-guidelines.csv +100 -0
- package/assets/scripts/core.py +463 -0
- package/assets/scripts/design_system.py +1371 -0
- package/assets/scripts/search.py +162 -0
- package/assets/scripts/tests/test_core.py +134 -0
- package/assets/scripts/validate_data.py +114 -0
- package/assets/skills/banner-design/SKILL.md +196 -0
- package/assets/skills/banner-design/references/banner-sizes-and-styles.md +118 -0
- package/assets/skills/brand/SKILL.md +97 -0
- package/assets/skills/brand/references/approval-checklist.md +169 -0
- package/assets/skills/brand/references/asset-organization.md +157 -0
- package/assets/skills/brand/references/brand-guideline-template.md +140 -0
- package/assets/skills/brand/references/color-palette-management.md +186 -0
- package/assets/skills/brand/references/consistency-checklist.md +94 -0
- package/assets/skills/brand/references/logo-usage-rules.md +185 -0
- package/assets/skills/brand/references/messaging-framework.md +85 -0
- package/assets/skills/brand/references/typography-specifications.md +214 -0
- package/assets/skills/brand/references/update.md +118 -0
- package/assets/skills/brand/references/visual-identity.md +96 -0
- package/assets/skills/brand/references/voice-framework.md +88 -0
- package/assets/skills/brand/scripts/extract-colors.cjs +341 -0
- package/assets/skills/brand/scripts/inject-brand-context.cjs +349 -0
- package/assets/skills/brand/scripts/sync-brand-to-tokens.cjs +248 -0
- package/assets/skills/brand/scripts/tests/test_sync_brand_to_tokens.py +52 -0
- package/assets/skills/brand/scripts/validate-asset.cjs +387 -0
- package/assets/skills/brand/templates/brand-guidelines-starter.md +275 -0
- package/assets/skills/design/SKILL.md +313 -0
- package/assets/skills/design/data/cip/deliverables.csv +51 -0
- package/assets/skills/design/data/cip/industries.csv +21 -0
- package/assets/skills/design/data/cip/mockup-contexts.csv +21 -0
- package/assets/skills/design/data/cip/styles.csv +21 -0
- package/assets/skills/design/data/icon/styles.csv +16 -0
- package/assets/skills/design/data/logo/colors.csv +56 -0
- package/assets/skills/design/data/logo/industries.csv +56 -0
- package/assets/skills/design/data/logo/styles.csv +56 -0
- package/assets/skills/design/references/banner-sizes-and-styles.md +118 -0
- package/assets/skills/design/references/cip-deliverable-guide.md +95 -0
- package/assets/skills/design/references/cip-design.md +121 -0
- package/assets/skills/design/references/cip-prompt-engineering.md +84 -0
- package/assets/skills/design/references/cip-style-guide.md +68 -0
- package/assets/skills/design/references/design-routing.md +207 -0
- package/assets/skills/design/references/icon-design.md +122 -0
- package/assets/skills/design/references/logo-color-psychology.md +101 -0
- package/assets/skills/design/references/logo-design.md +92 -0
- package/assets/skills/design/references/logo-prompt-engineering.md +158 -0
- package/assets/skills/design/references/logo-style-guide.md +109 -0
- package/assets/skills/design/references/slides-copywriting-formulas.md +84 -0
- package/assets/skills/design/references/slides-create.md +4 -0
- package/assets/skills/design/references/slides-html-template.md +295 -0
- package/assets/skills/design/references/slides-layout-patterns.md +137 -0
- package/assets/skills/design/references/slides-strategies.md +94 -0
- package/assets/skills/design/references/slides.md +42 -0
- package/assets/skills/design/references/social-photos-design.md +329 -0
- package/assets/skills/design/scripts/cip/core.py +215 -0
- package/assets/skills/design/scripts/cip/generate.py +484 -0
- package/assets/skills/design/scripts/cip/render-html.py +424 -0
- package/assets/skills/design/scripts/cip/search.py +127 -0
- package/assets/skills/design/scripts/icon/generate.py +487 -0
- package/assets/skills/design/scripts/logo/core.py +175 -0
- package/assets/skills/design/scripts/logo/generate.py +362 -0
- package/assets/skills/design/scripts/logo/search.py +114 -0
- package/assets/skills/design-system/SKILL.md +244 -0
- package/assets/skills/design-system/data/slide-backgrounds.csv +11 -0
- package/assets/skills/design-system/data/slide-charts.csv +26 -0
- package/assets/skills/design-system/data/slide-color-logic.csv +14 -0
- package/assets/skills/design-system/data/slide-copy.csv +26 -0
- package/assets/skills/design-system/data/slide-layout-logic.csv +16 -0
- package/assets/skills/design-system/data/slide-layouts.csv +26 -0
- package/assets/skills/design-system/data/slide-strategies.csv +16 -0
- package/assets/skills/design-system/data/slide-typography.csv +15 -0
- package/assets/skills/design-system/references/component-specs.md +236 -0
- package/assets/skills/design-system/references/component-tokens.md +214 -0
- package/assets/skills/design-system/references/primitive-tokens.md +203 -0
- package/assets/skills/design-system/references/semantic-tokens.md +215 -0
- package/assets/skills/design-system/references/states-and-variants.md +241 -0
- package/assets/skills/design-system/references/tailwind-integration.md +251 -0
- package/assets/skills/design-system/references/token-architecture.md +224 -0
- package/assets/skills/design-system/scripts/embed-tokens.cjs +99 -0
- package/assets/skills/design-system/scripts/fetch-background.py +317 -0
- package/assets/skills/design-system/scripts/generate-slide.py +770 -0
- package/assets/skills/design-system/scripts/generate-tokens.cjs +205 -0
- package/assets/skills/design-system/scripts/html-token-validator.py +327 -0
- package/assets/skills/design-system/scripts/search-slides.py +218 -0
- package/assets/skills/design-system/scripts/slide-token-validator.py +35 -0
- package/assets/skills/design-system/scripts/slide_search_core.py +453 -0
- package/assets/skills/design-system/scripts/tests/test_validate_tokens.py +48 -0
- package/assets/skills/design-system/scripts/validate-tokens.cjs +246 -0
- package/assets/skills/design-system/templates/design-tokens-starter.json +143 -0
- package/assets/skills/slides/SKILL.md +40 -0
- package/assets/skills/slides/references/copywriting-formulas.md +84 -0
- package/assets/skills/slides/references/create.md +4 -0
- package/assets/skills/slides/references/html-template.md +295 -0
- package/assets/skills/slides/references/layout-patterns.md +137 -0
- package/assets/skills/slides/references/slide-strategies.md +94 -0
- package/assets/skills/ui-styling/LICENSE.txt +202 -0
- package/assets/skills/ui-styling/SKILL.md +324 -0
- package/assets/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/assets/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/assets/skills/ui-styling/references/shadcn-components.md +424 -0
- package/assets/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/assets/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/assets/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/assets/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/assets/skills/ui-styling/scripts/requirements.txt +17 -0
- package/assets/skills/ui-styling/scripts/shadcn_add.py +308 -0
- package/assets/skills/ui-styling/scripts/tailwind_config_gen.py +473 -0
- package/assets/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/assets/skills/ui-styling/scripts/tests/requirements.txt +3 -0
- package/assets/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/assets/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +394 -0
- package/assets/templates/base/quick-reference.md +297 -0
- package/assets/templates/base/skill-content.md +384 -0
- package/assets/templates/platforms/agent.json +21 -0
- package/assets/templates/platforms/augment.json +18 -0
- package/assets/templates/platforms/claude.json +21 -0
- package/assets/templates/platforms/codebuddy.json +21 -0
- package/assets/templates/platforms/codewhale.json +21 -0
- package/assets/templates/platforms/codex.json +21 -0
- package/assets/templates/platforms/continue.json +21 -0
- package/assets/templates/platforms/copilot.json +21 -0
- package/assets/templates/platforms/cursor.json +21 -0
- package/assets/templates/platforms/droid.json +21 -0
- package/assets/templates/platforms/gemini.json +21 -0
- package/assets/templates/platforms/kilocode.json +21 -0
- package/assets/templates/platforms/kiro.json +21 -0
- package/assets/templates/platforms/opencode.json +21 -0
- package/assets/templates/platforms/qoder.json +21 -0
- package/assets/templates/platforms/roocode.json +21 -0
- package/assets/templates/platforms/trae.json +21 -0
- package/assets/templates/platforms/warp.json +18 -0
- package/assets/templates/platforms/windsurf.json +21 -0
- package/dist/commands/init.d.ts +11 -0
- package/dist/commands/init.js +165 -0
- package/dist/commands/uninstall.d.ts +7 -0
- package/dist/commands/uninstall.js +131 -0
- package/dist/commands/update.d.ts +7 -0
- package/dist/commands/update.js +73 -0
- package/dist/commands/versions.d.ts +5 -0
- package/dist/commands/versions.js +36 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +78 -0
- package/dist/types/index.d.ts +40 -0
- package/dist/types/index.js +25 -0
- package/dist/utils/detect.d.ts +8 -0
- package/dist/utils/detect.js +115 -0
- package/dist/utils/extract.d.ts +15 -0
- package/dist/utils/extract.js +125 -0
- package/dist/utils/github.d.ts +12 -0
- package/dist/utils/github.js +97 -0
- package/dist/utils/logger.d.ts +8 -0
- package/dist/utils/logger.js +9 -0
- package/dist/utils/template.d.ts +50 -0
- package/dist/utils/template.js +249 -0
- package/package.json +65 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Logo AI Prompt Engineering
|
|
2
|
+
|
|
3
|
+
## Core Prompt Structure
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
Professional logo design for [brand/industry]:
|
|
7
|
+
[Visual description]
|
|
8
|
+
Style: [style keywords]
|
|
9
|
+
Colors: [color palette]
|
|
10
|
+
Requirements: [technical specs]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Effective Keywords by Style
|
|
14
|
+
|
|
15
|
+
### Minimalist
|
|
16
|
+
```
|
|
17
|
+
minimalist, clean lines, simple geometric shapes, essential elements only,
|
|
18
|
+
high white space, flat design, single color, modern, uncluttered,
|
|
19
|
+
negative space, subtle, refined
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Vintage/Retro
|
|
23
|
+
```
|
|
24
|
+
vintage, retro, heritage, established, classic, nostalgic, weathered,
|
|
25
|
+
distressed texture, badge style, hand-lettered, craft, artisan,
|
|
26
|
+
sepia tones, muted colors, aged paper effect
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Luxury/Premium
|
|
30
|
+
```
|
|
31
|
+
luxury, elegant, sophisticated, premium, refined, exclusive, high-end,
|
|
32
|
+
gold accents, metallic, minimal, tasteful, upscale, prestige,
|
|
33
|
+
thin lines, serif typography, foil effect
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Modern/Tech
|
|
37
|
+
```
|
|
38
|
+
modern, innovative, digital, tech-forward, sleek, futuristic,
|
|
39
|
+
gradient colors, geometric, abstract, dynamic, cutting-edge,
|
|
40
|
+
clean sans-serif, circuit-like, data visualization
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Playful/Fun
|
|
44
|
+
```
|
|
45
|
+
playful, fun, colorful, friendly, approachable, cheerful, whimsical,
|
|
46
|
+
bouncy, rounded shapes, bright colors, cartoon-like, energetic,
|
|
47
|
+
bubbly, hand-drawn elements
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Organic/Natural
|
|
51
|
+
```
|
|
52
|
+
organic, natural, flowing, botanical, eco-friendly, sustainable,
|
|
53
|
+
earth tones, leaf elements, hand-drawn, imperfect lines, growth,
|
|
54
|
+
green, nature-inspired, biophilic
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Negative Prompts (What to Avoid)
|
|
58
|
+
|
|
59
|
+
Always include to prevent unwanted results:
|
|
60
|
+
```
|
|
61
|
+
NOT: photorealistic, 3D render with realistic textures, photograph,
|
|
62
|
+
stock image, clip art, multiple logos, busy background, text watermarks,
|
|
63
|
+
low quality, blurry, distorted, complex detailed patterns
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Industry-Specific Prompts
|
|
67
|
+
|
|
68
|
+
### Tech Startup
|
|
69
|
+
```
|
|
70
|
+
Modern tech company logo, abstract geometric mark, gradient blue to purple,
|
|
71
|
+
clean minimal design, innovative feel, scalable vector style,
|
|
72
|
+
professional quality, silicon valley aesthetic
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Healthcare
|
|
76
|
+
```
|
|
77
|
+
Healthcare medical logo, clean professional design, cross or heart symbol,
|
|
78
|
+
calming blue and teal colors, trustworthy appearance, caring feel,
|
|
79
|
+
simple scalable mark, HIPAA-appropriate conservative style
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### Restaurant/Food
|
|
83
|
+
```
|
|
84
|
+
Restaurant logo, warm inviting colors, appetizing feel, vintage badge style,
|
|
85
|
+
chef or utensil iconography, friendly welcoming design, rustic charm,
|
|
86
|
+
established look, readable at small sizes
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Fashion Brand
|
|
90
|
+
```
|
|
91
|
+
Fashion brand logo, elegant sophisticated wordmark, luxury aesthetic,
|
|
92
|
+
black and gold color scheme, thin refined typography, haute couture feel,
|
|
93
|
+
minimal exclusive design, high-end positioning
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Eco/Sustainable
|
|
97
|
+
```
|
|
98
|
+
Eco-friendly sustainable brand logo, organic natural elements, leaf motif,
|
|
99
|
+
earth green and brown colors, growth symbolism, environmental awareness,
|
|
100
|
+
clean modern yet natural feel, recyclable-look design
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Technical Requirements to Include
|
|
104
|
+
|
|
105
|
+
### Scalability
|
|
106
|
+
```
|
|
107
|
+
vector-style, scalable at any size, clear silhouette,
|
|
108
|
+
works as favicon, recognizable small scale, simple shapes
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Versatility
|
|
112
|
+
```
|
|
113
|
+
works on light and dark backgrounds, single color version possible,
|
|
114
|
+
horizontal and stacked layouts, brand mark can stand alone
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Quality
|
|
118
|
+
```
|
|
119
|
+
professional quality, print-ready, high resolution,
|
|
120
|
+
crisp edges, balanced composition, centered design
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Prompt Templates
|
|
124
|
+
|
|
125
|
+
### Quick Generation
|
|
126
|
+
```
|
|
127
|
+
Professional [industry] logo, [style] design, [color] colors,
|
|
128
|
+
clean modern aesthetic, scalable vector style
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Detailed Brief
|
|
132
|
+
```
|
|
133
|
+
Professional logo design for [brand name], a [industry] company.
|
|
134
|
+
|
|
135
|
+
Visual style: [style keywords]
|
|
136
|
+
Primary colors: [hex codes]
|
|
137
|
+
Mood: [emotional keywords]
|
|
138
|
+
Symbols: [iconography hints]
|
|
139
|
+
|
|
140
|
+
Technical: Vector-style illustration, scalable, works in single color,
|
|
141
|
+
centered on plain background, no text unless specified.
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Variation Request
|
|
145
|
+
```
|
|
146
|
+
Alternative version of [brand] logo:
|
|
147
|
+
Keep: [elements to preserve]
|
|
148
|
+
Change: [elements to modify]
|
|
149
|
+
Style direction: [new style keywords]
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Common Pitfalls
|
|
153
|
+
|
|
154
|
+
1. **Too detailed** - AI generates complexity; request "simple"
|
|
155
|
+
2. **Unclear background** - Specify "plain white background"
|
|
156
|
+
3. **Text issues** - AI struggles with text; generate mark separately
|
|
157
|
+
4. **Wrong aspect** - Specify "1:1 square" or "horizontal"
|
|
158
|
+
5. **Realistic style** - Add "illustration, vector-style, not photorealistic"
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Logo Style Guide
|
|
2
|
+
|
|
3
|
+
## Core Logo Types
|
|
4
|
+
|
|
5
|
+
### 1. Wordmark (Logotype)
|
|
6
|
+
Text-only logo using custom typography.
|
|
7
|
+
- **Best for:** Established brands, distinctive names
|
|
8
|
+
- **Examples:** Google, Coca-Cola, FedEx
|
|
9
|
+
- **Typography:** Custom letterforms, unique kerning
|
|
10
|
+
- **Tip:** Name must be memorable and pronounceable
|
|
11
|
+
|
|
12
|
+
### 2. Lettermark (Monogram)
|
|
13
|
+
Initials or abbreviated letters.
|
|
14
|
+
- **Best for:** Long company names, professional firms
|
|
15
|
+
- **Examples:** IBM, HBO, NASA
|
|
16
|
+
- **Typography:** Bold geometric sans-serif
|
|
17
|
+
- **Tip:** Works well for brands with 2-4 letter abbreviations
|
|
18
|
+
|
|
19
|
+
### 3. Pictorial Mark (Brand Mark)
|
|
20
|
+
Standalone icon or symbol.
|
|
21
|
+
- **Best for:** Global brands with recognition
|
|
22
|
+
- **Examples:** Apple, Twitter, Target
|
|
23
|
+
- **Design:** Simple, scalable, memorable shape
|
|
24
|
+
- **Tip:** Requires brand equity to work alone
|
|
25
|
+
|
|
26
|
+
### 4. Abstract Mark
|
|
27
|
+
Non-representational geometric shapes.
|
|
28
|
+
- **Best for:** Tech companies, differentiating brands
|
|
29
|
+
- **Examples:** Pepsi, Airbnb, Spotify
|
|
30
|
+
- **Design:** Unique shape conveying brand values
|
|
31
|
+
- **Tip:** Can represent complex ideas simply
|
|
32
|
+
|
|
33
|
+
### 5. Mascot
|
|
34
|
+
Character representing the brand.
|
|
35
|
+
- **Best for:** Family brands, sports teams, food
|
|
36
|
+
- **Examples:** KFC, Pringles, Michelin
|
|
37
|
+
- **Design:** Friendly, expressive, versatile
|
|
38
|
+
- **Tip:** Can evolve with brand while maintaining recognition
|
|
39
|
+
|
|
40
|
+
### 6. Emblem
|
|
41
|
+
Symbol enclosed within a shape.
|
|
42
|
+
- **Best for:** Traditional brands, organizations
|
|
43
|
+
- **Examples:** Starbucks, Harley-Davidson, NFL
|
|
44
|
+
- **Design:** Badge, seal, or crest style
|
|
45
|
+
- **Tip:** May have scalability challenges
|
|
46
|
+
|
|
47
|
+
### 7. Combination Mark
|
|
48
|
+
Icon + text in unified design.
|
|
49
|
+
- **Best for:** New brands, versatile applications
|
|
50
|
+
- **Examples:** Burger King, Lacoste, Doritos
|
|
51
|
+
- **Design:** Lockup with flexible arrangements
|
|
52
|
+
- **Tip:** Most versatile, can separate elements later
|
|
53
|
+
|
|
54
|
+
## Aesthetic Styles
|
|
55
|
+
|
|
56
|
+
### Minimalist
|
|
57
|
+
- Clean lines, essential elements only
|
|
58
|
+
- High white space, simple geometry
|
|
59
|
+
- Limited color palette (1-2 colors)
|
|
60
|
+
- **Use:** Tech, professional services, modern brands
|
|
61
|
+
|
|
62
|
+
### Vintage/Retro
|
|
63
|
+
- Nostalgic, heritage feel
|
|
64
|
+
- Distressed textures, muted colors
|
|
65
|
+
- Script or slab serif typography
|
|
66
|
+
- **Use:** Craft brands, artisan products
|
|
67
|
+
|
|
68
|
+
### Luxury/Premium
|
|
69
|
+
- Elegant, refined aesthetic
|
|
70
|
+
- Gold, black, white color scheme
|
|
71
|
+
- Thin serifs or sophisticated sans
|
|
72
|
+
- **Use:** Fashion, jewelry, high-end services
|
|
73
|
+
|
|
74
|
+
### Geometric
|
|
75
|
+
- Mathematical precision
|
|
76
|
+
- Circles, triangles, squares
|
|
77
|
+
- Perfect symmetry
|
|
78
|
+
- **Use:** Architecture, tech, modern brands
|
|
79
|
+
|
|
80
|
+
### Organic/Natural
|
|
81
|
+
- Flowing, imperfect lines
|
|
82
|
+
- Earth tones, natural colors
|
|
83
|
+
- Hand-drawn feel
|
|
84
|
+
- **Use:** Eco brands, wellness, organic products
|
|
85
|
+
|
|
86
|
+
### Gradient/Modern
|
|
87
|
+
- Color transitions, vibrant palettes
|
|
88
|
+
- Dimensional depth
|
|
89
|
+
- Contemporary feel
|
|
90
|
+
- **Use:** Apps, tech startups, digital products
|
|
91
|
+
|
|
92
|
+
## Style Selection Matrix
|
|
93
|
+
|
|
94
|
+
| Brand Type | Primary Style | Secondary Options |
|
|
95
|
+
|------------|---------------|-------------------|
|
|
96
|
+
| Tech Startup | Minimalist, Abstract | Geometric, Gradient |
|
|
97
|
+
| Law Firm | Wordmark, Emblem | Lettermark |
|
|
98
|
+
| Restaurant | Mascot, Badge | Vintage, Combination |
|
|
99
|
+
| Fashion | Wordmark, Luxury | Monogram, Line Art |
|
|
100
|
+
| Healthcare | Professional, Line Art | Abstract, Combination |
|
|
101
|
+
| Non-Profit | Combination, Emblem | Organic, Hand-Drawn |
|
|
102
|
+
|
|
103
|
+
## Scalability Checklist
|
|
104
|
+
|
|
105
|
+
- [ ] Recognizable at 16x16 pixels (favicon)
|
|
106
|
+
- [ ] Clear at business card size
|
|
107
|
+
- [ ] Works in single color
|
|
108
|
+
- [ ] Maintains clarity in black/white
|
|
109
|
+
- [ ] No tiny details that disappear when scaled
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Copywriting Formulas
|
|
2
|
+
|
|
3
|
+
25 formulas for persuasive slide copy.
|
|
4
|
+
|
|
5
|
+
## Core Formulas
|
|
6
|
+
|
|
7
|
+
### PAS (Problem-Agitate-Solution)
|
|
8
|
+
**Use:** Problem slides, pain points
|
|
9
|
+
**Components:** Problem → Agitate → Solution
|
|
10
|
+
**Template:** "[Pain point]? Every [time frame], [consequence]. [Solution] fixes this."
|
|
11
|
+
|
|
12
|
+
### AIDA (Attention-Interest-Desire-Action)
|
|
13
|
+
**Use:** CTAs, closing slides
|
|
14
|
+
**Components:** Attention → Interest → Desire → Action
|
|
15
|
+
**Template:** "[Bold statement]. [Benefit detail]. [Social proof]. [CTA]."
|
|
16
|
+
|
|
17
|
+
### FAB (Features-Advantages-Benefits)
|
|
18
|
+
**Use:** Feature slides, product showcases
|
|
19
|
+
**Components:** Feature → Advantage → Benefit
|
|
20
|
+
**Template:** "[Feature] lets you [advantage], so you can [benefit]."
|
|
21
|
+
|
|
22
|
+
### Cost of Inaction
|
|
23
|
+
**Use:** Agitation slides, urgency
|
|
24
|
+
**Components:** Status Quo → Loss → Time Decay
|
|
25
|
+
**Template:** "Without [solution], you're losing [amount] every [timeframe]."
|
|
26
|
+
|
|
27
|
+
### Before-After-Bridge
|
|
28
|
+
**Use:** Transformation slides, case studies
|
|
29
|
+
**Components:** Before → After → Bridge
|
|
30
|
+
**Template:** "[Pain point before]. [Desired state after]. [Your solution] is the bridge."
|
|
31
|
+
|
|
32
|
+
## Formula-to-Slide Mapping
|
|
33
|
+
|
|
34
|
+
| Slide Type | Primary Formula | Emotion |
|
|
35
|
+
|------------|-----------------|---------|
|
|
36
|
+
| Title/Hook | AIDA, Hook | curiosity |
|
|
37
|
+
| Problem | PAS, Agitate | frustration |
|
|
38
|
+
| Cost/Risk | Cost of Inaction | fear |
|
|
39
|
+
| Solution | FAB, BAB | hope |
|
|
40
|
+
| Features | FAB | confidence |
|
|
41
|
+
| Traction | Proof Stack | trust |
|
|
42
|
+
| Social Proof | Testimonial | trust |
|
|
43
|
+
| Pricing | Value Stack | confidence |
|
|
44
|
+
| CTA | AIDA, Urgency | urgency |
|
|
45
|
+
|
|
46
|
+
## Headline Patterns
|
|
47
|
+
|
|
48
|
+
### Power Words
|
|
49
|
+
- "Stop [bad thing]"
|
|
50
|
+
- "Get [desired result] in [timeframe]"
|
|
51
|
+
- "The [adjective] way to [action]"
|
|
52
|
+
- "Why [audience] choose [product]"
|
|
53
|
+
- "[Number] ways to [achieve goal]"
|
|
54
|
+
|
|
55
|
+
### Contrast Patterns
|
|
56
|
+
- "[Old way] is dead. Meet [new way]."
|
|
57
|
+
- "Don't [bad action]. Instead, [good action]."
|
|
58
|
+
- "From [pain point] to [benefit]."
|
|
59
|
+
|
|
60
|
+
### Social Proof Patterns
|
|
61
|
+
- "[Number]+ [users/companies] trust [product]"
|
|
62
|
+
- "Join [notable company] and [notable company]"
|
|
63
|
+
- "As seen in [publication]"
|
|
64
|
+
|
|
65
|
+
## Search Commands
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Find formula for slide type
|
|
69
|
+
python .claude/skills/design-system/scripts/search-slides.py "problem agitation" -d copy
|
|
70
|
+
|
|
71
|
+
# Get emotion-appropriate formula
|
|
72
|
+
python .claude/skills/design-system/scripts/search-slides.py "urgency cta" -d copy
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Quick Reference
|
|
76
|
+
|
|
77
|
+
| Need | Use Formula |
|
|
78
|
+
|------|------------|
|
|
79
|
+
| Create urgency | Cost of Inaction, Scarcity |
|
|
80
|
+
| Build trust | Social Proof, Testimonial |
|
|
81
|
+
| Show value | FAB, Value Stack |
|
|
82
|
+
| Drive action | AIDA, CTA |
|
|
83
|
+
| Tell story | BAB, Story Arc |
|
|
84
|
+
| Present data | Proof Stack |
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# HTML Slide Template
|
|
2
|
+
|
|
3
|
+
Complete HTML structure with navigation, tokens, and Chart.js integration.
|
|
4
|
+
|
|
5
|
+
## Base Structure
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!DOCTYPE html>
|
|
9
|
+
<html lang="en">
|
|
10
|
+
<head>
|
|
11
|
+
<meta charset="UTF-8">
|
|
12
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
13
|
+
<title>Presentation Title</title>
|
|
14
|
+
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>
|
|
15
|
+
<style>
|
|
16
|
+
/* Paste embed-tokens.cjs output here */
|
|
17
|
+
:root {
|
|
18
|
+
--color-primary: #FF6B6B;
|
|
19
|
+
--color-background: #0D0D0D;
|
|
20
|
+
/* ... more tokens */
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* Base slide styles */
|
|
24
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
25
|
+
body {
|
|
26
|
+
background: var(--color-background);
|
|
27
|
+
color: #fff;
|
|
28
|
+
font-family: var(--typography-font-body, 'Inter', sans-serif);
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* 16:9 Aspect Ratio Container (desktop) */
|
|
33
|
+
.slide-deck {
|
|
34
|
+
position: relative;
|
|
35
|
+
width: 100vw;
|
|
36
|
+
height: 100vh;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@media (min-width: 769px) {
|
|
41
|
+
.slide-deck {
|
|
42
|
+
/* Lock to 16:9 — letterbox if viewport ratio differs */
|
|
43
|
+
max-width: calc(100vh * 16 / 9);
|
|
44
|
+
max-height: calc(100vw * 9 / 16);
|
|
45
|
+
margin: auto;
|
|
46
|
+
position: absolute;
|
|
47
|
+
inset: 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.slide {
|
|
52
|
+
position: absolute;
|
|
53
|
+
width: 100%; height: 100%;
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-direction: column;
|
|
56
|
+
justify-content: center;
|
|
57
|
+
align-items: center;
|
|
58
|
+
text-align: center;
|
|
59
|
+
padding: 60px;
|
|
60
|
+
opacity: 0;
|
|
61
|
+
visibility: hidden;
|
|
62
|
+
transition: opacity 0.4s;
|
|
63
|
+
background: var(--color-background);
|
|
64
|
+
overflow: hidden; /* Prevent content overflow */
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.slide.active { opacity: 1; visibility: visible; }
|
|
68
|
+
|
|
69
|
+
/* Slide inner wrapper — constrains content within safe area */
|
|
70
|
+
.slide-content {
|
|
71
|
+
width: 100%;
|
|
72
|
+
max-width: 100%;
|
|
73
|
+
max-height: 100%;
|
|
74
|
+
overflow: hidden;
|
|
75
|
+
display: flex;
|
|
76
|
+
flex-direction: column;
|
|
77
|
+
justify-content: center;
|
|
78
|
+
align-items: center;
|
|
79
|
+
gap: 16px;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Typography */
|
|
83
|
+
h1, h2 { font-family: var(--typography-font-heading, 'Space Grotesk', sans-serif); }
|
|
84
|
+
.slide-title {
|
|
85
|
+
font-size: clamp(32px, 6vw, 80px);
|
|
86
|
+
background: var(--primitive-gradient-primary, linear-gradient(135deg, #FF6B6B, #FF8E53));
|
|
87
|
+
-webkit-background-clip: text;
|
|
88
|
+
-webkit-text-fill-color: transparent;
|
|
89
|
+
line-height: 1.1;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* ===== RESPONSIVE BREAKPOINTS ===== */
|
|
93
|
+
|
|
94
|
+
/* Tablet (portrait) */
|
|
95
|
+
@media (max-width: 768px) {
|
|
96
|
+
.slide { padding: 32px 24px; }
|
|
97
|
+
.slide-title { font-size: clamp(28px, 5vw, 48px); }
|
|
98
|
+
h2 { font-size: clamp(20px, 4vw, 32px); }
|
|
99
|
+
p, li { font-size: clamp(14px, 2.5vw, 18px); }
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* Mobile */
|
|
103
|
+
@media (max-width: 480px) {
|
|
104
|
+
.slide { padding: 24px 16px; }
|
|
105
|
+
.slide-title { font-size: clamp(22px, 6vw, 36px); }
|
|
106
|
+
h2 { font-size: clamp(18px, 4.5vw, 28px); }
|
|
107
|
+
p, li { font-size: clamp(12px, 3vw, 16px); }
|
|
108
|
+
.nav-controls { bottom: 16px; gap: 12px; }
|
|
109
|
+
.nav-btn { width: 32px; height: 32px; font-size: 14px; }
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* Navigation */
|
|
113
|
+
.progress-bar {
|
|
114
|
+
position: fixed;
|
|
115
|
+
top: 0; left: 0;
|
|
116
|
+
height: 3px;
|
|
117
|
+
background: var(--color-primary);
|
|
118
|
+
transition: width 0.3s;
|
|
119
|
+
z-index: 1000;
|
|
120
|
+
}
|
|
121
|
+
.nav-controls {
|
|
122
|
+
position: fixed;
|
|
123
|
+
bottom: 30px;
|
|
124
|
+
left: 50%;
|
|
125
|
+
transform: translateX(-50%);
|
|
126
|
+
display: flex;
|
|
127
|
+
align-items: center;
|
|
128
|
+
gap: 20px;
|
|
129
|
+
z-index: 1000;
|
|
130
|
+
}
|
|
131
|
+
.nav-btn {
|
|
132
|
+
background: rgba(255,255,255,0.1);
|
|
133
|
+
border: none;
|
|
134
|
+
color: #fff;
|
|
135
|
+
width: 40px; height: 40px;
|
|
136
|
+
border-radius: 50%;
|
|
137
|
+
cursor: pointer;
|
|
138
|
+
font-size: 18px;
|
|
139
|
+
}
|
|
140
|
+
.nav-btn:hover { background: rgba(255,255,255,0.2); }
|
|
141
|
+
.slide-counter { color: rgba(255,255,255,0.6); font-size: 14px; }
|
|
142
|
+
</style>
|
|
143
|
+
</head>
|
|
144
|
+
<body>
|
|
145
|
+
<!-- Progress Bar -->
|
|
146
|
+
<div class="progress-bar" id="progressBar"></div>
|
|
147
|
+
|
|
148
|
+
<!-- Slide Deck Container (16:9 on desktop) -->
|
|
149
|
+
<div class="slide-deck">
|
|
150
|
+
|
|
151
|
+
<!-- Slides -->
|
|
152
|
+
<div class="slide active">
|
|
153
|
+
<div class="slide-content">
|
|
154
|
+
<h1 class="slide-title">Title Slide</h1>
|
|
155
|
+
<p>Subtitle or tagline</p>
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<!-- More slides... (always wrap content in .slide-content) -->
|
|
160
|
+
|
|
161
|
+
</div><!-- /.slide-deck -->
|
|
162
|
+
|
|
163
|
+
<!-- Navigation -->
|
|
164
|
+
<div class="nav-controls">
|
|
165
|
+
<button class="nav-btn" onclick="prevSlide()">←</button>
|
|
166
|
+
<span class="slide-counter"><span id="current">1</span> / <span id="total">9</span></span>
|
|
167
|
+
<button class="nav-btn" onclick="nextSlide()">→</button>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<script>
|
|
171
|
+
let current = 1;
|
|
172
|
+
const total = document.querySelectorAll('.slide').length;
|
|
173
|
+
document.getElementById('total').textContent = total;
|
|
174
|
+
|
|
175
|
+
function showSlide(n) {
|
|
176
|
+
if (n < 1) n = 1;
|
|
177
|
+
if (n > total) n = total;
|
|
178
|
+
current = n;
|
|
179
|
+
document.querySelectorAll('.slide').forEach((s, i) => {
|
|
180
|
+
s.classList.toggle('active', i === n - 1);
|
|
181
|
+
});
|
|
182
|
+
document.getElementById('current').textContent = n;
|
|
183
|
+
document.getElementById('progressBar').style.width = (n / total * 100) + '%';
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function nextSlide() { showSlide(current + 1); }
|
|
187
|
+
function prevSlide() { showSlide(current - 1); }
|
|
188
|
+
|
|
189
|
+
document.addEventListener('keydown', (e) => {
|
|
190
|
+
if (e.key === 'ArrowRight' || e.key === ' ') { e.preventDefault(); nextSlide(); }
|
|
191
|
+
if (e.key === 'ArrowLeft') { e.preventDefault(); prevSlide(); }
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
document.addEventListener('click', (e) => {
|
|
195
|
+
if (!e.target.closest('.nav-controls')) nextSlide();
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
showSlide(1);
|
|
199
|
+
</script>
|
|
200
|
+
</body>
|
|
201
|
+
</html>
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Chart.js Integration
|
|
205
|
+
|
|
206
|
+
```html
|
|
207
|
+
<div class="chart-container" style="width: min(80%, 600px); height: clamp(200px, 40vh, 350px);">
|
|
208
|
+
<canvas id="revenueChart"></canvas>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<script>
|
|
212
|
+
new Chart(document.getElementById('revenueChart'), {
|
|
213
|
+
type: 'line', // or 'bar', 'doughnut', 'radar'
|
|
214
|
+
data: {
|
|
215
|
+
labels: ['Sep', 'Oct', 'Nov', 'Dec'],
|
|
216
|
+
datasets: [{
|
|
217
|
+
label: 'MRR ($K)',
|
|
218
|
+
data: [5, 12, 28, 45],
|
|
219
|
+
borderColor: '#FF6B6B',
|
|
220
|
+
backgroundColor: 'rgba(255, 107, 107, 0.1)',
|
|
221
|
+
borderWidth: 3,
|
|
222
|
+
fill: true,
|
|
223
|
+
tension: 0.4
|
|
224
|
+
}]
|
|
225
|
+
},
|
|
226
|
+
options: {
|
|
227
|
+
responsive: true,
|
|
228
|
+
maintainAspectRatio: false,
|
|
229
|
+
plugins: { legend: { display: false } },
|
|
230
|
+
scales: {
|
|
231
|
+
x: { grid: { color: 'rgba(255,255,255,0.05)' }, ticks: { color: '#B8B8D0' } },
|
|
232
|
+
y: { grid: { color: 'rgba(255,255,255,0.05)' }, ticks: { color: '#B8B8D0' } }
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
</script>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## Animation Classes
|
|
240
|
+
|
|
241
|
+
```css
|
|
242
|
+
/* Fade Up */
|
|
243
|
+
.animate-fade-up {
|
|
244
|
+
animation: fadeUp 0.6s ease-out forwards;
|
|
245
|
+
opacity: 0;
|
|
246
|
+
}
|
|
247
|
+
@keyframes fadeUp {
|
|
248
|
+
from { opacity: 0; transform: translateY(30px); }
|
|
249
|
+
to { opacity: 1; transform: translateY(0); }
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/* Count Animation */
|
|
253
|
+
.animate-count { animation: countUp 1s ease-out forwards; }
|
|
254
|
+
|
|
255
|
+
/* Scale */
|
|
256
|
+
.animate-scale {
|
|
257
|
+
animation: scaleIn 0.5s ease-out forwards;
|
|
258
|
+
}
|
|
259
|
+
@keyframes scaleIn {
|
|
260
|
+
from { opacity: 0; transform: scale(0.9); }
|
|
261
|
+
to { opacity: 1; transform: scale(1); }
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/* Stagger Children */
|
|
265
|
+
.animate-stagger > * {
|
|
266
|
+
opacity: 0;
|
|
267
|
+
animation: fadeUp 0.5s ease-out forwards;
|
|
268
|
+
}
|
|
269
|
+
.animate-stagger > *:nth-child(1) { animation-delay: 0.1s; }
|
|
270
|
+
.animate-stagger > *:nth-child(2) { animation-delay: 0.2s; }
|
|
271
|
+
.animate-stagger > *:nth-child(3) { animation-delay: 0.3s; }
|
|
272
|
+
.animate-stagger > *:nth-child(4) { animation-delay: 0.4s; }
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## Background Images
|
|
276
|
+
|
|
277
|
+
```html
|
|
278
|
+
<div class="slide slide-with-bg" style="background-image: url('https://images.pexels.com/...')">
|
|
279
|
+
<div class="overlay" style="background: linear-gradient(135deg, rgba(13,13,13,0.9), rgba(13,13,13,0.7))"></div>
|
|
280
|
+
<div class="content" style="position: relative; z-index: 1;">
|
|
281
|
+
<!-- Slide content -->
|
|
282
|
+
</div>
|
|
283
|
+
</div>
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## CSS Variables Reference
|
|
287
|
+
|
|
288
|
+
| Variable | Usage |
|
|
289
|
+
|----------|-------|
|
|
290
|
+
| `--color-primary` | Brand primary (CTA, highlights) |
|
|
291
|
+
| `--color-background` | Slide background |
|
|
292
|
+
| `--color-secondary` | Secondary elements |
|
|
293
|
+
| `--primitive-gradient-primary` | Title gradients |
|
|
294
|
+
| `--typography-font-heading` | Headlines |
|
|
295
|
+
| `--typography-font-body` | Body text |
|