@praveencs/agent 0.9.29 → 0.10.0

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 (268) hide show
  1. package/README.md +55 -9
  2. package/ROADMAP.md +42 -50
  3. package/agent-skills/README.md +192 -0
  4. package/agent-skills/plugins/aws/plugin.json +22 -0
  5. package/agent-skills/plugins/aws/skills/aws-manager.md +17 -0
  6. package/agent-skills/plugins/aws/tools/aws.js +152 -0
  7. package/agent-skills/plugins/discord/plugin.json +22 -0
  8. package/agent-skills/plugins/discord/skills/discord-manager.md +15 -0
  9. package/agent-skills/plugins/discord/tools/discord.js +150 -0
  10. package/agent-skills/plugins/docker/plugin.json +21 -0
  11. package/agent-skills/plugins/docker/skills/docker-manager.md +15 -0
  12. package/agent-skills/plugins/docker/tools/docker.js +135 -0
  13. package/agent-skills/plugins/firebase/plugin.json +22 -0
  14. package/agent-skills/plugins/firebase/skills/firebase-manager.md +14 -0
  15. package/agent-skills/plugins/firebase/tools/firebase.js +157 -0
  16. package/agent-skills/plugins/github/plugin.json +23 -0
  17. package/agent-skills/plugins/github/skills/github-manager.md +15 -0
  18. package/agent-skills/plugins/github/tools/github.js +133 -0
  19. package/agent-skills/plugins/huggingface/plugin.json +22 -0
  20. package/agent-skills/plugins/huggingface/skills/huggingface-manager.md +16 -0
  21. package/agent-skills/plugins/huggingface/tools/huggingface.js +149 -0
  22. package/agent-skills/plugins/linear/plugin.json +22 -0
  23. package/agent-skills/plugins/linear/skills/linear-manager.md +16 -0
  24. package/agent-skills/plugins/linear/tools/linear.js +199 -0
  25. package/agent-skills/plugins/mongodb/plugin.json +21 -0
  26. package/agent-skills/plugins/mongodb/skills/mongodb-manager.md +14 -0
  27. package/agent-skills/plugins/mongodb/tools/mongodb.js +123 -0
  28. package/agent-skills/plugins/notion/plugin.json +22 -0
  29. package/agent-skills/plugins/notion/skills/notion-manager.md +16 -0
  30. package/agent-skills/plugins/notion/tools/notion.js +158 -0
  31. package/agent-skills/plugins/openai/plugin.json +23 -0
  32. package/agent-skills/plugins/openai/skills/openai-manager.md +15 -0
  33. package/agent-skills/plugins/openai/tools/openai.js +137 -0
  34. package/agent-skills/plugins/resend/plugin.json +21 -0
  35. package/agent-skills/plugins/resend/skills/resend-manager.md +15 -0
  36. package/agent-skills/plugins/resend/tools/resend.js +102 -0
  37. package/agent-skills/plugins/slack/plugin.json +22 -0
  38. package/agent-skills/plugins/slack/skills/slack-manager.md +15 -0
  39. package/agent-skills/plugins/slack/tools/slack.js +168 -0
  40. package/agent-skills/plugins/stripe/plugin.json +22 -0
  41. package/agent-skills/plugins/stripe/skills/stripe-manager.md +16 -0
  42. package/agent-skills/plugins/stripe/tools/stripe.js +174 -0
  43. package/agent-skills/plugins/supabase/plugin.json +22 -0
  44. package/agent-skills/plugins/supabase/skills/supabase-manager.md +16 -0
  45. package/agent-skills/plugins/supabase/tools/supabase.js +153 -0
  46. package/agent-skills/plugins/telegram/plugin.json +21 -0
  47. package/agent-skills/plugins/telegram/skills/telegram-manager.md +14 -0
  48. package/agent-skills/plugins/telegram/tools/telegram.js +131 -0
  49. package/agent-skills/plugins/vercel/plugin.json +22 -0
  50. package/agent-skills/plugins/vercel/skills/vercel-manager.md +15 -0
  51. package/agent-skills/plugins/vercel/tools/vercel.js +145 -0
  52. package/agent-skills/registry.json +675 -0
  53. package/agent-skills/skills/api-tester/prompt.md +27 -0
  54. package/agent-skills/skills/api-tester/skill.json +16 -0
  55. package/agent-skills/skills/backup/prompt.md +12 -0
  56. package/agent-skills/skills/backup/skill.json +1 -0
  57. package/agent-skills/skills/code-review/prompt.md +29 -0
  58. package/agent-skills/skills/code-review/skill.json +18 -0
  59. package/agent-skills/skills/create-note/prompt.md +21 -0
  60. package/agent-skills/skills/create-note/skill.json +15 -0
  61. package/agent-skills/skills/cron-scheduler/prompt.md +25 -0
  62. package/agent-skills/skills/cron-scheduler/skill.json +1 -0
  63. package/agent-skills/skills/db-query/prompt.md +12 -0
  64. package/agent-skills/skills/db-query/skill.json +1 -0
  65. package/agent-skills/skills/docker-deploy/prompt.md +21 -0
  66. package/agent-skills/skills/docker-deploy/skill.json +16 -0
  67. package/agent-skills/skills/file-organizer/prompt.md +32 -0
  68. package/agent-skills/skills/file-organizer/skill.json +19 -0
  69. package/agent-skills/skills/git-commit/prompt.md +21 -0
  70. package/agent-skills/skills/git-commit/skill.json +17 -0
  71. package/agent-skills/skills/log-analyzer/prompt.md +16 -0
  72. package/agent-skills/skills/log-analyzer/skill.json +1 -0
  73. package/agent-skills/skills/npm-publish/prompt.md +24 -0
  74. package/agent-skills/skills/npm-publish/skill.json +20 -0
  75. package/agent-skills/skills/open-vscode/prompt.md +8 -0
  76. package/agent-skills/skills/open-vscode/skill.json +15 -0
  77. package/agent-skills/skills/project-scaffold/prompt.md +43 -0
  78. package/agent-skills/skills/project-scaffold/skill.json +17 -0
  79. package/agent-skills/skills/send-email/prompt.md +19 -0
  80. package/agent-skills/skills/send-email/send.js +60 -0
  81. package/agent-skills/skills/send-email/skill.json +16 -0
  82. package/agent-skills/skills/system-monitor/prompt.md +27 -0
  83. package/agent-skills/skills/system-monitor/skill.json +15 -0
  84. package/agent-skills/skills/web-search/prompt.md +26 -0
  85. package/agent-skills/skills/web-search/skill.json +16 -0
  86. package/dist/src/cli/commands/desktop.d.ts +3 -0
  87. package/dist/src/cli/commands/desktop.d.ts.map +1 -0
  88. package/dist/src/cli/commands/desktop.js +80 -0
  89. package/dist/src/cli/commands/desktop.js.map +1 -0
  90. package/dist/src/cli/commands/multimodal.d.ts +3 -0
  91. package/dist/src/cli/commands/multimodal.d.ts.map +1 -0
  92. package/dist/src/cli/commands/multimodal.js +78 -0
  93. package/dist/src/cli/commands/multimodal.js.map +1 -0
  94. package/dist/src/cli/commands/plugins.d.ts.map +1 -1
  95. package/dist/src/cli/commands/plugins.js +63 -12
  96. package/dist/src/cli/commands/plugins.js.map +1 -1
  97. package/dist/src/cli/commands/sandbox.d.ts +3 -0
  98. package/dist/src/cli/commands/sandbox.d.ts.map +1 -0
  99. package/dist/src/cli/commands/sandbox.js +89 -0
  100. package/dist/src/cli/commands/sandbox.js.map +1 -0
  101. package/dist/src/cli/commands/skills.d.ts.map +1 -1
  102. package/dist/src/cli/commands/skills.js +52 -121
  103. package/dist/src/cli/commands/skills.js.map +1 -1
  104. package/dist/src/cli/commands/swarm.d.ts +3 -0
  105. package/dist/src/cli/commands/swarm.d.ts.map +1 -0
  106. package/dist/src/cli/commands/swarm.js +120 -0
  107. package/dist/src/cli/commands/swarm.js.map +1 -0
  108. package/dist/src/cli/index.d.ts.map +1 -1
  109. package/dist/src/cli/index.js +8 -0
  110. package/dist/src/cli/index.js.map +1 -1
  111. package/dist/src/config/defaults.d.ts.map +1 -1
  112. package/dist/src/config/defaults.js +42 -0
  113. package/dist/src/config/defaults.js.map +1 -1
  114. package/dist/src/config/loader.d.ts +4 -0
  115. package/dist/src/config/loader.d.ts.map +1 -1
  116. package/dist/src/config/loader.js +27 -6
  117. package/dist/src/config/loader.js.map +1 -1
  118. package/dist/src/config/schema.d.ts +261 -0
  119. package/dist/src/config/schema.d.ts.map +1 -1
  120. package/dist/src/config/schema.js +58 -0
  121. package/dist/src/config/schema.js.map +1 -1
  122. package/dist/src/desktop/engine.d.ts +42 -0
  123. package/dist/src/desktop/engine.d.ts.map +1 -0
  124. package/dist/src/desktop/engine.js +77 -0
  125. package/dist/src/desktop/engine.js.map +1 -0
  126. package/dist/src/desktop/index.d.ts +6 -0
  127. package/dist/src/desktop/index.d.ts.map +1 -0
  128. package/dist/src/desktop/index.js +6 -0
  129. package/dist/src/desktop/index.js.map +1 -0
  130. package/dist/src/desktop/input.d.ts +20 -0
  131. package/dist/src/desktop/input.d.ts.map +1 -0
  132. package/dist/src/desktop/input.js +160 -0
  133. package/dist/src/desktop/input.js.map +1 -0
  134. package/dist/src/desktop/screen.d.ts +17 -0
  135. package/dist/src/desktop/screen.d.ts.map +1 -0
  136. package/dist/src/desktop/screen.js +120 -0
  137. package/dist/src/desktop/screen.js.map +1 -0
  138. package/dist/src/desktop/types.d.ts +50 -0
  139. package/dist/src/desktop/types.d.ts.map +1 -0
  140. package/dist/src/desktop/types.js +10 -0
  141. package/dist/src/desktop/types.js.map +1 -0
  142. package/dist/src/hub/lockfile.d.ts +29 -0
  143. package/dist/src/hub/lockfile.d.ts.map +1 -0
  144. package/dist/src/hub/lockfile.js +72 -0
  145. package/dist/src/hub/lockfile.js.map +1 -0
  146. package/dist/src/hub/publisher.d.ts +13 -0
  147. package/dist/src/hub/publisher.d.ts.map +1 -0
  148. package/dist/src/hub/publisher.js +159 -0
  149. package/dist/src/hub/publisher.js.map +1 -0
  150. package/dist/src/hub/registry.d.ts +40 -0
  151. package/dist/src/hub/registry.d.ts.map +1 -0
  152. package/dist/src/hub/registry.js +123 -0
  153. package/dist/src/hub/registry.js.map +1 -0
  154. package/dist/src/multimodal/engine.d.ts +33 -0
  155. package/dist/src/multimodal/engine.d.ts.map +1 -0
  156. package/dist/src/multimodal/engine.js +63 -0
  157. package/dist/src/multimodal/engine.js.map +1 -0
  158. package/dist/src/multimodal/index.d.ts +7 -0
  159. package/dist/src/multimodal/index.d.ts.map +1 -0
  160. package/dist/src/multimodal/index.js +7 -0
  161. package/dist/src/multimodal/index.js.map +1 -0
  162. package/dist/src/multimodal/tts.d.ts +11 -0
  163. package/dist/src/multimodal/tts.d.ts.map +1 -0
  164. package/dist/src/multimodal/tts.js +48 -0
  165. package/dist/src/multimodal/tts.js.map +1 -0
  166. package/dist/src/multimodal/types.d.ts +55 -0
  167. package/dist/src/multimodal/types.d.ts.map +1 -0
  168. package/dist/src/multimodal/types.js +20 -0
  169. package/dist/src/multimodal/types.js.map +1 -0
  170. package/dist/src/multimodal/vision.d.ts +15 -0
  171. package/dist/src/multimodal/vision.d.ts.map +1 -0
  172. package/dist/src/multimodal/vision.js +98 -0
  173. package/dist/src/multimodal/vision.js.map +1 -0
  174. package/dist/src/multimodal/voice.d.ts +11 -0
  175. package/dist/src/multimodal/voice.d.ts.map +1 -0
  176. package/dist/src/multimodal/voice.js +43 -0
  177. package/dist/src/multimodal/voice.js.map +1 -0
  178. package/dist/src/plans/types.d.ts +18 -18
  179. package/dist/src/plugins/loader.d.ts.map +1 -1
  180. package/dist/src/plugins/loader.js +10 -0
  181. package/dist/src/plugins/loader.js.map +1 -1
  182. package/dist/src/sandbox/docker.d.ts +42 -0
  183. package/dist/src/sandbox/docker.d.ts.map +1 -0
  184. package/dist/src/sandbox/docker.js +131 -0
  185. package/dist/src/sandbox/docker.js.map +1 -0
  186. package/dist/src/sandbox/engine.d.ts +50 -0
  187. package/dist/src/sandbox/engine.d.ts.map +1 -0
  188. package/dist/src/sandbox/engine.js +133 -0
  189. package/dist/src/sandbox/engine.js.map +1 -0
  190. package/dist/src/sandbox/index.d.ts +5 -0
  191. package/dist/src/sandbox/index.d.ts.map +1 -0
  192. package/dist/src/sandbox/index.js +5 -0
  193. package/dist/src/sandbox/index.js.map +1 -0
  194. package/dist/src/sandbox/types.d.ts +41 -0
  195. package/dist/src/sandbox/types.d.ts.map +1 -0
  196. package/dist/src/sandbox/types.js +12 -0
  197. package/dist/src/sandbox/types.js.map +1 -0
  198. package/dist/src/scripts/types.d.ts +2 -2
  199. package/dist/src/server/app.d.ts.map +1 -1
  200. package/dist/src/server/app.js +133 -0
  201. package/dist/src/server/app.js.map +1 -1
  202. package/dist/src/skills/loader.d.ts.map +1 -1
  203. package/dist/src/skills/loader.js +10 -0
  204. package/dist/src/skills/loader.js.map +1 -1
  205. package/dist/src/swarm/bus.d.ts +27 -0
  206. package/dist/src/swarm/bus.d.ts.map +1 -0
  207. package/dist/src/swarm/bus.js +64 -0
  208. package/dist/src/swarm/bus.js.map +1 -0
  209. package/dist/src/swarm/index.d.ts +6 -0
  210. package/dist/src/swarm/index.d.ts.map +1 -0
  211. package/dist/src/swarm/index.js +6 -0
  212. package/dist/src/swarm/index.js.map +1 -0
  213. package/dist/src/swarm/orchestrator.d.ts +79 -0
  214. package/dist/src/swarm/orchestrator.d.ts.map +1 -0
  215. package/dist/src/swarm/orchestrator.js +271 -0
  216. package/dist/src/swarm/orchestrator.js.map +1 -0
  217. package/dist/src/swarm/roles.d.ts +18 -0
  218. package/dist/src/swarm/roles.d.ts.map +1 -0
  219. package/dist/src/swarm/roles.js +83 -0
  220. package/dist/src/swarm/roles.js.map +1 -0
  221. package/dist/src/swarm/types.d.ts +58 -0
  222. package/dist/src/swarm/types.d.ts.map +1 -0
  223. package/dist/src/swarm/types.js +10 -0
  224. package/dist/src/swarm/types.js.map +1 -0
  225. package/dist/src/tools/core/cmd.d.ts.map +1 -1
  226. package/dist/src/tools/core/cmd.js +28 -0
  227. package/dist/src/tools/core/cmd.js.map +1 -1
  228. package/dist/src/utils/paths.d.ts +4 -4
  229. package/dist/src/utils/paths.d.ts.map +1 -1
  230. package/dist/src/utils/paths.js +8 -8
  231. package/dist/src/utils/paths.js.map +1 -1
  232. package/docs/DOCUMENTATION.md +137 -0
  233. package/package.json +4 -2
  234. package/studio/README.md +73 -0
  235. package/studio/eslint.config.js +23 -0
  236. package/studio/index.html +13 -0
  237. package/studio/package-lock.json +4350 -0
  238. package/studio/package.json +44 -0
  239. package/studio/postcss.config.js +6 -0
  240. package/studio/public/vite.svg +1 -0
  241. package/studio/src/App.tsx +243 -0
  242. package/studio/src/assets/react.svg +1 -0
  243. package/studio/src/components/Capabilities.tsx +80 -0
  244. package/studio/src/components/CommandsManager.tsx +94 -0
  245. package/studio/src/components/CostDashboard.tsx +182 -0
  246. package/studio/src/components/CredentialCapture.tsx +196 -0
  247. package/studio/src/components/CredentialsManager.tsx +257 -0
  248. package/studio/src/components/DaemonPanel.tsx +91 -0
  249. package/studio/src/components/DesktopPanel.tsx +118 -0
  250. package/studio/src/components/GoalTemplates.tsx +190 -0
  251. package/studio/src/components/GoalsPanel.tsx +235 -0
  252. package/studio/src/components/MemoryExplorer.tsx +152 -0
  253. package/studio/src/components/MultimodalPanel.tsx +150 -0
  254. package/studio/src/components/NotificationsPanel.tsx +175 -0
  255. package/studio/src/components/PluginsManager.tsx +60 -0
  256. package/studio/src/components/SandboxPanel.tsx +118 -0
  257. package/studio/src/components/ScriptsManager.tsx +269 -0
  258. package/studio/src/components/SkillsManager.tsx +123 -0
  259. package/studio/src/components/SwarmPanel.tsx +149 -0
  260. package/studio/src/components/TaskStreaming.tsx +189 -0
  261. package/studio/src/components/Terminal.tsx +200 -0
  262. package/studio/src/index.css +51 -0
  263. package/studio/src/main.tsx +13 -0
  264. package/studio/tailwind.config.js +47 -0
  265. package/studio/tsconfig.app.json +28 -0
  266. package/studio/tsconfig.json +7 -0
  267. package/studio/tsconfig.node.json +26 -0
  268. package/studio/vite.config.ts +7 -0
