@hasna/skills 0.1.27 → 0.1.30

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 (671) hide show
  1. package/LICENSE +1 -10
  2. package/README.md +141 -39
  3. package/bin/index.js +30121 -27576
  4. package/bin/mcp.js +22073 -18556
  5. package/dist/cli/cli.test-utils.d.ts +15 -0
  6. package/dist/cli/commands/auth.d.ts +2 -0
  7. package/dist/cli/commands/install.d.ts +1 -1
  8. package/dist/cli/commands/runtime-mcp.d.ts +4 -0
  9. package/dist/index.d.ts +9 -4
  10. package/dist/index.js +11606 -598
  11. package/dist/lib/auth-store.d.ts +13 -0
  12. package/dist/lib/installer.d.ts +58 -55
  13. package/dist/lib/mcp-contracts.d.ts +86 -0
  14. package/dist/lib/project-state.d.ts +43 -0
  15. package/dist/lib/registry-data/business-marketing.d.ts +2 -0
  16. package/dist/lib/registry-data/communication.d.ts +2 -0
  17. package/dist/lib/registry-data/content-generation.d.ts +2 -0
  18. package/dist/lib/registry-data/data-analysis.d.ts +2 -0
  19. package/dist/lib/registry-data/design-branding.d.ts +2 -0
  20. package/dist/lib/registry-data/development-tools.d.ts +2 -0
  21. package/dist/lib/registry-data/education-learning.d.ts +2 -0
  22. package/dist/lib/registry-data/event-management.d.ts +2 -0
  23. package/dist/lib/registry-data/finance-compliance.d.ts +2 -0
  24. package/dist/lib/registry-data/health-wellness.d.ts +2 -0
  25. package/dist/lib/registry-data/index.d.ts +2 -0
  26. package/dist/lib/registry-data/media-processing.d.ts +2 -0
  27. package/dist/lib/registry-data/productivity-organization.d.ts +2 -0
  28. package/dist/lib/registry-data/project-management.d.ts +2 -0
  29. package/dist/lib/registry-data/research-writing.d.ts +2 -0
  30. package/dist/lib/registry-data/science-academic.d.ts +2 -0
  31. package/dist/lib/registry-data/travel-lifestyle.d.ts +2 -0
  32. package/dist/lib/registry-data/web-browser.d.ts +2 -0
  33. package/dist/lib/registry-types.d.ts +27 -0
  34. package/dist/lib/registry.d.ts +6 -18
  35. package/dist/lib/remote-registry.d.ts +3 -0
  36. package/dist/lib/run-state.d.ts +60 -0
  37. package/dist/lib/skill-aliases.d.ts +17 -0
  38. package/dist/lib/skillinfo.d.ts +5 -1
  39. package/dist/mcp/discovery-tools.d.ts +2 -0
  40. package/dist/mcp/helpers.d.ts +26 -0
  41. package/dist/mcp/http.d.ts +11 -0
  42. package/dist/mcp/index.d.ts +3 -2
  43. package/dist/mcp/operation-tools.d.ts +2 -0
  44. package/dist/mcp/resource-meta-tools.d.ts +2 -0
  45. package/dist/mcp/schedule-tools.d.ts +2 -0
  46. package/dist/mcp/server.d.ts +4 -0
  47. package/dist/types/api.d.ts +7 -4
  48. package/package.json +22 -11
  49. package/skills/_common/http-client.ts +1 -1
  50. package/skills/_common/index.ts +2 -3
  51. package/skills/_common/install.sh +5 -110
  52. package/skills/_common/installer.ts +31 -282
  53. package/skills/_common/skill-install.ts +14 -181
  54. package/skills/ad-creative-pack/SKILL.md +45 -0
  55. package/skills/ad-creative-pack/package.json +14 -0
  56. package/skills/advanced-math/package.json +3 -1
  57. package/skills/advanced-math/src/calculators.ts +118 -0
  58. package/skills/advanced-math/src/cli.ts +130 -0
  59. package/skills/advanced-math/src/conversion.ts +90 -0
  60. package/skills/advanced-math/src/finance.ts +75 -0
  61. package/skills/advanced-math/src/formatting.ts +95 -0
  62. package/skills/advanced-math/src/index.ts +24 -702
  63. package/skills/advanced-math/src/runtime.ts +49 -0
  64. package/skills/advanced-math/src/symbolic.ts +110 -0
  65. package/skills/advanced-math/src/types.ts +36 -0
  66. package/skills/analyze-data/SKILL.md +2 -2
  67. package/skills/analyze-data/src/analysis.ts +401 -0
  68. package/skills/analyze-data/src/cli.ts +66 -0
  69. package/skills/analyze-data/src/formatters.ts +235 -0
  70. package/skills/analyze-data/src/index.ts +6 -1027
  71. package/skills/analyze-data/src/logger.ts +36 -0
  72. package/skills/analyze-data/src/parsers.ts +57 -0
  73. package/skills/analyze-data/src/stats.ts +151 -0
  74. package/skills/analyze-data/src/types.ts +85 -0
  75. package/skills/api-docs-portal/SKILL.md +46 -0
  76. package/skills/api-docs-portal/package.json +9 -0
  77. package/skills/api-test-suite/src/index.ts +13 -0
  78. package/skills/apidocs/package.json +1 -1
  79. package/skills/apidocs/src/index.ts +3 -0
  80. package/skills/audio/package.json +2 -3
  81. package/skills/audio-cleanup-lab/SKILL.md +2 -2
  82. package/skills/audio-extract/CLAUDE.md +1 -1
  83. package/skills/audio-transcript-pack/SKILL.md +43 -0
  84. package/skills/audio-transcript-pack/package.json +10 -0
  85. package/skills/blog-article/CLAUDE.md +12 -0
  86. package/skills/blog-article/SKILL.md +45 -0
  87. package/skills/{create-blog-article → blog-article}/package.json +3 -3
  88. package/skills/brand-kit/SKILL.md +45 -0
  89. package/skills/brand-kit/package.json +14 -0
  90. package/skills/brand-photo-shoot/SKILL.md +28 -0
  91. package/skills/brand-photo-shoot/package.json +10 -0
  92. package/skills/brand-style-guide/SKILL.md +2 -2
  93. package/skills/brand-style-guide/src/index.ts +0 -0
  94. package/skills/budget-variance-analyzer/SKILL.md +2 -2
  95. package/skills/businessactivity/package.json +1 -1
  96. package/skills/businessactivity/src/index.ts +3 -0
  97. package/skills/calendar-events/src/ai-parser.ts +103 -0
  98. package/skills/calendar-events/src/api.ts +157 -0
  99. package/skills/calendar-events/src/auth.ts +22 -0
  100. package/skills/calendar-events/src/config.ts +6 -0
  101. package/skills/calendar-events/src/format.ts +96 -0
  102. package/skills/calendar-events/src/help.ts +54 -0
  103. package/skills/calendar-events/src/index.ts +21 -524
  104. package/skills/calendar-events/src/logger.ts +34 -0
  105. package/skills/calendar-events/src/types.ts +67 -0
  106. package/skills/compress-video/SKILL.md +2 -2
  107. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.csv +16 -0
  108. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.json +227 -0
  109. package/skills/consolelog/package.json +1 -1
  110. package/skills/consolelog/src/index.ts +3 -0
  111. package/skills/contract-review-report/SKILL.md +43 -0
  112. package/skills/contract-review-report/package.json +10 -0
  113. package/skills/convert/SKILL.md +2 -3
  114. package/skills/customer-feedback-report/SKILL.md +44 -0
  115. package/skills/customer-feedback-report/package.json +10 -0
  116. package/skills/dashboard-builder/package.json +3 -1
  117. package/skills/database-explorer/package.json +3 -1
  118. package/skills/deepresearch/README.md +4 -13
  119. package/skills/deploy/src/http-client.ts +1 -1
  120. package/skills/diff-viewer/package.json +4 -1
  121. package/skills/doc-generate/package.json +0 -1
  122. package/skills/doc-generate/src/ai.ts +50 -0
  123. package/skills/doc-generate/src/cli.ts +203 -0
  124. package/skills/doc-generate/src/dependencies.ts +44 -0
  125. package/skills/doc-generate/src/document-builder.ts +299 -0
  126. package/skills/doc-generate/src/index.ts +40 -764
  127. package/skills/doc-generate/src/markdown-parser.ts +125 -0
  128. package/skills/doc-generate/src/types.ts +68 -0
  129. package/skills/domainpurchase/SKILL.md +1 -1
  130. package/skills/domainpurchase/package.json +1 -1
  131. package/skills/domainpurchase/src/index.ts +3 -0
  132. package/skills/domainsearch/SKILL.md +1 -1
  133. package/skills/domainsearch/package.json +1 -1
  134. package/skills/domainsearch/src/index.ts +3 -0
  135. package/skills/email-sequence/SKILL.md +44 -0
  136. package/skills/email-sequence/package.json +14 -0
  137. package/skills/excel/CLAUDE.md +2 -2
  138. package/skills/experiment-power-calculator/package.json +3 -1
  139. package/skills/extract-invoice/src/cli.ts +97 -0
  140. package/skills/extract-invoice/src/extractor.ts +170 -0
  141. package/skills/extract-invoice/src/file-utils.ts +46 -0
  142. package/skills/extract-invoice/src/formatters.ts +144 -0
  143. package/skills/extract-invoice/src/index.ts +44 -629
  144. package/skills/extract-invoice/src/runtime.ts +46 -0
  145. package/skills/extract-invoice/src/types.ts +88 -0
  146. package/skills/folder-tree/package.json +3 -1
  147. package/skills/form-filler/package.json +3 -1
  148. package/skills/generate-api-client/package.json +3 -1
  149. package/skills/generate-api-client/src/generator.ts +47 -0
  150. package/skills/generate-api-client/src/index.ts +3 -777
  151. package/skills/generate-api-client/src/logger.ts +34 -0
  152. package/skills/generate-api-client/src/python-generator.ts +245 -0
  153. package/skills/generate-api-client/src/spec-loader.ts +48 -0
  154. package/skills/generate-api-client/src/type-mappers.ts +79 -0
  155. package/skills/generate-api-client/src/types.ts +76 -0
  156. package/skills/generate-api-client/src/typescript-generator.ts +247 -0
  157. package/skills/generate-book-cover/package.json +3 -1
  158. package/skills/generate-dockerfile/src/cli.ts +78 -0
  159. package/skills/generate-dockerfile/src/dockerfile-templates.ts +392 -0
  160. package/skills/generate-dockerfile/src/index.ts +12 -790
  161. package/skills/generate-dockerfile/src/logger.ts +30 -0
  162. package/skills/generate-dockerfile/src/project-detection.ts +68 -0
  163. package/skills/generate-dockerfile/src/support-files.ts +171 -0
  164. package/skills/generate-dockerfile/src/types.ts +29 -0
  165. package/skills/generate-documentation/src/ai.ts +131 -0
  166. package/skills/generate-documentation/src/cli.ts +71 -0
  167. package/skills/generate-documentation/src/code-parser.ts +300 -0
  168. package/skills/generate-documentation/src/file-processing.ts +182 -0
  169. package/skills/generate-documentation/src/index.ts +13 -753
  170. package/skills/generate-documentation/src/runtime.ts +35 -0
  171. package/skills/generate-documentation/src/types.ts +30 -0
  172. package/skills/generate-env/package.json +3 -1
  173. package/skills/generate-env/src/cli.ts +85 -0
  174. package/skills/generate-env/src/detection.ts +161 -0
  175. package/skills/generate-env/src/env-data.ts +66 -0
  176. package/skills/generate-env/src/generators.ts +240 -0
  177. package/skills/generate-env/src/index.ts +76 -676
  178. package/skills/generate-env/src/runtime.ts +30 -0
  179. package/skills/generate-env/src/types.ts +32 -0
  180. package/skills/generate-favicon/package.json +3 -1
  181. package/skills/generate-mock-data/package.json +3 -1
  182. package/skills/generate-mock-data/src/ai.ts +102 -0
  183. package/skills/generate-mock-data/src/formatters.ts +84 -0
  184. package/skills/generate-mock-data/src/generator.ts +377 -0
  185. package/skills/generate-mock-data/src/index.ts +15 -716
  186. package/skills/generate-mock-data/src/logger.ts +37 -0
  187. package/skills/generate-mock-data/src/presets.ts +110 -0
  188. package/skills/generate-mock-data/src/types.ts +21 -0
  189. package/skills/generate-pr-description/src/ai.ts +144 -0
  190. package/skills/generate-pr-description/src/cli.ts +80 -0
  191. package/skills/generate-pr-description/src/clipboard.ts +30 -0
  192. package/skills/generate-pr-description/src/formatters.ts +231 -0
  193. package/skills/generate-pr-description/src/git.ts +153 -0
  194. package/skills/generate-pr-description/src/index.ts +21 -714
  195. package/skills/generate-pr-description/src/types.ts +49 -0
  196. package/skills/generate-presentation/src/ai-clients.ts +61 -0
  197. package/skills/generate-presentation/src/cli.ts +126 -0
  198. package/skills/generate-presentation/src/index.ts +3 -751
  199. package/skills/generate-presentation/src/logger.ts +67 -0
  200. package/skills/generate-presentation/src/presentation-generator.ts +425 -0
  201. package/skills/generate-presentation/src/runtime.ts +6 -0
  202. package/skills/generate-presentation/src/security.ts +12 -0
  203. package/skills/generate-presentation/src/types.ts +28 -0
  204. package/skills/generate-qrcode/package.json +4 -1
  205. package/skills/generate-regex/package.json +3 -1
  206. package/skills/generate-resume/src/cli.ts +157 -0
  207. package/skills/generate-resume/src/index.ts +13 -917
  208. package/skills/generate-resume/src/parsers.ts +95 -0
  209. package/skills/generate-resume/src/renderers.ts +538 -0
  210. package/skills/generate-resume/src/security.ts +39 -0
  211. package/skills/generate-resume/src/types.ts +86 -0
  212. package/skills/generate-social-posts/src/ai.ts +88 -0
  213. package/skills/generate-social-posts/src/cli.ts +118 -0
  214. package/skills/generate-social-posts/src/exporters.ts +126 -0
  215. package/skills/generate-social-posts/src/generator.ts +130 -0
  216. package/skills/generate-social-posts/src/index.ts +19 -709
  217. package/skills/generate-social-posts/src/platforms.ts +39 -0
  218. package/skills/generate-social-posts/src/runtime.ts +34 -0
  219. package/skills/generate-social-posts/src/source.ts +116 -0
  220. package/skills/generate-social-posts/src/types.ts +58 -0
  221. package/skills/gif-maker/package.json +4 -1
  222. package/skills/github-manager/package.json +3 -1
  223. package/skills/gmail/CLAUDE.md +1 -1
  224. package/skills/highlight-reel-generator/src/index.ts +19 -0
  225. package/skills/hook/src/commands/create.ts +20 -845
  226. package/skills/hook/src/templates/root.ts +196 -0
  227. package/skills/hook/src/templates/source.ts +647 -0
  228. package/skills/http-server/package.json +3 -1
  229. package/skills/icon-pack/README.md +28 -0
  230. package/skills/icon-pack/SKILL.md +23 -0
  231. package/skills/icon-pack/package.json +29 -0
  232. package/skills/{audio → icon-pack}/tsconfig.json +10 -12
  233. package/skills/image/package.json +1 -2
  234. package/skills/implementation-agent/package.json +3 -1
  235. package/skills/implementation-agent/src/ai-generation.ts +225 -0
  236. package/skills/implementation-agent/src/index.ts +3 -960
  237. package/skills/implementation-agent/src/minimist.d.ts +15 -0
  238. package/skills/implementation-agent/src/templates.ts +686 -0
  239. package/skills/implementation-agent/src/types.ts +53 -0
  240. package/skills/implementation-plan/package.json +3 -1
  241. package/skills/implementation-todo/package.json +3 -1
  242. package/skills/invoice/package.json +1 -1
  243. package/skills/invoice/src/index.ts +3 -0
  244. package/skills/invoice-reconciliation/SKILL.md +42 -0
  245. package/skills/invoice-reconciliation/package.json +10 -0
  246. package/skills/landing-page-pack/SKILL.md +47 -0
  247. package/skills/landing-page-pack/package.json +14 -0
  248. package/skills/latex-table-generator/package.json +3 -1
  249. package/skills/logo-design/SKILL.md +25 -44
  250. package/skills/logo-design/package.json +3 -15
  251. package/skills/lorem-generator/package.json +3 -1
  252. package/skills/lorem-generator/src/index.ts +13 -0
  253. package/skills/managehook/package.json +1 -1
  254. package/skills/managehook/src/index.ts +3 -0
  255. package/skills/managemcp/package.json +1 -1
  256. package/skills/managemcp/src/index.ts +3 -0
  257. package/skills/manageskill/package.json +1 -1
  258. package/skills/manageskill/src/index.ts +3 -0
  259. package/skills/markdown-validator/package.json +3 -1
  260. package/skills/markdown-validator/src/index.ts +1 -4
  261. package/skills/market-research-report/SKILL.md +41 -0
  262. package/skills/market-research-report/package.json +10 -0
  263. package/skills/mcp-builder/package.json +4 -1
  264. package/skills/mcp-builder/src/ai-descriptions.ts +37 -0
  265. package/skills/mcp-builder/src/generators.ts +513 -0
  266. package/skills/mcp-builder/src/index.ts +7 -908
  267. package/skills/mcp-builder/src/minimist.d.ts +15 -0
  268. package/skills/mcp-builder/src/naming.ts +12 -0
  269. package/skills/mcp-builder/src/options.ts +170 -0
  270. package/skills/mcp-builder/src/templates.ts +149 -0
  271. package/skills/mcp-builder/src/types.ts +42 -0
  272. package/skills/meeting-pack/SKILL.md +43 -0
  273. package/skills/meeting-pack/package.json +10 -0
  274. package/skills/merge-pdfs/package.json +5 -1
  275. package/skills/migration-plan-pack/SKILL.md +45 -0
  276. package/skills/migration-plan-pack/package.json +10 -0
  277. package/skills/music/package.json +2 -3
  278. package/skills/music-album/SKILL.md +37 -0
  279. package/skills/music-album/package.json +10 -0
  280. package/skills/notion-manager/package.json +3 -1
  281. package/skills/npmpublish/CLAUDE.md +5 -8
  282. package/skills/npmpublish/README.md +5 -26
  283. package/skills/npmpublish/src/index.ts +9 -147
  284. package/skills/one-page-website/SKILL.md +46 -0
  285. package/skills/one-page-website/package.json +10 -0
  286. package/skills/one-page-website/tsconfig.json +8 -0
  287. package/skills/pdf-generate/src/cli.ts +162 -0
  288. package/skills/pdf-generate/src/html.ts +84 -0
  289. package/skills/pdf-generate/src/index.ts +11 -800
  290. package/skills/pdf-generate/src/markdown.ts +27 -0
  291. package/skills/pdf-generate/src/pdf-writer.ts +78 -0
  292. package/skills/pdf-generate/src/runtime.ts +34 -0
  293. package/skills/pdf-generate/src/security.ts +37 -0
  294. package/skills/pdf-generate/src/templates.ts +311 -0
  295. package/skills/pdf-generate/src/types.ts +28 -0
  296. package/skills/pdf-read/SKILL.md +10 -10
  297. package/skills/pdf-to-dataset/SKILL.md +45 -0
  298. package/skills/pdf-to-dataset/package.json +10 -0
  299. package/skills/pdf-to-markdown/SKILL.md +49 -0
  300. package/skills/pdf-to-markdown/package.json +10 -0
  301. package/skills/pdf-to-markdown/tsconfig.json +10 -0
  302. package/skills/performance-audit-report/SKILL.md +42 -0
  303. package/skills/performance-audit-report/package.json +10 -0
  304. package/skills/persona-based-adwriter/src/index.ts +19 -0
  305. package/skills/photo-album/SKILL.md +29 -0
  306. package/skills/photo-album/package.json +9 -0
  307. package/skills/photo-album/tsconfig.json +4 -0
  308. package/skills/pitch-deck/SKILL.md +43 -0
  309. package/skills/pitch-deck/package.json +9 -0
  310. package/skills/playlist-maker/SKILL.md +33 -0
  311. package/skills/playlist-maker/package.json +9 -0
  312. package/skills/playlist-maker/tsconfig.json +4 -0
  313. package/skills/product-mockup/SKILL.md +45 -0
  314. package/skills/product-mockup/package.json +3 -20
  315. package/skills/product-mockup/tsconfig.json +3 -5
  316. package/skills/project-retro-companion/src/index.ts +19 -0
  317. package/skills/proposal-pack/SKILL.md +45 -0
  318. package/skills/proposal-pack/package.json +10 -0
  319. package/skills/read-pdf/SKILL.md +5 -4
  320. package/skills/repo-onboarding-report/SKILL.md +42 -0
  321. package/skills/repo-onboarding-report/package.json +10 -0
  322. package/skills/sales-call-recapper/src/index.ts +20 -0
  323. package/skills/salescopy/package.json +1 -1
  324. package/skills/salescopy/src/index.ts +3 -0
  325. package/skills/scaffold-project/src/ai-detect.ts +136 -0
  326. package/skills/scaffold-project/src/file-generators.ts +292 -0
  327. package/skills/scaffold-project/src/index.ts +8 -991
  328. package/skills/scaffold-project/src/project-config.ts +338 -0
  329. package/skills/scaffold-project/src/templates.ts +173 -0
  330. package/skills/scaffold-project/src/types.ts +58 -0
  331. package/skills/scientific-figure-check/package.json +3 -1
  332. package/skills/sdk-generator/SKILL.md +45 -0
  333. package/skills/sdk-generator/package.json +10 -0
  334. package/skills/sdk-generator/tsconfig.json +8 -0
  335. package/skills/security-audit/src/index.ts +25 -6
  336. package/skills/security-audit-report/SKILL.md +40 -0
  337. package/skills/security-audit-report/package.json +10 -0
  338. package/skills/seo-content-pack/SKILL.md +44 -0
  339. package/skills/seo-content-pack/package.json +9 -0
  340. package/skills/short-video-pack/SKILL.md +30 -0
  341. package/skills/short-video-pack/package.json +10 -0
  342. package/skills/skill-academic-journal-matcher/bin/cli.ts +34 -0
  343. package/skills/skill-action-item-router/bin/cli.ts +34 -0
  344. package/skills/skill-ad-creative-generator/bin/cli.ts +34 -0
  345. package/skills/skill-advanced-math/bin/cli.ts +34 -0
  346. package/skills/skill-analyze-data/bin/cli.ts +19 -0
  347. package/skills/skill-anomaly-investigator/bin/cli.ts +34 -0
  348. package/skills/skill-api-test-suite/bin/cli.ts +34 -0
  349. package/skills/skill-apidocs/bin/cli.ts +87 -0
  350. package/skills/skill-audio-cleanup-lab/bin/cli.ts +6 -0
  351. package/skills/skill-audiobook-chapter-proofer/bin/cli.ts +34 -0
  352. package/skills/skill-banner-ad-suite/bin/cli.ts +34 -0
  353. package/skills/skill-benchmark-finder/bin/cli.ts +34 -0
  354. package/skills/skill-bio-sequence-tool/bin/cli.ts +34 -0
  355. package/skills/skill-blog-topic-cluster/bin/cli.ts +34 -0
  356. package/skills/skill-brand-style-guide/bin/cli.ts +19 -0
  357. package/skills/skill-brand-voice-audit/bin/cli.ts +34 -0
  358. package/skills/skill-budget-variance-analyzer/bin/cli.ts +6 -0
  359. package/skills/skill-businessactivity/bin/cli.ts +28 -0
  360. package/skills/skill-calendar-events/bin/cli.ts +34 -0
  361. package/skills/skill-campaign-metric-brief/bin/cli.ts +34 -0
  362. package/skills/skill-campaign-moodboard/bin/cli.ts +34 -0
  363. package/skills/skill-caption-style-stylist/bin/cli.ts +34 -0
  364. package/skills/skill-chemistry-calculator/bin/cli.ts +34 -0
  365. package/skills/skill-churn-risk-notifier/bin/cli.ts +34 -0
  366. package/skills/skill-citation-formatter/bin/cli.ts +34 -0
  367. package/skills/skill-classroom-newsletter-kit/bin/cli.ts +34 -0
  368. package/skills/skill-color-palette-harmonizer/bin/cli.ts +34 -0
  369. package/skills/skill-competitor-ad-analyzer/bin/cli.ts +34 -0
  370. package/skills/skill-compliance-copy-check/bin/cli.ts +34 -0
  371. package/skills/skill-compliance-report-pack/bin/cli.ts +34 -0
  372. package/skills/skill-compress-video/bin/cli.ts +19 -0
  373. package/skills/skill-consolelog/bin/cli.ts +884 -0
  374. package/skills/skill-contract-plainlanguage/bin/cli.ts +34 -0
  375. package/skills/skill-copytone-translator/bin/cli.ts +34 -0
  376. package/skills/skill-create-blog-article/bin/cli.ts +34 -0
  377. package/skills/skill-create-ebook/bin/cli.ts +34 -0
  378. package/skills/skill-crm-note-enhancer/bin/cli.ts +34 -0
  379. package/skills/skill-customer-journey-mapper/bin/cli.ts +34 -0
  380. package/skills/skill-dashboard-builder/bin/cli.ts +34 -0
  381. package/skills/skill-dashboard-narrator/bin/cli.ts +34 -0
  382. package/skills/skill-data-anonymizer/bin/cli.ts +34 -0
  383. package/skills/skill-database-explorer/bin/cli.ts +34 -0
  384. package/skills/skill-dataset-health-check/bin/cli.ts +34 -0
  385. package/skills/skill-decision-journal/bin/cli.ts +34 -0
  386. package/skills/skill-delegation-brief-writer/bin/cli.ts +34 -0
  387. package/skills/skill-destination-briefing/bin/cli.ts +34 -0
  388. package/skills/skill-diff-viewer/bin/cli.ts +34 -0
  389. package/skills/skill-domainpurchase/bin/cli.ts +683 -0
  390. package/skills/skill-domainsearch/bin/cli.ts +410 -0
  391. package/skills/skill-educational-resource-finder/bin/cli.ts +34 -0
  392. package/skills/skill-email-campaign/bin/cli.ts +34 -0
  393. package/skills/skill-exam-readiness-check/bin/cli.ts +34 -0
  394. package/skills/skill-experiment-power-calculator/bin/cli.ts +34 -0
  395. package/skills/skill-extract-audio/bin/cli.ts +19 -0
  396. package/skills/skill-extract-frames/bin/cli.ts +34 -0
  397. package/skills/skill-extract-invoice/bin/cli.ts +34 -0
  398. package/skills/skill-family-activity-curator/bin/cli.ts +34 -0
  399. package/skills/skill-faq-packager/bin/cli.ts +34 -0
  400. package/skills/skill-feedback-survey-designer/bin/cli.ts +34 -0
  401. package/skills/skill-field-trip-planner/bin/cli.ts +34 -0
  402. package/skills/skill-file-organizer/bin/cli.ts +34 -0
  403. package/skills/skill-folder-tree/bin/cli.ts +34 -0
  404. package/skills/skill-forecast-scenario-lab/bin/cli.ts +34 -0
  405. package/skills/skill-form-filler/bin/cli.ts +34 -0
  406. package/skills/skill-generate-api-client/bin/cli.ts +34 -0
  407. package/skills/skill-generate-book-cover/bin/cli.ts +34 -0
  408. package/skills/skill-generate-chart/bin/cli.ts +34 -0
  409. package/skills/skill-generate-diagram/bin/cli.ts +34 -0
  410. package/skills/skill-generate-dockerfile/bin/cli.ts +34 -0
  411. package/skills/skill-generate-documentation/bin/cli.ts +34 -0
  412. package/skills/skill-generate-docx/bin/cli.ts +6 -0
  413. package/skills/skill-generate-env/bin/cli.ts +34 -0
  414. package/skills/skill-generate-excel/bin/cli.ts +34 -0
  415. package/skills/skill-generate-favicon/bin/cli.ts +34 -0
  416. package/skills/skill-generate-mock-data/bin/cli.ts +34 -0
  417. package/skills/skill-generate-pdf/bin/cli.ts +6 -0
  418. package/skills/skill-generate-pr-description/bin/cli.ts +34 -0
  419. package/skills/skill-generate-presentation/bin/cli.ts +34 -0
  420. package/skills/skill-generate-qrcode/bin/cli.ts +34 -0
  421. package/skills/skill-generate-regex/bin/cli.ts +34 -0
  422. package/skills/skill-generate-resume/bin/cli.ts +34 -0
  423. package/skills/skill-generate-sitemap/bin/cli.ts +34 -0
  424. package/skills/skill-generate-social-posts/bin/cli.ts +34 -0
  425. package/skills/skill-generate-sql/bin/cli.ts +34 -0
  426. package/skills/skill-gif-maker/bin/cli.ts +34 -0
  427. package/skills/skill-github-manager/bin/cli.ts +34 -0
  428. package/skills/skill-gmail/bin/cli.ts +34 -0
  429. package/skills/skill-goal-quarterly-roadmap/bin/cli.ts +34 -0
  430. package/skills/skill-grant-application-drafter/bin/cli.ts +34 -0
  431. package/skills/skill-grocery-basket-optimizer/bin/cli.ts +34 -0
  432. package/skills/skill-guest-communication-suite/bin/cli.ts +34 -0
  433. package/skills/skill-habit-reflection-digest/bin/cli.ts +34 -0
  434. package/skills/skill-highlight-reel-generator/bin/cli.ts +34 -0
  435. package/skills/skill-homework-feedback-coach/bin/cli.ts +34 -0
  436. package/skills/skill-household-maintenance-mgr/bin/cli.ts +34 -0
  437. package/skills/skill-http-server/bin/cli.ts +34 -0
  438. package/skills/skill-implementation-agent/bin/cli.ts +34 -0
  439. package/skills/skill-implementation-plan/bin/cli.ts +34 -0
  440. package/skills/skill-implementation-todo/bin/cli.ts +34 -0
  441. package/skills/skill-inbox-priority-planner/bin/cli.ts +34 -0
  442. package/skills/skill-invoice/bin/cli.ts +20 -0
  443. package/skills/skill-invoice-dispute-helper/bin/cli.ts +34 -0
  444. package/skills/skill-itinerary-architect/bin/cli.ts +34 -0
  445. package/skills/skill-jingle-composer/bin/cli.ts +34 -0
  446. package/skills/skill-kpi-digest-generator/bin/cli.ts +34 -0
  447. package/skills/skill-lab-notebook-formatter/bin/cli.ts +34 -0
  448. package/skills/skill-landing-page-copy/bin/cli.ts +34 -0
  449. package/skills/skill-latex-table-generator/bin/cli.ts +34 -0
  450. package/skills/skill-learning-style-profiler/bin/cli.ts +34 -0
  451. package/skills/skill-lesson-plan-customizer/bin/cli.ts +34 -0
  452. package/skills/skill-livestream-runofshow/bin/cli.ts +34 -0
  453. package/skills/skill-longform-structurer/bin/cli.ts +34 -0
  454. package/skills/skill-lorem-generator/bin/cli.ts +34 -0
  455. package/skills/skill-managehook/bin/cli.ts +241 -0
  456. package/skills/skill-managemcp/bin/cli.ts +241 -0
  457. package/skills/skill-manageskill/bin/cli.ts +241 -0
  458. package/skills/skill-markdown-validator/bin/cli.ts +34 -0
  459. package/skills/skill-mcp-builder/bin/cli.ts +34 -0
  460. package/skills/skill-meal-plan-designer/bin/cli.ts +34 -0
  461. package/skills/skill-meeting-insight-summarizer/bin/cli.ts +34 -0
  462. package/skills/skill-merge-pdfs/bin/cli.ts +34 -0
  463. package/skills/skill-microcopy-generator/bin/cli.ts +34 -0
  464. package/skills/skill-mindfulness-prompt-cache/bin/cli.ts +34 -0
  465. package/skills/skill-notion-manager/bin/cli.ts +34 -0
  466. package/skills/skill-onboarding-sequence-builder/bin/cli.ts +34 -0
  467. package/skills/skill-onsite-ops-checklist/bin/cli.ts +34 -0
  468. package/skills/skill-outreach-cadence-designer/bin/cli.ts +34 -0
  469. package/skills/skill-packaging-concept-studio/bin/cli.ts +34 -0
  470. package/skills/skill-packing-plan-pro/bin/cli.ts +34 -0
  471. package/skills/skill-parent-teacher-brief/bin/cli.ts +34 -0
  472. package/skills/skill-partner-kit-assembler/bin/cli.ts +34 -0
  473. package/skills/skill-payroll-change-prepper/bin/cli.ts +34 -0
  474. package/skills/skill-persona-based-adwriter/bin/cli.ts +34 -0
  475. package/skills/skill-persona-generator/bin/cli.ts +34 -0
  476. package/skills/skill-personal-daily-ops/bin/cli.ts +34 -0
  477. package/skills/skill-pet-care-scheduler/bin/cli.ts +34 -0
  478. package/skills/skill-podcast-show-notes/bin/cli.ts +34 -0
  479. package/skills/skill-presentation-theme-maker/bin/cli.ts +34 -0
  480. package/skills/skill-press-release-drafter/bin/cli.ts +34 -0
  481. package/skills/skill-print-collateral-designer/bin/cli.ts +34 -0
  482. package/skills/skill-procurement-scorecard/bin/cli.ts +34 -0
  483. package/skills/skill-product-demo-script/bin/cli.ts +34 -0
  484. package/skills/skill-product-mockup/bin/cli.ts +34 -0
  485. package/skills/skill-project-retro-companion/bin/cli.ts +34 -0
  486. package/skills/skill-proposal-redline-advisor/bin/cli.ts +34 -0
  487. package/skills/skill-regex-tester/bin/cli.ts +34 -0
  488. package/skills/skill-remove-background/bin/cli.ts +34 -0
  489. package/skills/skill-risk-disclosure-kit/bin/cli.ts +34 -0
  490. package/skills/skill-roi-comparison-tool/bin/cli.ts +34 -0
  491. package/skills/skill-sales-call-recapper/bin/cli.ts +34 -0
  492. package/skills/skill-salescopy/bin/cli.ts +20 -0
  493. package/skills/skill-scaffold-project/bin/cli.ts +34 -0
  494. package/skills/skill-scholarship-tracker/bin/cli.ts +34 -0
  495. package/skills/skill-scientific-figure-check/bin/cli.ts +34 -0
  496. package/skills/skill-seating-chart-maker/bin/cli.ts +34 -0
  497. package/skills/skill-security-audit/bin/cli.ts +34 -0
  498. package/skills/skill-seo-brief-builder/bin/cli.ts +34 -0
  499. package/skills/skill-slack-assistant/bin/cli.ts +34 -0
  500. package/skills/skill-sleep-routine-analyzer/bin/cli.ts +34 -0
  501. package/skills/skill-social-media-kit/bin/cli.ts +34 -0
  502. package/skills/skill-split-pdf/bin/cli.ts +34 -0
  503. package/skills/skill-sponsorship-proposal-lab/bin/cli.ts +34 -0
  504. package/skills/skill-spreadsheet-cleanroom/bin/cli.ts +34 -0
  505. package/skills/skill-statistical-test-selector/bin/cli.ts +34 -0
  506. package/skills/skill-stress-relief-playbook/bin/cli.ts +34 -0
  507. package/skills/skill-study-guide-builder/bin/cli.ts +34 -0
  508. package/skills/skill-subscription-spend-watcher/bin/cli.ts +34 -0
  509. package/skills/skill-subtitle/bin/cli.ts +20 -0
  510. package/skills/skill-survey-insight-extractor/bin/cli.ts +34 -0
  511. package/skills/skill-terraform-generator/bin/cli.ts +34 -0
  512. package/skills/skill-testimonial-graphics/bin/cli.ts +34 -0
  513. package/skills/skill-timesheet/bin/cli.ts +47 -0
  514. package/skills/skill-travel-budget-balancer/bin/cli.ts +34 -0
  515. package/skills/skill-validate-config/bin/cli.ts +34 -0
  516. package/skills/skill-video-cut-suggester/bin/cli.ts +34 -0
  517. package/skills/skill-video-downloader/bin/cli.ts +34 -0
  518. package/skills/skill-video-thumbnail/bin/cli.ts +34 -0
  519. package/skills/skill-voiceover-casting-assistant/bin/cli.ts +34 -0
  520. package/skills/skill-watermark/bin/cli.ts +34 -0
  521. package/skills/skill-webcrawling/bin/cli.ts +21 -0
  522. package/skills/skill-webinar-script-coach/bin/cli.ts +34 -0
  523. package/skills/skill-wellness-progress-reporter/bin/cli.ts +34 -0
  524. package/skills/skill-workout-cycle-planner/bin/cli.ts +34 -0
  525. package/skills/slack-assistant/package.json +3 -1
  526. package/skills/slide-deck-generator/SKILL.md +44 -0
  527. package/skills/slide-deck-generator/package.json +10 -0
  528. package/skills/sms/package.json +1 -1
  529. package/skills/sms/src/index.ts +15 -0
  530. package/skills/social-content-calendar/SKILL.md +45 -0
  531. package/skills/social-content-calendar/package.json +14 -0
  532. package/skills/split-pdf/package.json +4 -1
  533. package/skills/subtitle/package.json +2 -1
  534. package/skills/subtitle/src/index.ts +3 -0
  535. package/skills/terraform-generator/package.json +3 -1
  536. package/skills/test-suite-generator/SKILL.md +41 -0
  537. package/skills/test-suite-generator/package.json +10 -0
  538. package/skills/timesheet/package.json +1 -1
  539. package/skills/timesheet/src/index.ts +3 -0
  540. package/skills/transcript/SKILL.md +1 -8
  541. package/skills/validate-config/package.json +3 -1
  542. package/skills/video/package.json +6 -4
  543. package/skills/video-downloader/package.json +3 -1
  544. package/skills/video-highlight-pack/SKILL.md +44 -0
  545. package/skills/video-highlight-pack/package.json +10 -0
  546. package/skills/voiceover-jingle-pack/SKILL.md +28 -0
  547. package/skills/voiceover-jingle-pack/package.json +10 -0
  548. package/skills/watermark/package.json +6 -1
  549. package/skills/webcrawling/package.json +2 -1
  550. package/skills/write/SKILL.md +6 -6
  551. package/dist/server/serve.d.ts +0 -11
  552. package/skills/apidocs/.claude/settings.json +0 -5
  553. package/skills/audio/.env.example +0 -14
  554. package/skills/audio/QUICKSTART.md +0 -158
  555. package/skills/audio/README.md +0 -256
  556. package/skills/audio/src/index-local.ts +0 -206
  557. package/skills/audio/src/index.ts +0 -95
  558. package/skills/audio/src/providers/elevenlabs.ts +0 -115
  559. package/skills/audio/src/providers/google.ts +0 -116
  560. package/skills/audio/src/providers/minimax.ts +0 -83
  561. package/skills/audio/src/providers/openai.ts +0 -115
  562. package/skills/audio/src/types.ts +0 -79
  563. package/skills/audiobook-chapter-proofer/CLAUDE.md +0 -19
  564. package/skills/audiobook-chapter-proofer/package.json +0 -27
  565. package/skills/audiobook-chapter-proofer/src/index.ts +0 -285
  566. package/skills/browse/src/client.ts +0 -373
  567. package/skills/browse/src/index-local.ts +0 -430
  568. package/skills/browse/src/index.ts +0 -110
  569. package/skills/browse/src/sse-server.ts +0 -919
  570. package/skills/browse/src/types.ts +0 -104
  571. package/skills/consolelog/src/server/index.ts +0 -508
  572. package/skills/create-blog-article/CLAUDE.md +0 -19
  573. package/skills/create-blog-article/src/index.ts +0 -745
  574. package/skills/create-blog-article/tsconfig.json +0 -10
  575. package/skills/deepresearch/src/agents/query-generator.ts +0 -91
  576. package/skills/deepresearch/src/agents/synthesizer.ts +0 -111
  577. package/skills/deepresearch/src/index.ts +0 -224
  578. package/skills/deepresearch/src/research.ts +0 -166
  579. package/skills/deepresearch/src/services/anthropic.ts +0 -69
  580. package/skills/deepresearch/src/services/exa.ts +0 -108
  581. package/skills/deepresearch/src/services/firecrawl.ts +0 -88
  582. package/skills/deepresearch/src/services/openai.ts +0 -81
  583. package/skills/deepresearch/src/types.ts +0 -76
  584. package/skills/deepresearch/src/utils/file.ts +0 -111
  585. package/skills/deepresearch/src/utils/logger.ts +0 -84
  586. package/skills/domainpurchase/src/server/index.ts +0 -332
  587. package/skills/domainsearch/src/server/index.ts +0 -229
  588. package/skills/e2bswarm/README.md +0 -135
  589. package/skills/e2bswarm/SKILL.md +0 -118
  590. package/skills/e2bswarm/examples/tasks-example.json +0 -38
  591. package/skills/e2bswarm/package.json +0 -59
  592. package/skills/e2bswarm/src/commands/collect.ts +0 -135
  593. package/skills/e2bswarm/src/commands/install.ts +0 -164
  594. package/skills/e2bswarm/src/commands/kill.ts +0 -62
  595. package/skills/e2bswarm/src/commands/spawn.ts +0 -134
  596. package/skills/e2bswarm/src/commands/status.ts +0 -90
  597. package/skills/e2bswarm/src/commands/sync.ts +0 -208
  598. package/skills/e2bswarm/src/index.ts +0 -121
  599. package/skills/e2bswarm/src/lib/config.ts +0 -75
  600. package/skills/e2bswarm/src/lib/e2b.ts +0 -490
  601. package/skills/e2bswarm/src/lib/github.ts +0 -253
  602. package/skills/e2bswarm/src/lib/logger.ts +0 -41
  603. package/skills/e2bswarm/src/lib/paths.ts +0 -75
  604. package/skills/e2bswarm/src/lib/tasks.ts +0 -320
  605. package/skills/e2bswarm/src/types/index.ts +0 -107
  606. package/skills/e2bswarm/templates/codebox/e2b.Dockerfile +0 -38
  607. package/skills/e2bswarm/templates/codebox/e2b.toml +0 -3
  608. package/skills/e2bswarm/templates/setup.sh +0 -21
  609. package/skills/e2bswarm/tsconfig.json +0 -19
  610. package/skills/generate-book-cover/src/index.ts +0 -694
  611. package/skills/image/src/index-local.ts +0 -206
  612. package/skills/image/src/index.ts +0 -96
  613. package/skills/image/src/providers/google.ts +0 -79
  614. package/skills/image/src/providers/minimax.ts +0 -94
  615. package/skills/image/src/providers/openai.ts +0 -80
  616. package/skills/image/src/providers/xai.ts +0 -73
  617. package/skills/image/src/types.ts +0 -37
  618. package/skills/logo-design/CLAUDE.md +0 -30
  619. package/skills/logo-design/src/index.ts +0 -322
  620. package/skills/managehook/src/server/index.ts +0 -108
  621. package/skills/managemcp/src/server/index.ts +0 -108
  622. package/skills/manageskill/src/server/index.ts +0 -108
  623. package/skills/music/CLAUDE.md +0 -9
  624. package/skills/music/src/index.ts +0 -94
  625. package/skills/music/tsconfig.json +0 -10
  626. package/skills/pdf-read/src/index.ts +0 -320
  627. package/skills/product-mockup/CLAUDE.md +0 -19
  628. package/skills/product-mockup/src/index.ts +0 -290
  629. package/skills/read-pdf/src/index.ts +0 -388
  630. package/skills/remove-background/src/index.ts +0 -405
  631. package/skills/sound-effects/SKILL.md +0 -34
  632. package/skills/sound-effects/package.json +0 -21
  633. package/skills/sound-effects/src/index.ts +0 -172
  634. package/skills/sound-effects/tsconfig.json +0 -8
  635. package/skills/transcript/src/chunker.ts +0 -215
  636. package/skills/transcript/src/formatter.ts +0 -134
  637. package/skills/transcript/src/index-local.ts +0 -226
  638. package/skills/transcript/src/index.ts +0 -110
  639. package/skills/transcript/src/providers/elevenlabs.ts +0 -133
  640. package/skills/transcript/src/providers/gemini.ts +0 -192
  641. package/skills/transcript/src/providers/index.ts +0 -54
  642. package/skills/transcript/src/providers/openai.ts +0 -203
  643. package/skills/transcript/src/types.ts +0 -106
  644. package/skills/video/.env.example +0 -14
  645. package/skills/video/EXAMPLES.md +0 -266
  646. package/skills/video/LICENSE +0 -192
  647. package/skills/video/README.md +0 -174
  648. package/skills/video/src/cli.ts +0 -155
  649. package/skills/video/src/index-local.ts +0 -148
  650. package/skills/video/src/index.ts +0 -96
  651. package/skills/video/src/providers/google-veo.ts +0 -126
  652. package/skills/video/src/providers/index.ts +0 -22
  653. package/skills/video/src/providers/minimax.ts +0 -100
  654. package/skills/video/src/providers/openai-sora.ts +0 -164
  655. package/skills/video/src/providers/runway.ts +0 -159
  656. package/skills/video/src/types.ts +0 -35
  657. package/skills/video/tsconfig.json +0 -22
  658. package/skills/voiceover-casting-assistant/CLAUDE.md +0 -19
  659. package/skills/voiceover-casting-assistant/package.json +0 -27
  660. package/skills/voiceover-casting-assistant/src/index.ts +0 -255
  661. package/skills/voiceover-casting-assistant/tsconfig.json +0 -10
  662. package/skills/webcrawling/src/commands/config.ts +0 -34
  663. package/skills/webcrawling/src/commands/crawl.ts +0 -33
  664. package/skills/webcrawling/src/commands/scrape.ts +0 -32
  665. package/skills/webcrawling/src/commands/sessions.ts +0 -42
  666. package/skills/webcrawling/src/lib/crawler.ts +0 -174
  667. package/skills/webcrawling/src/lib/storage.ts +0 -130
  668. package/skills/webcrawling/src/types/index.ts +0 -45
  669. package/skills/webcrawling/src/utils/logger.ts +0 -30
  670. package/skills/webcrawling/src/utils/paths.ts +0 -28
  671. /package/skills/{audiobook-chapter-proofer → blog-article}/tsconfig.json +0 -0
