@weavetab/skills 2.5.0 → 2.5.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 +108 -108
- package/ROUTER.md +43 -43
- package/bin/cli.js +232 -232
- package/browser/dom-strategy.md +121 -119
- package/browser/form-automation.md +84 -87
- package/browser/interaction-pipeline.md +242 -216
- package/browser/tab-and-window.md +136 -136
- package/desktop/desktop-targeting.md +85 -85
- package/desktop/electron-discovery.md +115 -115
- package/developer/github-forensics.md +89 -74
- package/dist/bundled/weavetab-all.md +1885 -1709
- package/dist/bundled/weavetab-browser.md +526 -501
- package/dist/bundled/weavetab-desktop.md +176 -176
- package/dist/bundled/weavetab-developer.md +84 -67
- package/dist/bundled/weavetab-documents.md +184 -142
- package/dist/bundled/weavetab-memory.md +259 -233
- package/dist/bundled/weavetab-network-and-perf.md +250 -223
- package/dist/bundled/weavetab-plugins.md +88 -83
- package/dist/bundled/weavetab-resilience.md +244 -216
- package/dist/bundled/weavetab-security.md +93 -87
- package/dist/granular/browser_dom-strategy.md +121 -119
- package/dist/granular/browser_form-automation.md +84 -87
- package/dist/granular/browser_interaction-pipeline.md +242 -216
- package/dist/granular/browser_tab-and-window.md +136 -136
- package/dist/granular/desktop_desktop-targeting.md +85 -85
- package/dist/granular/desktop_electron-discovery.md +115 -115
- package/dist/granular/developer_github-forensics.md +89 -74
- package/dist/granular/documents_canvas-and-visual-capture.md +117 -103
- package/dist/granular/documents_office-document-ingestion.md +91 -63
- package/dist/granular/memory_selector-memory-system.md +127 -127
- package/dist/granular/memory_session-trail.md +111 -95
- package/dist/granular/memory_site-learning.md +62 -53
- package/dist/granular/network-and-perf_device-and-environment.md +100 -87
- package/dist/granular/network-and-perf_network-intercept-and-mock.md +97 -84
- package/dist/granular/network-and-perf_performance-and-vitals.md +86 -84
- package/dist/granular/plugins_hooks-and-overrides.md +40 -35
- package/dist/granular/plugins_plugin-runtime.md +63 -63
- package/dist/granular/resilience_loop-breaker.md +72 -67
- package/dist/granular/resilience_session-time-travel.md +146 -131
- package/dist/granular/resilience_stale-ref-recovery.md +61 -53
- package/dist/granular/security_rbac-and-policies.md +50 -47
- package/dist/granular/security_secret-containment-protocol.md +62 -59
- package/documents/canvas-and-visual-capture.md +117 -103
- package/documents/office-document-ingestion.md +91 -63
- package/evals/evaluator.js +146 -146
- package/evals/scenarios.json +239 -239
- package/memory/selector-memory-system.md +127 -127
- package/memory/session-trail.md +111 -95
- package/memory/site-learning.md +61 -52
- package/network-and-perf/device-and-environment.md +100 -87
- package/network-and-perf/network-intercept-and-mock.md +97 -84
- package/network-and-perf/performance-and-vitals.md +86 -84
- package/package.json +74 -73
- package/plugins/hooks-and-overrides.md +40 -35
- package/plugins/plugin-runtime.md +63 -63
- package/resilience/loop-breaker.md +72 -67
- package/resilience/session-time-travel.md +146 -131
- package/resilience/stale-ref-recovery.md +61 -53
- package/security/rbac-and-policies.md +50 -47
- package/security/secret-containment-protocol.md +62 -59
- package/skills.json +425 -426
- package/src/api.js +239 -239
|
@@ -1,216 +1,242 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: interaction-pipeline
|
|
3
|
-
domain: browser
|
|
4
|
-
triggers:
|
|
5
|
-
- "click element"
|
|
6
|
-
- "type text"
|
|
7
|
-
- "press key"
|
|
8
|
-
- "drag and drop"
|
|
9
|
-
- "hover"
|
|
10
|
-
- "upload file"
|
|
11
|
-
tools:
|
|
12
|
-
- "browser_click"
|
|
13
|
-
- "browser_type"
|
|
14
|
-
- "browser_key"
|
|
15
|
-
- "browser_pointer"
|
|
16
|
-
- "browser_upload"
|
|
17
|
-
- "browser_scroll"
|
|
18
|
-
- "browser_dialog"
|
|
19
|
-
- "browser_burst"
|
|
20
|
-
- "browser_highlight"
|
|
21
|
-
- "browser_clipboard"
|
|
22
|
-
weavetab: ">=2.5.0
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
# Interaction Pipeline: Physical & Synthetic Input Engine
|
|
26
|
-
|
|
27
|
-
Weavetab executes browser interactions via direct Chrome DevTools Protocol (CDP) dispatch, bypassing synthetic JavaScript event limitations and anti-automation tripwires.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## 1. Clicking Elements (`browser_click`)
|
|
32
|
-
|
|
33
|
-
Execute deterministic clicks on DOM elements using volatile handles (`ref`), CSS selectors, or
|
|
34
|
-
|
|
35
|
-
```json
|
|
36
|
-
{
|
|
37
|
-
"ref": "w:23"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
###
|
|
83
|
-
```json
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
"
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
1
|
+
---
|
|
2
|
+
id: interaction-pipeline
|
|
3
|
+
domain: browser
|
|
4
|
+
triggers:
|
|
5
|
+
- "click element"
|
|
6
|
+
- "type text"
|
|
7
|
+
- "press key"
|
|
8
|
+
- "drag and drop"
|
|
9
|
+
- "hover"
|
|
10
|
+
- "upload file"
|
|
11
|
+
tools:
|
|
12
|
+
- "browser_click"
|
|
13
|
+
- "browser_type"
|
|
14
|
+
- "browser_key"
|
|
15
|
+
- "browser_pointer"
|
|
16
|
+
- "browser_upload"
|
|
17
|
+
- "browser_scroll"
|
|
18
|
+
- "browser_dialog"
|
|
19
|
+
- "browser_burst"
|
|
20
|
+
- "browser_highlight"
|
|
21
|
+
- "browser_clipboard"
|
|
22
|
+
weavetab: ">=2.5.0"
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Interaction Pipeline: Physical & Synthetic Input Engine
|
|
26
|
+
|
|
27
|
+
Weavetab executes browser interactions via direct Chrome DevTools Protocol (CDP) dispatch, bypassing synthetic JavaScript event limitations and anti-automation tripwires.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 1. Clicking Elements (`browser_click`)
|
|
32
|
+
|
|
33
|
+
Execute deterministic clicks on DOM elements using volatile handles (`ref`/`id`), CSS selectors, labels, marks, or coordinates.
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"ref": "w:23"
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Targeting & Options:
|
|
42
|
+
- **By ref**: pass `id` (or its alias `ref`) from `browser_map`.
|
|
43
|
+
- **By selector / label**: pass `selector` (alias `target`) or `label` (visible text or aria-label).
|
|
44
|
+
- **By visual mark**: pass `mark: N` from `browser_map({ visual: "auto" })` for canvas/WebGL pages.
|
|
45
|
+
- **By coordinates**: pass `x`/`y`, or a raw `backendNodeId`.
|
|
46
|
+
- **`intent`**: an optional semantic description (e.g. `"submit login form"`) — Weavetab checks learned memory first and clicks a high-confidence selector without DOM resolution.
|
|
47
|
+
- **`include_map`**: set `true` to return a refreshed page map with the result.
|
|
48
|
+
|
|
49
|
+
> `browser_click` always dispatches a left-button single click. To double-click or right-click, use `browser_pointer` (`double_click`) or open the native context menu another way.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 2. Text Input (`browser_type`)
|
|
54
|
+
|
|
55
|
+
Simulate natural keystrokes into input fields, textareas, and `contenteditable` elements.
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"ref": "w:18",
|
|
60
|
+
"text": "Enterprise Search Query",
|
|
61
|
+
"clearFirst": true
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Useful options:
|
|
66
|
+
- **`clearFirst`**: wipe existing field content before typing.
|
|
67
|
+
- **`paste`**: instant paste mode via clipboard, auto-enabled for text longer than 8 chars.
|
|
68
|
+
- If `id`/`selector`/`label` is omitted, text is typed into the currently focused element.
|
|
69
|
+
|
|
70
|
+
> [!CAUTION]
|
|
71
|
+
> **Secret Boundary Enforcement**:
|
|
72
|
+
> NEVER use `browser_type` for passwords, API tokens, or payment card data. Always route sensitive credentials through [`security/secret-containment-protocol.md`](../security/secret-containment-protocol.md) via `browser_type_secret`.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 3. Physical Pointer Trajectories (`browser_pointer`)
|
|
77
|
+
|
|
78
|
+
Handle complex drag-and-drop interactions, canvas sketching, hover-activated navigation flyouts, and custom sliders.
|
|
79
|
+
|
|
80
|
+
Actions: `hover`, `click`, `double_click`, `drag_and_drop`, `hover_chain`.
|
|
81
|
+
|
|
82
|
+
### Hover:
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"action": "hover",
|
|
86
|
+
"ref": "w:12",
|
|
87
|
+
"waitForChild": ".submenu",
|
|
88
|
+
"holdMs": 200
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Double Click:
|
|
93
|
+
```json
|
|
94
|
+
{
|
|
95
|
+
"action": "double_click",
|
|
96
|
+
"ref": "w:30"
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Drag & Drop Pipeline:
|
|
101
|
+
A single `drag_and_drop` action drives the whole drag — supply the source (`ref`/`selector`/`x`/`y`) and destination (`end_ref`/`end_selector`/`end_x`/`end_y`):
|
|
102
|
+
```json
|
|
103
|
+
{
|
|
104
|
+
"action": "drag_and_drop",
|
|
105
|
+
"ref": "w:20",
|
|
106
|
+
"end_ref": "w:35"
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Multi-Level Flyout Menus (`hover_chain`):
|
|
111
|
+
Hover each element in order and click the last one (e.g. Photoshop/Figma-style menus):
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"hover_chain": ["File", "Export As", "PNG"]
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 4. Keystrokes & Shortcuts (`browser_key`)
|
|
121
|
+
|
|
122
|
+
Trigger keyboard shortcuts, navigation keys, and dialog dismissals.
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"key": "Enter"
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### High-Frequency Key Combos:
|
|
131
|
+
- **Select All & Delete**: Send `"key": "a"` with `"modifiers": ["Ctrl"]` (or `["Meta"]` on macOS), followed by `"key": "Backspace"`.
|
|
132
|
+
- **Dismiss Overlays**: Send `"key": "Escape"`.
|
|
133
|
+
- **Form Tab Navigation**: Send `"key": "Tab"`.
|
|
134
|
+
|
|
135
|
+
Valid modifiers are `Alt`, `Ctrl`, `Meta`, and `Shift`.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 5. OS File Upload Bypass (`browser_upload`)
|
|
140
|
+
|
|
141
|
+
Native operating system file picker dialogs block autonomous agent execution because they operate outside the browser DOM. Weavetab bypasses this entirely using CDP's `DOM.setFileInputFiles`.
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"nodeId": 4821,
|
|
146
|
+
"filePaths": [
|
|
147
|
+
"C:/Users/me/Documents/contract.pdf",
|
|
148
|
+
"C:/Users/me/Documents/financial_report.xlsx"
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
- **Targeting**: Supply the CDP `nodeId` (backendNodeId) of the `<input type="file">` element — obtain it from `browser_map`, `browser_inspect`, or `browser_find` output.
|
|
154
|
+
- **Hidden Inputs**: `browser_upload` automatically handles `display: none` file inputs commonly used in custom drag-and-drop upload widgets.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 6. Viewport & Element Scrolling (`browser_scroll`)
|
|
159
|
+
|
|
160
|
+
Scroll the entire page viewport or scroll specific scrollable containers:
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
{
|
|
164
|
+
"direction": "down",
|
|
165
|
+
"distance": 500
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Or scroll a specific element container:
|
|
170
|
+
```json
|
|
171
|
+
{
|
|
172
|
+
"ref": "w:12",
|
|
173
|
+
"direction": "down",
|
|
174
|
+
"distance": 300
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## 7. Native Dialog Handling (`browser_dialog`)
|
|
181
|
+
|
|
182
|
+
Handle native JavaScript `alert`, `confirm`, `prompt`, or `beforeunload` dialogs that block page execution:
|
|
183
|
+
|
|
184
|
+
```json
|
|
185
|
+
{
|
|
186
|
+
"action": "accept",
|
|
187
|
+
"promptText": "Confirmed"
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 8. High-Speed Action Batches (`browser_burst`)
|
|
194
|
+
|
|
195
|
+
Execute multiple sequential micro-actions in a single CDP roundtrip without waiting for intermediate LLM turns:
|
|
196
|
+
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"steps": [
|
|
200
|
+
{ "tool": "browser_type", "ref": "w:10", "text": "search query" },
|
|
201
|
+
{ "tool": "click_and_wait", "ref": "w:15" }
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Macro steps (`type_and_send`, `click_and_wait`, `navigate_and_read`, `scroll_and_read`, `fill_form`) collapse common two-step patterns into one entry. *(Accepts both `steps` and `actions`, with arguments either nested under `args` or specified flat on the step object.)*
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 9. Visual Element Highlighting & Consideration (`browser_highlight`)
|
|
211
|
+
|
|
212
|
+
Draw visual consideration, target lock, danger/success, or shimmer overlays without mutating the DOM. Supports multi-element candidate evaluation:
|
|
213
|
+
|
|
214
|
+
```json
|
|
215
|
+
{
|
|
216
|
+
"refs": ["w:12", "w:15", "w:23"],
|
|
217
|
+
"style": "consideration",
|
|
218
|
+
"label": "Evaluating form options",
|
|
219
|
+
"duration": 2000
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Presentation Styles:
|
|
224
|
+
- `"consideration"`: Soft pulsing cyan/blue outline (`#38bdf8`) with ambient glow — ideal when weighing multiple interactive candidates.
|
|
225
|
+
- `"target"`: High-contrast amber lock-on ring (`#f59e0b`) before executing high-impact clicks.
|
|
226
|
+
- `"danger"`: Red warning border (`#ef4444`) for destructive buttons (Delete, Reset, Purge).
|
|
227
|
+
- `"success"`: Emerald glow (`#10b981`) confirming completed actions.
|
|
228
|
+
- `"shimmer"`: Rapid purple accent wave (default for quick inspection).
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 10. System Clipboard Bridging (`browser_clipboard`)
|
|
233
|
+
|
|
234
|
+
Read or write system clipboard text during automation:
|
|
235
|
+
|
|
236
|
+
```json
|
|
237
|
+
{
|
|
238
|
+
"action": "write",
|
|
239
|
+
"text": "AuthToken_xyz987"
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|