package/README.md CHANGED
@@ -301,20 +301,66 @@ The daemon auto-discovers scripts and can execute them via the `script.run` tool
301
301
 
302
302
  ### Plugins
303
303
 
304
- Bundle skills + commands + scripts + hooks into a package:
304
+ Bundle native Node.js tools, skills, commands, scripts, and hooks into a single distributable package. The **Agent Hub** acts as the official registry for community plugins.
305
305
 
306
+ ```bash
307
+ # Install the official GitHub plugin from the Hub
308
+ agent plugins install github
309
+
310
+ # Or install from a local path
311
+ agent plugins install ./my-plugin
312
+
313
+ # List installed plugins
314
+ agent plugins list
306
315
  ```
307
- my-plugin/
308
- ├── plugin.json
309
- ├── skills/
310
- ├── commands/
311
- ├── scripts/
312
- └── hooks/
316
+
317
+ **Featured Plugin: GitHub (`github`)**
318
+ - Grants the agent zero-dependency native control over GitHub.
319
+ - Can create repos, open PRs, and manipulate Issues.
320
+ - Unlocks **Advanced Global Search** natively.
321
+ - Can view, dispatch, and monitor **GitHub Actions CI/CD workflows**.
322
+
323
+ **16 Plugins Available** — Slack, Notion, Vercel, Supabase, Stripe, AWS, Discord, OpenAI, Linear, Docker, MongoDB, Firebase, Telegram, HuggingFace, Resend.
324
+
325
+ ### 🐳 Sandboxed Execution
326
+
327
+ Run commands safely inside Docker containers:
328
+
329
+ ```bash
330
+ agent sandbox start # Spin up ephemeral container
331
+ agent sandbox status # Container info
332
+ agent sandbox stop # Destroy sandbox
313
333
  ```
