@praveencs/agent 0.9.30 → 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 (236) 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/sandbox.d.ts +3 -0
  95. package/dist/src/cli/commands/sandbox.d.ts.map +1 -0
  96. package/dist/src/cli/commands/sandbox.js +89 -0
  97. package/dist/src/cli/commands/sandbox.js.map +1 -0
  98. package/dist/src/cli/commands/swarm.d.ts +3 -0
  99. package/dist/src/cli/commands/swarm.d.ts.map +1 -0
  100. package/dist/src/cli/commands/swarm.js +120 -0
  101. package/dist/src/cli/commands/swarm.js.map +1 -0
  102. package/dist/src/cli/index.d.ts.map +1 -1
  103. package/dist/src/cli/index.js +8 -0
  104. package/dist/src/cli/index.js.map +1 -1
  105. package/dist/src/config/defaults.d.ts.map +1 -1
  106. package/dist/src/config/defaults.js +42 -0
  107. package/dist/src/config/defaults.js.map +1 -1
  108. package/dist/src/config/schema.d.ts +261 -0
  109. package/dist/src/config/schema.d.ts.map +1 -1
  110. package/dist/src/config/schema.js +58 -0
  111. package/dist/src/config/schema.js.map +1 -1
  112. package/dist/src/desktop/engine.d.ts +42 -0
  113. package/dist/src/desktop/engine.d.ts.map +1 -0
  114. package/dist/src/desktop/engine.js +77 -0
  115. package/dist/src/desktop/engine.js.map +1 -0
  116. package/dist/src/desktop/index.d.ts +6 -0
  117. package/dist/src/desktop/index.d.ts.map +1 -0
  118. package/dist/src/desktop/index.js +6 -0
  119. package/dist/src/desktop/index.js.map +1 -0
  120. package/dist/src/desktop/input.d.ts +20 -0
  121. package/dist/src/desktop/input.d.ts.map +1 -0
  122. package/dist/src/desktop/input.js +160 -0
  123. package/dist/src/desktop/input.js.map +1 -0
  124. package/dist/src/desktop/screen.d.ts +17 -0
  125. package/dist/src/desktop/screen.d.ts.map +1 -0
  126. package/dist/src/desktop/screen.js +120 -0
  127. package/dist/src/desktop/screen.js.map +1 -0
  128. package/dist/src/desktop/types.d.ts +50 -0
  129. package/dist/src/desktop/types.d.ts.map +1 -0
  130. package/dist/src/desktop/types.js +10 -0
  131. package/dist/src/desktop/types.js.map +1 -0
  132. package/dist/src/multimodal/engine.d.ts +33 -0
  133. package/dist/src/multimodal/engine.d.ts.map +1 -0
  134. package/dist/src/multimodal/engine.js +63 -0
  135. package/dist/src/multimodal/engine.js.map +1 -0
  136. package/dist/src/multimodal/index.d.ts +7 -0
  137. package/dist/src/multimodal/index.d.ts.map +1 -0
  138. package/dist/src/multimodal/index.js +7 -0
  139. package/dist/src/multimodal/index.js.map +1 -0
  140. package/dist/src/multimodal/tts.d.ts +11 -0
  141. package/dist/src/multimodal/tts.d.ts.map +1 -0
  142. package/dist/src/multimodal/tts.js +48 -0
  143. package/dist/src/multimodal/tts.js.map +1 -0
  144. package/dist/src/multimodal/types.d.ts +55 -0
  145. package/dist/src/multimodal/types.d.ts.map +1 -0
  146. package/dist/src/multimodal/types.js +20 -0
  147. package/dist/src/multimodal/types.js.map +1 -0
  148. package/dist/src/multimodal/vision.d.ts +15 -0
  149. package/dist/src/multimodal/vision.d.ts.map +1 -0
  150. package/dist/src/multimodal/vision.js +98 -0
  151. package/dist/src/multimodal/vision.js.map +1 -0
  152. package/dist/src/multimodal/voice.d.ts +11 -0
  153. package/dist/src/multimodal/voice.d.ts.map +1 -0
  154. package/dist/src/multimodal/voice.js +43 -0
  155. package/dist/src/multimodal/voice.js.map +1 -0
  156. package/dist/src/plans/types.d.ts +18 -18
  157. package/dist/src/sandbox/docker.d.ts +42 -0
  158. package/dist/src/sandbox/docker.d.ts.map +1 -0
  159. package/dist/src/sandbox/docker.js +131 -0
  160. package/dist/src/sandbox/docker.js.map +1 -0
  161. package/dist/src/sandbox/engine.d.ts +50 -0
  162. package/dist/src/sandbox/engine.d.ts.map +1 -0
  163. package/dist/src/sandbox/engine.js +133 -0
  164. package/dist/src/sandbox/engine.js.map +1 -0
  165. package/dist/src/sandbox/index.d.ts +5 -0
  166. package/dist/src/sandbox/index.d.ts.map +1 -0
  167. package/dist/src/sandbox/index.js +5 -0
  168. package/dist/src/sandbox/index.js.map +1 -0
  169. package/dist/src/sandbox/types.d.ts +41 -0
  170. package/dist/src/sandbox/types.d.ts.map +1 -0
  171. package/dist/src/sandbox/types.js +12 -0
  172. package/dist/src/sandbox/types.js.map +1 -0
  173. package/dist/src/scripts/types.d.ts +2 -2
  174. package/dist/src/server/app.d.ts.map +1 -1
  175. package/dist/src/server/app.js +133 -0
  176. package/dist/src/server/app.js.map +1 -1
  177. package/dist/src/swarm/bus.d.ts +27 -0
  178. package/dist/src/swarm/bus.d.ts.map +1 -0
  179. package/dist/src/swarm/bus.js +64 -0
  180. package/dist/src/swarm/bus.js.map +1 -0
  181. package/dist/src/swarm/index.d.ts +6 -0
  182. package/dist/src/swarm/index.d.ts.map +1 -0
  183. package/dist/src/swarm/index.js +6 -0
  184. package/dist/src/swarm/index.js.map +1 -0
  185. package/dist/src/swarm/orchestrator.d.ts +79 -0
  186. package/dist/src/swarm/orchestrator.d.ts.map +1 -0
  187. package/dist/src/swarm/orchestrator.js +271 -0
  188. package/dist/src/swarm/orchestrator.js.map +1 -0
  189. package/dist/src/swarm/roles.d.ts +18 -0
  190. package/dist/src/swarm/roles.d.ts.map +1 -0
  191. package/dist/src/swarm/roles.js +83 -0
  192. package/dist/src/swarm/roles.js.map +1 -0
  193. package/dist/src/swarm/types.d.ts +58 -0
  194. package/dist/src/swarm/types.d.ts.map +1 -0
  195. package/dist/src/swarm/types.js +10 -0
  196. package/dist/src/swarm/types.js.map +1 -0
  197. package/dist/src/tools/core/cmd.d.ts.map +1 -1
  198. package/dist/src/tools/core/cmd.js +28 -0
  199. package/dist/src/tools/core/cmd.js.map +1 -1
  200. package/docs/DOCUMENTATION.md +137 -0
  201. package/package.json +3 -1
  202. package/studio/README.md +73 -0
  203. package/studio/eslint.config.js +23 -0
  204. package/studio/index.html +13 -0
  205. package/studio/package-lock.json +4350 -0
  206. package/studio/package.json +44 -0
  207. package/studio/postcss.config.js +6 -0
  208. package/studio/public/vite.svg +1 -0
  209. package/studio/src/App.tsx +243 -0
  210. package/studio/src/assets/react.svg +1 -0
  211. package/studio/src/components/Capabilities.tsx +80 -0
  212. package/studio/src/components/CommandsManager.tsx +94 -0
  213. package/studio/src/components/CostDashboard.tsx +182 -0
  214. package/studio/src/components/CredentialCapture.tsx +196 -0
  215. package/studio/src/components/CredentialsManager.tsx +257 -0
  216. package/studio/src/components/DaemonPanel.tsx +91 -0
  217. package/studio/src/components/DesktopPanel.tsx +118 -0
  218. package/studio/src/components/GoalTemplates.tsx +190 -0
  219. package/studio/src/components/GoalsPanel.tsx +235 -0
  220. package/studio/src/components/MemoryExplorer.tsx +152 -0
  221. package/studio/src/components/MultimodalPanel.tsx +150 -0
  222. package/studio/src/components/NotificationsPanel.tsx +175 -0
  223. package/studio/src/components/PluginsManager.tsx +60 -0
  224. package/studio/src/components/SandboxPanel.tsx +118 -0
  225. package/studio/src/components/ScriptsManager.tsx +269 -0
  226. package/studio/src/components/SkillsManager.tsx +123 -0
  227. package/studio/src/components/SwarmPanel.tsx +149 -0
  228. package/studio/src/components/TaskStreaming.tsx +189 -0
  229. package/studio/src/components/Terminal.tsx +200 -0
  230. package/studio/src/index.css +51 -0
  231. package/studio/src/main.tsx +13 -0
  232. package/studio/tailwind.config.js +47 -0
  233. package/studio/tsconfig.app.json +28 -0
  234. package/studio/tsconfig.json +7 -0
  235. package/studio/tsconfig.node.json +26 -0
  236. package/studio/vite.config.ts +7 -0
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "api-tester",
3
+ "version": "1.0.0",
4
+ "description": "Test REST APIs with curl — GET, POST, PUT, DELETE with auth and headers",
5
+ "tools": [
6
+ "cmd.run"
7
+ ],
8
+ "permissions": {
9
+ "required": [
10
+ "exec",
11
+ "network"
12
+ ]
13
+ },
14
+ "entrypoint": "prompt.md",
15
+ "state": "approved"
16
+ }
@@ -0,0 +1,12 @@
1
+ Backup files and directories.
2
+
3
+ ## Methods
4
+ - **tar.gz**: `tar -czf backup-$(date +%Y%m%d).tar.gz <source>`
5
+ - **zip**: `zip -r backup-$(date +%Y%m%d).zip <source>`
6
+ - **rsync**: `rsync -avz <source> <destination>`
7
+
8
+ ## Best Practices
9
+ 1. Include date in backup filename
10
+ 2. Exclude node_modules, .git, and other large directories
11
+ 3. Show backup size after completion
12
+ 4. Verify backup integrity: `tar -tzf backup.tar.gz | head`
@@ -0,0 +1 @@
1
+ {"name":"backup","version":"1.0.0","description":"Backup files and directories using tar, rsync, or zip","tools":["cmd.run"],"permissions":{"required":["exec","filesystem.read"]},"entrypoint":"prompt.md","state":"approved"}
@@ -0,0 +1,29 @@
1
+ Review code for quality, bugs, security, and best practices.
2
+
3
+ ## Steps
4
+ 1. Get the diff using `git.diff` or `git diff HEAD~1`
5
+ 2. Analyze each changed file for:
6
+ - **Bugs**: Logic errors, null references, off-by-one errors
7
+ - **Security**: SQL injection, XSS, hardcoded secrets, insecure deserialization
8
+ - **Performance**: N+1 queries, unnecessary loops, memory leaks
9
+ - **Style**: Naming conventions, code duplication, complexity
10
+ - **Best Practices**: Error handling, logging, input validation
11
+
12
+ ## Output Format
13
+ ```
14
+ 📝 Code Review Summary
15
+ ━━━━━━━━━━━━━━━━━━━━━
16
+ Files Changed: 5
17
+ Issues Found: 3
18
+
19
+ 🔴 Critical:
20
+ src/auth.ts:42 — API key hardcoded in source code
21
+
22
+ 🟡 Warning:
23
+ src/utils.ts:18 — Missing error handling in async function
24
+
25
+ 🟢 Suggestion:
26
+ src/index.ts:5 — Consider using destructuring assignment
27
+
28
+ Overall: ⚠️ Needs attention before merge
29
+ ```
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "code-review",
3
+ "version": "1.0.0",
4
+ "description": "Review code changes for bugs, best practices, and security issues",
5
+ "tools": [
6
+ "cmd.run",
7
+ "git.diff",
8
+ "fs.read"
9
+ ],
10
+ "permissions": {
11
+ "required": [
12
+ "exec",
13
+ "filesystem.read"
14
+ ]
15
+ },
16
+ "entrypoint": "prompt.md",
17
+ "state": "approved"
18
+ }
@@ -0,0 +1,21 @@
1
+ Create formatted notes and save them as files.
2
+
3
+ ## Behavior
4
+ 1. Parse the user's request to extract the note topic and content
5
+ 2. Format the note with proper markdown structure:
6
+ - Title as H1 heading
7
+ - Date/time stamp
8
+ - Organized sections with headers
9
+ - Bullet points for lists
10
+ 3. Save using `fs.write` to a `.md` file
11
+
12
+ ## Naming Convention
13
+ - Use kebab-case: `my-note-topic.md`
14
+ - Save in current directory or a `notes/` folder if it exists
15
+ - Add timestamp prefix if user requests: `2024-01-15-my-note.md`
16
+
17
+ ## Formatting
18
+ - Always include a title
19
+ - Add a date created line
20
+ - Use proper markdown formatting
21
+ - Include tags at the bottom if relevant: `Tags: #topic1 #topic2`
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "create-note",
3
+ "version": "1.0.0",
4
+ "description": "Creates formatted notes and saves them as markdown files",
5
+ "tools": [
6
+ "fs.write"
7
+ ],
8
+ "permissions": {
9
+ "required": [
10
+ "filesystem.write"
11
+ ]
12
+ },
13
+ "entrypoint": "prompt.md",
14
+ "state": "approved"
15
+ }
@@ -0,0 +1,25 @@
1
+ Manage cron jobs for scheduling tasks.
2
+
3
+ ## Commands
4
+ - **List**: `crontab -l`
5
+ - **Edit**: `crontab -e`
6
+ - **Add job**: `(crontab -l 2>/dev/null; echo "<schedule> <command>") | crontab -`
7
+ - **Remove all**: `crontab -r` (⚠️ dangerous, ask first)
8
+
9
+ ## Cron Format
10
+ ```
11
+ ┌─── minute (0-59)
12
+ │ ┌─── hour (0-23)
13
+ │ │ ┌─── day of month (1-31)
14
+ │ │ │ ┌─── month (1-12)
15
+ │ │ │ │ ┌─── day of week (0-7, Sun=0/7)
16
+ │ │ │ │ │
17
+ * * * * * command
18
+ ```
19
+
20
+ ## Common Schedules
21
+ - Every minute: `* * * * *`
22
+ - Every hour: `0 * * * *`
23
+ - Daily at midnight: `0 0 * * *`
24
+ - Every Monday 9am: `0 9 * * 1`
25
+ - Every 5 minutes: `*/5 * * * *`
@@ -0,0 +1 @@
1
+ {"name":"cron-scheduler","version":"1.0.0","description":"Manage cron jobs — create, list, edit, and delete scheduled tasks","tools":["cmd.run"],"permissions":{"required":["exec"]},"entrypoint":"prompt.md","state":"approved"}
@@ -0,0 +1,12 @@
1
+ Query databases using CLI tools.
2
+
3
+ ## Supported Databases
4
+ - **SQLite**: `sqlite3 <db> "<query>"`
5
+ - **PostgreSQL**: `psql -h <host> -U <user> -d <db> -c "<query>"`
6
+ - **MySQL**: `mysql -h <host> -u <user> -p<pass> -e "<query>" <db>`
7
+
8
+ ## Safety
9
+ - NEVER execute DROP, DELETE, or TRUNCATE without explicit user confirmation
10
+ - Use SELECT queries by default
11
+ - Always LIMIT results: `SELECT * FROM table LIMIT 20`
12
+ - Show table schema first: `.schema` (SQLite) or `\d table` (PostgreSQL)
@@ -0,0 +1 @@
1
+ {"name":"db-query","version":"1.0.0","description":"Query databases — SQLite, PostgreSQL, MySQL via CLI tools","tools":["cmd.run"],"permissions":{"required":["exec"]},"entrypoint":"prompt.md","state":"approved"}
@@ -0,0 +1,21 @@
1
+ Build and deploy Docker containers.
2
+
3
+ ## Commands
4
+ - **Build**: `docker build -t <name> .`
5
+ - **Run**: `docker run -d -p <host>:<container> <name>`
6
+ - **Stop**: `docker stop <container-id>`
7
+ - **List**: `docker ps -a`
8
+ - **Logs**: `docker logs <container-id>`
9
+ - **Clean**: `docker system prune -f`
10
+
11
+ ## Docker Compose
12
+ - **Start**: `docker-compose up -d`
13
+ - **Stop**: `docker-compose down`
14
+ - **Rebuild**: `docker-compose up -d --build`
15
+
16
+ ## Best Practices
17
+ 1. Always check if Docker is installed first: `docker --version`
18
+ 2. Check if a Dockerfile exists before building
19
+ 3. Use meaningful tag names: `<project>:<version>`
20
+ 4. Show container logs after starting to verify it's running
21
+ 5. Ask user for port mappings if not specified
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "docker-deploy",
3
+ "version": "1.0.0",
4
+ "description": "Builds and deploys Docker containers from Dockerfiles",
5
+ "tools": [
6
+ "cmd.run"
7
+ ],
8
+ "permissions": {
9
+ "required": [
10
+ "exec",
11
+ "network"
12
+ ]
13
+ },
14
+ "entrypoint": "prompt.md",
15
+ "state": "approved"
16
+ }
@@ -0,0 +1,32 @@
1
+ Organize files in a directory by type, date, or custom rules.
2
+
3
+ ## Strategies
4
+ ### By File Type
5
+ ```
6
+ Documents/ → .pdf, .doc, .docx, .txt, .md
7
+ Images/ → .jpg, .jpeg, .png, .gif, .svg, .webp
8
+ Videos/ → .mp4, .avi, .mkv, .mov
9
+ Audio/ → .mp3, .wav, .flac, .aac
10
+ Code/ → .js, .ts, .py, .go, .rs, .java
11
+ Archives/ → .zip, .tar, .gz, .rar, .7z
12
+ Other/ → everything else
13
+ ```
14
+
15
+ ### By Date
16
+ Organize into `YYYY/MM/` folders based on file modification date.
17
+
18
+ ### By Project
19
+ Group related files by detecting common prefixes or naming patterns.
20
+
21
+ ## Steps
22
+ 1. List all files in the target directory using `cmd.run` with `ls -la`
23
+ 2. Analyze file extensions and names
24
+ 3. Create destination folders using `cmd.run` with `mkdir -p`
25
+ 4. Move files using `cmd.run` with `mv`
26
+ 5. Report what was organized
27
+
28
+ ## Safety
29
+ - Always show a preview of what will be moved BEFORE executing
30
+ - Never organize system directories (`/`, `/usr`, etc.)
31
+ - Skip hidden files (dotfiles) unless explicitly requested
32
+ - Ask for confirmation before moving files
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "file-organizer",
3
+ "version": "1.0.0",
4
+ "description": "Organizes files in a directory by type, date, or custom rules",
5
+ "tools": [
6
+ "cmd.run",
7
+ "fs.read",
8
+ "fs.write"
9
+ ],
10
+ "permissions": {
11
+ "required": [
12
+ "exec",
13
+ "filesystem.read",
14
+ "filesystem.write"
15
+ ]
16
+ },
17
+ "entrypoint": "prompt.md",
18
+ "state": "approved"
19
+ }
@@ -0,0 +1,21 @@
1
+ Automate git commits with meaningful messages.
2
+
3
+ ## Steps
4
+ 1. Use `git.status` to check what files have changed
5
+ 2. Use `git.diff` to see the actual changes
6
+ 3. Generate a concise, conventional commit message based on the changes
7
+ 4. Use `cmd.run` to execute:
8
+ - `git add .` (or specific files if the user specifies)
9
+ - `git commit -m "<generated message>"`
10
+
11
+ ## Commit Message Format
12
+ Use conventional commits format:
13
+ - `feat: <description>` — New feature
14
+ - `fix: <description>` — Bug fix
15
+ - `docs: <description>` — Documentation changes
16
+ - `refactor: <description>` — Code refactoring
17
+ - `chore: <description>` — Maintenance tasks
18
+ - `style: <description>` — Formatting changes
19
+
20
+ If the user provides a custom message, use that instead.
21
+ Ask the user to confirm the commit message before executing.
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "git-commit",
3
+ "version": "1.0.0",
4
+ "description": "Stages changes and creates a git commit with a meaningful message",
5
+ "tools": [
6
+ "cmd.run",
7
+ "git.status",
8
+ "git.diff"
9
+ ],
10
+ "permissions": {
11
+ "required": [
12
+ "exec"
13
+ ]
14
+ },
15
+ "entrypoint": "prompt.md",
16
+ "state": "approved"
17
+ }
@@ -0,0 +1,16 @@
1
+ Analyze log files to find errors, patterns, and anomalies.
2
+
3
+ ## Commands
4
+ - **Tail logs**: `tail -f <logfile>` or `tail -n 100 <logfile>`
5
+ - **Find errors**: `grep -i "error\|fail\|exception\|fatal" <logfile>`
6
+ - **Count by level**: `grep -c "ERROR" <logfile>`
7
+ - **Time range**: `awk '/2024-01-15 10:00/,/2024-01-15 11:00/' <logfile>`
8
+ - **Top errors**: `grep "ERROR" <logfile> | sort | uniq -c | sort -rn | head -10`
9
+
10
+ ## Output
11
+ Provide a structured summary:
12
+ - Total lines analyzed
13
+ - Error count by severity (ERROR, WARN, INFO)
14
+ - Top 5 most frequent errors
15
+ - Timeline of error spikes (if time-stamped)
16
+ - Recommended actions
@@ -0,0 +1 @@
1
+ {"name":"log-analyzer","version":"1.0.0","description":"Analyze log files — find errors, patterns, and anomalies","tools":["cmd.run","fs.read"],"permissions":{"required":["exec","filesystem.read"]},"entrypoint":"prompt.md","state":"approved"}
@@ -0,0 +1,24 @@
1
+ Prepare and publish npm packages.
2
+
3
+ ## Pre-publish Checklist
4
+ 1. Verify `package.json` has correct `name`, `version`, `main`, `types`, `bin`
5
+ 2. Ensure `files` field or `.npmignore` is configured
6
+ 3. Run `npm run build` if applicable
7
+ 4. Run `npm test` if tests exist
8
+ 5. Run `npm pack --dry-run` to preview package contents
9
+
10
+ ## Version Bumping
11
+ - **Patch** (bug fixes): `npm version patch`
12
+ - **Minor** (new features): `npm version minor`
13
+ - **Major** (breaking changes): `npm version major`
14
+
15
+ ## Publishing
16
+ ```bash
17
+ npm publish --access public # For scoped packages
18
+ npm publish # For unscoped packages
19
+ ```
20
+
21
+ ## Post-publish
22
+ - Verify on npmjs.com: `npm view <package-name>`
23
+ - Tag the release in git: `git tag v<version> && git push --tags`
24
+ - Update CHANGELOG.md if it exists
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "npm-publish",
3
+ "version": "1.0.0",
4
+ "description": "Prepare and publish npm packages with version bumping and changelog",
5
+ "tools": [
6
+ "cmd.run",
7
+ "fs.read",
8
+ "fs.write"
9
+ ],
10
+ "permissions": {
11
+ "required": [
12
+ "exec",
13
+ "network",
14
+ "filesystem.read",
15
+ "filesystem.write"
16
+ ]
17
+ },
18
+ "entrypoint": "prompt.md",
19
+ "state": "approved"
20
+ }
@@ -0,0 +1,8 @@
1
+ Use cmd.run to open Visual Studio Code.
2
+
3
+ - To open in the current directory: execute `code .`
4
+ - To open a specific path: execute `code <path>`
5
+ - To open in a new window: execute `code -n .`
6
+ - To open a specific file: execute `code <filename>`
7
+
8
+ Always confirm the action with the user before executing.
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "open-vscode",
3
+ "version": "1.0.0",
4
+ "description": "Opens VS Code in the current or specified directory",
5
+ "tools": [
6
+ "cmd.run"
7
+ ],
8
+ "permissions": {
9
+ "required": [
10
+ "exec"
11
+ ]
12
+ },
13
+ "entrypoint": "prompt.md",
14
+ "state": "approved"
15
+ }
@@ -0,0 +1,43 @@
1
+ Scaffold new projects with proper structure and best practices.
2
+
3
+ ## Supported Templates
4
+
5
+ ### Node.js / TypeScript
6
+ ```bash
7
+ mkdir <project> && cd <project>
8
+ npm init -y
9
+ npm install typescript @types/node --save-dev
10
+ npx tsc --init
11
+ ```
12
+ Create: `src/index.ts`, `.gitignore`, `README.md`, `tsconfig.json`
13
+
14
+ ### React (Vite)
15
+ ```bash
16
+ npx -y create-vite@latest <project> --template react-ts
17
+ ```
18
+
19
+ ### Next.js
20
+ ```bash
21
+ npx -y create-next-app@latest <project> --typescript --tailwind --eslint --app --src-dir
22
+ ```
23
+
24
+ ### Python
25
+ ```bash
26
+ mkdir <project> && cd <project>
27
+ python3 -m venv venv
28
+ ```
29
+ Create: `main.py`, `requirements.txt`, `.gitignore`, `README.md`
30
+
31
+ ### Express API
32
+ ```bash
33
+ mkdir <project> && cd <project>
34
+ npm init -y
35
+ npm install express cors dotenv
36
+ npm install typescript @types/express @types/node --save-dev
37
+ ```
38
+
39
+ ## Post-Setup
40
+ 1. Initialize git: `git init`
41
+ 2. Create `.gitignore` appropriate for the project type
42
+ 3. Create a `README.md` with project name and basic setup instructions
43
+ 4. Show the project structure to the user
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "project-scaffold",
3
+ "version": "1.0.0",
4
+ "description": "Scaffold new projects (Node.js, Python, React, Next.js, etc.) with best practices",
5
+ "tools": [
6
+ "cmd.run",
7
+ "fs.write"
8
+ ],
9
+ "permissions": {
10
+ "required": [
11
+ "exec",
12
+ "filesystem.write"
13
+ ]
14
+ },
15
+ "entrypoint": "prompt.md",
16
+ "state": "approved"
17
+ }
@@ -0,0 +1,19 @@
1
+ Send an email using the helper script.
2
+
3
+ ## Usage
4
+ Run the send script using cmd.run:
5
+ ```
6
+ node .agent/skills/send-email/send.js --to <recipient> --subject "<subject>" --body "<body>"
7
+ ```
8
+
9
+ ## Requirements
10
+ - Environment variables `EMAIL_USER` and `EMAIL_PASS` must be set
11
+ - `nodemailer` must be installed (`npm install nodemailer`)
12
+
13
+ ## Parameters
14
+ - `--to`: Recipient email address (required)
15
+ - `--subject`: Email subject line (required)
16
+ - `--body`: Email body text (required)
17
+ - `--html`: Send as HTML email (optional flag)
18
+
19
+ If the user doesn't specify a subject, generate an appropriate one based on the body content.
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * send.js — Simple email sender using nodemailer
5
+ * Usage: node send.js --to <email> --subject "<subject>" --body "<body>"
6
+ *
7
+ * Requires: EMAIL_USER and EMAIL_PASS environment variables
8
+ */
9
+
10
+ const args = process.argv.slice(2);
11
+
12
+ function getArg(name) {
13
+ const idx = args.indexOf(`--${name}`);
14
+ return idx !== -1 && args[idx + 1] ? args[idx + 1] : null;
15
+ }
16
+
17
+ const to = getArg('to');
18
+ const subject = getArg('subject');
19
+ const body = getArg('body');
20
+ const isHtml = args.includes('--html');
21
+
22
+ if (!to || !subject || !body) {
23
+ console.error('Usage: node send.js --to <email> --subject "<subject>" --body "<body>" [--html]');
24
+ process.exit(1);
25
+ }
26
+
27
+ const user = process.env.EMAIL_USER;
28
+ const pass = process.env.EMAIL_PASS;
29
+
30
+ if (!user || !pass) {
31
+ console.error('Error: EMAIL_USER and EMAIL_PASS environment variables are required');
32
+ process.exit(1);
33
+ }
34
+
35
+ async function sendEmail() {
36
+ try {
37
+ const nodemailer = await import('nodemailer');
38
+
39
+ const transporter = nodemailer.default.createTransport({
40
+ service: 'gmail',
41
+ auth: { user, pass }
42
+ });
43
+
44
+ const mailOptions = {
45
+ from: user,
46
+ to,
47
+ subject,
48
+ [isHtml ? 'html' : 'text']: body
49
+ };
50
+
51
+ const info = await transporter.sendMail(mailOptions);
52
+ console.log(`✅ Email sent successfully to ${to}`);
53
+ console.log(` Message ID: ${info.messageId}`);
54
+ } catch (error) {
55
+ console.error(`❌ Failed to send email: ${error.message}`);
56
+ process.exit(1);
57
+ }
58
+ }
59
+
60
+ sendEmail();
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "send-email",
3
+ "version": "1.0.0",
4
+ "description": "Sends emails using nodemailer via SMTP",
5
+ "tools": [
6
+ "cmd.run"
7
+ ],
8
+ "permissions": {
9
+ "required": [
10
+ "exec",
11
+ "network"
12
+ ]
13
+ },
14
+ "entrypoint": "prompt.md",
15
+ "state": "approved"
16
+ }
@@ -0,0 +1,27 @@
1
+ Monitor system resources and report health status.
2
+
3
+ ## Commands
4
+ - **CPU**: `top -bn1 | head -20` or `mpstat` (if sysstat installed)
5
+ - **Memory**: `free -h`
6
+ - **Disk**: `df -h`
7
+ - **Processes**: `ps aux --sort=-%cpu | head -15`
8
+ - **Network**: `ss -tunlp` or `netstat -tunlp`
9
+ - **Uptime**: `uptime`
10
+ - **OS Info**: `uname -a` and `cat /etc/os-release`
11
+
12
+ ## Output
13
+ Present a clean dashboard-style summary:
14
+ ```
15
+ 🖥️ System Health Report
16
+ ━━━━━━━━━━━━━━━━━━━━━
17
+ CPU: 45% used (4 cores)
18
+ Memory: 6.2GB / 16GB (39%)
19
+ Disk: 120GB / 500GB (24%)
20
+ Uptime: 3 days, 14 hours
21
+ Top Process: node (12% CPU)
22
+ ```
23
+
24
+ ## Alerts
25
+ - Flag if CPU > 80%
26
+ - Flag if Memory > 90%
27
+ - Flag if Disk > 85%
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "system-monitor",
3
+ "version": "1.0.0",
4
+ "description": "Monitor system resources — CPU, memory, disk, and running processes",
5
+ "tools": [
6
+ "cmd.run"
7
+ ],
8
+ "permissions": {
9
+ "required": [
10
+ "exec"
11
+ ]
12
+ },
13
+ "entrypoint": "prompt.md",
14
+ "state": "approved"
15
+ }
@@ -0,0 +1,26 @@
1
+ Search the web and extract relevant information.
2
+
3
+ ## Methods
4
+ ### Using curl + DuckDuckGo
5
+ ```bash
6
+ curl -s "https://html.duckduckgo.com/html/?q=<query>" | grep -oP '(?<=<a rel="nofollow" class="result__a" href=").*?(?=")'
7
+ ```
8
+
9
+ ### Using curl + Google (basic)
10
+ ```bash
11
+ curl -s "https://www.google.com/search?q=<query>" -H "User-Agent: Mozilla/5.0"
12
+ ```
13
+
14
+ ## Steps
15
+ 1. URL-encode the user's search query
16
+ 2. Fetch search results using curl
17
+ 3. Parse and extract relevant links and snippets
18
+ 4. Present top results in a clean, readable format
19
+
20
+ ## Output Format
21
+ For each result, show:
22
+ - **Title**: The page title
23
+ - **URL**: The direct link
24
+ - **Snippet**: A brief summary
25
+
26
+ If the user wants to read a specific page, use `curl` to fetch and extract the main content.
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "web-search",
3
+ "version": "1.0.0",
4
+ "description": "Search the web using curl and extract relevant information",
5
+ "tools": [
6
+ "cmd.run"
7
+ ],
8
+ "permissions": {
9
+ "required": [
10
+ "exec",
11
+ "network"
12
+ ]
13
+ },
14
+ "entrypoint": "prompt.md",
15
+ "state": "approved"
16
+ }
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createDesktopCommand(): Command;
3
+ //# sourceMappingURL=desktop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/desktop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,oBAAoB,IAAI,OAAO,CAiF9C"}