clawpowers 2.2.5 → 2.2.7

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 (138) hide show
  1. package/CHANGELOG.md +186 -160
  2. package/COMPATIBILITY.md +48 -13
  3. package/KNOWN_LIMITATIONS.md +20 -19
  4. package/LICENSE +44 -44
  5. package/LICENSING.md +10 -10
  6. package/README.md +486 -462
  7. package/SECURITY.md +52 -52
  8. package/dist/index.d.ts +17 -5
  9. package/dist/index.js +187 -92
  10. package/dist/index.js.map +1 -1
  11. package/native/Cargo.lock +4927 -4927
  12. package/native/Cargo.toml +73 -73
  13. package/native/crates/canonical/Cargo.toml +24 -24
  14. package/native/crates/canonical/src/lib.rs +677 -673
  15. package/native/crates/compression/Cargo.toml +20 -20
  16. package/native/crates/compression/benches/compression_bench.rs +42 -42
  17. package/native/crates/compression/src/lib.rs +393 -393
  18. package/native/crates/evm-eth/Cargo.toml +13 -13
  19. package/native/crates/evm-eth/src/lib.rs +105 -105
  20. package/native/crates/fee/Cargo.toml +15 -15
  21. package/native/crates/fee/src/lib.rs +281 -281
  22. package/native/crates/index/Cargo.toml +16 -16
  23. package/native/crates/index/src/lib.rs +277 -277
  24. package/native/crates/policy/Cargo.toml +17 -17
  25. package/native/crates/policy/src/lib.rs +614 -614
  26. package/native/crates/security/Cargo.toml +22 -22
  27. package/native/crates/security/src/lib.rs +478 -478
  28. package/native/crates/tokens/Cargo.toml +13 -13
  29. package/native/crates/tokens/src/lib.rs +534 -534
  30. package/native/crates/verification/Cargo.toml +23 -23
  31. package/native/crates/verification/src/lib.rs +333 -333
  32. package/native/crates/wallet/Cargo.toml +20 -20
  33. package/native/crates/wallet/src/lib.rs +261 -261
  34. package/native/crates/x402/Cargo.toml +30 -30
  35. package/native/crates/x402/src/lib.rs +423 -423
  36. package/native/ffi/Cargo.toml +34 -34
  37. package/native/ffi/build.rs +4 -4
  38. package/native/ffi/src/lib.rs +352 -352
  39. package/native/ffi/tests/integration.rs +354 -354
  40. package/native/pyo3/Cargo.toml +26 -26
  41. package/native/pyo3/pyproject.toml +16 -16
  42. package/native/pyo3/src/lib.rs +407 -407
  43. package/native/pyo3/tests/test_smoke.py +180 -180
  44. package/native/wasm/Cargo.toml +47 -44
  45. package/native/wasm/pkg/.gitignore +6 -6
  46. package/native/wasm/pkg/clawpowers_wasm.d.ts +208 -208
  47. package/native/wasm/pkg/clawpowers_wasm.js +872 -872
  48. package/native/wasm/pkg/clawpowers_wasm_bg.wasm.d.ts +40 -40
  49. package/native/wasm/pkg/package.json +16 -16
  50. package/native/wasm/pkg-node/clawpowers_wasm.d.ts +143 -143
  51. package/native/wasm/pkg-node/clawpowers_wasm.js +798 -798
  52. package/native/wasm/pkg-node/clawpowers_wasm_bg.wasm.d.ts +40 -40
  53. package/native/wasm/pkg-node/package.json +12 -12
  54. package/native/wasm/src/lib.rs +433 -433
  55. package/package.json +13 -8
  56. package/scripts/build-wasm.mjs +59 -0
  57. package/scripts/generate_hermes_wrappers.py +211 -0
  58. package/scripts/hermes_wrapper_overrides.json +184 -0
  59. package/scripts/run-python-script.mjs +48 -0
  60. package/scripts/verify-consumer-install.mjs +109 -0
  61. package/scripts/verify-wasm-artifacts.mjs +26 -3
  62. package/scripts/verify_hermes_wrappers.py +154 -0
  63. package/skill.json +20 -0
  64. package/skills/1password/SKILL.md +34 -0
  65. package/skills/README.md +44 -0
  66. package/skills/agent-nexus-2/SKILL.md +34 -0
  67. package/skills/apple-notes/SKILL.md +34 -0
  68. package/skills/apple-reminders/SKILL.md +34 -0
  69. package/skills/autoresearch/SKILL.md +43 -0
  70. package/skills/bear-notes/SKILL.md +34 -0
  71. package/skills/blogwatcher/SKILL.md +34 -0
  72. package/skills/blucli/SKILL.md +34 -0
  73. package/skills/bluebubbles/SKILL.md +34 -0
  74. package/skills/business-strategy/SKILL.md +41 -0
  75. package/skills/camsnap/SKILL.md +34 -0
  76. package/skills/canvas/SKILL.md +34 -0
  77. package/skills/clawhub/SKILL.md +34 -0
  78. package/skills/coding-agent/SKILL.md +34 -0
  79. package/skills/coding-discipline.skill/SKILL.md +34 -0
  80. package/skills/content-writer/SKILL.md +41 -0
  81. package/skills/discord/SKILL.md +34 -0
  82. package/skills/eightctl/SKILL.md +34 -0
  83. package/skills/execution-validation.skill/SKILL.md +34 -0
  84. package/skills/gemini/SKILL.md +34 -0
  85. package/skills/gh-issues/SKILL.md +34 -0
  86. package/skills/gifgrep/SKILL.md +34 -0
  87. package/skills/github/SKILL.md +41 -0
  88. package/skills/gog/SKILL.md +34 -0
  89. package/skills/goplaces/SKILL.md +34 -0
  90. package/skills/healthcheck/SKILL.md +34 -0
  91. package/skills/himalaya/SKILL.md +34 -0
  92. package/skills/humanize/SKILL.md +41 -0
  93. package/skills/imsg/SKILL.md +34 -0
  94. package/skills/itp/SKILL.md +112 -0
  95. package/skills/mcporter/SKILL.md +34 -0
  96. package/skills/model-usage/SKILL.md +34 -0
  97. package/skills/nano-pdf/SKILL.md +34 -0
  98. package/skills/node-connect/SKILL.md +34 -0
  99. package/skills/notion/SKILL.md +34 -0
  100. package/skills/obsidian/SKILL.md +34 -0
  101. package/skills/openai-whisper/SKILL.md +34 -0
  102. package/skills/openai-whisper-api/SKILL.md +34 -0
  103. package/skills/openhue/SKILL.md +34 -0
  104. package/skills/oracle/SKILL.md +34 -0
  105. package/skills/ordercli/SKILL.md +34 -0
  106. package/skills/peekaboo/SKILL.md +34 -0
  107. package/skills/polyclaw/SKILL.md +34 -0
  108. package/skills/prospector/SKILL.md +41 -0
  109. package/skills/rsi.skill/SKILL.md +34 -0
  110. package/skills/sag/SKILL.md +34 -0
  111. package/skills/security/SKILL.md +41 -0
  112. package/skills/session-logs/SKILL.md +34 -0
  113. package/skills/sherpa-onnx-tts/SKILL.md +34 -0
  114. package/skills/skill-creator/SKILL.md +34 -0
  115. package/skills/slack/SKILL.md +34 -0
  116. package/skills/songsee/SKILL.md +34 -0
  117. package/skills/sonoscli/SKILL.md +34 -0
  118. package/skills/spotify-player/SKILL.md +34 -0
  119. package/skills/strykr-prism/SKILL.md +41 -0
  120. package/skills/summarize/SKILL.md +34 -0
  121. package/skills/taskbridge/SKILL.md +34 -0
  122. package/skills/things-mac/SKILL.md +34 -0
  123. package/skills/tmux/SKILL.md +34 -0
  124. package/skills/trello/SKILL.md +34 -0
  125. package/skills/validator-agent/SKILL.md +41 -0
  126. package/skills/video-frames/SKILL.md +34 -0
  127. package/skills/voice-call/SKILL.md +34 -0
  128. package/skills/wacli/SKILL.md +34 -0
  129. package/skills/weather/SKILL.md +34 -0
  130. package/skills/webmcp-payments/SKILL.md +41 -0
  131. package/skills/xurl/SKILL.md +34 -0
  132. package/src/skills/catalog.ts +435 -435
  133. package/src/skills/executor.ts +56 -56
  134. package/src/skills/index.ts +3 -3
  135. package/src/skills/itp/SKILL.md +112 -112
  136. package/src/skills/loader.ts +262 -193
  137. package/native/ffi/index.node +0 -0
  138. package/native/wasm/pkg-node/.gitignore +0 -6