314
334
 
335
+ ### 🐝 Multi-Agent Swarm
336
+
337
+ Coordinate specialized agents (Planner, Coder, Reviewer, Researcher, Tester):
338
+
315
339
  ```bash
316
- agent plugins install ./my-plugin
317
- agent plugins list
340
+ agent swarm start "Build a REST API with auth"
341
+ agent swarm status # View agents & tasks
342
+ agent swarm roles # List available roles
343
+ ```
344
+
345
+ ### 🖥️ Desktop Automation
346
+
347
+ Cross-platform desktop control (Linux, macOS, Windows):
348
+
349
+ ```bash
350
+ agent desktop screenshot # Capture screen
351
+ agent desktop click 500 300 # Mouse click
352
+ agent desktop type "Hello" --enter
353
+ agent desktop hotkey ctrl+s # Keyboard shortcut
354
+ ```
355
+
356
+ ### 🌈 Multimodal Interfaces
357
+
358
+ Voice, vision, and speech powered by OpenAI:
359
+
360
+ ```bash
361
+ agent multimodal transcribe audio.wav # Whisper STT
362
+ agent multimodal analyze image.png # GPT-4o Vision
363
+ agent multimodal speak "Done!" # TTS
318
364
  ```
319
365
 
320
366
  ### Lifecycle Hooks
