@kennethsolomon/shipkit 3.14.0 → 3.15.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.
Files changed (28) hide show
  1. package/README.md +1 -0
  2. package/commands/sk/website.md +93 -0
  3. package/package.json +1 -1
  4. package/skills/sk:website/SKILL.md +471 -0
  5. package/skills/sk:website/references/art-direction.md +210 -0
  6. package/skills/sk:website/references/brief-template.md +121 -0
  7. package/skills/sk:website/references/content-seo.md +143 -0
  8. package/skills/sk:website/references/handoff-template.md +261 -0
  9. package/skills/sk:website/references/launch-checklist.md +99 -0
  10. package/skills/sk:website/references/niche/accountant.md +75 -0
  11. package/skills/sk:website/references/niche/agency.md +75 -0
  12. package/skills/sk:website/references/niche/cafe.md +79 -0
  13. package/skills/sk:website/references/niche/dentist.md +78 -0
  14. package/skills/sk:website/references/niche/ecommerce.md +76 -0
  15. package/skills/sk:website/references/niche/gym.md +75 -0
  16. package/skills/sk:website/references/niche/home-services.md +76 -0
  17. package/skills/sk:website/references/niche/law-firm.md +75 -0
  18. package/skills/sk:website/references/niche/local-business.md +78 -0
  19. package/skills/sk:website/references/niche/med-spa.md +78 -0
  20. package/skills/sk:website/references/niche/portfolio.md +77 -0
  21. package/skills/sk:website/references/niche/real-estate.md +72 -0
  22. package/skills/sk:website/references/niche/restaurant.md +80 -0
  23. package/skills/sk:website/references/niche/saas.md +80 -0
  24. package/skills/sk:website/references/niche/wedding.md +80 -0
  25. package/skills/sk:website/references/stacks/laravel.md +425 -0
  26. package/skills/sk:website/references/stacks/nextjs.md +345 -0
  27. package/skills/sk:website/references/stacks/nuxt.md +374 -0
  28. package/skills/sk:website/references/whatsapp-cta.md +160 -0
