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.
- package/README.md +195 -0
- 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.
|
|
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://
|
|
33
|
+
"homepage": "https://skillui.vercel.app/",
|
|
34
34
|
"repository": {
|
|
35
35
|
"type": "git",
|
|
36
|
-
"url": "https://github.com/
|
|
36
|
+
"url": "https://github.com/amaancoderx/skillui.git"
|
|
37
37
|
},
|
|
38
38
|
"bugs": {
|
|
39
|
-
"url": "https://github.com/
|
|
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
|
}
|