@ytspar/sweetlink 1.16.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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: console-check-sweetlink
3
- description: Quick console error check using Sweetlink. Use after making code changes, before marking tasks complete, during debugging, or when the user asks to check for console errors. Essential for the zero-error policy.
3
+ description: "Check browser console for errors/warnings via Sweetlink WebSocket. Triggers on: \"console errors\", \"browser errors\", \"console check\", \"zero errors\". NOT for TypeScript/compile errors (use quick-typecheck) or server-side errors (use debugging agent)."
4
4
  allowed-tools: Bash
5
5
  ---
6
6
 
@@ -0,0 +1,35 @@
1
+ {
2
+ "skill_name": "console-check-sweetlink",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Check the browser console for errors",
7
+ "expected_output": "The skill uses Sweetlink to connect to the browser and retrieve console logs",
8
+ "expectations": [
9
+ "Uses Sweetlink WebSocket or logs command to read browser console",
10
+ "Filters for errors and warnings",
11
+ "Reports any console errors found or confirms zero errors"
12
+ ]
13
+ },
14
+ {
15
+ "id": 2,
16
+ "prompt": "Any console errors after my changes?",
17
+ "expected_output": "The skill checks the browser console for new errors via Sweetlink",
18
+ "expectations": [
19
+ "Triggers the console check flow via Sweetlink",
20
+ "Reports errors, warnings, or confirms clean console",
21
+ "Does not run TypeScript or lint checks"
22
+ ]
23
+ },
24
+ {
25
+ "id": 3,
26
+ "prompt": "Check for TypeScript errors",
27
+ "expected_output": "This should NOT trigger console-check-sweetlink. TypeScript errors are handled by quick-typecheck.",
28
+ "expectations": [
29
+ "Does NOT trigger console-check-sweetlink skill",
30
+ "Routes to quick-typecheck instead",
31
+ "No Sweetlink or browser commands are executed"
32
+ ]
33
+ }
34
+ ]
35
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "skill_name": "resize-for-claude",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "This Figma export is 5120x11732 pixels, resize it so Claude can analyze it properly",
7
+ "expected_output": "Triggers resize-for-claude skill to scale the image down so the longest side is 1568px",
8
+ "expectations": ["Should trigger resize-for-claude skill", "Should run the resize-for-claude script", "Should detect tall aspect ratio and split into overlapping tiles if >= 3:1"]
9
+ },
10
+ {
11
+ "id": 2,
12
+ "prompt": "Optimize this full-page screenshot for Claude vision before I ask it to review the design",
13
+ "expected_output": "Triggers resize-for-claude skill to resize and potentially tile a tall screenshot",
14
+ "expectations": ["Should trigger resize-for-claude skill", "Should output to a -claude/ directory next to the original", "Should produce images with longest side <= 1568px"]
15
+ },
16
+ {
17
+ "id": 3,
18
+ "prompt": "Take a screenshot of the homepage at mobile, tablet, and desktop viewports",
19
+ "expected_output": "Should NOT trigger resize-for-claude - this is about capturing responsive screenshots, not resizing existing images",
20
+ "expectations": ["Should NOT trigger resize-for-claude - use responsive-screenshots for capturing at multiple viewports"]
21
+ }
22
+ ]
23
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: responsive-screenshots
3
- description: Capture screenshots at standard responsive breakpoints (mobile, tablet, desktop) to verify responsive design. Use when implementing responsive layouts, during design reviews, testing UI across viewports, or when the user asks to verify responsive behavior.
3
+ description: "Capture screenshots at mobile/tablet/desktop breakpoints via Sweetlink. Triggers on: \"responsive screenshots\", \"test breakpoints\", \"check mobile/tablet/desktop\", \"viewport screenshots\". NOT for single screenshots (use screenshot) or Playwright-based design review (use design-review agent)."
4
4
  allowed-tools: Bash
5
5
  ---
6
6
 
@@ -0,0 +1,23 @@
1
+ {
2
+ "skill_name": "responsive-screenshots",
3
+ "evals": [
4
+ {
5
+ "id": 1,
6
+ "prompt": "Capture responsive screenshots at mobile, tablet, and desktop to verify the new hero section",
7
+ "expected_output": "Triggers responsive-screenshots skill to capture at 375px, 768px, and 1440px viewports via Sweetlink",
8
+ "expectations": ["Should trigger responsive-screenshots skill", "Should capture at all three standard breakpoints (375, 768, 1440)", "Should save to .tmp/screenshots/ and review for responsive issues"]
9
+ },
10
+ {
11
+ "id": 2,
12
+ "prompt": "Test the breakpoints on the pricing page -- I want to see how it looks on mobile vs desktop",
13
+ "expected_output": "Triggers responsive-screenshots skill to capture the pricing page across viewports",
14
+ "expectations": ["Should trigger responsive-screenshots skill", "Should use pnpm sweetlink screenshot with --viewport flags", "Should analyze screenshots against the quality checklist"]
15
+ },
16
+ {
17
+ "id": 3,
18
+ "prompt": "Take a quick screenshot of the current page to verify my CSS change",
19
+ "expected_output": "Should NOT trigger responsive-screenshots - this is a single screenshot, not multi-viewport testing",
20
+ "expectations": ["Should NOT trigger responsive-screenshots - use screenshot skill for single screenshots"]
21
+ }
22
+ ]
23
+ }
@@ -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
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ytspar/sweetlink",
3
- "version": "1.16.0",
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": {
@@ -115,6 +133,14 @@
115
133
  "node": ">=20.0.0"
116
134
  },
117
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
+ },
118
144
  "peerDependencies": {
119
145
  "axe-core": "^4.0.0",
120
146
  "html2canvas-pro": "^2.0.0",
@@ -161,12 +187,5 @@
161
187
  "bugs": {
162
188
  "url": "https://github.com/ytspar/devbar/issues"
163
189
  },
164
- "homepage": "https://github.com/ytspar/devbar/tree/main/packages/sweetlink#readme",
165
- "scripts": {
166
- "build": "rm -rf dist && tsc",
167
- "test": "vitest run",
168
- "dev": "node dist/cli/sweetlink-dev.js",
169
- "typecheck": "tsc --noEmit",
170
- "clean": "rm -rf dist claude-context"
171
- }
172
- }
190
+ "homepage": "https://github.com/ytspar/devbar/tree/main/packages/sweetlink#readme"
191
+ }