skillui 1.1.0 → 1.1.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 (2) hide show
  1. package/README.md +195 -0
  2. package/package.json +6 -5
package/README.md ADDED
@@ -0,0 +1,195 @@
1
+ # skillui
2
+
3
+ **Reverse-engineer any design system. Pure static analysis — no AI, no API keys.**
4
+
5
+ Point `skillui` at any website, git repo, or local project and get exact colors, fonts, spacing, components, and animations — packaged as a `.skill` file Claude can read.
6
+
7
+ ```bash
8
+ npm install -g skillui
9
+ skillui --url https://yoursite.com --mode ultra
10
+ ```
11
+
12
+ ---
13
+
14
+ ## What it does
15
+
16
+ skillui crawls your target and extracts:
17
+
18
+ | Output | Contents |
19
+ |--------|----------|
20
+ | `DESIGN.md` | Colors, typography, spacing, border radius, components |
21
+ | `ANIMATIONS.md` | CSS keyframes, scroll triggers, GSAP/Lottie/Three.js detection |
22
+ | `LAYOUT.md` | Flex/grid containers, page structure, spacing relationships |
23
+ | `COMPONENTS.md` | DOM patterns, HTML fingerprints, class analysis |
24
+ | `INTERACTIONS.md` | Hover/focus state diffs with before/after style snapshots |
25
+ | `VISUAL_GUIDE.md` | Master visual reference with all screenshots embedded |
26
+ | `screens/scroll/` | 7 cinematic scroll journey screenshots |
27
+ | `tokens/*.json` | Colors, spacing, typography as JSON tokens |
28
+ | `fonts/` | Google Fonts bundled locally |
29
+
30
+ Everything is packaged into a `.skill` ZIP file you drop into Claude Code.
31
+
32
+ ---
33
+
34
+ ## Install
35
+
36
+ ```bash
37
+ npm install -g skillui
38
+ ```
39
+
40
+ Requires Node.js 18+.
41
+
42
+ For ultra mode visual extraction, install Playwright separately:
43
+
44
+ ```bash
45
+ npm install playwright
46
+ npx playwright install chromium
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Usage
52
+
53
+ ### Crawl a website
54
+
55
+ ```bash
56
+ skillui --url https://linear.app
57
+ ```
58
+
59
+ ### Ultra mode (full cinematic extraction)
60
+
61
+ ```bash
62
+ skillui --url https://linear.app --mode ultra
63
+ ```
64
+
65
+ Ultra mode adds:
66
+ - 7 scroll journey screenshots showing the page at each scroll depth
67
+ - Hover/focus interaction state diffs
68
+ - Full CSS keyframe extraction
69
+ - Animation library detection (GSAP, Lottie, Three.js, AOS, etc.)
70
+ - Video background first-frame capture
71
+ - DOM component fingerprinting
72
+ - Flex/grid layout extraction
73
+
74
+ ### Scan a local project
75
+
76
+ ```bash
77
+ skillui --dir ./my-app
78
+ ```
79
+
80
+ ### Clone and scan a git repo
81
+
82
+ ```bash
83
+ skillui --repo https://github.com/org/repo
84
+ ```
85
+
86
+ ---
87
+
88
+ ## All flags
89
+
90
+ ```
91
+ skillui --url <url> Crawl a live website
92
+ skillui --dir <path> Scan a local project directory
93
+ skillui --repo <url> Clone and scan a git repository
94
+
95
+ --mode ultra Enable cinematic extraction (requires Playwright)
96
+ --screens <n> Pages to crawl in ultra mode (default: 5, max: 20)
97
+ --out <path> Output directory (default: ./)
98
+ --name <string> Override the project name
99
+ --format design-md|skill|both Output format (default: both)
100
+ --no-skill Output DESIGN.md only, skip .skill packaging
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Use with Claude Code
106
+
107
+ After running skillui, install the `.skill` file:
108
+
109
+ ```bash
110
+ claude skill install ./linear-design.skill
111
+ ```
112
+
113
+ Then ask Claude:
114
+
115
+ > "Build me a dashboard that matches the Linear design system"
116
+
117
+ Claude will read DESIGN.md, ANIMATIONS.md, LAYOUT.md, COMPONENTS.md, and all scroll journey screenshots to reconstruct the exact visual language of the site.
118
+
119
+ ---
120
+
121
+ ## Output structure
122
+
123
+ ```
124
+ linear-design/
125
+ ├── SKILL.md # Master skill file (loaded by Claude)
126
+ ├── DESIGN.md # Full design system tokens
127
+ ├── references/
128
+ │ ├── DESIGN.md # Extended design reference
129
+ │ ├── ANIMATIONS.md # Motion specs and keyframes
130
+ │ ├── LAYOUT.md # Layout containers and grid
131
+ │ ├── COMPONENTS.md # DOM component patterns
132
+ │ ├── INTERACTIONS.md # Hover/focus state diffs
133
+ │ └── VISUAL_GUIDE.md # All screenshots in sequence
134
+ ├── screens/
135
+ │ ├── scroll/ # Scroll journey screenshots
136
+ │ │ ├── scroll-000.png # Hero / above the fold
137
+ │ │ ├── scroll-017.png
138
+ │ │ ├── scroll-033.png
139
+ │ │ ├── scroll-050.png
140
+ │ │ ├── scroll-067.png
141
+ │ │ ├── scroll-083.png
142
+ │ │ └── scroll-100.png # Footer
143
+ │ ├── pages/ # Full-page screenshots (ultra)
144
+ │ └── sections/ # Section clip screenshots (ultra)
145
+ ├── tokens/
146
+ │ ├── colors.json
147
+ │ ├── spacing.json
148
+ │ └── typography.json
149
+ └── fonts/ # Bundled Google Fonts (woff2)
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Examples
155
+
156
+ ```bash
157
+ # Extract Nothing.tech design system with full ultra mode
158
+ skillui --url https://nothing.tech --mode ultra --screens 10
159
+
160
+ # Scan a local Next.js app
161
+ skillui --dir ./my-nextjs-app --name "MyApp"
162
+
163
+ # Clone and analyze a public repo
164
+ skillui --repo https://github.com/vercel/next.js --name "Next.js"
165
+
166
+ # Output only DESIGN.md, no .skill packaging
167
+ skillui --url https://stripe.com --format design-md
168
+
169
+ # Save output to a specific directory
170
+ skillui --url https://linear.app --out ./design-systems
171
+ ```
172
+
173
+ ---
174
+
175
+ ## How it works
176
+
177
+ skillui uses pure static analysis — no AI, no API keys, no cloud.
178
+
179
+ 1. **URL mode** — fetches HTML, crawls all linked CSS files, extracts computed styles via Playwright DOM inspection
180
+ 2. **Dir mode** — scans all `.css`, `.scss`, `.ts`, `.tsx`, `.js`, `.jsx` files for design tokens, Tailwind config, CSS variables, and component patterns
181
+ 3. **Repo mode** — clones the repo to a temp directory and runs dir mode
182
+ 4. **Ultra mode** — runs Playwright to capture scroll journey screenshots, detect animation libraries from `window.*` globals, extract `@keyframes` from `document.styleSheets`, capture hover/focus state diffs, and fingerprint DOM components
183
+
184
+ ---
185
+
186
+ ## Requirements
187
+
188
+ - Node.js 18+
189
+ - For `--mode ultra`: Playwright (`npm install playwright && npx playwright install chromium`)
190
+
191
+ ---
192
+
193
+ ## License
194
+
195
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillui",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Reverse-engineer design systems from any website, repo, or project. Extracts colors, fonts, spacing, animations, and components — packaged as a .skill file for Claude. Pure static analysis, zero AI, zero API keys.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -30,13 +30,13 @@
30
30
  ],
31
31
  "author": "Amaan",
32
32
  "license": "MIT",
33
- "homepage": "https://github.com/amaanbuilds/skillui#readme",
33
+ "homepage": "https://skillui.vercel.app/",
34
34
  "repository": {
35
35
  "type": "git",
36
- "url": "https://github.com/amaanbuilds/skillui.git"
36
+ "url": "https://github.com/amaancoderx/skillui.git"
37
37
  },
38
38
  "bugs": {
39
- "url": "https://github.com/amaanbuilds/skillui/issues"
39
+ "url": "https://github.com/amaancoderx/skillui/issues"
40
40
  },
41
41
  "dependencies": {
42
42
  "@babel/parser": "^7.24.0",
@@ -73,6 +73,7 @@
73
73
  },
74
74
  "files": [
75
75
  "dist/**/*.js",
76
- "dist/**/*.d.ts"
76
+ "dist/**/*.d.ts",
77
+ "README.md"
77
78
  ]
78
79
  }