@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,176 +1,176 @@
1
- # Weavetab Domain Profile: DESKTOP
2
-
3
- Generated for @weavetab/skills v2.5.0-beta.5
4
-
5
-
6
- ## desktop-targeting
7
-
8
- # Desktop App Targeting & Multi-Window Routing
9
-
10
- Once a desktop application is detected via `browser_detect`, every standard Weavetab tool can be scoped directly to that desktop application without opening or disturbing the user's web browser.
11
-
12
- ---
13
-
14
- ## 1. Direct App Parameter Routing
15
-
16
- Pass `"app": "<application_name>"` to target the Electron application.
17
-
18
- ### Example: Reading Discord Channels
19
- ```json
20
- // Tool: browser_map
21
- {
22
- "app": "discord",
23
- "scope": "main_content"
24
- }
25
- ```
26
-
27
- ### Example: Sending a Message in Discord
28
- ```json
29
- // Tool: browser_type
30
- {
31
- "app": "discord",
32
- "ref": "w:88",
33
- "text": "Deployment v2.5.0-beta.3 completed successfully."
34
- }
35
- ```
36
-
37
- ### Example: Listing Discord Tabs/Windows
38
- ```json
39
- // Tool: browser_tabs
40
- {
41
- "action": "list",
42
- "app": "discord"
43
- }
44
- ```
45
-
46
- > [!IMPORTANT]
47
- > Always pass `"app": "discord"` (or the target app name) to `browser_tabs` when working with desktop apps. This prevents Weavetab from accidentally launching or switching to the web browser.
48
-
49
- ---
50
-
51
- ## 2. Smart Domain Auto-Routing & Sticky Context
52
-
53
- Weavetab features automatic target resolution to eliminate accidental browser popups:
54
-
55
- ### A. Automatic Domain Matching
56
- If you call `browser_navigate` or `browser_tabs(action: "open")` with a known domain (e.g. `discord.com`, `slack.com`, `linear.app`, `notion.so`), Weavetab automatically routes the command to the configured Electron desktop application.
57
-
58
- ### B. Sticky App Sessions
59
- When you interact with an Electron application (e.g., clicking or typing in Discord), Weavetab remembers the active application context. If a subsequent tool call omits `app` and no web browser instance is active, Weavetab stays attached to the active desktop app rather than spawning an unwanted Chrome window.
60
-
61
- ### C. Explicit Browser Override
62
- If you specifically want to open a URL in the web browser instead of a desktop application, pass `"app": "browser"`.
63
-
64
- ---
65
-
66
- ## 3. Multi-Window Focus Management
67
-
68
- Some Electron apps open secondary windows (e.g. popout editors, settings panels, or call windows).
69
-
70
- 1. Use `browser_tabs(action: "list", app: "discord")` to view all open windows and page targets for that specific app.
71
- 2. Switch focus between windows using `browser_tabs(action: "switch", tabId: "<id>", app: "discord")`.
72
- 3. To bring a specific native window to the foreground, use `browser_tabs(action: "focus_window", windowId: <id>, app: "discord")`.
73
-
74
-
75
- ## electron-discovery
76
-
77
- # Electron Discovery & Environment Handshake
78
-
79
- Modern desktop applications (Discord, Slack, VS Code, Notion, Obsidian, Figma) are built on Chromium and Electron. Weavetab can inspect and drive these native applications through standard CDP interfaces without third-party drivers or OS-level accessibility hacks.
80
-
81
- `browser_detect` is the **critical initialization handshake** tool. Every agent should call `browser_detect` before interacting with the user's desktop environment to gain immediate situational awareness.
82
-
83
- ---
84
-
85
- ## 1. Running Discovery via `browser_detect`
86
-
87
- Call `browser_detect` with empty parameters `{}`:
88
-
89
- ```json
90
- {}
91
- ```
92
-
93
- ### Response Schema:
94
- ```json
95
- {
96
- "available": [
97
- {
98
- "engine": "chromium",
99
- "name": "Google Chrome",
100
- "path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
101
- }
102
- ],
103
- "current": "chromium",
104
- "configuredApps": [
105
- {
106
- "name": "discord",
107
- "status": "running_no_debug",
108
- "configuredPath": "C:\\Users\\username\\AppData\\Local\\Discord\\app-1.0.9256\\Discord.exe"
109
- },
110
- {
111
- "name": "slack",
112
- "status": "connected",
113
- "port": 9222,
114
- "configuredPath": "C:\\Users\\username\\AppData\\Local\\slack\\app-4.38.125\\slack.exe",
115
- "activeTabs": [
116
- {
117
- "id": "PAGE_1",
118
- "title": "general - Weavetab Slack",
119
- "url": "https://app.slack.com/client/..."
120
- }
121
- ]
122
- },
123
- {
124
- "name": "vscode",
125
- "status": "offline",
126
- "configuredPath": "C:\\Users\\username\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
127
- }
128
- ],
129
- "toolCoverage": {
130
- "chromium": 100,
131
- "firefox": 78,
132
- "webkit": 55
133
- }
134
- }
135
- ```
136
-
137
- ---
138
-
139
- ## 2. Understanding Application Status
140
-
141
- Each configured desktop app reports one of three distinct lifecycle statuses:
142
-
143
- | Status | Meaning | Agent Action |
144
- | :--- | :--- | :--- |
145
- | **`connected`** | App is running with CDP remote debugging active. Weavetab has an active session. | Immediately interact using any tool with `"app": "<name>"`. Tabs and port are available. |
146
- | **`running_no_debug`** | The app process is currently open on the user's OS, but was launched normally by the user without `--remote-debugging-port`. | Do NOT send click/type commands. To attach, inform the user or close and launch via `browser_navigate(app: "<name>")` so Weavetab supplies the debugging port. |
147
- | **`offline`** | The application is not currently running on the OS. | Launch and attach in one step by calling `browser_navigate(app: "<name>")`. |
148
-
149
- ---
150
-
151
- ## 3. Dynamic Squirrel Updates on Windows
152
-
153
- On Windows, Squirrel-managed applications (Discord, Slack, Teams) update dynamically into versioned sibling directories (e.g. `Discord\app-1.0.9256\Discord.exe`).
154
-
155
- Weavetab automatically handles this:
156
- - If a configured path points to an outdated version or the parent folder, Weavetab scans the directory, resolves the highest semantic version folder (`app-1.0.xxxx`), and launches the valid executable.
157
- - The dynamically resolved path is reported in `browser_detect` under `configuredPath`.
158
-
159
- ---
160
-
161
- ## 4. Launching Desktop Apps Manually with Debugging
162
-
163
- If the user prefers to launch apps manually from a terminal or shortcut with remote debugging enabled:
164
-
165
- ```bash
166
- # Discord
167
- Discord.exe --remote-debugging-port=9222
168
-
169
- # Slack
170
- slack.exe --remote-debugging-port=9223
171
-
172
- # VS Code
173
- code.exe --remote-debugging-port=9225
174
- ```
175
-
176
- Once launched with `--remote-debugging-port`, `browser_detect` immediately reflects the application as connectable.
1
+ # Weavetab Domain Profile: DESKTOP
2
+
3
+ Generated for @weavetab/skills v2.5.1
4
+
5
+
6
+ ## desktop-targeting
7
+
8
+ # Desktop App Targeting & Multi-Window Routing
9
+
10
+ Once a desktop application is detected via `browser_detect`, every standard Weavetab tool can be scoped directly to that desktop application without opening or disturbing the user's web browser.
11
+
12
+ ---
13
+
14
+ ## 1. Direct App Parameter Routing
15
+
16
+ Pass `"app": "<application_name>"` to target the Electron application.
17
+
18
+ ### Example: Reading Discord Channels
19
+ ```json
20
+ // Tool: browser_map
21
+ {
22
+ "app": "discord",
23
+ "scope": "main_content"
24
+ }
25
+ ```
26
+
27
+ ### Example: Sending a Message in Discord
28
+ ```json
29
+ // Tool: browser_type
30
+ {
31
+ "app": "discord",
32
+ "ref": "w:88",
33
+ "text": "Deployment v2.5.1 completed successfully."
34
+ }
35
+ ```
36
+
37
+ ### Example: Listing Discord Tabs/Windows
38
+ ```json
39
+ // Tool: browser_tabs
40
+ {
41
+ "action": "list",
42
+ "app": "discord"
43
+ }
44
+ ```
45
+
46
+ > [!IMPORTANT]
47
+ > Always pass `"app": "discord"` (or the target app name) to `browser_tabs` when working with desktop apps. This prevents Weavetab from accidentally launching or switching to the web browser.
48
+
49
+ ---
50
+
51
+ ## 2. Smart Domain Auto-Routing & Sticky Context
52
+
53
+ Weavetab features automatic target resolution to eliminate accidental browser popups:
54
+
55
+ ### A. Automatic Domain Matching
56
+ If you call `browser_navigate` or `browser_tabs(action: "open")` with a known domain (e.g. `discord.com`, `slack.com`, `linear.app`, `notion.so`), Weavetab automatically routes the command to the configured Electron desktop application.
57
+
58
+ ### B. Sticky App Sessions
59
+ When you interact with an Electron application (e.g., clicking or typing in Discord), Weavetab remembers the active application context. If a subsequent tool call omits `app` and no web browser instance is active, Weavetab stays attached to the active desktop app rather than spawning an unwanted Chrome window.
60
+
61
+ ### C. Explicit Browser Override
62
+ If you specifically want to open a URL in the web browser instead of a desktop application, pass `"app": "browser"`.
63
+
64
+ ---
65
+
66
+ ## 3. Multi-Window Focus Management
67
+
68
+ Some Electron apps open secondary windows (e.g. popout editors, settings panels, or call windows).
69
+
70
+ 1. Use `browser_tabs(action: "list", app: "discord")` to view all open windows and page targets for that specific app.
71
+ 2. Switch focus between windows using `browser_tabs(action: "switch", tabId: "<id>", app: "discord")`.
72
+ 3. To bring a specific native window to the foreground, use `browser_tabs(action: "focus_window", windowId: <id>, app: "discord")`.
73
+
74
+
75
+ ## electron-discovery
76
+
77
+ # Electron Discovery & Environment Handshake
78
+
79
+ Modern desktop applications (Discord, Slack, VS Code, Notion, Obsidian, Figma) are built on Chromium and Electron. Weavetab can inspect and drive these native applications through standard CDP interfaces without third-party drivers or OS-level accessibility hacks.
80
+
81
+ `browser_detect` is the **critical initialization handshake** tool. Every agent should call `browser_detect` before interacting with the user's desktop environment to gain immediate situational awareness.
82
+
83
+ ---
84
+
85
+ ## 1. Running Discovery via `browser_detect`
86
+
87
+ Call `browser_detect` with empty parameters `{}`:
88
+
89
+ ```json
90
+ {}
91
+ ```
92
+
93
+ ### Response Schema:
94
+ ```json
95
+ {
96
+ "available": [
97
+ {
98
+ "engine": "chromium",
99
+ "name": "Google Chrome",
100
+ "path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
101
+ }
102
+ ],
103
+ "current": "chromium",
104
+ "configuredApps": [
105
+ {
106
+ "name": "discord",
107
+ "status": "running_no_debug",
108
+ "configuredPath": "C:\\Users\\username\\AppData\\Local\\Discord\\app-1.0.9256\\Discord.exe"
109
+ },
110
+ {
111
+ "name": "slack",
112
+ "status": "connected",
113
+ "port": 9222,
114
+ "configuredPath": "C:\\Users\\username\\AppData\\Local\\slack\\app-4.38.125\\slack.exe",
115
+ "activeTabs": [
116
+ {
117
+ "id": "PAGE_1",
118
+ "title": "general - Weavetab Slack",
119
+ "url": "https://app.slack.com/client/..."
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ "name": "vscode",
125
+ "status": "offline",
126
+ "configuredPath": "C:\\Users\\username\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe"
127
+ }
128
+ ],
129
+ "toolCoverage": {
130
+ "chromium": 100,
131
+ "firefox": 78,
132
+ "webkit": 55
133
+ }
134
+ }
135
+ ```
136
+
137
+ ---
138
+
139
+ ## 2. Understanding Application Status
140
+
141
+ Each configured desktop app reports one of three distinct lifecycle statuses:
142
+
143
+ | Status | Meaning | Agent Action |
144
+ | :--- | :--- | :--- |
145
+ | **`connected`** | App is running with CDP remote debugging active. Weavetab has an active session. | Immediately interact using any tool with `"app": "<name>"`. Tabs and port are available. |
146
+ | **`running_no_debug`** | The app process is currently open on the user's OS, but was launched normally by the user without `--remote-debugging-port`. | Do NOT send click/type commands. To attach, inform the user or close and launch via `browser_navigate(app: "<name>")` so Weavetab supplies the debugging port. |
147
+ | **`offline`** | The application is not currently running on the OS. | Launch and attach in one step by calling `browser_navigate(app: "<name>")`. |
148
+
149
+ ---
150
+
151
+ ## 3. Dynamic Squirrel Updates on Windows
152
+
153
+ On Windows, Squirrel-managed applications (Discord, Slack, Teams) update dynamically into versioned sibling directories (e.g. `Discord\app-1.0.9256\Discord.exe`).
154
+
155
+ Weavetab automatically handles this:
156
+ - If a configured path points to an outdated version or the parent folder, Weavetab scans the directory, resolves the highest semantic version folder (`app-1.0.xxxx`), and launches the valid executable.
157
+ - The dynamically resolved path is reported in `browser_detect` under `configuredPath`.
158
+
159
+ ---
160
+
161
+ ## 4. Launching Desktop Apps Manually with Debugging
162
+
163
+ If the user prefers to launch apps manually from a terminal or shortcut with remote debugging enabled:
164
+
165
+ ```bash
166
+ # Discord
167
+ Discord.exe --remote-debugging-port=9222
168
+
169
+ # Slack
170
+ slack.exe --remote-debugging-port=9223
171
+
172
+ # VS Code
173
+ code.exe --remote-debugging-port=9225
174
+ ```
175
+
176
+ Once launched with `--remote-debugging-port`, `browser_detect` immediately reflects the application as connectable.
@@ -1,67 +1,84 @@
1
- # Weavetab Domain Profile: DEVELOPER
2
-
3
- Generated for @weavetab/skills v2.5.0-beta.5
4
-
5
-
6
- ## github-forensics
7
-
8
- # GitHub Forensics & Repository Architecture Inspection
9
-
10
- Navigating GitHub repositories via web browsing burns massive token budgets loading HTML chrome, comment threads, and diff trees. Weavetab includes a dedicated `browser_github` tool that interacts directly with git metadata and raw endpoints.
11
-
12
- ---
13
-
14
- ## 1. High-Level Repository Analysis (action: "analyze")
15
-
16
- Quickly summarize repo structure, languages, dependency graphs, and recent commit frequency:
17
-
18
- ```json
19
- {
20
- "action": "analyze",
21
- "repo": "Weavetab/MCP"
22
- }
23
- ```
24
-
25
- ---
26
-
27
- ## 2. Reading Repository Source Files (action: "read")
28
-
29
- Directly stream files and directories from any public or authenticated GitHub repo without cloning or burning API rate limits:
30
-
31
- ```json
32
- {
33
- "action": "read",
34
- "repo": "Weavetab/MCP",
35
- "paths": ["src/server.ts"],
36
- "line_range": [1, 200]
37
- }
38
- ```
39
-
40
- ---
41
-
42
- ## 3. Pull Request Forensics (action: "pr")
43
-
44
- Retrieve PR diffs, changed files, review comments, CI checks, and mergeability status:
45
-
46
- ```json
47
- {
48
- "action": "pr",
49
- "repo": "Weavetab/MCP",
50
- "number": 42
51
- }
52
- ```
53
-
54
- ---
55
-
56
- ## 4. Issue Triage & Search (action: "issues")
57
-
58
- Query repository issue trackers with state, label, and keyword filters:
59
-
60
- ```json
61
- {
62
- "action": "issues",
63
- "repo": "Weavetab/MCP",
64
- "state": "open",
65
- "labels": ["bug", "priority"]
66
- }
67
- ```
1
+ # Weavetab Domain Profile: DEVELOPER
2
+
3
+ Generated for @weavetab/skills v2.5.1
4
+
5
+
6
+ ## github-forensics
7
+
8
+ # GitHub Forensics & Repository Architecture Inspection
9
+
10
+ Navigating GitHub repositories via web browsing burns massive token budgets loading HTML chrome, comment threads, and diff trees. The official `@weavetab/plugin-github` plugin provides a dedicated `github` tool that talks to the GitHub REST API and raw content endpoints directly — no browser DOM, no cloning.
11
+
12
+ Responses are cached on disk (`~/.weavetab-system/github_cache`) and subject to GitHub's API rate limits.
13
+
14
+ ---
15
+
16
+ ## 1. High-Level Repository Analysis (action: "analyze")
17
+
18
+ Fetches repo metadata, the default branch, a flat recursive file tree, and a README snippet (first 100 lines). Results are cached and reused by `read`:
19
+
20
+ ```json
21
+ {
22
+ "action": "analyze",
23
+ "repo": "Weavetab/MCP"
24
+ }
25
+ ```
26
+
27
+ Returns fields such as `owner`, `repo`, `default_branch`, `description`, `language`, `file_tree` (array of `{path, type, size, sha}`), and `readme_snippet`.
28
+
29
+ If `repo` is omitted, the active tab's repository is used.
30
+
31
+ ---
32
+
33
+ ## 2. Reading Repository Source Files (action: "read")
34
+
35
+ Stream specific files from a public or authenticated repo via `raw.githubusercontent.com`. Requires a prior `analyze` (to cache the default branch and tree), or it will run one automatically:
36
+
37
+ ```json
38
+ {
39
+ "action": "read",
40
+ "repo": "Weavetab/MCP",
41
+ "paths": ["src/server.ts"],
42
+ "line_range": [1, 200]
43
+ }
44
+ ```
45
+
46
+ `paths` is relative to the repo root; `line_range` is an optional `[start, end]` (1-indexed).
47
+
48
+ ---
49
+
50
+ ## 3. Pull Request Forensics (action: "pr")
51
+
52
+ Retrieve PR details, changed files, and review comments:
53
+
54
+ ```json
55
+ {
56
+ "action": "pr",
57
+ "repo": "Weavetab/MCP",
58
+ "number": 42
59
+ }
60
+ ```
61
+
62
+ Passing `number` fetches that PR; omitting it lists recent PRs.
63
+
64
+ ---
65
+
66
+ ## 4. Issue Triage & Search (action: "issues")
67
+
68
+ Query the issue tracker with state, label, keyword, and limit filters:
69
+
70
+ ```json
71
+ {
72
+ "action": "issues",
73
+ "repo": "Weavetab/MCP",
74
+ "state": "open",
75
+ "labels": ["bug"],
76
+ "limit": 5
77
+ }
78
+ ```
79
+
80
+ - **`number`** fetches a single issue plus its comments.
81
+ - **`search`** runs a keyword search across issues.
82
+ - **`state`** (`open`/`closed`/`all`) and **`labels`** filter the listing; `limit` caps results (default 5).
83
+
84
+ > The GitHub **search** API is rate-limited more aggressively than raw/GET reads. `read` and `analyze` file fetches do not consume search-quota calls. If a call fails with a rate-limit message, wait until the reported reset time before retrying.