@@ -1,118 +0,0 @@
1
- ---
2
- name: e2bswarm
3
- description: Spawn and manage E2B sandbox instances for parallel Claude Code task execution. Use when you need to run multiple tasks in parallel across isolated environments, distribute work across sandboxes, or execute tasks in clean environments.
4
- disable-model-invocation: true
5
- allowed-tools: Bash(bun:*), Bash(e2b:*), Read, Write
6
- ---
7
-
8
- # E2B Swarm
9
-
10
- Spawn E2B sandbox instances in parallel to execute Claude Code tasks across isolated environments.
11
-
12
- ## Installation
13
-
14
- ```bash
15
- cd ~/.claude/skills/e2bswarm && bun install
16
- ```
17
-
18
- Or link from the repo:
19
- ```bash
20
- ln -s ~/Workspace/dev/hasnaxyz/skill/skilldev/e2bswarm ~/.claude/skills/e2bswarm
21
- ```
22
-
23
- ## Commands
24
-
25
- ### Spawn instances with tasks
26
-
27
- From a task list ID (loads from ~/.claude/tasks/<id>/):
28
- ```bash
29
- e2bswarm spawn \
30
- --repo <github-url> \
31
- --tasks <task-list-id> \
32
- --instances <count>
33
- ```
34
-
35
- From a local folder containing task JSON files:
36
- ```bash
37
- e2bswarm spawn \
38
- --repo <github-url> \
39
- --tasks-dir ./my-tasks/ \
40
- --instances <count>
41
- ```
42
-
43
- From inline JSON:
44
- ```bash
45
- e2bswarm spawn \
46
- --repo <github-url> \
47
- --tasks-json '[{"id":"1","subject":"Task 1","description":"Do something"}]' \
48
- --instances <count>
49
- ```
50
-
51
- From a JSON file:
52
- ```bash
53
- e2bswarm spawn \
54
- --repo <github-url> \
55
- --tasks-file ./tasks.json \
56
- --instances <count>
57
- ```
58
-
59
- ### Check status
60
- ```bash
61
- e2bswarm status
62
- e2bswarm status --instance <id>
63
- ```
64
-
65
- ### Collect results
66
- ```bash
67
- e2bswarm collect --output ./results
68
- ```
69
-
70
- ### Kill instances
71
- ```bash
72
- e2bswarm kill # Kill all
73
- e2bswarm kill --instance <id> # Kill specific
74
- ```
75
-
76
- ## Options
77
-
78
- | Option | Description |
79
- |--------|-------------|
80
- | `--repo, -r` | Git repository URL (required) |
81
- | `--tasks, -t` | Task list ID from ~/.claude/tasks/ |
82
- | `--tasks-dir` | Local folder containing task JSON files |
83
- | `--tasks-file` | Path to a JSON file with tasks array |
84
- | `--tasks-json` | Inline JSON array of tasks |
85
- | `--instances, -n` | Number of parallel instances (default: 1) |
86
- | `--prompt, -p` | Additional context/instructions for Claude |
87
- | `--branch, -b` | Git branch to clone |
88
- | `--distribute, -d` | Task distribution mode: all, round-robin, by-dependency |
89
-
90
- ## Task Distribution Modes
91
-
92
- - **all**: Each instance receives all tasks (default)
93
- - **round-robin**: Tasks distributed evenly across instances
94
- - **by-dependency**: Tasks grouped by dependency chains
95
-
96
- ## Environment Variables
97
-
98
- - `E2B_API_KEY`: Your E2B API key (required, add to ~/.secrets)
99
-
100
- ## Examples
101
-
102
- Spawn 4 instances to work on videoben tasks in parallel:
103
- ```bash
104
- e2bswarm spawn \
105
- --repo git@github.com:hasnastudio/iapp-videoben.git \
106
- --tasks iapp-videoben-dev \
107
- --instances 4 \
108
- --distribute round-robin \
109
- --prompt "Complete all assigned tasks, run tests before marking complete"
110
- ```
111
-
112
- Run tasks from a local JSON file:
113
- ```bash
114
- e2bswarm spawn \
115
- --repo git@github.com:org/repo.git \
116
- --tasks-file ./sprint-tasks.json \
117
- --instances 2
118
- ```
@@ -1,38 +0,0 @@
1
- [
2
- {
3
- "id": "1",
4
- "subject": "Setup project structure",
5
- "description": "Create the basic project structure with src/, tests/, and config files.\n\n**Files to create:**\n- src/index.ts\n- tests/index.test.ts\n- tsconfig.json\n\n**Acceptance criteria:**\n- All files exist\n- TypeScript compiles without errors",
6
- "activeForm": "Setting up project structure",
7
- "status": "pending",
8
- "blocks": ["2", "3"],
9
- "blockedBy": []
10
- },
11
- {
12
- "id": "2",
13
- "subject": "Implement core functionality",
14
- "description": "Implement the main feature in src/index.ts.\n\n**Requirements:**\n- Export a main function\n- Handle errors gracefully\n- Add logging\n\n**Acceptance criteria:**\n- Function works as expected\n- Errors are caught and logged",
15
- "activeForm": "Implementing core functionality",
16
- "status": "pending",
17
- "blocks": ["4"],
18
- "blockedBy": ["1"]
19
- },
20
- {
21
- "id": "3",
22
- "subject": "Write unit tests",
23
- "description": "Write comprehensive unit tests for the core functionality.\n\n**Test cases:**\n- Happy path\n- Error handling\n- Edge cases\n\n**Acceptance criteria:**\n- All tests pass\n- Coverage > 80%",
24
- "activeForm": "Writing unit tests",
25
- "status": "pending",
26
- "blocks": ["4"],
27
- "blockedBy": ["1"]
28
- },
29
- {
30
- "id": "4",
31
- "subject": "Add documentation",
32
- "description": "Add README and inline documentation.\n\n**Documentation:**\n- README.md with usage examples\n- JSDoc comments on exported functions\n\n**Acceptance criteria:**\n- README is clear and complete\n- All exports have documentation",
33
- "activeForm": "Adding documentation",
34
- "status": "pending",
35
- "blocks": [],
36
- "blockedBy": ["2", "3"]
37
- }
38
- ]
@@ -1,59 +0,0 @@
1
- {
2
- "name": "e2bswarm",
3
- "version": "0.4.1",
4
- "description": "Spawn E2B sandbox instances for parallel Claude Code task execution",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "bin": {
10
- "e2bswarm": "./dist/index.js"
11
- },
12
- "files": [
13
- "dist",
14
- "SKILL.md",
15
- "README.md",
16
- "templates",
17
- "examples"
18
- ],
19
- "scripts": {
20
- "start": "bun run src/index.ts",
21
- "dev": "bun --watch src/index.ts",
22
- "build": "bun build src/index.ts --outdir dist --target bun --minify && chmod +x dist/index.js",
23
- "typecheck": "tsc --noEmit",
24
- "prepublishOnly": "bun run build",
25
- "link": "ln -sf $(pwd) ~/.claude/skills/e2bswarm",
26
- "link:global": "bun link"
27
- },
28
- "dependencies": {
29
- "chalk": "^5.3.0",
30
- "commander": "^12.1.0",
31
- "e2b": "^1.0.5",
32
- "ora": "^8.0.1"
33
- },
34
- "devDependencies": {
35
- "@types/bun": "latest",
36
- "typescript": "^5.7.0"
37
- },
38
- "keywords": [
39
- "e2b",
40
- "claude-code",
41
- "claude",
42
- "sandbox",
43
- "parallel-execution",
44
- "task-runner",
45
- "ai-agent",
46
- "swarm"
47
- ],
48
- "homepage": "https://github.com/hasnaxyz/e2bswarm#readme",
49
- "bugs": {
50
- "url": "https://github.com/hasnaxyz/e2bswarm/issues"
51
- },
52
- "engines": {
53
- "node": ">=18.0.0"
54
- },
55
- "private": false,
56
- "publishConfig": {
57
- "access": "restricted"
58
- }
59
- }
@@ -1,135 +0,0 @@
1
- import { mkdir } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import ora from 'ora';
4
- import { E2BSwarm } from '../lib/e2b';
5
- import { loadConfig, loadState } from '../lib/config';
6
- import { logger } from '../lib/logger';
7
- import { paths } from '../lib/paths';
8
- import type { CollectOptions } from '../types';
9
-
10
- export async function collect(options: CollectOptions) {
11
- const spinner = ora('Loading state...').start();
12
-
13
- try {
14
- const config = await loadConfig();
15
- const state = await loadState();
16
-
17
- if (state.instances.length === 0) {
18
- spinner.fail('No instances found');
19
- return;
20
- }
21
-
22
- const swarm = new E2BSwarm(config);
23
-
24
- // Filter instances
25
- const instances = options.instance
26
- ? state.instances.filter(i => i.id.startsWith(options.instance!))
27
- : state.instances.filter(i => i.status === 'completed' || i.status === 'running');
28
-
29
- if (instances.length === 0) {
30
- spinner.fail('No completed instances to collect from');
31
- logger.info('Use `e2bswarm status` to check instance status');
32
- return;
33
- }
34
-
35
- spinner.text = `Found ${instances.length} instances to collect from`;
36
-
37
- // Use provided output dir or default to skill exports directory
38
- const outputDir = options.output || paths.getExportDir('collect');
39
- await mkdir(outputDir, { recursive: true });
40
- spinner.succeed(`Output directory: ${outputDir}`);
41
-
42
- logger.header('Collecting Results');
43
-
44
- const results: Array<{
45
- instanceId: string;
46
- status: string;
47
- tasks: number;
48
- completed: number;
49
- outputFile: string;
50
- }> = [];
51
-
52
- for (const instance of instances) {
53
- const shortId = instance.id.slice(0, 8);
54
- spinner.start(`[${shortId}] Collecting...`);
55
-
56
- try {
57
- if (instance.status === 'running') {
58
- // Update status first
59
- const updated = await swarm.checkInstance(instance);
60
- Object.assign(instance, updated);
61
- }
62
-
63
- if (instance.sandboxId) {
64
- const collected = await swarm.collectResults(instance);
65
-
66
- // Write results to file
67
- const outputFile = join(outputDir, `${shortId}-results.json`);
68
- const resultData = {
69
- instanceId: instance.id,
70
- sandboxId: instance.sandboxId,
71
- template: instance.template,
72
- source: instance.source,
73
- sourceType: instance.sourceType,
74
- status: instance.status,
75
- startedAt: instance.startedAt,
76
- completedAt: instance.completedAt,
77
- duration: instance.completedAt
78
- ? new Date(instance.completedAt).getTime() - new Date(instance.startedAt).getTime()
79
- : null,
80
- tasks: collected.tasks,
81
- output: collected.output,
82
- logs: collected.logs,
83
- };
84
-
85
- await Bun.write(outputFile, JSON.stringify(resultData, null, 2));
86
-
87
- // Also copy to instance export dir if it exists
88
- if (instance.exportDir) {
89
- await mkdir(instance.exportDir, { recursive: true });
90
- await Bun.write(join(instance.exportDir, 'results.json'), JSON.stringify(resultData, null, 2));
91
- }
92
-
93
- const completedTasks = collected.tasks.filter(t => t.status === 'completed').length;
94
- results.push({
95
- instanceId: shortId,
96
- status: instance.status,
97
- tasks: collected.tasks.length,
98
- completed: completedTasks,
99
- outputFile,
100
- });
101
-
102
- spinner.succeed(`[${shortId}] Collected ${completedTasks}/${collected.tasks.length} tasks`);
103
- } else {
104
- spinner.warn(`[${shortId}] No sandbox ID, skipping`);
105
- }
106
- } catch (error) {
107
- spinner.warn(`[${shortId}] Failed: ${error instanceof Error ? error.message : error}`);
108
- }
109
- }
110
-
111
- // Write summary
112
- const summaryFile = join(outputDir, 'summary.json');
113
- const summary = {
114
- collectedAt: new Date().toISOString(),
115
- outputDir,
116
- totalInstances: results.length,
117
- totalTasks: results.reduce((sum, r) => sum + r.tasks, 0),
118
- completedTasks: results.reduce((sum, r) => sum + r.completed, 0),
119
- instances: results,
120
- };
121
-
122
- await Bun.write(summaryFile, JSON.stringify(summary, null, 2));
123
-
124
- logger.header('Summary');
125
- logger.info(`Instances collected: ${results.length}`);
126
- logger.info(`Total tasks: ${summary.totalTasks}`);
127
- logger.info(`Completed tasks: ${summary.completedTasks}`);
128
- logger.info(`Results saved to: ${outputDir}`);
129
-
130
- } catch (error) {
131
- spinner.fail('Failed');
132
- logger.error(error instanceof Error ? error.message : String(error));
133
- process.exit(1);
134
- }
135
- }
@@ -1,164 +0,0 @@
1
- import { mkdir, writeFile, readFile } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import { homedir } from 'node:os';
4
- import { logger } from '../lib/logger';
5
-
6
- type Platform = 'claude' | 'codex';
7
-
8
- function getSkillsDir(platform: Platform, local: boolean): string {
9
- if (local) {
10
- return platform === 'claude' ? '.claude/skills' : '.codex/skills';
11
- }
12
- const home = homedir();
13
- return platform === 'claude'
14
- ? join(home, '.claude', 'skills')
15
- : join(home, '.codex', 'skills');
16
- }
17
-
18
- async function ensureDir(dir: string): Promise<void> {
19
- await mkdir(dir, { recursive: true });
20
- }
21
-
22
- async function getSkillMdContent(): Promise<string> {
23
- // Try to read from the package's SKILL.md first
24
- const possiblePaths = [
25
- join(__dirname, '..', '..', 'SKILL.md'),
26
- join(__dirname, '..', '..', '..', 'SKILL.md'),
27
- join(process.cwd(), 'SKILL.md'),
28
- ];
29
-
30
- for (const path of possiblePaths) {
31
- try {
32
- return await readFile(path, 'utf-8');
33
- } catch {
34
- // Try next path
35
- }
36
- }
37
-
38
- // Fallback to embedded content
39
- return `---
40
- name: e2bswarm
41
- description: Spawn and manage E2B sandbox instances for parallel Claude Code task execution. Use when you need to run multiple tasks in parallel across isolated environments, distribute work across sandboxes, or execute tasks in clean environments.
42
- disable-model-invocation: true
43
- allowed-tools: Bash(bun:*), Bash(e2b:*), Read, Write
44
- ---
45
-
46
- # E2B Swarm
47
-
48
- Spawn E2B sandbox instances in parallel to execute Claude Code tasks across isolated environments.
49
-
50
- ## CLI Usage
51
-
52
- \`\`\`bash
53
- # Spawn instances with tasks from a task list
54
- e2bswarm spawn --repo <github-url> --tasks <task-list-id> --instances <count>
55
-
56
- # Spawn from a local directory
57
- e2bswarm spawn --local ./my-project --tasks <task-list-id> --instances 3
58
-
59
- # Check status
60
- e2bswarm status
61
-
62
- # Collect results
63
- e2bswarm collect --output ./results
64
-
65
- # Kill instances
66
- e2bswarm kill
67
- \`\`\`
68
-
69
- ## Commands
70
-
71
- | Command | Description |
72
- |---------|-------------|
73
- | \`spawn\` | Spawn E2B instances with tasks |
74
- | \`status\` | Check instance status |
75
- | \`collect\` | Collect results from instances |
76
- | \`kill\` | Kill running instances |
77
- | \`sync\` | Sync changes back to GitHub |
78
- | \`clean\` | Clean up state file |
79
- | \`info\` | Show skill data directory paths |
80
-
81
- ## Options (spawn)
82
-
83
- | Option | Description |
84
- |--------|-------------|
85
- | \`-r, --repo <url>\` | Git repository URL to clone |
86
- | \`-l, --local <path>\` | Local directory to upload |
87
- | \`-t, --tasks <id>\` | Task list ID from ~/.claude/tasks/ |
88
- | \`-n, --instances <count>\` | Number of parallel instances |
89
- | \`-d, --distribute <mode>\` | Distribution: all, round-robin, by-dependency |
90
- | \`--auto-commit\` | Auto commit changes |
91
- | \`--auto-push\` | Auto push changes |
92
- | \`--create-pr\` | Create pull request |
93
-
94
- ## Data Directories
95
-
96
- - **exports/** - Collected results and artifacts
97
- - **logs/** - Execution logs
98
- - **cache/** - Temporary data
99
- - **config/** - Skill configuration
100
-
101
- ## Requirements
102
-
103
- - \`E2B_API_KEY\` in \`~/.secrets\` - Required for E2B sandboxes
104
- - Bun runtime with \`e2bswarm\` installed globally
105
-
106
- ## Install CLI
107
-
108
- \`\`\`bash
109
- bun add -g @hasnaxyz/e2bswarm
110
- \`\`\`
111
- `;
112
- }
113
-
114
- export async function install(options: {
115
- claude?: boolean;
116
- codex?: boolean;
117
- local?: boolean;
118
- }): Promise<void> {
119
- if (!options.claude && !options.codex) {
120
- logger.error('Please specify --claude or --codex');
121
- process.exit(1);
122
- }
123
-
124
- const skillName = 'e2bswarm';
125
- const platforms: Platform[] = [];
126
- if (options.claude) platforms.push('claude');
127
- if (options.codex) platforms.push('codex');
128
-
129
- const skillMdContent = await getSkillMdContent();
130
-
131
- for (const platform of platforms) {
132
- const baseDir = getSkillsDir(platform, options.local || false);
133
- const skillDir = join(baseDir, skillName);
134
-
135
- logger.info(`Installing skill to ${platform === 'claude' ? 'Claude Code' : 'Codex'}...`);
136
-
137
- try {
138
- // Create skill directory structure
139
- await ensureDir(skillDir);
140
- await ensureDir(join(skillDir, 'exports'));
141
- await ensureDir(join(skillDir, 'uploads'));
142
- await ensureDir(join(skillDir, 'logs'));
143
-
144
- // Write SKILL.md
145
- const skillMdPath = join(skillDir, 'SKILL.md');
146
- await writeFile(skillMdPath, skillMdContent, 'utf-8');
147
-
148
- logger.success(`Installed to ${skillDir}`);
149
-
150
- console.log();
151
- console.log('Created structure:');
152
- console.log(` ${skillDir}/`);
153
- console.log(' ├── SKILL.md');
154
- console.log(' ├── exports/');
155
- console.log(' ├── uploads/');
156
- console.log(' └── logs/');
157
- console.log();
158
- console.log(`Invoke with: /${skillName}`);
159
- } catch (error) {
160
- logger.error(`Install failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
161
- process.exit(1);
162
- }
163
- }
164
- }
@@ -1,62 +0,0 @@
1
- import ora from 'ora';
2
- import { E2BSwarm } from '../lib/e2b';
3
- import { loadConfig, loadState, saveState } from '../lib/config';
4
- import { logger } from '../lib/logger';
5
- import type { KillOptions } from '../types';
6
-
7
- export async function kill(options: KillOptions) {
8
- const spinner = ora('Loading state...').start();
9
-
10
- try {
11
- const config = await loadConfig();
12
- const state = await loadState();
13
-
14
- if (state.instances.length === 0) {
15
- spinner.info('No instances found');
16
- return;
17
- }
18
-
19
- const swarm = new E2BSwarm(config);
20
-
21
- // Filter instances to kill
22
- let instances = state.instances.filter(
23
- i => i.status === 'running' || i.status === 'starting' || i.status === 'setting-up' || i.status === 'cloning'
24
- );
25
-
26
- if (options.instance) {
27
- instances = instances.filter(i => i.id.startsWith(options.instance!));
28
- }
29
-
30
- if (instances.length === 0) {
31
- spinner.info('No running instances to kill');
32
- return;
33
- }
34
-
35
- spinner.succeed(`Found ${instances.length} instances to kill`);
36
-
37
- logger.header('Killing Instances');
38
-
39
- for (const instance of instances) {
40
- const shortId = instance.id.slice(0, 8);
41
- spinner.start(`[${shortId}] Killing...`);
42
-
43
- try {
44
- await swarm.kill(instance);
45
- spinner.succeed(`[${shortId}] Killed`);
46
- } catch (error) {
47
- spinner.warn(`[${shortId}] Failed: ${error instanceof Error ? error.message : error}`);
48
- }
49
- }
50
-
51
- // Update state
52
- await saveState(state);
53
-
54
- logger.header('Summary');
55
- logger.info(`Killed ${instances.length} instances`);
56
-
57
- } catch (error) {
58
- spinner.fail('Failed');
59
- logger.error(error instanceof Error ? error.message : String(error));
60
- process.exit(1);
61
- }
62
- }