@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.
Files changed (62) hide show
  1. package/README.md +108 -108
  2. package/ROUTER.md +43 -43
  3. package/bin/cli.js +232 -232
  4. package/browser/dom-strategy.md +121 -119
  5. package/browser/form-automation.md +84 -87
  6. package/browser/interaction-pipeline.md +242 -216
  7. package/browser/tab-and-window.md +136 -136
  8. package/desktop/desktop-targeting.md +85 -85
  9. package/desktop/electron-discovery.md +115 -115
  10. package/developer/github-forensics.md +89 -74
  11. package/dist/bundled/weavetab-all.md +1885 -1709
  12. package/dist/bundled/weavetab-browser.md +526 -501
  13. package/dist/bundled/weavetab-desktop.md +176 -176
  14. package/dist/bundled/weavetab-developer.md +84 -67
  15. package/dist/bundled/weavetab-documents.md +184 -142
  16. package/dist/bundled/weavetab-memory.md +259 -233
  17. package/dist/bundled/weavetab-network-and-perf.md +250 -223
  18. package/dist/bundled/weavetab-plugins.md +88 -83
  19. package/dist/bundled/weavetab-resilience.md +244 -216
  20. package/dist/bundled/weavetab-security.md +93 -87
  21. package/dist/granular/browser_dom-strategy.md +121 -119
  22. package/dist/granular/browser_form-automation.md +84 -87
  23. package/dist/granular/browser_interaction-pipeline.md +242 -216
  24. package/dist/granular/browser_tab-and-window.md +136 -136
  25. package/dist/granular/desktop_desktop-targeting.md +85 -85
  26. package/dist/granular/desktop_electron-discovery.md +115 -115
  27. package/dist/granular/developer_github-forensics.md +89 -74
  28. package/dist/granular/documents_canvas-and-visual-capture.md +117 -103
  29. package/dist/granular/documents_office-document-ingestion.md +91 -63
  30. package/dist/granular/memory_selector-memory-system.md +127 -127
  31. package/dist/granular/memory_session-trail.md +111 -95
  32. package/dist/granular/memory_site-learning.md +62 -53
  33. package/dist/granular/network-and-perf_device-and-environment.md +100 -87
  34. package/dist/granular/network-and-perf_network-intercept-and-mock.md +97 -84
  35. package/dist/granular/network-and-perf_performance-and-vitals.md +86 -84
  36. package/dist/granular/plugins_hooks-and-overrides.md +40 -35
  37. package/dist/granular/plugins_plugin-runtime.md +63 -63
  38. package/dist/granular/resilience_loop-breaker.md +72 -67
  39. package/dist/granular/resilience_session-time-travel.md +146 -131
  40. package/dist/granular/resilience_stale-ref-recovery.md +61 -53
  41. package/dist/granular/security_rbac-and-policies.md +50 -47
  42. package/dist/granular/security_secret-containment-protocol.md +62 -59
  43. package/documents/canvas-and-visual-capture.md +117 -103
  44. package/documents/office-document-ingestion.md +91 -63
  45. package/evals/evaluator.js +146 -146
  46. package/evals/scenarios.json +239 -239
  47. package/memory/selector-memory-system.md +127 -127
  48. package/memory/session-trail.md +111 -95
  49. package/memory/site-learning.md +61 -52
  50. package/network-and-perf/device-and-environment.md +100 -87
  51. package/network-and-perf/network-intercept-and-mock.md +97 -84
  52. package/network-and-perf/performance-and-vitals.md +86 -84
  53. package/package.json +74 -73
  54. package/plugins/hooks-and-overrides.md +40 -35
  55. package/plugins/plugin-runtime.md +63 -63
  56. package/resilience/loop-breaker.md +72 -67
  57. package/resilience/session-time-travel.md +146 -131
  58. package/resilience/stale-ref-recovery.md +61 -53
  59. package/security/rbac-and-policies.md +50 -47
  60. package/security/secret-containment-protocol.md +62 -59
  61. package/skills.json +425 -426
  62. 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-beta.5"
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 exact coordinates.
34
-
35
- ```json
36
- {
37
- "ref": "w:23",
38
- "clickCount": 1,
39
- "button": "left"
40
- }
41
- ```
42
-
43
- ### Advanced Modifiers:
44
- - **Double Click**: Set `"clickCount": 2` for inline editing or selecting text blocks.
45
- - **Context Menu**: Set `"button": "right"` to trigger native context menus.
46
- - **Modifier Keys**: Pass `"modifiers": ["Control"]` or `["Meta"]` for multi-selection or opening links in background tabs.
47
-
48
- ---
49
-
50
- ## 2. Text Input (`browser_type`)
51
-
52
- Simulate natural keystrokes into input fields, textareas, and `contenteditable` elements.
53
-
54
- ```json
55
- {
56
- "ref": "w:18",
57
- "text": "Enterprise Search Query",
58
- "clear": true,
59
- "delay": 20
60
- }
61
- ```
62
-
63
- > [!CAUTION]
64
- > **Secret Boundary Enforcement**:
65
- > NEVER use `browser_type` for passwords, API tokens, or payment card data. Always route sensitive credentials through [`security/secret-containment-protocol.md`](file:///c:/Users/fy2ne/Music/Weavetab/skills/security/secret-containment-protocol.md) via `browser_type_secret`.
66
-
67
- ---
68
-
69
- ## 3. Physical Pointer Trajectories (`browser_pointer`)
70
-
71
- Handle complex drag-and-drop interactions, canvas sketching, hover-activated navigation flyouts, and custom sliders.
72
-
73
- ### Hover / Mouse Move:
74
- ```json
75
- {
76
- "action": "move",
77
- "x": 450,
78
- "y": 180
79
- }
80
- ```
81
-
82
- ### Drag & Drop Pipeline:
83
- ```json
84
- // Step 1: Move to origin & press mouse
85
- { "action": "move", "x": 200, "y": 300 }
86
- { "action": "down", "button": "left" }
87
-
88
- // Step 2: Smooth trajectory to destination
89
- { "action": "move", "x": 600, "y": 300 }
90
-
91
- // Step 3: Release
92
- { "action": "up", "button": "left" }
93
- ```
94
-
95
- ---
96
-
97
- ## 4. Keystrokes & Shortcuts (`browser_key`)
98
-
99
- Trigger keyboard shortcuts, navigation keys, and dialog dismissals.
100
-
101
- ```json
102
- {
103
- "key": "Enter"
104
- }
105
- ```
106
-
107
- ### High-Frequency Key Combos:
108
- - **Select All & Delete**: Send `"key": "a"`, `"modifiers": ["Control"]` (or `["Meta"]` on macOS), followed by `"key": "Backspace"`.
109
- - **Dismiss Overlays**: Send `"key": "Escape"`.
110
- - **Form Tab Navigation**: Send `"key": "Tab"`.
111
-
112
- ---
113
-
114
- ## 5. OS File Upload Bypass (`browser_upload`)
115
-
116
- 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`.
117
-
118
- ```json
119
- {
120
- "ref": "w:41",
121
- "files": [
122
- "C:/Users/fy2ne/Documents/contract.pdf",
123
- "C:/Users/fy2ne/Documents/financial_report.xlsx"
124
- ]
125
- }
126
- ```
127
-
128
- - **Targeting**: Supply the volatile handle `ref` or CSS selector for the `<input type="file">`.
129
- - **Hidden Inputs**: `browser_upload` automatically handles `display: none` file inputs commonly used in custom drag-and-drop upload widgets.
130
-
131
- ---
132
-
133
- ## 6. Viewport & Element Scrolling (`browser_scroll`)
134
-
135
- Scroll the entire page viewport or scroll specific scrollable containers:
136
-
137
- ```json
138
- {
139
- "direction": "down",
140
- "amount": 500
141
- }
142
- ```
143
-
144
- Or scroll a specific element container:
145
- ```json
146
- {
147
- "ref": "w:12",
148
- "direction": "down",
149
- "amount": 300
150
- }
151
- ```
152
-
153
- ---
154
-
155
- ## 7. Native Dialog Handling (`browser_dialog`)
156
-
157
- Handle native JavaScript `alert`, `confirm`, `prompt`, or `beforeunload` dialogs that block page execution:
158
-
159
- ```json
160
- {
161
- "action": "accept",
162
- "promptText": "Confirmed"
163
- }
164
- ```
165
-
166
- ---
167
-
168
- ## 8. High-Speed Action Batches (`browser_burst`)
169
-
170
- Execute multiple sequential micro-actions in a single CDP roundtrip without waiting for intermediate LLM turns:
171
-
172
- ```json
173
- {
174
- "steps": [
175
- { "tool": "browser_fill", "ref": "w:10", "value": "search query" },
176
- { "tool": "click_and_wait", "ref": "w:15" }
177
- ]
178
- }
179
- ```
180
- *(Accepts both `steps` and `actions`, with arguments either nested under `args` or specified flat on the step object).*
181
-
182
- ---
183
-
184
- ## 9. Visual Element Highlighting & Consideration (`browser_highlight`)
185
-
186
- Draw visual consideration, target lock, danger/success, or shimmer overlays without mutating the DOM. Supports multi-element candidate evaluation:
187
-
188
- ```json
189
- {
190
- "refs": ["w:12", "w:15", "w:23"],
191
- "style": "consideration",
192
- "label": "Evaluating form options",
193
- "duration": 2000
194
- }
195
- ```
196
-
197
- ### Presentation Styles:
198
- - `"consideration"`: Soft pulsing cyan/blue outline (`#38bdf8`) with ambient glow — ideal when weighing multiple interactive candidates.
199
- - `"target"`: High-contrast amber lock-on ring (`#f59e0b`) before executing high-impact clicks.
200
- - `"danger"`: Red warning border (`#ef4444`) for destructive buttons (Delete, Reset, Purge).
201
- - `"success"`: Emerald glow (`#10b981`) confirming completed actions.
202
- - `"shimmer"`: Rapid purple accent wave (default for quick inspection).
203
-
204
- ---
205
-
206
- ## 10. System Clipboard Bridging (`browser_clipboard`)
207
-
208
- Read or write system clipboard text during automation:
209
-
210
- ```json
211
- {
212
- "action": "write",
213
- "text": "AuthToken_xyz987"
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
+