@@ -1,435 +1,435 @@
1
- /**
2
- * ClawPowers Agent — Skills Catalog
3
- *
4
- * Static catalog of all skills available to ClawPowers.
5
- * Sources:
6
- * - openclaw-bundled: 51 skills bundled with OpenClaw
7
- * - managed: skills installed in ~/.openclaw/skills/
8
- *
9
- * Generated by reading SKILL.md frontmatter from each skill directory.
10
- * This is a STATIC array so it works everywhere (no runtime file I/O).
11
- */
12
-
13
- // ─── Types ────────────────────────────────────────────────────────────────────
14
-
15
- export interface SkillEntry {
16
- name: string;
17
- description: string;
18
- source: 'openclaw-bundled' | 'clawpowers' | 'managed';
19
- category: string;
20
- }
21
-
22
- // ─── OpenClaw Bundled Skills (51) ─────────────────────────────────────────────
23
-
24
- export const SKILLS_CATALOG: SkillEntry[] = [
25
- // ── productivity ──────────────────────────────────────────────────────────
26
- {
27
- name: '1password',
28
- description: 'Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.',
29
- source: 'openclaw-bundled',
30
- category: 'productivity',
31
- },
32
- {
33
- name: 'apple-notes',
34
- description: 'Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.',
35
- source: 'openclaw-bundled',
36
- category: 'productivity',
37
- },
38
- {
39
- name: 'apple-reminders',
40
- description: 'Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.',
41
- source: 'openclaw-bundled',
42
- category: 'productivity',
43
- },
44
- {
45
- name: 'bear-notes',
46
- description: 'Create, search, and manage Bear notes via grizzly CLI.',
47
- source: 'openclaw-bundled',
48
- category: 'productivity',
49
- },
50
- {
51
- name: 'notion',
52
- description: 'Notion API for creating and managing pages, databases, and blocks.',
53
- source: 'openclaw-bundled',
54
- category: 'productivity',
55
- },
56
- {
57
- name: 'obsidian',
58
- description: 'Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.',
59
- source: 'openclaw-bundled',
60
- category: 'productivity',
61
- },
62
- {
63
- name: 'things-mac',
64
- description: 'Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks OpenClaw to add a task to Things, list items, or search tasks.',
65
- source: 'openclaw-bundled',
66
- category: 'productivity',
67
- },
68
- {
69
- name: 'trello',
70
- description: 'Manage Trello boards, lists, and cards via the Trello REST API.',
71
- source: 'openclaw-bundled',
72
- category: 'productivity',
73
- },
74
- {
75
- name: 'summarize',
76
- description: 'Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for "transcribe this YouTube/video").',
77
- source: 'openclaw-bundled',
78
- category: 'productivity',
79
- },
80
- {
81
- name: 'tmux',
82
- description: 'Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.',
83
- source: 'openclaw-bundled',
84
- category: 'productivity',
85
- },
86
- // ── development ───────────────────────────────────────────────────────────
87
- {
88
- name: 'coding-agent',
89
- description: 'Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases.',
90
- source: 'openclaw-bundled',
91
- category: 'development',
92
- },
93
- {
94
- name: 'github',
95
- description: 'GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing diffs.',
96
- source: 'openclaw-bundled',
97
- category: 'development',
98
- },
99
- {
100
- name: 'gh-issues',
101
- description: 'Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments.',
102
- source: 'openclaw-bundled',
103
- category: 'development',
104
- },
105
- {
106
- name: 'skill-creator',
107
- description: 'Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file.',
108
- source: 'openclaw-bundled',
109
- category: 'development',
110
- },
111
- {
112
- name: 'clawhub',
113
- description: 'Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish your own skills.',
114
- source: 'openclaw-bundled',
115
- category: 'development',
116
- },
117
- {
118
- name: 'oracle',
119
- description: 'Best practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).',
120
- source: 'openclaw-bundled',
121
- category: 'development',
122
- },
123
- {
124
- name: 'mcporter',
125
- description: 'Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.',
126
- source: 'openclaw-bundled',
127
- category: 'development',
128
- },
129
- {
130
- name: 'nano-pdf',
131
- description: 'Edit PDFs with natural-language instructions using the nano-pdf CLI.',
132
- source: 'openclaw-bundled',
133
- category: 'development',
134
- },
135
- {
136
- name: 'node-connect',
137
- description: 'Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing.',
138
- source: 'openclaw-bundled',
139
- category: 'development',
140
- },
141
- // ── communication ─────────────────────────────────────────────────────────
142
- {
143
- name: 'discord',
144
- description: 'Discord ops via the message tool (channel=discord).',
145
- source: 'openclaw-bundled',
146
- category: 'communication',
147
- },
148
- {
149
- name: 'slack',
150
- description: 'Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.',
151
- source: 'openclaw-bundled',
152
- category: 'communication',
153
- },
154
- {
155
- name: 'bluebubbles',
156
- description: 'Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel=bluebubbles.',
157
- source: 'openclaw-bundled',
158
- category: 'communication',
159
- },
160
- {
161
- name: 'imsg',
162
- description: 'iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.',
163
- source: 'openclaw-bundled',
164
- category: 'communication',
165
- },
166
- {
167
- name: 'wacli',
168
- description: 'Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).',
169
- source: 'openclaw-bundled',
170
- category: 'communication',
171
- },
172
- {
173
- name: 'himalaya',
174
- description: 'CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML.',
175
- source: 'openclaw-bundled',
176
- category: 'communication',
177
- },
178
- {
179
- name: 'gog',
180
- description: 'Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.',
181
- source: 'openclaw-bundled',
182
- category: 'communication',
183
- },
184
- // ── media ─────────────────────────────────────────────────────────────────
185
- {
186
- name: 'camsnap',
187
- description: 'Capture frames or clips from RTSP/ONVIF cameras.',
188
- source: 'openclaw-bundled',
189
- category: 'media',
190
- },
191
- {
192
- name: 'gifgrep',
193
- description: 'Search GIF providers with CLI/TUI, download results, and extract stills/sheets.',
194
- source: 'openclaw-bundled',
195
- category: 'media',
196
- },
197
- {
198
- name: 'video-frames',
199
- description: 'Extract frames or short clips from videos using ffmpeg.',
200
- source: 'openclaw-bundled',
201
- category: 'media',
202
- },
203
- {
204
- name: 'openai-whisper',
205
- description: 'Local speech-to-text with the Whisper CLI (no API key).',
206
- source: 'openclaw-bundled',
207
- category: 'media',
208
- },
209
- {
210
- name: 'openai-whisper-api',
211
- description: 'Transcribe audio via OpenAI Audio Transcriptions API (Whisper).',
212
- source: 'openclaw-bundled',
213
- category: 'media',
214
- },
215
- {
216
- name: 'sag',
217
- description: 'ElevenLabs text-to-speech with mac-style say UX.',
218
- source: 'openclaw-bundled',
219
- category: 'media',
220
- },
221
- {
222
- name: 'sherpa-onnx-tts',
223
- description: 'Local text-to-speech via sherpa-onnx (offline, no cloud).',
224
- source: 'openclaw-bundled',
225
- category: 'media',
226
- },
227
- {
228
- name: 'songsee',
229
- description: 'Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.',
230
- source: 'openclaw-bundled',
231
- category: 'media',
232
- },
233
- {
234
- name: 'voice-call',
235
- description: 'Start voice calls via the OpenClaw voice-call plugin.',
236
- source: 'openclaw-bundled',
237
- category: 'media',
238
- },
239
- {
240
- name: 'peekaboo',
241
- description: 'Capture and automate macOS UI with the Peekaboo CLI.',
242
- source: 'openclaw-bundled',
243
- category: 'media',
244
- },
245
- // ── music ─────────────────────────────────────────────────────────────────
246
- {
247
- name: 'spotify-player',
248
- description: 'Terminal Spotify playback/search via spogo (preferred) or spotify_player.',
249
- source: 'openclaw-bundled',
250
- category: 'music',
251
- },
252
- {
253
- name: 'sonoscli',
254
- description: 'Control Sonos speakers (discover/status/play/volume/group).',
255
- source: 'openclaw-bundled',
256
- category: 'music',
257
- },
258
- {
259
- name: 'blucli',
260
- description: 'BluOS CLI (blu) for discovery, playback, grouping, and volume.',
261
- source: 'openclaw-bundled',
262
- category: 'music',
263
- },
264
- // ── smart-home ────────────────────────────────────────────────────────────
265
- {
266
- name: 'openhue',
267
- description: 'Control Philips Hue lights and scenes via the OpenHue CLI.',
268
- source: 'openclaw-bundled',
269
- category: 'smart-home',
270
- },
271
- {
272
- name: 'eightctl',
273
- description: 'Control Eight Sleep pods (status, temperature, alarms, schedules).',
274
- source: 'openclaw-bundled',
275
- category: 'smart-home',
276
- },
277
- // ── ai ────────────────────────────────────────────────────────────────────
278
- {
279
- name: 'gemini',
280
- description: 'Gemini CLI for one-shot Q&A, summaries, and generation.',
281
- source: 'openclaw-bundled',
282
- category: 'ai',
283
- },
284
- {
285
- name: 'canvas',
286
- description: 'Display HTML content on connected OpenClaw nodes (Mac app, iOS, Android). Great for displaying games, visualizations, and dashboards.',
287
- source: 'openclaw-bundled',
288
- category: 'ai',
289
- },
290
- // ── utilities ─────────────────────────────────────────────────────────────
291
- {
292
- name: 'blogwatcher',
293
- description: 'Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.',
294
- source: 'openclaw-bundled',
295
- category: 'utilities',
296
- },
297
- {
298
- name: 'goplaces',
299
- description: 'Query Google Places API (New) via the goplaces CLI for text search, place details, resolve, and reviews. Use for human-friendly place lookup or JSON output for scripts.',
300
- source: 'openclaw-bundled',
301
- category: 'utilities',
302
- },
303
- {
304
- name: 'healthcheck',
305
- description: 'Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, or OpenClaw cron health.',
306
- source: 'openclaw-bundled',
307
- category: 'utilities',
308
- },
309
- {
310
- name: 'model-usage',
311
- description: 'Use CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost details.',
312
- source: 'openclaw-bundled',
313
- category: 'utilities',
314
- },
315
- {
316
- name: 'ordercli',
317
- description: 'Foodora-only CLI for checking past orders and active order status (Deliveroo WIP).',
318
- source: 'openclaw-bundled',
319
- category: 'utilities',
320
- },
321
- {
322
- name: 'session-logs',
323
- description: 'Search and analyze your own session logs (older/parent conversations) using jq.',
324
- source: 'openclaw-bundled',
325
- category: 'utilities',
326
- },
327
- {
328
- name: 'weather',
329
- description: 'Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or other weather APIs.',
330
- source: 'openclaw-bundled',
331
- category: 'utilities',
332
- },
333
- {
334
- name: 'xurl',
335
- description: 'A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with X/Twitter programmatically.',
336
- source: 'openclaw-bundled',
337
- category: 'utilities',
338
- },
339
-
340
- // ─── Managed Skills (~/.openclaw/skills/) ──────────────────────────────────
341
- {
342
- name: 'agent-nexus-2',
343
- description: 'Multi-agent coordination and task delegation for complex workflows requiring parallel agent execution.',
344
- source: 'managed',
345
- category: 'development',
346
- },
347
- {
348
- name: 'autoresearch',
349
- description: 'Autonomous code quality improvement loop using keep-or-revert cycles. Optimizes a composite quality score derived from tests, lint, and type coverage.',
350
- source: 'managed',
351
- category: 'development',
352
- },
353
- {
354
- name: 'business-strategy',
355
- description: 'PMF validation, beachhead identification, activity ROI analysis, kill/invest decisions, and strategic metrics for the AI Agent Economy.',
356
- source: 'managed',
357
- category: 'productivity',
358
- },
359
- {
360
- name: 'coding-discipline.skill',
361
- description: 'Enforces strict TypeScript coding standards, test-first development, and zero-stub policies for production-grade agent code.',
362
- source: 'managed',
363
- category: 'development',
364
- },
365
- {
366
- name: 'content-writer',
367
- description: 'Use this skill everytime you are writing an article, social media post, email, etc.',
368
- source: 'managed',
369
- category: 'communication',
370
- },
371
- {
372
- name: 'execution-validation.skill',
373
- description: 'Multi-round automated validation pipeline for TypeScript/Solidity projects before publish or deploy.',
374
- source: 'managed',
375
- category: 'development',
376
- },
377
- {
378
- name: 'humanize',
379
- description: 'Transforms AI-generated writing into content that reads authentically human — passing AI detectors and resonating with real readers.',
380
- source: 'managed',
381
- category: 'communication',
382
- },
383
- {
384
- name: 'polyclaw',
385
- description: 'Trade on Polymarket via split + CLOB execution. Browse markets, track positions with P&L, discover hedges via LLM. Polygon/Web3.',
386
- source: 'managed',
387
- category: 'finance',
388
- },
389
- {
390
- name: 'prospector',
391
- description: 'Find leads, prospects, and contacts matching an Ideal Customer Profile. Searches companies via Exa and enriches contacts via Apollo, outputting to CSV and optionally syncing to Attio CRM.',
392
- source: 'managed',
393
- category: 'productivity',
394
- },
395
- {
396
- name: 'rsi.skill',
397
- description: 'RSI self-improvement cycles implementing measure → hypothesize → mutate → test → apply/discard → repeat for agent capability enhancement.',
398
- source: 'managed',
399
- category: 'development',
400
- },
401
- {
402
- name: 'security',
403
- description: 'Infrastructure threat detection, vulnerability management, and security audit workflows for the OpenClaw workspace.',
404
- source: 'managed',
405
- category: 'utilities',
406
- },
407
- {
408
- name: 'strykr-prism',
409
- description: 'Real-time financial data API for AI agents. Stocks, crypto, forex, ETFs. 120+ endpoints. Alternative to Alpha Vantage, CoinGecko. Works with Claude, Cursor.',
410
- source: 'managed',
411
- category: 'finance',
412
- },
413
- {
414
- name: 'taskbridge',
415
- description: 'Bridge tasks between agent sessions, preserving context and handoff state for long-running multi-session workflows.',
416
- source: 'managed',
417
- category: 'productivity',
418
- },
419
- {
420
- name: 'validator-agent',
421
- description: 'Multi-round automated validation pipeline for TypeScript/Solidity projects. Runs 8 rounds of checks before any publish or deploy: compile gate, lint, test suite, security audit, type coverage, docs, changelog, and final review.',
422
- source: 'managed',
423
- category: 'development',
424
- },
425
- {
426
- name: 'webmcp-payments',
427
- description: 'Handle HTTP 402 Payment Required responses via agentpay-mcp, enabling autonomous micropayment execution within configured spending limits.',
428
- source: 'managed',
429
- category: 'finance',
430
- },
431
- ];
432
-
433
- // ─── Count ────────────────────────────────────────────────────────────────────
434
-
435
- export const SKILLS_COUNT = SKILLS_CATALOG.length;
1
+ /**
2
+ * ClawPowers Agent — Skills Catalog
3
+ *
4
+ * Static catalog of all skills available to ClawPowers.
5
+ * Sources:
6
+ * - openclaw-bundled: 51 skills bundled with OpenClaw
7
+ * - managed: skills installed in ~/.openclaw/skills/
8
+ *
9
+ * Generated by reading SKILL.md frontmatter from each skill directory.
10
+ * This is a STATIC array so it works everywhere (no runtime file I/O).
11
+ */
12
+
13
+ // ─── Types ────────────────────────────────────────────────────────────────────
14
+
15
+ export interface SkillEntry {
16
+ name: string;
17
+ description: string;
18
+ source: 'openclaw-bundled' | 'clawpowers' | 'managed';
19
+ category: string;
20
+ }
21
+
22
+ // ─── OpenClaw Bundled Skills (51) ─────────────────────────────────────────────
23
+
24
+ export const SKILLS_CATALOG: SkillEntry[] = [
25
+ // ── productivity ──────────────────────────────────────────────────────────
26
+ {
27
+ name: '1password',
28
+ description: 'Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.',
29
+ source: 'openclaw-bundled',
30
+ category: 'productivity',
31
+ },
32
+ {
33
+ name: 'apple-notes',
34
+ description: 'Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.',
35
+ source: 'openclaw-bundled',
36
+ category: 'productivity',
37
+ },
38
+ {
39
+ name: 'apple-reminders',
40
+ description: 'Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.',
41
+ source: 'openclaw-bundled',
42
+ category: 'productivity',
43
+ },
44
+ {
45
+ name: 'bear-notes',
46
+ description: 'Create, search, and manage Bear notes via grizzly CLI.',
47
+ source: 'openclaw-bundled',
48
+ category: 'productivity',
49
+ },
50
+ {
51
+ name: 'notion',
52
+ description: 'Notion API for creating and managing pages, databases, and blocks.',
53
+ source: 'openclaw-bundled',
54
+ category: 'productivity',
55
+ },
56
+ {
57
+ name: 'obsidian',
58
+ description: 'Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.',
59
+ source: 'openclaw-bundled',
60
+ category: 'productivity',
61
+ },
62
+ {
63
+ name: 'things-mac',
64
+ description: 'Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks OpenClaw to add a task to Things, list items, or search tasks.',
65
+ source: 'openclaw-bundled',
66
+ category: 'productivity',
67
+ },
68
+ {
69
+ name: 'trello',
70
+ description: 'Manage Trello boards, lists, and cards via the Trello REST API.',
71
+ source: 'openclaw-bundled',
72
+ category: 'productivity',
73
+ },
74
+ {
75
+ name: 'summarize',
76
+ description: 'Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for "transcribe this YouTube/video").',
77
+ source: 'openclaw-bundled',
78
+ category: 'productivity',
79
+ },
80
+ {
81
+ name: 'tmux',
82
+ description: 'Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.',
83
+ source: 'openclaw-bundled',
84
+ category: 'productivity',
85
+ },
86
+ // ── development ───────────────────────────────────────────────────────────
87
+ {
88
+ name: 'coding-agent',
89
+ description: 'Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases.',
90
+ source: 'openclaw-bundled',
91
+ category: 'development',
92
+ },
93
+ {
94
+ name: 'github',
95
+ description: 'GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing diffs.',
96
+ source: 'openclaw-bundled',
97
+ category: 'development',
98
+ },
99
+ {
100
+ name: 'gh-issues',
101
+ description: 'Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments.',
102
+ source: 'openclaw-bundled',
103
+ category: 'development',
104
+ },
105
+ {
106
+ name: 'skill-creator',
107
+ description: 'Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file.',
108
+ source: 'openclaw-bundled',
109
+ category: 'development',
110
+ },
111
+ {
112
+ name: 'clawhub',
113
+ description: 'Use the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com. Use when you need to fetch new skills on the fly, sync installed skills to latest or a specific version, or publish your own skills.',
114
+ source: 'openclaw-bundled',
115
+ category: 'development',
116
+ },
117
+ {
118
+ name: 'oracle',
119
+ description: 'Best practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).',
120
+ source: 'openclaw-bundled',
121
+ category: 'development',
122
+ },
123
+ {
124
+ name: 'mcporter',
125
+ description: 'Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.',
126
+ source: 'openclaw-bundled',
127
+ category: 'development',
128
+ },
129
+ {
130
+ name: 'nano-pdf',
131
+ description: 'Edit PDFs with natural-language instructions using the nano-pdf CLI.',
132
+ source: 'openclaw-bundled',
133
+ category: 'development',
134
+ },
135
+ {
136
+ name: 'node-connect',
137
+ description: 'Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing.',
138
+ source: 'openclaw-bundled',
139
+ category: 'development',
140
+ },
141
+ // ── communication ─────────────────────────────────────────────────────────
142
+ {
143
+ name: 'discord',
144
+ description: 'Discord ops via the message tool (channel=discord).',
145
+ source: 'openclaw-bundled',
146
+ category: 'communication',
147
+ },
148
+ {
149
+ name: 'slack',
150
+ description: 'Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.',
151
+ source: 'openclaw-bundled',
152
+ category: 'communication',
153
+ },
154
+ {
155
+ name: 'bluebubbles',
156
+ description: 'Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel=bluebubbles.',
157
+ source: 'openclaw-bundled',
158
+ category: 'communication',
159
+ },
160
+ {
161
+ name: 'imsg',
162
+ description: 'iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.',
163
+ source: 'openclaw-bundled',
164
+ category: 'communication',
165
+ },
166
+ {
167
+ name: 'wacli',
168
+ description: 'Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).',
169
+ source: 'openclaw-bundled',
170
+ category: 'communication',
171
+ },
172
+ {
173
+ name: 'himalaya',
174
+ description: 'CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML.',
175
+ source: 'openclaw-bundled',
176
+ category: 'communication',
177
+ },
178
+ {
179
+ name: 'gog',
180
+ description: 'Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.',
181
+ source: 'openclaw-bundled',
182
+ category: 'communication',
183
+ },
184
+ // ── media ─────────────────────────────────────────────────────────────────
185
+ {
186
+ name: 'camsnap',
187
+ description: 'Capture frames or clips from RTSP/ONVIF cameras.',
188
+ source: 'openclaw-bundled',
189
+ category: 'media',
190
+ },
191
+ {
192
+ name: 'gifgrep',
193
+ description: 'Search GIF providers with CLI/TUI, download results, and extract stills/sheets.',
194
+ source: 'openclaw-bundled',
195
+ category: 'media',
196
+ },
197
+ {
198
+ name: 'video-frames',
199
+ description: 'Extract frames or short clips from videos using ffmpeg.',
200
+ source: 'openclaw-bundled',
201
+ category: 'media',
202
+ },
203
+ {
204
+ name: 'openai-whisper',
205
+ description: 'Local speech-to-text with the Whisper CLI (no API key).',
206
+ source: 'openclaw-bundled',
207
+ category: 'media',
208
+ },
209
+ {
210
+ name: 'openai-whisper-api',
211
+ description: 'Transcribe audio via OpenAI Audio Transcriptions API (Whisper).',
212
+ source: 'openclaw-bundled',
213
+ category: 'media',
214
+ },
215
+ {
216
+ name: 'sag',
217
+ description: 'ElevenLabs text-to-speech with mac-style say UX.',
218
+ source: 'openclaw-bundled',
219
+ category: 'media',
220
+ },
221
+ {
222
+ name: 'sherpa-onnx-tts',
223
+ description: 'Local text-to-speech via sherpa-onnx (offline, no cloud).',
224
+ source: 'openclaw-bundled',
225
+ category: 'media',
226
+ },
227
+ {
228
+ name: 'songsee',
229
+ description: 'Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.',
230
+ source: 'openclaw-bundled',
231
+ category: 'media',
232
+ },
233
+ {
234
+ name: 'voice-call',
235
+ description: 'Start voice calls via the OpenClaw voice-call plugin.',
236
+ source: 'openclaw-bundled',
237
+ category: 'media',
238
+ },
239
+ {
240
+ name: 'peekaboo',
241
+ description: 'Capture and automate macOS UI with the Peekaboo CLI.',
242
+ source: 'openclaw-bundled',
243
+ category: 'media',
244
+ },
245
+ // ── music ─────────────────────────────────────────────────────────────────
246
+ {
247
+ name: 'spotify-player',
248
+ description: 'Terminal Spotify playback/search via spogo (preferred) or spotify_player.',
249
+ source: 'openclaw-bundled',
250
+ category: 'music',
251
+ },
252
+ {
253
+ name: 'sonoscli',
254
+ description: 'Control Sonos speakers (discover/status/play/volume/group).',
255
+ source: 'openclaw-bundled',
256
+ category: 'music',
257
+ },
258
+ {
259
+ name: 'blucli',
260
+ description: 'BluOS CLI (blu) for discovery, playback, grouping, and volume.',
261
+ source: 'openclaw-bundled',
262
+ category: 'music',
263
+ },
264
+ // ── smart-home ────────────────────────────────────────────────────────────
265
+ {
266
+ name: 'openhue',
267
+ description: 'Control Philips Hue lights and scenes via the OpenHue CLI.',
268
+ source: 'openclaw-bundled',
269
+ category: 'smart-home',
270
+ },
271
+ {
272
+ name: 'eightctl',
273
+ description: 'Control Eight Sleep pods (status, temperature, alarms, schedules).',
274
+ source: 'openclaw-bundled',
275
+ category: 'smart-home',
276
+ },
277
+ // ── ai ────────────────────────────────────────────────────────────────────
278
+ {
279
+ name: 'gemini',
280
+ description: 'Gemini CLI for one-shot Q&A, summaries, and generation.',
281
+ source: 'openclaw-bundled',
282
+ category: 'ai',
283
+ },
284
+ {
285
+ name: 'canvas',
286
+ description: 'Display HTML content on connected OpenClaw nodes (Mac app, iOS, Android). Great for displaying games, visualizations, and dashboards.',
287
+ source: 'openclaw-bundled',
288
+ category: 'ai',
289
+ },
290
+ // ── utilities ─────────────────────────────────────────────────────────────
291
+ {
292
+ name: 'blogwatcher',
293
+ description: 'Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.',
294
+ source: 'openclaw-bundled',
295
+ category: 'utilities',
296
+ },
297
+ {
298
+ name: 'goplaces',
299
+ description: 'Query Google Places API (New) via the goplaces CLI for text search, place details, resolve, and reviews. Use for human-friendly place lookup or JSON output for scripts.',
300
+ source: 'openclaw-bundled',
301
+ category: 'utilities',
302
+ },
303
+ {
304
+ name: 'healthcheck',
305
+ description: 'Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, or OpenClaw cron health.',
306
+ source: 'openclaw-bundled',
307
+ category: 'utilities',
308
+ },
309
+ {
310
+ name: 'model-usage',
311
+ description: 'Use CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost details.',
312
+ source: 'openclaw-bundled',
313
+ category: 'utilities',
314
+ },
315
+ {
316
+ name: 'ordercli',
317
+ description: 'Foodora-only CLI for checking past orders and active order status (Deliveroo WIP).',
318
+ source: 'openclaw-bundled',
319
+ category: 'utilities',
320
+ },
321
+ {
322
+ name: 'session-logs',
323
+ description: 'Search and analyze your own session logs (older/parent conversations) using jq.',
324
+ source: 'openclaw-bundled',
325
+ category: 'utilities',
326
+ },
327
+ {
328
+ name: 'weather',
329
+ description: 'Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or other weather APIs.',
330
+ source: 'openclaw-bundled',
331
+ category: 'utilities',
332
+ },
333
+ {
334
+ name: 'xurl',
335
+ description: 'A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with X/Twitter programmatically.',
336
+ source: 'openclaw-bundled',
337
+ category: 'utilities',
338
+ },
339
+
340
+ // ─── Managed Skills (~/.openclaw/skills/) ──────────────────────────────────
341
+ {
342
+ name: 'agent-nexus-2',
343
+ description: 'Multi-agent coordination and task delegation for complex workflows requiring parallel agent execution.',
344
+ source: 'managed',
345
+ category: 'development',
346
+ },
347
+ {
348
+ name: 'autoresearch',
349
+ description: 'Autonomous code quality improvement loop using keep-or-revert cycles. Optimizes a composite quality score derived from tests, lint, and type coverage.',
350
+ source: 'managed',
351
+ category: 'development',
352
+ },
353
+ {
354
+ name: 'business-strategy',
355
+ description: 'PMF validation, beachhead identification, activity ROI analysis, kill/invest decisions, and strategic metrics for the AI Agent Economy.',
356
+ source: 'managed',
357
+ category: 'productivity',
358
+ },
359
+ {
360
+ name: 'coding-discipline.skill',
361
+ description: 'Enforces strict TypeScript coding standards, test-first development, and zero-stub policies for production-grade agent code.',
362
+ source: 'managed',
363
+ category: 'development',
364
+ },
365
+ {
366
+ name: 'content-writer',
367
+ description: 'Use this skill everytime you are writing an article, social media post, email, etc.',
368
+ source: 'managed',
369
+ category: 'communication',
370
+ },
371
+ {
372
+ name: 'execution-validation.skill',
373
+ description: 'Multi-round automated validation pipeline for TypeScript/Solidity projects before publish or deploy.',
374
+ source: 'managed',
375
+ category: 'development',
376
+ },
377
+ {
378
+ name: 'humanize',
379
+ description: 'Transforms AI-generated writing into content that reads authentically human — passing AI detectors and resonating with real readers.',
380
+ source: 'managed',
381
+ category: 'communication',
382
+ },
383
+ {
384
+ name: 'polyclaw',
385
+ description: 'Trade on Polymarket via split + CLOB execution. Browse markets, track positions with P&L, discover hedges via LLM. Polygon/Web3.',
386
+ source: 'managed',
387
+ category: 'finance',
388
+ },
389
+ {
390
+ name: 'prospector',
391
+ description: 'Find leads, prospects, and contacts matching an Ideal Customer Profile. Searches companies via Exa and enriches contacts via Apollo, outputting to CSV and optionally syncing to Attio CRM.',
392
+ source: 'managed',
393
+ category: 'productivity',
394
+ },
395
+ {
396
+ name: 'rsi.skill',
397
+ description: 'RSI self-improvement cycles implementing measure → hypothesize → mutate → test → apply/discard → repeat for agent capability enhancement.',
398
+ source: 'managed',
399
+ category: 'development',
400
+ },
401
+ {
402
+ name: 'security',
403
+ description: 'Infrastructure threat detection, vulnerability management, and security audit workflows for the OpenClaw workspace.',
404
+ source: 'managed',
405
+ category: 'utilities',
406
+ },
407
+ {
408
+ name: 'strykr-prism',
409
+ description: 'Real-time financial data API for AI agents. Stocks, crypto, forex, ETFs. 120+ endpoints. Alternative to Alpha Vantage, CoinGecko. Works with Claude, Cursor.',
410
+ source: 'managed',
411
+ category: 'finance',
412
+ },
413
+ {
414
+ name: 'taskbridge',
415
+ description: 'Bridge tasks between agent sessions, preserving context and handoff state for long-running multi-session workflows.',
416
+ source: 'managed',
417
+ category: 'productivity',
418
+ },
419
+ {
420
+ name: 'validator-agent',
421
+ description: 'Multi-round automated validation pipeline for TypeScript/Solidity projects. Runs 8 rounds of checks before any publish or deploy: compile gate, lint, test suite, security audit, type coverage, docs, changelog, and final review.',
422
+ source: 'managed',
423
+ category: 'development',
424
+ },
425
+ {
426
+ name: 'webmcp-payments',
427
+ description: 'Handle HTTP 402 Payment Required responses via agentpay-mcp, enabling autonomous micropayment execution within configured spending limits.',
428
+ source: 'managed',
429
+ category: 'finance',
430
+ },
431
+ ];
432
+
433
+ // ─── Count ────────────────────────────────────────────────────────────────────
434
+
435
+ export const SKILLS_COUNT = SKILLS_CATALOG.length;