package/ROADMAP.md CHANGED
@@ -1,71 +1,63 @@
1
1
  # 🛣️ Roadmap: The Future of @praveencs/agent
2
2
 
3
- We have built a robust autonomous agent runtime (`v0.7.x`). But this is just the beginning.
4
- Here is our vision for the next major milestones.
3
+ We have built a robust autonomous agent runtime (`v0.9.x`). Here is our progress on the major milestones.
5
4
 
6
- ## Phase 1: Robustness & Safety (Current Focus)
7
- - [ ] **Sandboxed Execution**: Run all shell skills inside ephemeral Docker containers to prevent accidental system damage.
8
- - [ ] **Permission Scopes**: Fine-grained access control (e.g., "Allow read access to `/project` but write access only to `/project/src`").
9
- - [ ] **Secrets Management**: Secure, encrypted storage for API keys integrated with system keychains.
5
+ ## Phase 1: Robustness & Safety
6
+ - [x] **Sandboxed Execution**: Run all shell commands inside ephemeral Docker containers via `src/sandbox/`. Configure image, network, and mounts in `agent.yaml`.
7
+ - [x] **Permission Scopes**: Fine-grained access control via the policy engine (`config.policy`).
8
+ - [x] **Secrets Management**: Encrypted credential vault with `agent studio` Credentials page and `secrets.get/set/list` tools.
10
9
 
11
- ## Phase 2: Multi-Agent Collaboration (The Swarm)
12
- - [ ] **Agent-to-Agent Protocol**: Define a standard schema for agents to send messages and delegate tasks to each other.
13
- - [ ] **Specialized Personas**:
14
- - `Coder Agent`: Writes and tests code.
15
- - `Reviewer Agent`: Critiques pull requests.
16
- - `Architect Agent`: High-level system design.
17
- - [ ] **Orchestrator**: A master process that spins up specialized agents for a complex goal.
10
+ ## Phase 2: Multi-Agent Collaboration (The Swarm)
11
+ - [x] **Agent-to-Agent Protocol**: Event-driven `MessageBus` for inter-agent communication with pub/sub, broadcast, and history.
12
+ - [x] **Specialized Personas**: 5 built-in roles — Planner, Coder, Reviewer, Researcher, Tester — each with system prompts and tool permissions.
13
+ - [x] **Orchestrator**: `SwarmOrchestrator` spawns agents, assigns tasks, handles delegation chains up to configurable depth.
18
14
 
19
- ## Phase 3: Multimodal Interfaces
20
- - [ ] **Voice Interface**: Speak to your agent ("Deploy this to prod") and hear responses.
21
- - [ ] **Vision Capabilities**: Allow the agent to "see" your screen or read images (e.g., "Fix the CSS on this screenshot").
15
+ ## Phase 3: Multimodal Interfaces
16
+ - [x] **Voice Interface**: Speech-to-text via OpenAI Whisper (`agent multimodal transcribe`).
17
+ - [x] **Vision Capabilities**: Image analysis via GPT-4o vision (`agent multimodal analyze`) supports local files and URLs.
18
+ - [x] **Text-to-Speech**: Generate spoken audio with 6 voices (`agent multimodal speak`).
22
19
  - [ ] **IDE Integration**: VS Code extension to have the agent live in your editor sidebar.
23
20
 
24
21
  ## Phase 4: The Agent Cloud
25
- - [ ] **Skill Hub**: A public registry (npm-style) to share and install community skills.
22
+ - [x] **Skill Hub**: Agent Hub with 16 plugins (registry + remote install from GitHub).
26
23
  - [ ] **Remote Execution**: Run the heavy agent logic on a cloud server while controlling it from your laptop.
27
- - [ ] **Web Dashboard**: Real-time visualization of agent thought processes, memory graph, and task plans.
24
+ - [x] **Web Dashboard**: Agent Studio with real-time visualization, 18 panels, and REST API.
28
25
 
29
26
  ## Phase 5: Plugin Ecosystem & Extensibility ✅
30
- - [x] **Lifecycle Hooks**: Event-driven hook system (`before:tool`, `after:step`, `before:plan`, etc.) allowing custom scripts to intercept and validate agent execution at every stage.
31
- - [x] **Lightweight Commands**: Reusable goal templates defined as markdown files with YAML frontmatter — no `skill.json` boilerplate needed. Auto-detected by `agent run <command-name>`.
32
- - [x] **Multi-CLI Orchestration**: First-class tool wrappers for external AI CLIs (`cli.cursor`, `cli.codex`, `cli.gemini`, `cli.claude`) so the agent can delegate specialized coding sub-tasks to the right tool.
33
- - [x] **Plugin System**: Distributable bundles (`plugin.json`) that package skills, commands, hooks, tools, and scripts together. Install with `agent plugins install <path>`.
34
- - [x] **Scripts System**: Repeatable, scriptable tasks defined via `script.yaml` — direct shell/Node execution without LLM involvement. Support for named arguments, environment variables, interpreter auto-detection, timeouts, and confirmation prompts. Works both standalone (`.agent/scripts/`) and inside plugins.
35
- - [x] **New CLI Commands**: `agent hooks list|add|events`, `agent commands list`, `agent plugins list|install|remove`, `agent scripts list|run|show`.
27
+ - [x] **Lifecycle Hooks**: Event-driven hook system (`before:tool`, `after:step`, `before:plan`, etc.).
28
+ - [x] **Lightweight Commands**: Reusable goal templates as markdown files with YAML frontmatter.
29
+ - [x] **Multi-CLI Orchestration**: Tool wrappers for external AI CLIs (`cli.cursor`, `cli.codex`, `cli.gemini`, `cli.claude`).
30
+ - [x] **Plugin System**: 16 distributable plugins (GitHub, Slack, Notion, Vercel, Supabase, Stripe, AWS, Discord, OpenAI, Linear, Docker, MongoDB, Firebase, Telegram, HuggingFace, Resend).
31
+ - [x] **Scripts System**: Repeatable scriptable tasks via `script.yaml`.
32
+ - [x] **New CLI Commands**: `agent hooks|commands|plugins|scripts|sandbox|swarm|desktop|multimodal`.
36
33
 
