vibe-ship-it 1.4.0 → 1.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 +38 -4
- package/package.json +2 -5
- package/template/CLAUDE.md +1 -1
- package/template/_github/copilot-instructions.md +1 -1
- package/template/skills/build-page/SKILL.md +1 -1
- package/template/skills/generate-design-md/SKILL.md +100 -7
- package/template/skills/noob-mode/SKILL.md +1 -1
- package/template/skills/quick-check/SKILL.md +1 -1
- package/template/skills/what-am-i-building/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
# Designer Vibe Coding Skill Pack
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/vibe-ship-it)
|
|
4
|
+
[](https://www.npmjs.com/package/vibe-ship-it)
|
|
5
|
+
[](https://github.com/sso-ss/vibe-ship-it/blob/main/LICENSE)
|
|
6
|
+
|
|
7
|
+
A set of AI agents and skills that help designers vibe-code their ideas to life, without learning programming.
|
|
4
8
|
|
|
5
9
|
Works with **VS Code Copilot**, **Claude Code**, and **OpenAI Codex**.
|
|
6
10
|
|
|
11
|
+
- Live site: https://vibe-ship-it.vercel.app
|
|
7
12
|
- GitHub: https://github.com/sso-ss/vibe-ship-it
|
|
8
13
|
- npm: https://www.npmjs.com/package/vibe-ship-it
|
|
9
14
|
|
|
@@ -153,6 +158,21 @@ skills/
|
|
|
153
158
|
|
|
154
159
|
## How DESIGN.md works
|
|
155
160
|
|
|
161
|
+
The `generate-design-md` skill fetches a website's HTML and all linked CSS files, then extracts every visual token into a structured document that AI agents can read.
|
|
162
|
+
|
|
163
|
+
**What it extracts:**
|
|
164
|
+
- Full color system with HSL tokens and semantic roles (background, text, border, status)
|
|
165
|
+
- Typography scale with font families, sizes, weights, line heights, and letter spacing
|
|
166
|
+
- Spacing grid, container widths, and section gaps
|
|
167
|
+
- Border radius scale, shadow system (including inset shadow-as-border techniques)
|
|
168
|
+
- Motion tokens: durations, easing curves, backdrop blur values
|
|
169
|
+
- Component patterns: buttons, cards, inputs, navigation
|
|
170
|
+
- State treatments: hover, focus, active, disabled, loading, error
|
|
171
|
+
- Dark mode mappings when present
|
|
172
|
+
- Responsive breakpoints and what changes at each
|
|
173
|
+
|
|
174
|
+
**Confidence tracking:** Each token is marked as `extracted` (found in CSS), `inferred` (deduced from patterns), or `known` (recognized from training data). If CSS files are blocked, a warning is added.
|
|
175
|
+
|
|
156
176
|
```
|
|
157
177
|
┌─────────────────────────────────────────────────────────────────┐
|
|
158
178
|
│ DESIGNER INPUT │
|
|
@@ -168,9 +188,9 @@ skills/
|
|
|
168
188
|
│ ▼ ▼ │
|
|
169
189
|
│ ┌──────────────────┐ │
|
|
170
190
|
│ │ DESIGN.md │ │
|
|
171
|
-
│ │
|
|
172
|
-
│ │
|
|
173
|
-
│ │
|
|
191
|
+
│ │ 8-section │ │
|
|
192
|
+
│ │ token system │ │
|
|
193
|
+
│ │ with HSL vars │ │
|
|
174
194
|
│ └────────┬─────────┘ │
|
|
175
195
|
│ │ │
|
|
176
196
|
│ ┌─────────┼─────────┐ │
|
|
@@ -188,8 +208,22 @@ skills/
|
|
|
188
208
|
└─────────────────────────────────────────────────────────────────┘
|
|
189
209
|
```
|
|
190
210
|
|
|
211
|
+
**DESIGN.md sections:**
|
|
212
|
+
1. Identity: visual personality in one line + signature techniques
|
|
213
|
+
2. Color: full palette with semantic roles, neutral scale, dark mode
|
|
214
|
+
3. Typography: fonts, scale, weight strategy
|
|
215
|
+
4. Spacing & Layout: base unit, container, border radius
|
|
216
|
+
5. Depth & Motion: elevation system, transitions, backdrop blur
|
|
217
|
+
6. Components: buttons, cards, inputs, navigation, signature patterns
|
|
218
|
+
7. States: hover, focus, active, disabled, loading, empty, error
|
|
219
|
+
8. Rules: specific do's and don'ts with actual values
|
|
220
|
+
|
|
191
221
|
Rule 0 enforces this: every agent silently checks for `DESIGN.md` before any work. If it exists, all colors, fonts, spacing, shadows, and radii come from that file. No inventing new values.
|
|
192
222
|
|
|
223
|
+
## Try it live
|
|
224
|
+
|
|
225
|
+
The [live site](https://vibe-ship-it.vercel.app) includes a design token extractor. Paste any URL and get a downloadable DESIGN.md with the full 8-section structure, Tailwind config, and CSS variables.
|
|
226
|
+
|
|
193
227
|
## Design principles
|
|
194
228
|
|
|
195
229
|
- **Show results first, explain code second**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe-ship-it",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "AI skill pack for designers who vibe-code. 4 agents, 14 skills, DESIGN.md generator. Just say what you want in plain English.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"vibe-ship-it": "./bin/init.js"
|
|
@@ -26,8 +26,5 @@
|
|
|
26
26
|
"files": [
|
|
27
27
|
"bin/",
|
|
28
28
|
"template/"
|
|
29
|
-
]
|
|
30
|
-
"dependencies": {
|
|
31
|
-
"@vercel/analytics": "^2.0.1"
|
|
32
|
-
}
|
|
29
|
+
]
|
|
33
30
|
}
|
package/template/CLAUDE.md
CHANGED
|
@@ -20,7 +20,7 @@ You help an excited designer build their idea. They are not a programmer. They t
|
|
|
20
20
|
|
|
21
21
|
7. **Never enforce build order.** If they want to build page 3 before page 1, let them. If they want login after building 5 pages, accommodate without refactoring lectures.
|
|
22
22
|
|
|
23
|
-
8. **No emoji or
|
|
23
|
+
8. **No emoji or dashes in generated copy.** Never use emoji, em dash, or double dash (--) in any user-facing text, UI copy, headings, or content you generate. Use colons, commas, periods, or parentheses instead. The only exception is if the designer explicitly asks for emoji.
|
|
24
24
|
|
|
25
25
|
## Language Rules
|
|
26
26
|
|
|
@@ -20,7 +20,7 @@ You help an excited designer build their idea. They are not a programmer. They t
|
|
|
20
20
|
|
|
21
21
|
7. **Never enforce build order.** If they want to build page 3 before page 1, let them. If they want login after building 5 pages, accommodate without refactoring lectures.
|
|
22
22
|
|
|
23
|
-
8. **No emoji or
|
|
23
|
+
8. **No emoji or dashes in generated copy.** Never use emoji, em dash, or double dash (--) in any user-facing text, UI copy, headings, or content you generate. Use colons, commas, periods, or parentheses instead. The only exception is if the designer explicitly asks for emoji.
|
|
24
24
|
|
|
25
25
|
## Language Rules
|
|
26
26
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-page
|
|
3
|
-
description: "Builds UI from descriptions, screenshots, or Figma designs. Triggers: 'build a page', 'create a page', 'make a page', 'build the UI', 'make it look like', 'design this page', 'add a page', '
|
|
3
|
+
description: "Builds UI from descriptions, screenshots, or Figma designs. Triggers: 'build a page', 'create a page', 'make a page', 'build the UI', 'make it look like', 'design this page', 'add a page', 'home page', 'landing page', 'about page', 'contact page', 'hero section', 'add a section', 'layout', 'header', 'footer', 'navigation', 'sidebar', 'form', 'card', 'modal', 'build this'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Build Page
|
|
@@ -13,10 +13,14 @@ Takes a website URL and produces a complete DESIGN.md file -- a plain-text desig
|
|
|
13
13
|
2. Fetch the page HTML and all linked CSS
|
|
14
14
|
3. Extract every visual token: colors, fonts, spacing, shadows, radii, component patterns
|
|
15
15
|
4. Analyze the visual atmosphere and design philosophy
|
|
16
|
-
5.
|
|
17
|
-
6.
|
|
16
|
+
5. Detect the page structure (sections, grids, layout patterns)
|
|
17
|
+
6. Generate three files:
|
|
18
|
+
- `DESIGN.md` -- the complete design system (8 sections)
|
|
19
|
+
- Tailwind config extension -- tokens mapped to utility classes
|
|
20
|
+
- CSS variables -- tokens as custom properties in globals.css
|
|
21
|
+
7. Drop them in the project
|
|
18
22
|
|
|
19
|
-
One command. No questions. The
|
|
23
|
+
One command. No questions. The designer just sees the result.
|
|
20
24
|
|
|
21
25
|
## When To Use
|
|
22
26
|
|
|
@@ -341,11 +345,100 @@ If CSS extraction is limited, use the HTML structure and inline styles to infer
|
|
|
341
345
|
|
|
342
346
|
## After Generation
|
|
343
347
|
|
|
344
|
-
Place the file at the project root as `DESIGN.md`.
|
|
345
|
-
|
|
346
|
-
|
|
348
|
+
Place the file at the project root as `DESIGN.md`. Then generate two companion files automatically:
|
|
349
|
+
|
|
350
|
+
### 1. Tailwind Config Extension
|
|
351
|
+
|
|
352
|
+
Create or update `tailwind.config.ts` (or the equivalent) with the extracted tokens mapped to Tailwind's theme:
|
|
353
|
+
|
|
354
|
+
```ts
|
|
355
|
+
// Auto-generated from DESIGN.md
|
|
356
|
+
theme: {
|
|
357
|
+
extend: {
|
|
358
|
+
colors: {
|
|
359
|
+
background: 'rgb(255, 255, 255)',
|
|
360
|
+
surface: 'rgb(245, 245, 245)',
|
|
361
|
+
'text-primary': 'rgb(20, 20, 20)',
|
|
362
|
+
'text-secondary': 'rgb(112, 112, 112)',
|
|
363
|
+
'text-tertiary': 'rgb(173, 173, 173)',
|
|
364
|
+
accent: '#635bff',
|
|
365
|
+
border: 'rgb(237, 237, 237)',
|
|
366
|
+
// ... all extracted color tokens
|
|
367
|
+
},
|
|
368
|
+
borderRadius: {
|
|
369
|
+
sm: '8px',
|
|
370
|
+
md: '12px',
|
|
371
|
+
lg: '24px',
|
|
372
|
+
xl: '28px',
|
|
373
|
+
full: '9999px',
|
|
374
|
+
},
|
|
375
|
+
boxShadow: {
|
|
376
|
+
ring: 'inset 0 0 0 1px rgba(64, 64, 64, 0.16)',
|
|
377
|
+
low: '0 1px 2px rgba(0, 0, 0, 0.04)',
|
|
378
|
+
// ... all extracted shadows
|
|
379
|
+
},
|
|
380
|
+
fontWeight: {
|
|
381
|
+
normal: '400',
|
|
382
|
+
medium: '500',
|
|
383
|
+
semibold: '600',
|
|
384
|
+
},
|
|
385
|
+
},
|
|
386
|
+
}
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
This lets the agent write `bg-background`, `text-text-primary`, `rounded-md`, `shadow-ring` instead of hardcoding values everywhere. If a Tailwind config already exists, merge into it without overwriting existing values.
|
|
390
|
+
|
|
391
|
+
### 2. CSS Variables
|
|
392
|
+
|
|
393
|
+
Add to `globals.css` (or the project's main CSS file):
|
|
394
|
+
|
|
395
|
+
```css
|
|
396
|
+
:root {
|
|
397
|
+
--background: rgb(255, 255, 255);
|
|
398
|
+
--surface: rgb(245, 245, 245);
|
|
399
|
+
--text-primary: rgb(20, 20, 20);
|
|
400
|
+
--text-secondary: rgb(112, 112, 112);
|
|
401
|
+
--border: rgb(237, 237, 237);
|
|
402
|
+
--accent: #635bff;
|
|
403
|
+
--radius-sm: 8px;
|
|
404
|
+
--radius-md: 12px;
|
|
405
|
+
--radius-lg: 24px;
|
|
406
|
+
--shadow-ring: inset 0 0 0 1px rgba(64, 64, 64, 0.16);
|
|
407
|
+
/* ... all extracted tokens */
|
|
408
|
+
}
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
If the file already has `:root` variables, merge without overwriting.
|
|
412
|
+
|
|
413
|
+
### 3. Page Structure (if detectable)
|
|
414
|
+
|
|
415
|
+
Analyze the reference site's HTML structure and add a `## Page Structure` section at the end of DESIGN.md:
|
|
416
|
+
|
|
417
|
+
```markdown
|
|
418
|
+
## Page Structure
|
|
419
|
+
|
|
420
|
+
Detected layout pattern from [site]:
|
|
421
|
+
|
|
422
|
+
1. **Nav:** Sticky header, logo left, links center, CTA right
|
|
423
|
+
2. **Hero:** Full-width, large heading centered, subtitle below, 2 buttons
|
|
424
|
+
3. **Metrics:** 4-column stat grid with large numbers
|
|
425
|
+
4. **Features:** 3-column card grid, icon + title + description per card
|
|
426
|
+
5. **Testimonials:** 2-column quote cards with avatar + company
|
|
427
|
+
6. **CTA:** Centered heading + button, full-width section
|
|
428
|
+
7. **Footer:** Logo, link columns, copyright
|
|
429
|
+
|
|
430
|
+
Grid patterns:
|
|
431
|
+
- Feature grids: 3 columns on desktop, 1 on mobile
|
|
432
|
+
- Card gaps: 16-24px
|
|
433
|
+
- Section padding: 80-96px vertical
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
Detect this from the DOM tree -- look at semantic elements (`<nav>`, `<header>`, `<section>`, `<footer>`), grid/flex containers, column counts, and heading hierarchy. This gives the build-page skill a blueprint when the designer says "build me a landing page like that."
|
|
437
|
+
|
|
438
|
+
### After creating all files, say:
|
|
439
|
+
- "Your design reference is ready. Tailwind config and CSS variables are set up. Any page you build now follows [site name]'s style."
|
|
347
440
|
|
|
348
|
-
Do not explain every section. The designer doesn't need a walkthrough
|
|
441
|
+
Do not explain every section. The designer doesn't need a walkthrough.
|
|
349
442
|
|
|
350
443
|
## What Not To Do
|
|
351
444
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: noob-mode
|
|
3
|
-
description: "Plain-English translation layer. Explains technical things in simple language. Triggers: 'what does that mean', '
|
|
3
|
+
description: "Plain-English translation layer. Explains technical things in simple language. Triggers: 'what does that mean', 'I don't understand', 'what happened', 'what is', 'confused', 'explain everything', 'noob mode', 'beginner mode', 'speak simply'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Noob Mode
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: quick-check
|
|
3
|
-
description: "Fast
|
|
3
|
+
description: "Fast 4-item quality check. Triggers: 'check it', 'is this ready', 'does it look ok', 'quick check', 'any issues', 'look for problems', 'is it broken', 'test it'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Quick Check
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: what-am-i-building
|
|
3
|
-
description: "Figures out what you're building and sets up the project. Triggers: 'I want to build', 'I want to make', 'new project', 'start something', 'I have an idea', 'help me build', '
|
|
3
|
+
description: "Figures out what you're building and sets up the project. Triggers: 'I want to build', 'I want to make', 'new project', 'start something', 'I have an idea', 'help me build', 'I need a website', 'I need an app'."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# What Am I Building
|