@@ -0,0 +1,210 @@
1
+ # Art Direction Reference
2
+
3
+ Use this when building or reviewing the visual system for a website. Translate the business brief into a deliberate visual direction that can be implemented in code without drifting into generic AI-generated styling.
4
+
5
+ ## Workflow
6
+
7
+ 1. Pick one dominant aesthetic direction from the list below.
8
+ 2. Define 2–4 signature design moves.
9
+ 3. Choose a type strategy, palette behavior, spacing rhythm, and motion stance.
10
+ 4. Verify the style still supports clarity, trust, and conversion.
11
+
12
+ ---
13
+
14
+ ## Aesthetic Directions
15
+
16
+ Choose exactly one dominant direction. Do not mix multiple directions without a clear hierarchy.
17
+
18
+ ### Restrained Editorial
19
+
20
+ Good for: architecture studios, fashion-adjacent brands, premium consultants, galleries, publishing.
21
+
22
+ Signals:
23
+ - Strong typographic contrast (large serif headline, small sans body)
24
+ - Generous whitespace — sections breathe
25
+ - Sparse palette (warm white + dark neutral + one muted accent)
26
+ - Image restraint — one strong image per section, not a grid
27
+
28
+ Avoid:
29
+ - Decorative layers that break the calm
30
+ - Loud CTA styling that contradicts the quiet tone
31
+
32
+ ### Premium Product-Led
33
+
34
+ Good for: SaaS, devices, premium consumer products, DTC hero pages.
35
+
36
+ Signals:
37
+ - Crisp hierarchy with product at the center
38
+ - Focused product framing (screenshot, mockup, or isolated product shot)
39
+ - Clear product storytelling — one benefit per section
40
+ - Controlled accent color on a near-white or dark background
41
+
42
+ Avoid:
43
+ - Fake dashboards with no real product
44
+ - Overstuffed hero sections with too many messages
45
+
46
+ ### Bold Brand-Forward
47
+
48
+ Good for: agencies, challenger brands, culture-led products, streetwear, creative studios.
49
+
50
+ Signals:
51
+ - Strong contrast between sections
52
+ - Daring type scale — headline that dominates the viewport
53
+ - Sharper section transitions (hard cuts, not gentle fades)
54
+ - High visual recall through one repeating graphic pattern or color block
55
+
56
+ Avoid:
57
+ - Sacrificing legibility for attitude
58
+ - Using bold direction for trust-sensitive businesses (law, medical, finance)
59
+
60
+ ### Warm Hospitality
61
+
62
+ Good for: cafes, boutique hotels, restaurants, lifestyle spaces, florists, bakeries.
63
+
64
+ Signals:
65
+ - Tactile, atmosphere-first imagery (real textures, warm light, food close-ups)
66
+ - Warm neutrals — cream, sand, olive, terracotta, warm grey
67
+ - Editorial pacing — section rhythm like a magazine spread
68
+ - Practical info (hours, address, reservation CTA) stays visible and easy to find
69
+
70
+ Avoid:
71
+ - Corporate UI chrome that breaks the atmosphere
72
+ - Hiding menu, hours, location, or booking link behind design
73
+ - Stock cafe imagery when real photography is the point
74
+
75
+ ### Sharp Technical
76
+
77
+ Good for: developer tools, B2B platforms, infrastructure products, data products, security tools.
78
+
79
+ Signals:
80
+ - Precise grid with tight alignment
81
+ - Low visual noise — very few decorative elements
82
+ - Strong information hierarchy — function drives layout
83
+ - Restrained motion — only when it explains something
84
+
85
+ Avoid:
86
+ - Playful or warm treatments that undermine technical credibility
87
+ - Dense copy with no visual breathing room
88
+
89
+ ### Playful Contemporary
90
+
91
+ Good for: consumer apps, EdTech, food delivery, kids products, lifestyle brands targeting under-35.
92
+
93
+ Signals:
94
+ - Rounded forms, approachable typography
95
+ - Brighter palette with confident accent colors
96
+ - Motion used generously but purposefully
97
+ - Illustration or character work where appropriate
98
+
99
+ Avoid:
100
+ - Looking cheap or juvenile for a premium audience
101
+ - Overanimation that obscures the product
102
+
103
+ ### Quiet Luxury
104
+
105
+ Good for: premium services, interior design, high-end hospitality, luxury retail, wellness brands.
106
+
107
+ Signals:
108
+ - Restraint above all — nothing superfluous
109
+ - Tactile material cues (fabric textures, paper grain, stone)
110
+ - Elegant typography contrast (fine serif + sparse uppercase tracking)
111
+ - Limited palette — usually 2–3 colors maximum
112
+
113
+ Avoid:
114
+ - Gimmicky animation that breaks the calm
115
+ - Shiny, trend-driven effects (glass, neon, gradients)
116
+ - Too much copy — quiet luxury lets the brand speak with less
117
+
118
+ ---
119
+
120
+ ## Signature Design Moves
121
+
122
+ Every strong site has 2–4 memorable moves. Choose moves that fit the direction and stick with them.
123
+
124
+ Examples:
125
+ - Oversized serif headline with tight sans-serif body underneath
126
+ - Muted palette with one decisive high-contrast accent color
127
+ - Image-first storytelling with minimal interface chrome around it
128
+ - Rigid grid with one intentionally broken element per section
129
+ - Soft material textures behind simple white interface frames
130
+ - Full-bleed photography sections alternating with dense-type sections
131
+ - Sticky navigation that changes color on scroll
132
+
133
+ **Rule:** Two strong moves beat six weak ones. Restraint is a design decision.
134
+
135
+ ---
136
+
137
+ ## Typography Mood
138
+
139
+ Choose typography to express the brand's confidence level and audience — not just to look fashionable.
140
+
141
+ | Mood | Type strategy |
142
+ |---|---|
143
+ | Elegant and assured | Serif headline + restrained supporting sans (e.g., Playfair Display + Inter) |
144
+ | Modern and precise | Neo-grotesk or geometric sans with strong scale control (e.g., DM Sans, Plus Jakarta Sans) |
145
+ | Warm and neighborhood-focused | Soft serif or humanist sans pairings (e.g., Lora + Nunito, Fraunces + Manrope) |
146
+ | Technical and credible | Clean sans with tight hierarchy, minimal ornament (e.g., IBM Plex Sans, Space Grotesk) |
147
+ | Bold brand-forward | Display face with strong personality (e.g., Syne, Cabinet Grotesk, Clash Display) |
148
+ | Quiet luxury | Fine-weight serif or high-tracking uppercase (e.g., Cormorant Garamond, Libre Baskerville) |
149
+
150
+ **Rules:**
151
+ - Use contrast in scale, weight, and rhythm to create hierarchy before adding more colors.
152
+ - Never use system fonts (Arial, Helvetica, Times) — always pick with intention.
153
+ - Two fonts maximum. One display + one body. A third only if very controlled.
154
+
155
+ ---
156
+
157
+ ## Color Behavior
158
+
159
+ - One strong accent is often enough. Neutrals do most of the structural work.
160
+ - Color guides attention — it should not paint every surface.
161
+ - Strong contrast can come from spacing and scale, not just saturated color.
162
+ - Trust-sensitive businesses (legal, medical, finance) need calm palettes even when layout is bold.
163
+ - If photography is strong, reduce color complexity — let the images carry the warmth.
164
+
165
+ **Custom palette rules:**
166
+ - Never use raw Tailwind palette colors (blue-500, gray-200, etc.) — always define custom values.
167
+ - Name colors semantically: `brand`, `accent`, `surface`, `text`, `muted`.
168
+ - Define in `tailwind.config.js` under `theme.extend.colors`.
169
+
170
+ ---
171
+
172
+ ## Motion Stance
173
+
174
+ | Level | When to use | What to use |
175
+ |---|---|---|
176
+ | None | Trust-sensitive, performance-critical | No animation |
177
+ | Subtle | Most business sites | Fade + translate on scroll reveal, 200–300ms |
178
+ | Moderate | Consumer brands, hospitality | Stagger reveals, gentle parallax, hover transitions |
179
+ | Expressive | Agencies, entertainment, playful brands | Page transitions, character animation, scroll-driven |
180
+
181
+ **Rules:**
182
+ - Motion should support pacing, reveal hierarchy, or reinforce affordances — not decorate.
183
+ - `transform` and `opacity` only — never animate layout properties (width, height, margin).
184
+ - Respect `prefers-reduced-motion` — wrap all animations in the media query.
185
+ - If the page relies on performance or trust, reduce animation density.
186
+
187
+ ---
188
+
189
+ ## Anti-Patterns
190
+
191
+ Avoid in all cases:
192
+ - Random mix of brutalism, glassmorphism, and luxury minimalism in the same page
193
+ - Default AI startup gradients (purple → blue, dark mode glow) unless clearly warranted
194
+ - Decorative visuals that weaken the CTA or bury practical information
195
+ - Style direction that contradicts the business category (bold agency aesthetic for a law firm)
196
+ - Fake UI, fake charts, fake product screenshots, fake reviews
197
+ - Overanimated entrance sequences that delay time to content
198
+
199
+ By direction:
200
+ - **SaaS**: fake dashboards, purple glow overload, feature-card sprawl with no story
201
+ - **Agency**: dramatic visuals with vague copy, no real proof of work
202
+ - **Local business**: beautiful design but phone, hours, and service area are buried
203
+ - **Hospitality**: atmospheric imagery but no menu, reservation link, or location
204
+
205
+ **Recovery moves when it feels generic:**
206
+ 1. Remove one full visual layer
207
+ 2. Choose one dominant type contrast and commit to it
208
+ 3. Reduce palette to neutrals + one accent
209
+ 4. Simplify motion to a single reveal family
210
+ 5. Move practical business information higher on the page
@@ -0,0 +1,121 @@
1
+ # Website Brief Template
2
+
3
+ Use this when prompting `/sk:website`. Fill in what you have — the skill will infer the rest.
4
+
5
+ The fastest way to start: paste a Google Maps URL or existing website URL. The skill extracts everything automatically.
6
+
7
+ ---
8
+
9
+ ## Minimal brief (enough to start)
10
+
11
+ ```
12
+ /sk:website
13
+
14
+ [Business name] — [type of business] in [city/location].
15
+ Goal: [what the site should achieve — bookings, inquiries, orders, etc.]
16
+ CTA: [primary action — "Book a Table", "Get a Quote", "Contact Us"]
17
+ ```
18
+
19
+ **Example:**
20
+ ```
21
+ /sk:website
22
+
23
+ Corner Brew — specialty coffee shop in BGC, Taguig.
24
+ Goal: drive foot traffic and reservation inquiries.
25
+ CTA: Reserve a Spot
26
+ ```
27
+
28
+ ---
29
+
30
+ ## Full brief (more control)
31
+
32
+ ```
33
+ /sk:website
34
+
35
+ **Business:** [name]
36
+ **Type:** [cafe / law firm / freelance designer / etc.]
37
+ **Location:** [city, region — required for local SEO]
38
+ **Goal:** [what success looks like for this site]
39
+ **Audience:** [who visits this business / who buys]
40
+ **Primary CTA:** [the one action you want visitors to take]
41
+
42
+ **Pages needed:**
43
+ - Home
44
+ - About
45
+ - [Services / Menu / Work]
46
+ - Contact
47
+ - [FAQ / Gallery / Blog — optional]
48
+
49
+ **Tone:** [warm and neighborhood / premium and editorial / bold and modern / etc.]
50
+ **Primary keyword:** [what people search to find this business]
51
+
52
+ **Real info to include:**
53
+ - Address: [full address if applicable]
54
+ - Phone: [for WhatsApp CTA — format: +63XXXXXXXXXX]
55
+ - Hours: [e.g., Mon–Fri 7am–6pm, Sat–Sun 8am–5pm]
56
+ - Services: [list what the business actually offers]
57
+ - Trust signals: [certifications, years open, anything real]
58
+
59
+ **Visual direction (optional):**
60
+ - Brand adjectives: [e.g., cozy, artisan, warm, minimal]
61
+ - Colors to use or avoid:
62
+ - Inspiration: [URL] for [what to borrow from it]
63
+
64
+ **Avoid:**
65
+ - [patterns or styles you don't want]
66
+ ```
67
+
68
+ ---
69
+
70
+ ## URL-first brief (fastest)
71
+
72
+ Just paste a URL — the skill fetches and extracts everything:
73
+
74
+ ```
75
+ /sk:website
76
+
77
+ [Google Maps URL or existing website URL]
78
+
79
+ Goal: [what to improve or achieve]
80
+ CTA: [primary action]
81
+ ```
82
+
83
+ **Example:**
84
+ ```
85
+ /sk:website
86
+
87
+ https://maps.google.com/?q=Corner+Brew+BGC
88
+
89
+ Goal: replace the outdated site with something modern and bookable.
90
+ CTA: Reserve a Table
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Revision brief
96
+
97
+ Use `/sk:website --revise` when you have an existing build and client feedback:
98
+
99
+ ```
100
+ /sk:website --revise
101
+
102
+ Changes from the client:
103
+ 1. [Change 1 — e.g., "make the hero image warmer and more inviting"]
104
+ 2. [Change 2 — e.g., "add a gallery section on the Home page"]
105
+ 3. [Change 3 — e.g., "change the CTA from 'Contact Us' to 'Book a Table'"]
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Business type examples
111
+
112
+ | Business | CTA | Key pages | Niche guide |
113
+ |---|---|---|---|
114
+ | Specialty cafe | Visit Us / Reserve a Spot | Home, Menu, About, Find Us | cafe |
115
+ | Restaurant | Book a Table / Order Online | Home, Menu, About, Reservations | restaurant |
116
+ | Law firm | Schedule a Consultation | Home, Practice Areas, About, Contact | law-firm |
117
+ | Dentist | Book an Appointment | Home, Services, About Us, Contact | dentist |
118
+ | Yoga studio | Try a Free Class | Home, Classes, About, Schedule, Contact | gym |
119
+ | Accountant | Get a Free Consultation | Home, Services, About, Contact, FAQ | accountant |
120
+ | Freelance designer | View My Work / Hire Me | Home, Work, About, Contact | portfolio |
121
+ | Real estate agent | Search Listings / Get a Valuation | Home, Listings, About, Contact | real-estate |
@@ -0,0 +1,143 @@
1
+ # Content & SEO Reference
2
+
3
+ Use when writing copy, metadata, or reviewing content for a website. Helps the site communicate clearly to humans and search engines without sounding generic, manipulative, or keyword-stuffed.
4
+
5
+ ---
6
+
7
+ ## Messaging Rules
8
+
9
+ - Start from the business, audience, and page goal — not from a template.
10
+ - Lead with concrete value, not vague brand language.
11
+ - Prefer simple claims the business can credibly support.
12
+ - Keep headings short and scannable — under 10 words where possible.
13
+ - Use CTAs that match the actual conversion step (not "Learn More" when you mean "Book a Table").
14
+ - Avoid filler: "innovative solutions", "next-level", "cutting-edge", "world-class", "passionate about".
15
+
16
+ **Good headline pattern:** [Who you help] + [specific outcome] + [where/context]
17
+ - "Hand-pulled espresso and house-made pastries in the heart of BGC"
18
+ - "Tax prep for freelancers and small businesses in Metro Manila"
19
+ - "Criminal defense attorneys serving Houston and surrounding counties"
20
+
21
+ **Bad headline pattern:** vague + buzzword + generic
22
+ - "Crafting memorable coffee experiences" — says nothing
23
+ - "Your trusted partner in financial success" — could be anyone
24
+ - "Excellence in legal representation" — no specifics
25
+
26
+ ---
27
+
28
+ ## SEO Rules
29
+
30
+ - Match the title tag and meta description to the page's actual search intent.
31
+ - One primary keyword or search theme per page is usually enough.
32
+ - Support the primary intent with natural secondary terms in headings, body copy, alt text, and internal links.
33
+ - Do not force exact-match keyword repetition — write for humans, let intent match naturally.
34
+ - Keep important marketing content in HTML (not JS-only rendered) for crawlability.
35
+
36
+ **Title tag formula:** [Primary keyword] | [Brand name]
37
+ - "Coffee Shop in BGC Taguig | Corner Brew"
38
+ - "Small Business Tax Accountant Austin TX | Davis & Co."
39
+
40
+ **Meta description formula:** [Audience problem or intent] + [service/offer] + [location/differentiator] + [CTA]
41
+ - "Looking for great coffee near BGC? Corner Brew serves specialty espresso, fresh pastries, and free WiFi on 26th Street. Visit us today."
42
+ - 150–160 characters. Every page gets a unique one.
43
+
44
+ ---
45
+
46
+ ## Local SEO
47
+
48
+ Use when the business serves a geographic area — cafes, restaurants, law firms, clinics, contractors, etc.
49
+
50
+ **Always confirm these inputs:**
51
+ - Primary service and secondary services
52
+ - City, metro area, or specific neighborhood
53
+ - Secondary service areas (if any)
54
+ - Contact phone number
55
+ - Street address (if physical location)
56
+ - Business hours
57
+ - Appointment/booking CTA
58
+
59
+ **Content placement:**
60
+ - Mention service + city in the hero headline naturally — not as a keyword dump
61
+ - Add a short service-area statement in the footer or about section ("Serving Quezon City and nearby areas")
62
+ - Include trust sections that fit: process, years in business, certifications, FAQs — only if real
63
+ - Use FAQ sections for genuine customer objections, not SEO filler
64
+
65
+ **Local metadata checklist:**
66
+ - Title tag: [Service] in [City] | [Brand] (e.g., "Cafe in Tomas Morato | Kape Republic")
67
+ - Meta description: mentions the audience, service, and location in plain language
68
+ - H1: reflects the page's local search intent
69
+ - Footer: include full address, phone, and hours where applicable
70
+ - Structured data: `LocalBusiness` (or a more specific subtype)
71
+
72
+ **Structured data — LocalBusiness:**
73
+ ```json
74
+ {
75
+ "@context": "https://schema.org",
76
+ "@type": "[BusinessType]",
77
+ "name": "[Business Name]",
78
+ "address": {
79
+ "@type": "PostalAddress",
80
+ "streetAddress": "[Street]",
81
+ "addressLocality": "[City]",
82
+ "addressRegion": "[Region]",
83
+ "addressCountry": "[Country Code]"
84
+ },
85
+ "telephone": "[Phone]",
86
+ "openingHours": ["Mo-Fr 08:00-18:00", "Sa 09:00-17:00"],
87
+ "url": "[Site URL]"
88
+ }
89
+ ```
90
+
91
+ Use `CafeOrCoffeeShop` for cafes, `Restaurant` for restaurants, `LegalService` for law firms, `Dentist` for dental, `MedicalBusiness` for clinics, `LocalBusiness` as fallback.
92
+
93
+ **Avoid:**
94
+ - Thin city pages with near-duplicate copy
95
+ - Fake office locations
96
+ - Invented reviews or star ratings
97
+ - Keyword repetition that makes copy sound mechanical
98
+ - Separate "city pages" unless each one is genuinely different
99
+
100
+ ---
101
+
102
+ ## Page-Level SEO Checklist
103
+
104
+ For every page generated, verify:
105
+
106
+ - [ ] Unique `<title>` tag (not duplicated from another page)
107
+ - [ ] Unique meta description (150–160 characters)
108
+ - [ ] One H1 that matches the page's primary intent
109
+ - [ ] Supporting H2s and H3s that structure the content logically
110
+ - [ ] OG `title`, `description`, and `image` defined
111
+ - [ ] Twitter card metadata defined
112
+ - [ ] Canonical URL set (no duplicate content)
113
+ - [ ] Structured data where applicable
114
+ - [ ] All important text is in HTML (not JS-rendered)
115
+ - [ ] Internal links to related pages (e.g., Services → Contact)
116
+
117
+ ---
118
+
119
+ ## Internal Linking Strategy
120
+
121
+ - Home → Services, About, Contact (primary CTAs in nav and hero)
122
+ - Services → Contact (each service should have a CTA to book/inquire)
123
+ - About → Services, Contact (trust-building page leads to action)
124
+ - Blog/FAQ posts → relevant service pages (if applicable)
125
+ - Footer: always links to all top-level pages + legal pages
126
+
127
+ ---
128
+
129
+ ## Content Anti-Patterns
130
+
131
+ Never produce:
132
+ - "Lorem ipsum" or any placeholder body copy
133
+ - Generic `[Your Headline Here]` style template text
134
+ - Invented testimonials, star ratings, or review counts
135
+ - Made-up certifications, awards, or rankings
136
+ - Fake "as seen in" media logos
137
+ - Invented pricing or "starting from" numbers without real data
138
+ - Claims like "best in [city]" without real proof
139
+
140
+ Always prefer:
141
+ - Specific over vague ("3 espresso origins rotating weekly" > "quality coffee")
142
+ - Verifiable over invented ("Open since 2019" vs. "20 years of experience" when unknown)
143
+ - Direct over clever ("Book a table" vs. "Experience our hospitality")