37
34
  ## Phase 6: Interactive CLI Experience ✅
38
- - [x] **Interactive REPL**: When the user types `agent` with no arguments, launch a conversational session with multi-turn context, slash commands, and inline tool execution.
39
- - [x] **Slash Commands**: Built-in `/help`, `/skills`, `/commands`, `/hooks`, `/model`, `/compact`, `/clear`, `/exit` — plus any user-defined commands are auto-registered as `/command-name`.
40
- - [x] **Rich Terminal UI**: Bordered welcome banner, ora spinners during LLM thinking, inline tool call badges (⚡ running → ✓/✗), completion summaries with timing.
41
- - [x] **Tab Completion**: Autocomplete slash commands and user commands in the REPL.
42
- - [x] **Conversation Context**: Multi-turn session with conversation compaction support.
35
+ - [x] **Interactive REPL**: Conversational sessions with multi-turn context and slash commands.
36
+ - [x] **Slash Commands**: Built-in `/help`, `/skills`, `/commands`, `/hooks`, `/model`, `/compact`, `/clear`, `/exit`.
37
+ - [x] **Rich Terminal UI**: Bordered welcome banner, spinners, inline tool call badges, completion timing.
38
+ - [x] **Tab Completion**: Autocomplete slash commands in the REPL.
39
+ - [x] **Conversation Context**: Multi-turn with conversation compaction support.
43
40
 
44
- ## Phase 7: Desktop Automation (All OS)
45
- Cross-platform desktop control so the agent can operate any application — not just the terminal.
41
+ ## Phase 7: Desktop Automation (All OS)
42
+ - [x] **`desktop.screenshot`**: Cross-platform capture (scrot/gnome-screenshot, screencapture, PowerShell).
43
+ - [x] **`desktop.click`** / **`desktop.doubleClick`** / **`desktop.rightClick`**: Mouse control via xdotool/osascript.
44
+ - [x] **`desktop.type`** / **`desktop.hotkey`**: Keyboard input and shortcut combinations.
45
+ - [x] **`desktop.scroll`**: Scroll at position.
46
+ - [x] **`desktop.drag`**: Drag from point A to point B.
47
+ - [x] **Cross-platform engine**: Works on Linux (xdotool), macOS (osascript/cliclick), and Windows (PowerShell).
46
48
 
