@ytspar/sweetlink 1.15.0 → 1.16.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/claude-agents/sweetlink-visual-iterative.md +453 -0
- package/claude-context/sweetlink-architecture.md +352 -0
- package/claude-context/sweetlink-cdp-guide.md +385 -0
- package/claude-context/ui-verification-mandate.md +65 -0
- package/claude-skills/console-check-sweetlink/SKILL.md +330 -0
- package/claude-skills/console-check-sweetlink/evals/evals.json +35 -0
- package/claude-skills/console-check-sweetlink/examples.md +394 -0
- package/claude-skills/resize-for-claude/SKILL.md +97 -0
- package/claude-skills/resize-for-claude/evals/evals.json +23 -0
- package/claude-skills/responsive-screenshots/SKILL.md +366 -0
- package/claude-skills/responsive-screenshots/evals/evals.json +23 -0
- package/claude-skills/responsive-screenshots/examples.md +441 -0
- package/claude-skills/screenshot/evals/evals.json +35 -0
- package/dist/cli/sweetlink-dev.js +0 -0
- package/dist/cli/sweetlink.js +0 -0
- package/dist/daemon/index.js +0 -0
- package/package.json +49 -28
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
# Responsive Screenshots - Examples
|
|
2
|
+
|
|
3
|
+
Common usage patterns for testing responsive design across breakpoints.
|
|
4
|
+
|
|
5
|
+
## Example 1: Complete Responsive Test
|
|
6
|
+
|
|
7
|
+
**User Request:**
|
|
8
|
+
> "Test the new landing page across all breakpoints"
|
|
9
|
+
|
|
10
|
+
**Skill Action:**
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Capture all breakpoints
|
|
14
|
+
pnpm sweetlink screenshot --viewport mobile --output /tmp/screenshots/landing-mobile.png
|
|
15
|
+
pnpm sweetlink screenshot --viewport tablet --output /tmp/screenshots/landing-tablet.png
|
|
16
|
+
pnpm sweetlink screenshot --viewport desktop --output /tmp/screenshots/landing-desktop.png
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Output:**
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
✅ Responsive Test: Landing Page
|
|
23
|
+
|
|
24
|
+
📱 Mobile (375px)
|
|
25
|
+
Screenshot: /tmp/screenshots/landing-mobile.png
|
|
26
|
+
✅ Single column layout
|
|
27
|
+
✅ Touch-friendly navigation
|
|
28
|
+
✅ Images scale correctly
|
|
29
|
+
✅ Text readable at 16px
|
|
30
|
+
|
|
31
|
+
💻 Tablet (768px)
|
|
32
|
+
Screenshot: /tmp/screenshots/landing-tablet.png
|
|
33
|
+
✅ Two-column grid
|
|
34
|
+
✅ Navigation bar expanded
|
|
35
|
+
✅ Hero image displays properly
|
|
36
|
+
✅ Call-to-action buttons visible
|
|
37
|
+
|
|
38
|
+
🖥️ Desktop (1440px)
|
|
39
|
+
Screenshot: /tmp/screenshots/landing-desktop.png
|
|
40
|
+
✅ Three-column grid
|
|
41
|
+
✅ Full navigation with all items
|
|
42
|
+
✅ Hero section uses full width
|
|
43
|
+
✅ Professional whitespace
|
|
44
|
+
|
|
45
|
+
Overall: ✅ PASSED - All breakpoints look great!
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Example 2: Component-Specific Testing
|
|
51
|
+
|
|
52
|
+
**User Request:**
|
|
53
|
+
> "Check how the navigation menu looks on mobile vs desktop"
|
|
54
|
+
|
|
55
|
+
**Skill Action:**
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pnpm sweetlink screenshot --viewport mobile --selector "nav" --output /tmp/screenshots/nav-mobile.png
|
|
59
|
+
pnpm sweetlink screenshot --viewport desktop --selector "nav" --output /tmp/screenshots/nav-desktop.png
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Output:**
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
🔍 Navigation Component Analysis
|
|
66
|
+
|
|
67
|
+
📱 Mobile (375px)
|
|
68
|
+
Screenshot: /tmp/screenshots/nav-mobile.png
|
|
69
|
+
Status: ⚠️ NEEDS WORK
|
|
70
|
+
|
|
71
|
+
Issues:
|
|
72
|
+
- Menu items are cramped (only 8px padding)
|
|
73
|
+
- Logo is too large for mobile screen
|
|
74
|
+
- Menu overlaps content slightly
|
|
75
|
+
|
|
76
|
+
Recommendations:
|
|
77
|
+
- Increase padding to 16px
|
|
78
|
+
- Reduce logo size by 30%
|
|
79
|
+
- Add z-index to ensure menu is above content
|
|
80
|
+
|
|
81
|
+
🖥️ Desktop (1440px)
|
|
82
|
+
Screenshot: /tmp/screenshots/nav-desktop.png
|
|
83
|
+
Status: ✅ PERFECT
|
|
84
|
+
|
|
85
|
+
- Horizontal layout works well
|
|
86
|
+
- All menu items visible
|
|
87
|
+
- Logo is appropriately sized
|
|
88
|
+
- Spacing is professional
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Example 3: Before/After Comparison
|
|
94
|
+
|
|
95
|
+
**User Request:**
|
|
96
|
+
> "I updated the responsive styles, show me the difference"
|
|
97
|
+
|
|
98
|
+
**Skill Action:**
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Before (git stash to revert)
|
|
102
|
+
git stash
|
|
103
|
+
pnpm sweetlink screenshot --viewport mobile --output /tmp/screenshots/before-mobile.png
|
|
104
|
+
git stash pop
|
|
105
|
+
|
|
106
|
+
# After (with changes)
|
|
107
|
+
pnpm sweetlink screenshot --viewport mobile --output /tmp/screenshots/after-mobile.png
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Output:**
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
📊 Before/After Comparison (Mobile)
|
|
114
|
+
|
|
115
|
+
### Before:
|
|
116
|
+
Screenshot: /tmp/screenshots/before-mobile.png
|
|
117
|
+
Issues:
|
|
118
|
+
- Text overflows container
|
|
119
|
+
- Images don't scale
|
|
120
|
+
- Buttons are too small
|
|
121
|
+
|
|
122
|
+
### After:
|
|
123
|
+
Screenshot: /tmp/screenshots/after-mobile.png
|
|
124
|
+
Improvements:
|
|
125
|
+
✅ Text wraps properly with word-break
|
|
126
|
+
✅ Images use w-full class
|
|
127
|
+
✅ Buttons increased to min-h-12
|
|
128
|
+
|
|
129
|
+
Result: Significant improvement in mobile usability!
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Example 4: Grid Layout Verification
|
|
135
|
+
|
|
136
|
+
**User Request:**
|
|
137
|
+
> "Verify the card grid works at all breakpoints"
|
|
138
|
+
|
|
139
|
+
**Skill Action:**
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
pnpm sweetlink screenshot --viewport mobile --selector ".card-grid" --output /tmp/screenshots/grid-mobile.png
|
|
143
|
+
pnpm sweetlink screenshot --viewport tablet --selector ".card-grid" --output /tmp/screenshots/grid-tablet.png
|
|
144
|
+
pnpm sweetlink screenshot --viewport desktop --selector ".card-grid" --output /tmp/screenshots/grid-desktop.png
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Output:**
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
🎯 Card Grid Responsive Analysis
|
|
151
|
+
|
|
152
|
+
📱 Mobile (375px)
|
|
153
|
+
Screenshot: /tmp/screenshots/grid-mobile.png
|
|
154
|
+
Layout: 1 column
|
|
155
|
+
Cards: 3 visible (stack vertically)
|
|
156
|
+
✅ Works perfectly - easy to scroll through
|
|
157
|
+
|
|
158
|
+
💻 Tablet (768px)
|
|
159
|
+
Screenshot: /tmp/screenshots/grid-tablet.png
|
|
160
|
+
Layout: 2 columns
|
|
161
|
+
Cards: 6 visible (3 rows × 2 columns)
|
|
162
|
+
✅ Good use of space
|
|
163
|
+
|
|
164
|
+
🖥️ Desktop (1440px)
|
|
165
|
+
Screenshot: /tmp/screenshots/grid-desktop.png
|
|
166
|
+
Layout: 3 columns
|
|
167
|
+
Cards: 9 visible (3 rows × 3 columns)
|
|
168
|
+
✅ Excellent grid layout
|
|
169
|
+
|
|
170
|
+
Responsive Grid: ✅ APPROVED
|
|
171
|
+
Grid scales perfectly from 1 → 2 → 3 columns
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Example 5: Detecting Layout Issues
|
|
177
|
+
|
|
178
|
+
**User Request:**
|
|
179
|
+
> "The page looks weird on tablet, debug it"
|
|
180
|
+
|
|
181
|
+
**Skill Action:**
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
pnpm sweetlink screenshot --viewport tablet --output /tmp/screenshots/tablet-debug.png
|
|
185
|
+
pnpm sweetlink logs --filter error
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Output:**
|
|
189
|
+
|
|
190
|
+
```yaml
|
|
191
|
+
🐛 Tablet Layout Debug
|
|
192
|
+
|
|
193
|
+
Screenshot: /tmp/screenshots/tablet-debug.png
|
|
194
|
+
|
|
195
|
+
Issues Detected:
|
|
196
|
+
1. ⚠️ Awkward 2-column layout
|
|
197
|
+
- Sidebar too narrow (only 200px)
|
|
198
|
+
- Main content area cramped
|
|
199
|
+
|
|
200
|
+
2. ⚠️ Navigation partially hidden
|
|
201
|
+
- Menu items cut off at 768px
|
|
202
|
+
- Dropdown doesn't fit viewport
|
|
203
|
+
|
|
204
|
+
3. ⚠️ Images not scaling
|
|
205
|
+
- Fixed width images (500px) overflow
|
|
206
|
+
- Should use max-w-full
|
|
207
|
+
|
|
208
|
+
Console Errors:
|
|
209
|
+
[ERROR] Element width exceeds viewport
|
|
210
|
+
|
|
211
|
+
Root Cause:
|
|
212
|
+
Missing md: breakpoint styles. Layout jumps from mobile
|
|
213
|
+
to desktop without tablet-specific styling.
|
|
214
|
+
|
|
215
|
+
Fix:
|
|
216
|
+
Add explicit md: classes:
|
|
217
|
+
- md:grid-cols-2
|
|
218
|
+
- md:gap-4
|
|
219
|
+
- md:max-w-full
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Example 6: Accessibility Testing
|
|
225
|
+
|
|
226
|
+
**User Request:**
|
|
227
|
+
> "Check if touch targets are large enough on mobile"
|
|
228
|
+
|
|
229
|
+
**Skill Action:**
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
pnpm sweetlink screenshot --viewport mobile --output /tmp/screenshots/mobile-touch.png
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Output:**
|
|
236
|
+
|
|
237
|
+
```text
|
|
238
|
+
📱 Mobile Touch Target Analysis
|
|
239
|
+
|
|
240
|
+
Screenshot: /tmp/screenshots/mobile-touch.png
|
|
241
|
+
|
|
242
|
+
Touch Target Audit:
|
|
243
|
+
✅ Primary CTA button: 56px height (good)
|
|
244
|
+
✅ Navigation menu items: 48px height (minimum)
|
|
245
|
+
⚠️ Close icon: 32px (too small)
|
|
246
|
+
⚠️ Dropdown arrows: 24px (too small)
|
|
247
|
+
❌ Footer links: 20px (far too small)
|
|
248
|
+
|
|
249
|
+
Recommendations:
|
|
250
|
+
1. Increase close icon to 48px minimum
|
|
251
|
+
2. Increase dropdown touch area to 44px
|
|
252
|
+
3. Add padding to footer links (min 48px total)
|
|
253
|
+
|
|
254
|
+
Touch targets below 44px are hard to tap on mobile devices.
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Example 7: Typography Scaling
|
|
260
|
+
|
|
261
|
+
**User Request:**
|
|
262
|
+
> "Check if the heading sizes look good across devices"
|
|
263
|
+
|
|
264
|
+
**Skill Action:**
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
pnpm sweetlink screenshot --viewport mobile --selector "h1" --output /tmp/screenshots/h1-mobile.png
|
|
268
|
+
pnpm sweetlink screenshot --viewport desktop --selector "h1" --output /tmp/screenshots/h1-desktop.png
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Output:**
|
|
272
|
+
|
|
273
|
+
```text
|
|
274
|
+
📝 Typography Analysis
|
|
275
|
+
|
|
276
|
+
📱 Mobile H1:
|
|
277
|
+
Screenshot: /tmp/screenshots/h1-mobile.png
|
|
278
|
+
Font size: 28px (via computed style)
|
|
279
|
+
Line height: 1.2
|
|
280
|
+
⚠️ Slightly small - recommend 32px minimum
|
|
281
|
+
|
|
282
|
+
🖥️ Desktop H1:
|
|
283
|
+
Screenshot: /tmp/screenshots/h1-desktop.png
|
|
284
|
+
Font size: 48px (via computed style)
|
|
285
|
+
Line height: 1.2
|
|
286
|
+
✅ Perfect size for desktop
|
|
287
|
+
|
|
288
|
+
Recommendation:
|
|
289
|
+
Update Tailwind classes:
|
|
290
|
+
- Mobile: text-3xl (30px) or text-4xl (36px)
|
|
291
|
+
- Desktop: text-5xl (48px) - current ✓
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Example 8: Full Page Responsive Audit
|
|
297
|
+
|
|
298
|
+
**User Request:**
|
|
299
|
+
> "Do a complete responsive audit of the dashboard"
|
|
300
|
+
|
|
301
|
+
**Skill Action:**
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
# Capture all viewports
|
|
305
|
+
for viewport in mobile tablet desktop; do
|
|
306
|
+
pnpm sweetlink screenshot --viewport $viewport --output /tmp/screenshots/dashboard-$viewport.png
|
|
307
|
+
pnpm sweetlink logs --filter error
|
|
308
|
+
done
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**Output:**
|
|
312
|
+
|
|
313
|
+
```text
|
|
314
|
+
📋 Complete Responsive Audit: Dashboard
|
|
315
|
+
|
|
316
|
+
### Mobile (375px)
|
|
317
|
+
Screenshot: /tmp/screenshots/dashboard-mobile.png
|
|
318
|
+
✅ Layout: Single column works
|
|
319
|
+
✅ Cards: Stack vertically
|
|
320
|
+
✅ Navigation: Hamburger menu
|
|
321
|
+
⚠️ Issue: Charts are too small to read
|
|
322
|
+
Fix: Consider horizontal scrolling for charts
|
|
323
|
+
|
|
324
|
+
### Tablet (768px)
|
|
325
|
+
Screenshot: /tmp/screenshots/dashboard-tablet.png
|
|
326
|
+
✅ Layout: 2-column works well
|
|
327
|
+
✅ Navigation: Expanded header
|
|
328
|
+
✅ Charts: Adequate size
|
|
329
|
+
✅ Sidebar: Collapsible design works
|
|
330
|
+
|
|
331
|
+
### Desktop (1440px)
|
|
332
|
+
Screenshot: /tmp/screenshots/dashboard-desktop.png
|
|
333
|
+
✅ Layout: 3-column grid optimal
|
|
334
|
+
✅ Navigation: All items visible
|
|
335
|
+
✅ Charts: Full size, very readable
|
|
336
|
+
✅ Sidebar: Persistent and useful
|
|
337
|
+
|
|
338
|
+
Console Errors: 0 across all viewports ✓
|
|
339
|
+
|
|
340
|
+
Overall Grade: B+ (Mobile charts need improvement)
|
|
341
|
+
|
|
342
|
+
Next Steps:
|
|
343
|
+
1. Make charts horizontally scrollable on mobile
|
|
344
|
+
2. Add touch gestures for chart interaction
|
|
345
|
+
3. Consider hiding less critical data on mobile
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## Example 9: Navigation State Testing
|
|
351
|
+
|
|
352
|
+
**User Request:**
|
|
353
|
+
> "Test the navigation menu at different breakpoints"
|
|
354
|
+
|
|
355
|
+
**Skill Action:**
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
pnpm sweetlink screenshot --viewport mobile --selector ".nav-menu" --output /tmp/screenshots/nav-mobile.png
|
|
359
|
+
pnpm sweetlink screenshot --viewport tablet --selector ".nav-menu" --output /tmp/screenshots/nav-tablet.png
|
|
360
|
+
pnpm sweetlink screenshot --viewport desktop --selector ".nav-menu" --output /tmp/screenshots/nav-desktop.png
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Output:**
|
|
364
|
+
|
|
365
|
+
```text
|
|
366
|
+
🧭 Navigation Responsive States
|
|
367
|
+
|
|
368
|
+
📱 Mobile (375px): Hamburger Menu
|
|
369
|
+
Screenshot: /tmp/screenshots/nav-mobile.png
|
|
370
|
+
State: Collapsed by default
|
|
371
|
+
✅ Hamburger icon visible (32px)
|
|
372
|
+
✅ Menu slides from left
|
|
373
|
+
✅ Full screen overlay works
|
|
374
|
+
|
|
375
|
+
💻 Tablet (768px): Hybrid Layout
|
|
376
|
+
Screenshot: /tmp/screenshots/nav-tablet.png
|
|
377
|
+
State: Partial expansion
|
|
378
|
+
✅ Logo + key items visible
|
|
379
|
+
✅ Overflow items in dropdown
|
|
380
|
+
✅ Balanced use of space
|
|
381
|
+
|
|
382
|
+
🖥️ Desktop (1440px): Full Navigation
|
|
383
|
+
Screenshot: /tmp/screenshots/nav-desktop.png
|
|
384
|
+
State: Fully expanded
|
|
385
|
+
✅ All menu items visible
|
|
386
|
+
✅ Dropdown menus on hover
|
|
387
|
+
✅ Professional spacing
|
|
388
|
+
|
|
389
|
+
Navigation Pattern: ✅ EXCELLENT
|
|
390
|
+
Progressive disclosure works perfectly across devices
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Example 10: Image Scaling Test
|
|
396
|
+
|
|
397
|
+
**User Request:**
|
|
398
|
+
> "Verify the hero image scales properly"
|
|
399
|
+
|
|
400
|
+
**Skill Action:**
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
pnpm sweetlink screenshot --viewport mobile --selector ".hero" --output /tmp/screenshots/hero-mobile.png
|
|
404
|
+
pnpm sweetlink screenshot --viewport desktop --selector ".hero" --output /tmp/screenshots/hero-desktop.png
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
**Output:**
|
|
408
|
+
|
|
409
|
+
```text
|
|
410
|
+
🖼️ Hero Image Scaling Analysis
|
|
411
|
+
|
|
412
|
+
📱 Mobile (375px)
|
|
413
|
+
Screenshot: /tmp/screenshots/hero-mobile.png
|
|
414
|
+
Image: 375×250px (aspect ratio 3:2)
|
|
415
|
+
✅ Scales to full width
|
|
416
|
+
✅ No overflow or distortion
|
|
417
|
+
✅ Loading: lazy ✓
|
|
418
|
+
|
|
419
|
+
🖥️ Desktop (1440px)
|
|
420
|
+
Screenshot: /tmp/screenshots/hero-desktop.png
|
|
421
|
+
Image: 1440×600px (aspect ratio 2.4:1)
|
|
422
|
+
✅ Uses full container width
|
|
423
|
+
✅ High resolution (retina ready)
|
|
424
|
+
✅ Object-fit: cover maintains aspect
|
|
425
|
+
|
|
426
|
+
Image Handling: ✅ PERFECT
|
|
427
|
+
Responsive images working correctly with proper aspect ratios
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## Best Practices Demonstrated
|
|
433
|
+
|
|
434
|
+
1. **Test all three breakpoints** - Mobile, tablet, desktop coverage
|
|
435
|
+
2. **Component-specific tests** - Focus on specific areas
|
|
436
|
+
3. **Before/after comparisons** - Verify improvements
|
|
437
|
+
4. **Touch target validation** - Ensure mobile usability
|
|
438
|
+
5. **Typography scaling** - Check readability across sizes
|
|
439
|
+
6. **Layout verification** - Confirm grid behavior
|
|
440
|
+
7. **Console monitoring** - Check for layout errors
|
|
441
|
+
8. **Complete audits** - Systematic full-page reviews
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "screenshot",
|
|
3
|
+
"evals": [
|
|
4
|
+
{
|
|
5
|
+
"id": 1,
|
|
6
|
+
"prompt": "Take a screenshot of the app",
|
|
7
|
+
"expected_output": "The skill uses Sweetlink to capture a screenshot of the running application",
|
|
8
|
+
"expectations": [
|
|
9
|
+
"Uses Sweetlink screenshot command to capture the current page",
|
|
10
|
+
"Returns or saves the screenshot image",
|
|
11
|
+
"Does not use Playwright or other browser automation"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": 2,
|
|
16
|
+
"prompt": "Screenshot the homepage",
|
|
17
|
+
"expected_output": "The skill captures a screenshot of the specified page (homepage)",
|
|
18
|
+
"expectations": [
|
|
19
|
+
"Navigates to or targets the homepage URL/path",
|
|
20
|
+
"Uses Sweetlink screenshot command",
|
|
21
|
+
"Returns the captured screenshot for review"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": 3,
|
|
26
|
+
"prompt": "Take screenshots at mobile, tablet, and desktop breakpoints",
|
|
27
|
+
"expected_output": "This should NOT trigger the single screenshot skill. Multi-viewport screenshots are handled by responsive-screenshots.",
|
|
28
|
+
"expectations": [
|
|
29
|
+
"Does NOT trigger screenshot skill for multi-viewport capture",
|
|
30
|
+
"Routes to responsive-screenshots instead",
|
|
31
|
+
"Single screenshot skill handles only one viewport at a time"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
File without changes
|
package/dist/cli/sweetlink.js
CHANGED
|
File without changes
|
package/dist/daemon/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ytspar/sweetlink",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.16.1",
|
|
4
4
|
"description": "Autonomous development toolkit for AI agents - screenshots, DOM queries, console logs, and JavaScript execution via WebSocket and Chrome DevTools Protocol",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"autonomous-development",
|
|
@@ -23,75 +23,93 @@
|
|
|
23
23
|
"exports": {
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./dist/index.d.ts",
|
|
26
|
-
"import": "./dist/index.js"
|
|
26
|
+
"import": "./dist/index.js",
|
|
27
|
+
"default": "./dist/index.js"
|
|
27
28
|
},
|
|
28
29
|
"./types": {
|
|
29
30
|
"types": "./dist/types.d.ts",
|
|
30
|
-
"import": "./dist/types.js"
|
|
31
|
+
"import": "./dist/types.js",
|
|
32
|
+
"default": "./dist/types.js"
|
|
31
33
|
},
|
|
32
34
|
"./server": {
|
|
33
35
|
"types": "./dist/server.d.ts",
|
|
34
|
-
"import": "./dist/server.js"
|
|
36
|
+
"import": "./dist/server.js",
|
|
37
|
+
"default": "./dist/server.js"
|
|
35
38
|
},
|
|
36
39
|
"./browser": {
|
|
37
40
|
"types": "./dist/browser.d.ts",
|
|
38
|
-
"import": "./dist/browser.js"
|
|
41
|
+
"import": "./dist/browser.js",
|
|
42
|
+
"default": "./dist/browser.js"
|
|
39
43
|
},
|
|
40
44
|
"./browser/commands/schema": {
|
|
41
45
|
"types": "./dist/browser/commands/schema.d.ts",
|
|
42
|
-
"import": "./dist/browser/commands/schema.js"
|
|
46
|
+
"import": "./dist/browser/commands/schema.js",
|
|
47
|
+
"default": "./dist/browser/commands/schema.js"
|
|
43
48
|
},
|
|
44
49
|
"./browser/commands/outline": {
|
|
45
50
|
"types": "./dist/browser/commands/outline.d.ts",
|
|
46
|
-
"import": "./dist/browser/commands/outline.js"
|
|
51
|
+
"import": "./dist/browser/commands/outline.js",
|
|
52
|
+
"default": "./dist/browser/commands/outline.js"
|
|
47
53
|
},
|
|
48
54
|
"./browser/consoleCapture": {
|
|
49
55
|
"types": "./dist/browser/consoleCapture.d.ts",
|
|
50
|
-
"import": "./dist/browser/consoleCapture.js"
|
|
56
|
+
"import": "./dist/browser/consoleCapture.js",
|
|
57
|
+
"default": "./dist/browser/consoleCapture.js"
|
|
51
58
|
},
|
|
52
59
|
"./browser/earlyConsoleCapture": {
|
|
53
60
|
"types": "./dist/browser/earlyConsoleCapture.d.ts",
|
|
54
|
-
"import": "./dist/browser/earlyConsoleCapture.js"
|
|
61
|
+
"import": "./dist/browser/earlyConsoleCapture.js",
|
|
62
|
+
"default": "./dist/browser/earlyConsoleCapture.js"
|
|
55
63
|
},
|
|
56
64
|
"./browser/screenshotUtils": {
|
|
57
65
|
"types": "./dist/browser/screenshotUtils.d.ts",
|
|
58
|
-
"import": "./dist/browser/screenshotUtils.js"
|
|
66
|
+
"import": "./dist/browser/screenshotUtils.js",
|
|
67
|
+
"default": "./dist/browser/screenshotUtils.js"
|
|
59
68
|
},
|
|
60
69
|
"./urlUtils": {
|
|
61
70
|
"types": "./dist/urlUtils.d.ts",
|
|
62
|
-
"import": "./dist/urlUtils.js"
|
|
71
|
+
"import": "./dist/urlUtils.js",
|
|
72
|
+
"default": "./dist/urlUtils.js"
|
|
63
73
|
},
|
|
64
74
|
"./ruler": {
|
|
65
75
|
"types": "./dist/ruler.d.ts",
|
|
66
|
-
"import": "./dist/ruler.js"
|
|
76
|
+
"import": "./dist/ruler.js",
|
|
77
|
+
"default": "./dist/ruler.js"
|
|
67
78
|
},
|
|
68
79
|
"./playwright": {
|
|
69
80
|
"types": "./dist/playwright.d.ts",
|
|
70
|
-
"import": "./dist/playwright.js"
|
|
81
|
+
"import": "./dist/playwright.js",
|
|
82
|
+
"default": "./dist/playwright.js"
|
|
71
83
|
},
|
|
72
84
|
"./cdp": {
|
|
73
85
|
"types": "./dist/cdp.d.ts",
|
|
74
|
-
"import": "./dist/cdp.js"
|
|
86
|
+
"import": "./dist/cdp.js",
|
|
87
|
+
"default": "./dist/cdp.js"
|
|
75
88
|
},
|
|
76
89
|
"./vite": {
|
|
77
90
|
"types": "./dist/vite.d.ts",
|
|
78
|
-
"import": "./dist/vite.js"
|
|
91
|
+
"import": "./dist/vite.js",
|
|
92
|
+
"default": "./dist/vite.js"
|
|
79
93
|
},
|
|
80
94
|
"./auto": {
|
|
81
95
|
"types": "./dist/auto.d.ts",
|
|
82
|
-
"import": "./dist/auto.js"
|
|
96
|
+
"import": "./dist/auto.js",
|
|
97
|
+
"default": "./dist/auto.js"
|
|
83
98
|
},
|
|
84
99
|
"./next": {
|
|
85
100
|
"types": "./dist/next.d.ts",
|
|
86
|
-
"import": "./dist/next.js"
|
|
101
|
+
"import": "./dist/next.js",
|
|
102
|
+
"default": "./dist/next.js"
|
|
87
103
|
},
|
|
88
104
|
"./daemon": {
|
|
89
105
|
"types": "./dist/daemon/types.d.ts",
|
|
90
|
-
"import": "./dist/daemon/types.js"
|
|
106
|
+
"import": "./dist/daemon/types.js",
|
|
107
|
+
"default": "./dist/daemon/types.js"
|
|
91
108
|
},
|
|
92
109
|
"./daemon/client": {
|
|
93
110
|
"types": "./dist/daemon/client.d.ts",
|
|
94
|
-
"import": "./dist/daemon/client.js"
|
|
111
|
+
"import": "./dist/daemon/client.js",
|
|
112
|
+
"default": "./dist/daemon/client.js"
|
|
95
113
|
}
|
|
96
114
|
},
|
|
97
115
|
"bin": {
|
|
@@ -103,6 +121,8 @@
|
|
|
103
121
|
"dist",
|
|
104
122
|
"scripts",
|
|
105
123
|
"claude-skills",
|
|
124
|
+
"claude-agents",
|
|
125
|
+
"claude-context",
|
|
106
126
|
"README.md",
|
|
107
127
|
"LICENSE"
|
|
108
128
|
],
|
|
@@ -113,6 +133,14 @@
|
|
|
113
133
|
"node": ">=20.0.0"
|
|
114
134
|
},
|
|
115
135
|
"private": false,
|
|
136
|
+
"scripts": {
|
|
137
|
+
"prepublishOnly": "node ../../scripts/check-release-notes.mjs && rm -rf dist && tsc",
|
|
138
|
+
"build": "rm -rf dist && tsc",
|
|
139
|
+
"test": "vitest run",
|
|
140
|
+
"dev": "node dist/cli/sweetlink-dev.js",
|
|
141
|
+
"typecheck": "tsc --noEmit",
|
|
142
|
+
"clean": "rm -rf dist claude-context"
|
|
143
|
+
},
|
|
116
144
|
"peerDependencies": {
|
|
117
145
|
"axe-core": "^4.0.0",
|
|
118
146
|
"html2canvas-pro": "^2.0.0",
|
|
@@ -159,12 +187,5 @@
|
|
|
159
187
|
"bugs": {
|
|
160
188
|
"url": "https://github.com/ytspar/devbar/issues"
|
|
161
189
|
},
|
|
162
|
-
"homepage": "https://github.com/ytspar/devbar/tree/main/packages/sweetlink#readme"
|
|
163
|
-
|
|
164
|
-
"build": "rm -rf dist && tsc",
|
|
165
|
-
"test": "vitest run",
|
|
166
|
-
"dev": "node dist/cli/sweetlink-dev.js",
|
|
167
|
-
"typecheck": "tsc --noEmit",
|
|
168
|
-
"clean": "rm -rf dist claude-context"
|
|
169
|
-
}
|
|
170
|
-
}
|
|
190
|
+
"homepage": "https://github.com/ytspar/devbar/tree/main/packages/sweetlink#readme"
|
|
191
|
+
}
|