47
- ### Layer 1: Screen Control (`desktop.*` tools)
48
- - [ ] **`desktop.screenshot`**: Capture the screen or a specific window, return as base64 for vision LLMs.
49
- - [ ] **`desktop.click`** / **`desktop.doubleClick`** / **`desktop.rightClick`**: Mouse control at pixel coordinates.
50
- - [ ] **`desktop.type`** / **`desktop.hotkey`**: Keyboard input and shortcut combinations (e.g., `Ctrl+S`).
51
- - [ ] **`desktop.scroll`**: Scroll at position or within active window.
52
- - [ ] **`desktop.drag`**: Drag from point A to point B.
53
- - [ ] **Cross-platform engine**: Built on [`nut.js`](https://nutjs.dev) — works on Windows, macOS, and Linux with a single API.
49
+ ### Layer 2: AI-Powered Vision
50
+ - [x] **Vision Loop**: Screenshot GPT-4o analysis action verify cycle via MultimodalEngine.
51
+ - [ ] **Element Detection**: Use image template matching for UI element recognition.
52
+ - [ ] **OCR Integration**: Extract text from screen regions.
54
53
 
55
- ### Layer 2: AI-Powered Vision
56
- - [ ] **Anthropic Computer Use**: Send screenshots to Claude, receive structured actions (`click`, `type`, `scroll`) with coordinates.
57
- - [ ] **Vision Loop**: `screenshot → LLM analysis → action → screenshot → verify` cycle for goal-driven desktop automation.
58
- - [ ] **Element Detection**: Use image template matching (`@nut-tree/template-matcher`) to find UI elements by visual appearance.
59
- - [ ] **OCR Integration**: Extract text from screen regions for reading non-accessible UI content.
60
-
61
- ### Layer 3: OS-Native Accessibility APIs
62
- - [ ] **macOS**: AppleScript / JXA for native app control (`tell application "Safari" to open location`).
63
- - [ ] **Windows**: PowerShell + UI Automation API for Win32/WPF/UWP app control.
64
- - [ ] **Linux**: `xdotool` + AT-SPI2 for X11/Wayland window management and GTK/Qt app inspection.
65
- - [ ] **Window Management**: `desktop.focus`, `desktop.resize`, `desktop.list_windows` via `active-win` / `node-window-manager`.
54
+ ### Layer 3: OS-Native Accessibility APIs (Partial)
55
+ - [x] **macOS**: AppleScript/osascript for native app control.
56
+ - [x] **Linux**: xdotool for X11 window management.
57
+ - [ ] **Windows**: PowerShell + UI Automation API.
66
58
 
67
59
  ### Layer 4: Browser Automation
68
- - [ ] **Playwright Integration**: `desktop.browser.open`, `desktop.browser.click`, `desktop.browser.fill` for web app automation.
60
+ - [ ] **Playwright Integration**: `desktop.browser.open`, `desktop.browser.click`, `desktop.browser.fill`.
69
61
  - [ ] **Cookie/Session Persistence**: Maintain browser sessions across agent runs.
70
62
 
71
63
  ### Use Cases
@@ -0,0 +1,192 @@
1
+ <p align="center">
2
+ <h1 align="center">📦 Agent Hub</h1>
3
+ <p align="center">
4
+ The official Plugin and Skill registry for <a href="https://github.com/praveencs87/agent"><b>@praveencs/agent</b></a><br/>
5
+ Community-built plugins and skills for AI-powered automation
6
+ </p>
7
+ <p align="center">
8
+ <a href="https://github.com/praveencs87/agent-skills"><img src="https://img.shields.io/badge/skills-16-blueviolet" alt="Skills"></a>
9
+ <a href="https://github.com/praveencs87/agent"><img src="https://img.shields.io/badge/agent-v0.1.0-blue" alt="Agent"></a>
10
+ <a href="https://github.com/praveencs87/agent-skills/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"></a>
11
+ </p>
12
+ </p>
13
+
14
+ ---
15
+
16
+ ## Installation
17
+
18
+ ### Installing Plugins
19
+ ```bash
20
+ agent plugins install <plugin-name>
21
+ # Example:
22
+ agent plugins install github
23
+ ```
24
+
25
+ ### Installing Skills
26
+ ```bash
27
+ agent skills install <skill-name>
28
+ ```
29
+
30
+ ### Manual Installation
31
+ ```bash
32
+ git clone https://github.com/praveencs87/agent-skills.git
33
+ cp -r agent-skills/skills/<skill-name> .agent/skills/
34
+ ```
35
+
36
+ ---
37
+
38
+ ## 📋 Table of Contents
39
+
40
+ - [Plugins](#plugins)
41
+ - [Coding & IDEs](#coding--ides)
42
+ - [Git & Version Control](#git--version-control)
43
+ - [DevOps & Cloud](#devops--cloud)
44
+ - [Communication](#communication)
45
+ - [Productivity](#productivity)
46
+ - [Search & Research](#search--research)
47
+ - [CLI Utilities](#cli-utilities)
48
+ - [Data & Analytics](#data--analytics)
49
+ - [Browser & Automation](#browser--automation)
50
+
51
+ ---
52
+
53
+ ## Plugins
54
+
55
+ Plugins are full-capability bundles that provide native Node.js tools, hooks, scripts, and skills in a single standalone package.
56
+
57
+ | Plugin | Description | Capabilities |
58
+ |--------|-------------|--------------|
59
+ | [github](plugins/github/) | Manage repos, PRs, issues, and CI/CD workflows on GitHub. | `tools/github.js`, `skills/github-manager.md` |
60
+ | [slack](plugins/slack/) | Send messages, manage channels, search history, and upload files to Slack. | `tools/slack.js`, `skills/slack-manager.md` |
61
+ | [notion](plugins/notion/) | Create/manage Notion pages, databases, blocks, and search workspace. | `tools/notion.js`, `skills/notion-manager.md` |
62
+ | [vercel](plugins/vercel/) | Deploy projects, manage domains, and configure env vars on Vercel. | `tools/vercel.js`, `skills/vercel-manager.md` |
63
+ | [supabase](plugins/supabase/) | Query Postgres, manage auth users, and use storage on Supabase. | `tools/supabase.js`, `skills/supabase-manager.md` |
64
+ | [stripe](plugins/stripe/) | Manage customers, subscriptions, checkout sessions, and refunds on Stripe. | `tools/stripe.js`, `skills/stripe-manager.md` |
65
+ | [aws](plugins/aws/) | Manage S3 buckets, Lambda functions, EC2 instances, and CloudWatch logs. | `tools/aws.js`, `skills/aws-manager.md` |
66
+ | [discord](plugins/discord/) | Send messages, manage channels and roles, use webhooks on Discord. | `tools/discord.js`, `skills/discord-manager.md` |
67
+ | [openai](plugins/openai/) | Direct GPT chat, DALL-E image gen, Whisper transcription, TTS, and embeddings. | `tools/openai.js`, `skills/openai-manager.md` |
68
+ | [linear](plugins/linear/) | Manage issues, projects, teams, and cycles on Linear. | `tools/linear.js`, `skills/linear-manager.md` |
69
+ | [docker](plugins/docker/) | Build images, run containers, manage compose stacks on Docker. | `tools/docker.js`, `skills/docker-manager.md` |
70
+ | [mongodb](plugins/mongodb/) | Query, insert, update, and aggregate data on MongoDB Atlas. | `tools/mongodb.js`, `skills/mongodb-manager.md` |
71
+ | [firebase](plugins/firebase/) | Manage Firestore docs, Auth users, and Cloud Storage on Firebase. | `tools/firebase.js`, `skills/firebase-manager.md` |
72
+ | [telegram](plugins/telegram/) | Send messages, photos, polls, and manage groups via Telegram bots. | `tools/telegram.js`, `skills/telegram-manager.md` |
73
+ | [huggingface](plugins/huggingface/) | Run ML inference and search the Hugging Face model hub. | `tools/huggingface.js`, `skills/huggingface-manager.md` |
74
+ | [resend](plugins/resend/) | Send transactional emails and manage domains via Resend. | `tools/resend.js`, `skills/resend-manager.md` |
75
+
76
+ ---
77
+
78
+ ## Coding & IDEs
79
+
80
+ | Skill | Description | Tools |
81
+ |-------|-------------|-------|
82
+ | [open-vscode](skills/open-vscode/) | Opens VS Code in the current or specified directory | `cmd.run` |
83
+ | [project-scaffold](skills/project-scaffold/) | Scaffold new projects (Node.js, Python, React, Next.js, Express) | `cmd.run`, `fs.write` |
84
+ | [npm-publish](skills/npm-publish/) | Prepare and publish npm packages with version bumping | `cmd.run`, `fs.read`, `fs.write` |
85
+ | [code-review](skills/code-review/) | Review code changes for bugs, security issues, and best practices | `cmd.run`, `git.diff`, `fs.read` |
86
+
87
+ ## Git & Version Control
88
+
89
+ | Skill | Description | Tools |
90
+ |-------|-------------|-------|
91
+ | [git-commit](skills/git-commit/) | Stages changes and creates conventional git commits | `cmd.run`, `git.status`, `git.diff` |
92
+
93
+ ## DevOps & Cloud
94
+
95
+ | Skill | Description | Tools |
96
+ |-------|-------------|-------|
97
+ | [docker-deploy](skills/docker-deploy/) | Build, run, and manage Docker containers and compose stacks | `cmd.run` |
98
+ | [system-monitor](skills/system-monitor/) | Monitor system resources — CPU, memory, disk, processes | `cmd.run` |
99
+ | [log-analyzer](skills/log-analyzer/) | Analyze log files — find errors, patterns, and anomalies | `cmd.run`, `fs.read` |
100
+
101
+ ## Communication
102
+
103
+ | Skill | Description | Tools |
104
+ |-------|-------------|-------|
105
+ | [send-email](skills/send-email/) | Sends emails using nodemailer via SMTP | `cmd.run` |
106
+
107
+ ## Productivity
108
+
109
+ | Skill | Description | Tools |
110
+ |-------|-------------|-------|
111
+ | [create-note](skills/create-note/) | Creates formatted markdown notes and saves them as files | `fs.write` |
112
+
113
+ ## Search & Research
114
+
115
+ | Skill | Description | Tools |
116
+ |-------|-------------|-------|
117
+ | [web-search](skills/web-search/) | Search the web using curl and extract relevant information | `cmd.run` |
118
+
119
+ ## CLI Utilities
120
+
121
+ | Skill | Description | Tools |
122
+ |-------|-------------|-------|
123
+ | [file-organizer](skills/file-organizer/) | Organizes files by type, date, or custom rules | `cmd.run`, `fs.read`, `fs.write` |
124
+ | [backup](skills/backup/) | Backup files and directories using tar, rsync, or zip | `cmd.run` |
125
+ | [cron-scheduler](skills/cron-scheduler/) | Manage cron jobs — create, list, edit, delete | `cmd.run` |
126
+
127
+ ## Data & Analytics
128
+
129
+ | Skill | Description | Tools |
130
+ |-------|-------------|-------|
131
+ | [db-query](skills/db-query/) | Query databases — SQLite, PostgreSQL, MySQL via CLI | `cmd.run` |
132
+
133
+ ## Browser & Automation
134
+
135
+ | Skill | Description | Tools |
136
+ |-------|-------------|-------|
137
+ | [api-tester](skills/api-tester/) | Test REST APIs with curl — GET, POST, PUT, DELETE | `cmd.run` |
138
+
139
+ ---
140
+
141
+ ## 🛠️ Creating a Skill
142
+
143
+ Each skill is a folder containing:
144
+
145
+ ```
146
+ my-skill/
147
+ ├── skill.json # Manifest (name, description, tools, permissions)
148
+ └── prompt.md # Instructions for the AI agent
149
+ ```
150
+
151
+ ### `skill.json` Example
152
+ ```json
153
+ {
154
+ "name": "my-skill",
155
+ "version": "1.0.0",
156
+ "description": "What this skill does",
157
+ "tools": ["cmd.run"],
158
+ "permissions": {
159
+ "required": ["exec"]
160
+ },
161
+ "entrypoint": "prompt.md",
162
+ "state": "approved"
163
+ }
164
+ ```
165
+
166
+ ### `prompt.md` Example
167
+ ```markdown
168
+ Describe what the agent should do when this skill is invoked.
169
+ Include specific commands, parameters, and expected outputs.
170
+ ```
171
+
172
+ ---
173
+
174
+ ## 🤝 Contributing
175
+
176
+ 1. Fork this repository
177
+ 2. Create your skill folder under `skills/`
178
+ 3. Add `skill.json` and `prompt.md`
179
+ 4. Add your skill to `registry.json`
180
+ 5. Submit a Pull Request
181
+
182
+ ### Guidelines
183
+ - Skills should be focused and single-purpose
184
+ - Include clear instructions in `prompt.md`
185
+ - Specify minimum required permissions
186
+ - Test your skill with `agent run --skill <name> "<goal>"`
187
+
188
+ ---
189
+
190
+ ## License
191
+
192
+ MIT © [praveencs](https://github.com/praveencs87)
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "aws",
3
+ "version": "1.0.0",
4
+ "description": "Manage S3 buckets, Lambda functions, EC2 instances, and CloudWatch logs on AWS.",
5
+ "author": "Praveen",
6
+ "category": "DevOps & Cloud",
7
+ "tags": [
8
+ "aws",
9
+ "s3",
10
+ "lambda",
11
+ "ec2",
12
+ "cloud"
13
+ ],
14
+ "exports": {
15
+ "tools": [
16
+ "tools/aws.js"
17
+ ],
18
+ "skills": [
19
+ "skills/aws-manager.md"
20
+ ]
21
+ }
22
+ }
@@ -0,0 +1,17 @@
1
+ # AWS Manager
2
+
3
+ ## Description
4
+ This skill enables you to manage S3 buckets, Lambda functions, EC2 instances, and CloudWatch logs on AWS.
5
+
6
+ ## Instructions
7
+ 1. This plugin uses the **AWS CLI** (`aws`). It must be installed and configured on the host machine.
8
+ 2. For S3 operations: `s3_list_buckets` shows all buckets, `s3_list_objects` lists files in a bucket with optional `prefix` filtering.
9
+ 3. To upload a local file to S3, use `action: "s3_upload"` with `file` (local path), `bucket`, and `key` (destination path).
10
+ 4. For Lambda, use `lambda_invoke` with `function_name` and a `payload` object. The response contains the function's return value.
11
+ 5. For EC2, use `ec2_list` to see instances (filtered by `state`: running, stopped). Use `ec2_start` / `ec2_stop` with the `instance_id`.
12
+ 6. For CloudWatch, first `cloudwatch_log_groups` to discover groups, then `cloudwatch_logs` with `log_group` and `log_stream` to fetch entries.
13
+ 7. Set `region` parameter to target a specific AWS region, or it defaults to `AWS_DEFAULT_REGION` or `us-east-1`.
14
+ 8. Credentials can be configured via `AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY` or `AWS_PROFILE`.
15
+
16
+ ## Input Variables
17
+ {{input}}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * AWS automation tool.
3
+ * Provides S3, Lambda, EC2, and CloudWatch management via AWS CLI commands.
4
+ * Uses the AWS CLI (`aws`) which must be installed and configured on the host.
5
+ */
6
+ import { execFile } from 'node:child_process';
7
+ import { promisify } from 'node:util';
8
+
9
+ const execFileAsync = promisify(execFile);
10
+
11
+ export async function execute(params) {
12
+ const { action, ...args } = params;
13
+
14
+ // Verify AWS credentials are available
15
+ if (!process.env.AWS_ACCESS_KEY_ID && !process.env.AWS_PROFILE) {
16
+ throw new Error('AWS credentials not configured. Export AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY, or set AWS_PROFILE.');
17
+ }
18
+
19
+ const region = args.region || process.env.AWS_DEFAULT_REGION || 'us-east-1';
20
+
21
+ /** Run an AWS CLI command and return parsed JSON */
22
+ async function awsCli(service, command, cliArgs = []) {
23
+ const fullArgs = [service, command, '--region', region, '--output', 'json', ...cliArgs];
24
+ try {
25
+ const { stdout } = await execFileAsync('aws', fullArgs, {
26
+ timeout: 30000,
27
+ maxBuffer: 10 * 1024 * 1024,
28
+ env: process.env
29
+ });
30
+ try {
31
+ return JSON.parse(stdout);
32
+ } catch {
33
+ return { output: stdout.trim() };
34
+ }
35
+ } catch (err) {
36
+ throw new Error(`AWS CLI Error: ${err.stderr || err.message}`);
37
+ }
38
+ }
39
+
40
+ try {
41
+ switch (action) {
42
+ // --- S3 ---
43
+ case 's3_list_buckets':
44
+ return await awsCli('s3api', 'list-buckets');
45
+
46
+ case 's3_list_objects':
47
+ return await awsCli('s3api', 'list-objects-v2', [
48
+ '--bucket', args.bucket,
49
+ '--max-items', String(args.limit || 50),
50
+ ...(args.prefix ? ['--prefix', args.prefix] : [])
51
+ ]);
52
+
53
+ case 's3_create_bucket':
54
+ return await awsCli('s3api', 'create-bucket', [
55
+ '--bucket', args.bucket,
56
+ ...(region !== 'us-east-1' ? ['--create-bucket-configuration', `LocationConstraint=${region}`] : [])
57
+ ]);
58
+
59
+ case 's3_delete_bucket':
60
+ return await awsCli('s3api', 'delete-bucket', ['--bucket', args.bucket]);
61
+
62
+ case 's3_upload': {
63
+ const dest = `s3://${args.bucket}/${args.key}`;
64
+ return await awsCli('s3', 'cp', [args.file, dest]);
65
+ }
66
+
67
+ case 's3_download': {
68
+ const src = `s3://${args.bucket}/${args.key}`;
69
+ return await awsCli('s3', 'cp', [src, args.file || `./${args.key}`]);
70
+ }
71
+
72
+ // --- LAMBDA ---
73
+ case 'lambda_list':
74
+ return await awsCli('lambda', 'list-functions', ['--max-items', String(args.limit || 20)]);
75
+
76
+ case 'lambda_invoke':
77
+ return await awsCli('lambda', 'invoke', [
78
+ '--function-name', args.function_name,
79
+ '--payload', JSON.stringify(args.payload || {}),
80
+ '--cli-binary-format', 'raw-in-base64-out',
81
+ '/dev/stdout'
82
+ ]);
83
+
84
+ case 'lambda_get':
85
+ return await awsCli('lambda', 'get-function', ['--function-name', args.function_name]);
86
+
87
+ // --- EC2 ---
88
+ case 'ec2_list':
89
+ return await awsCli('ec2', 'describe-instances', [
90
+ '--filters', `Name=instance-state-name,Values=${args.state || 'running'}`,
91
+ '--max-items', String(args.limit || 20)
92
+ ]);
93
+
94
+ case 'ec2_start':
95
+ return await awsCli('ec2', 'start-instances', ['--instance-ids', args.instance_id]);
96
+
97
+ case 'ec2_stop':
98
+ return await awsCli('ec2', 'stop-instances', ['--instance-ids', args.instance_id]);
99
+
100
+ // --- CLOUDWATCH ---
101
+ case 'cloudwatch_logs':
102
+ return await awsCli('logs', 'get-log-events', [
103
+ '--log-group-name', args.log_group,
104
+ '--log-stream-name', args.log_stream,
105
+ '--limit', String(args.limit || 50)
106
+ ]);
107
+
108
+ case 'cloudwatch_log_groups':
109
+ return await awsCli('logs', 'describe-log-groups', [
110
+ '--limit', String(args.limit || 20)
111
+ ]);
112
+
113
+ default:
114
+ throw new Error(`Unknown action: ${action}`);
115
+ }
116
+ } catch (err) {
117
+ return { error: err.message, stack: err.stack };
118
+ }
119
+ }
120
+
121
+ export const definition = {
122
+ name: 'aws',
123
+ description: 'Manage AWS resources: S3 buckets, Lambda functions, EC2 instances, and CloudWatch logs. Requires AWS CLI installed and credentials configured.',
124
+ parameters: {
125
+ type: 'object',
126
+ required: ['action'],
127
+ properties: {
128
+ action: {
129
+ type: 'string',
130
+ description: 'The AWS operation to perform',
131
+ enum: [
132
+ 's3_list_buckets', 's3_list_objects', 's3_create_bucket', 's3_delete_bucket', 's3_upload', 's3_download',
133
+ 'lambda_list', 'lambda_invoke', 'lambda_get',
134
+ 'ec2_list', 'ec2_start', 'ec2_stop',
135
+ 'cloudwatch_logs', 'cloudwatch_log_groups'
136
+ ]
137
+ },
138
+ bucket: { type: 'string', description: 'S3 bucket name' },
139
+ key: { type: 'string', description: 'S3 object key (path within bucket)' },
140
+ prefix: { type: 'string', description: 'S3 key prefix for filtering' },
141
+ file: { type: 'string', description: 'Local file path (for upload/download)' },
142
+ function_name: { type: 'string', description: 'Lambda function name or ARN' },
143
+ payload: { type: 'object', description: 'JSON payload for Lambda invocation' },
144
+ instance_id: { type: 'string', description: 'EC2 instance ID (i-xxx)' },
145
+ state: { type: 'string', description: 'EC2 instance state filter (running, stopped, etc.)' },
146
+ log_group: { type: 'string', description: 'CloudWatch log group name' },
147
+ log_stream: { type: 'string', description: 'CloudWatch log stream name' },
148
+ region: { type: 'string', description: 'AWS region (default: us-east-1)' },
149
+ limit: { type: 'number', description: 'Max results to return' }
150
+ }
151
+ }
152
+ };
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "discord",
3
+ "version": "1.0.0",
4
+ "description": "Send messages, manage channels and roles, and interact with Discord servers via webhooks and bot API.",
5
+ "author": "Praveen",
6
+ "category": "Communication",
7
+ "tags": [
8
+ "discord",
9
+ "messaging",
10
+ "chat",
11
+ "bot",
12
+ "community"
13
+ ],
14
+ "exports": {
15
+ "tools": [
16
+ "tools/discord.js"
17
+ ],
18
+ "skills": [
19
+ "skills/discord-manager.md"
20
+ ]
21
+ }
22
+ }
@@ -0,0 +1,15 @@
1
+ # Discord Manager
2
+
3
+ ## Description
4
+ This skill enables you to send messages, manage channels and roles, and interact with Discord servers.
5
+
6
+ ## Instructions
7
+ 1. Discord uses **snowflake IDs** (large numbers like `1234567890123456789`) for channels, guilds, users, and roles. You must provide numeric IDs, not names.
8
+ 2. For quick notifications without a bot token, use `action: "send_webhook"` with a `webhook_url`. Webhooks only need a URL, no authentication.
9
+ 3. To send a rich message, use `embeds` (an array of embed objects with `title`, `description`, `color`, `fields`, etc.).
10
+ 4. To manage a server, you need the `guild_id`. Use `action: "get_guild"` to verify access.
11
+ 5. Channel types: `0` = text channel, `2` = voice channel, `4` = category. Use `parent_id` to nest a channel under a category.
12
+ 6. If the tool returns an authentication error, the user needs to export `DISCORD_BOT_TOKEN`. Create a bot at https://discord.com/developers/applications.
13
+
14
+ ## Input Variables
15
+ {{input}}