@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,256 +0,0 @@
1
- # Audio Generation Skill
2
-
3
- A comprehensive Claude Code skill for generating high-quality audio using AI-powered text-to-speech APIs.
4
-
5
- ## Features
6
-
7
- - Multiple TTS providers: ElevenLabs, OpenAI TTS, and Google Text-to-Speech
8
- - Simple, elegant CLI interface
9
- - Voice selection and listing
10
- - Multiple languages support
11
- - Customizable speech speed
12
- - Clean TypeScript implementation with full type safety
13
- - Native fetch API (no external HTTP libraries needed)
14
-
15
- ## Supported Providers
16
-
17
- ### ElevenLabs
18
- - Natural voice synthesis with voice cloning capabilities
19
- - Models: `eleven_multilingual_v2`, `eleven_flash_v2_5`, `eleven_v3`
20
- - Multiple languages and voice options
21
- - Professional-quality audio output
22
-
23
- ### OpenAI TTS
24
- - High-quality text-to-speech
25
- - Models: `tts-1` (fast), `tts-1-hd` (high quality)
26
- - Voices: alloy, echo, fable, onyx, nova, shimmer
27
- - Speed control (0.25x to 4.0x)
28
-
29
- ### Google Text-to-Speech
30
- - Cloud-based TTS service
31
- - Wide range of voices and languages
32
- - Natural-sounding speech synthesis
33
- - Configurable pitch and speaking rate
34
-
35
- ## Installation
36
-
37
- 1. Install Bun (if not already installed):
38
- ```bash
39
- curl -fsSL https://bun.sh/install | bash
40
- ```
41
-
42
- 2. Clone and navigate to the skill directory:
43
- ```bash
44
- git clone https://github.com/hasnaxyz/audio.git
45
- cd audio
46
- ```
47
-
48
- 3. Install dependencies:
49
- ```bash
50
- bun install
51
- ```
52
-
53
- 4. Set up environment variables:
54
- ```bash
55
- cp .env.example .env
56
- # Edit .env and add your API keys
57
- ```
58
-
59
- ## Configuration
60
-
61
- Create a `.env` file with your API keys:
62
-
63
- ```bash
64
- ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
65
- OPENAI_API_KEY=your_openai_api_key_here
66
- GOOGLE_API_KEY=your_google_api_key_here
67
- ```
68
-
69
- ### Getting API Keys
70
-
71
- - **ElevenLabs**: https://elevenlabs.io/
72
- - **OpenAI**: https://platform.openai.com/api-keys
73
- - **Google Cloud**: https://console.cloud.google.com/apis/credentials
74
-
75
- ## Usage
76
-
77
- ### Generate Audio
78
-
79
- #### ElevenLabs
80
- ```bash
81
- bun run src/index.ts generate \
82
- --provider elevenlabs \
83
- --text "Hello world, this is a test of ElevenLabs text to speech" \
84
- --voice rachel \
85
- --model eleven_multilingual_v2 \
86
- --output ./output.mp3
87
- ```
88
-
89
- #### OpenAI TTS
90
- ```bash
91
- bun run src/index.ts generate \
92
- --provider openai \
93
- --text "Hello world, this is a test of OpenAI text to speech" \
94
- --voice nova \
95
- --model tts-1-hd \
96
- --speed 1.0 \
97
- --output ./output.mp3
98
- ```
99
-
100
- #### Google Text-to-Speech
101
- ```bash
102
- bun run src/index.ts generate \
103
- --provider google \
104
- --text "Hello world, this is a test of Google text to speech" \
105
- --language en-US \
106
- --speed 1.0 \
107
- --output ./output.mp3
108
- ```
109
-
110
- ### List Available Voices
111
-
112
- ```bash
113
- # ElevenLabs voices
114
- bun run src/index.ts voices --provider elevenlabs
115
-
116
- # OpenAI voices
117
- bun run src/index.ts voices --provider openai
118
-
119
- # Google voices
120
- bun run src/index.ts voices --provider google
121
- ```
122
-
123
- ### Show Help
124
-
125
- ```bash
126
- bun run src/index.ts help
127
- ```
128
-
129
- ## CLI Options
130
-
131
- ### Generate Command
132
-
133
- | Option | Description | Required | Default |
134
- |--------|-------------|----------|---------|
135
- | `--provider` | Provider to use (elevenlabs, openai, google) | Yes | - |
136
- | `--text` | Text to convert to speech | Yes | - |
137
- | `--output` | Output file path (e.g., ./output.mp3) | Yes | - |
138
- | `--voice` | Voice to use (provider-specific) | No | Provider default |
139
- | `--model` | Model to use (provider-specific) | No | Provider default |
140
- | `--language` | Language code (Google TTS, e.g., en-US) | No | en-US |
141
- | `--speed` | Speaking speed (0.25-4.0) | No | 1.0 |
142
-
143
- ### Voices Command
144
-
145
- | Option | Description | Required |
146
- |--------|-------------|----------|
147
- | `--provider` | Provider to list voices from | Yes |
148
-
149
- ## Examples
150
-
151
- ### Quick Test with Different Providers
152
-
153
- ```bash
154
- # ElevenLabs - Natural voice
155
- bun run src/index.ts generate \
156
- --provider elevenlabs \
157
- --text "The quick brown fox jumps over the lazy dog" \
158
- --voice rachel \
159
- --output ./elevenlabs_test.mp3
160
-
161
- # OpenAI - High quality
162
- bun run src/index.ts generate \
163
- --provider openai \
164
- --text "The quick brown fox jumps over the lazy dog" \
165
- --voice nova \
166
- --model tts-1-hd \
167
- --output ./openai_test.mp3
168
-
169
- # Google - Multilingual
170
- bun run src/index.ts generate \
171
- --provider google \
172
- --text "The quick brown fox jumps over the lazy dog" \
173
- --language en-US \
174
- --output ./google_test.mp3
175
- ```
176
-
177
- ### Generate with Custom Speed
178
-
179
- ```bash
180
- # Slower speech
181
- bun run src/index.ts generate \
182
- --provider openai \
183
- --text "This is spoken slowly" \
184
- --voice onyx \
185
- --speed 0.75 \
186
- --output ./slow.mp3
187
-
188
- # Faster speech
189
- bun run src/index.ts generate \
190
- --provider openai \
191
- --text "This is spoken quickly" \
192
- --voice nova \
193
- --speed 1.5 \
194
- --output ./fast.mp3
195
- ```
196
-
197
- ## Project Structure
198
-
199
- ```
200
- audio/
201
- ├── SKILL.md # Skill metadata and description
202
- ├── README.md # This file
203
- ├── package.json # Bun project configuration
204
- ├── tsconfig.json # TypeScript configuration
205
- ├── .env.example # Example environment variables
206
- ├── src/
207
- │ ├── index.ts # CLI entry point
208
- │ ├── types.ts # TypeScript type definitions
209
- │ └── providers/
210
- │ ├── elevenlabs.ts # ElevenLabs provider
211
- │ ├── openai.ts # OpenAI TTS provider
212
- │ └── google.ts # Google TTS provider
213
- ```
214
-
215
- ## Development
216
-
217
- ### Run in Development Mode
218
-
219
- ```bash
220
- bun run dev
221
- ```
222
-
223
- ### Type Checking
224
-
225
- ```bash
226
- bun run tsc --noEmit
227
- ```
228
-
229
- ## Error Handling
230
-
231
- The CLI provides clear error messages for common issues:
232
-
233
- - Missing API keys
234
- - Invalid providers
235
- - Voice not found
236
- - API errors
237
- - File write errors
238
-
239
- ## Troubleshooting
240
-
241
- ### "API key not found" error
242
- Make sure you've created a `.env` file with the appropriate API key for the provider you're using.
243
-
244
- ### "Voice not found" error
245
- Use the `voices` command to list available voices for your chosen provider.
246
-
247
- ### API errors
248
- Check that your API keys are valid and have sufficient credits/quota.
249
-
250
- ## License
251
-
252
- MIT
253
-
254
- ## Contributing
255
-
256
- Contributions are welcome! Please feel free to submit issues or pull requests.
@@ -1,206 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- /**
4
- * Audio Generation CLI
5
- * Unified interface for ElevenLabs, OpenAI TTS, and Google Text-to-Speech
6
- */
7
- import { handleInstallCommand } from '../../_common';
8
-
9
-
10
- // Handle install/uninstall commands
11
- const SKILL_META = {
12
- name: 'audio',
13
- description: 'Audio generation skill for Claude Code using ElevenLabs, OpenAI TTS, and Google Text-to-Speech',
14
- version: '1.0.0',
15
- commands: `Use: audio --help`,
16
- requiredEnvVars: ['SKILL_API_KEY'],
17
- };
18
-
19
- if (await handleInstallCommand(SKILL_META, process.argv.slice(2))) {
20
- process.exit(0);
21
- }
22
-
23
- import { MinimaxProvider } from './providers/minimax';
24
- import { ElevenLabsProvider } from './providers/elevenlabs';
25
- import { OpenAIProvider } from './providers/openai';
26
- import { GoogleProvider } from './providers/google';
27
- import type { AudioProvider, Provider } from './types';
28
-
29
- // Parse command line arguments
30
- function parseArgs(): {
31
- command: string;
32
- provider?: Provider;
33
- text?: string;
34
- voice?: string;
35
- model?: string;
36
- output?: string;
37
- language?: string;
38
- speed?: number;
39
- } {
40
- const args = process.argv.slice(2);
41
- const parsed: any = { command: args[0] || 'help' };
42
-
43
- for (let i = 1; i < args.length; i += 2) {
44
- const key = args[i].replace(/^--/, '');
45
- const value = args[i + 1];
46
- parsed[key] = value;
47
- }
48
-
49
- // Convert speed to number if present
50
- if (parsed.speed) {
51
- parsed.speed = parseFloat(parsed.speed);
52
- }
53
-
54
- return parsed;
55
- }
56
-
57
- // Get provider instance
58
- function getProvider(providerName: Provider): AudioProvider {
59
- switch (providerName) {
60
- case 'minimax':
61
- return new MinimaxProvider();
62
- case 'elevenlabs':
63
- return new ElevenLabsProvider();
64
- case 'openai':
65
- return new OpenAIProvider();
66
- case 'google':
67
- return new GoogleProvider();
68
- default:
69
- throw new Error(
70
- `Unknown provider: ${providerName}. Use: minimax, elevenlabs, openai, or google`
71
- );
72
- }
73
- }
74
-
75
- // Display help information
76
- function showHelp(): void {
77
- console.log(`
78
- Audio Generation CLI - Generate high-quality audio using AI
79
-
80
- USAGE:
81
- bun run src/index.ts <command> [options]
82
-
83
- COMMANDS:
84
- generate Generate audio from text
85
- voices List available voices for a provider
86
- help Show this help message
87
-
88
- GENERATE OPTIONS:
89
- --provider <name> Provider to use: elevenlabs, openai, google (required)
90
- --text <text> Text to convert to speech (required)
91
- --voice <voice> Voice to use (optional, provider-specific)
92
- --model <model> Model to use (optional, provider-specific)
93
- --output <path> Output file path (required, e.g., ./output.mp3)
94
- --language <code> Language code (optional, for Google TTS, e.g., en-US)
95
- --speed <number> Speaking speed (optional, 0.25-4.0, default: 1.0)
96
-
97
- VOICES OPTIONS:
98
- --provider <name> Provider to list voices from (required)
99
-
100
- EXAMPLES:
101
- # Generate audio with ElevenLabs
102
- bun run src/index.ts generate --provider elevenlabs --text "Hello world" --voice rachel --output ./output.mp3
103
-
104
- # Generate audio with OpenAI TTS
105
- bun run src/index.ts generate --provider openai --text "Hello world" --voice nova --output ./output.mp3
106
-
107
- # Generate audio with Google TTS
108
- bun run src/index.ts generate --provider google --text "Hello world" --language en-US --output ./output.mp3
109
-
110
- # List available voices
111
- bun run src/index.ts voices --provider elevenlabs
112
- bun run src/index.ts voices --provider openai
113
- bun run src/index.ts voices --provider google
114
-
115
- ENVIRONMENT VARIABLES:
116
- ELEVENLABS_API_KEY API key for ElevenLabs
117
- OPENAI_API_KEY API key for OpenAI
118
- GOOGLE_API_KEY API key for Google Cloud TTS
119
- `);
120
- }
121
-
122
- // Main CLI handler
123
- async function main(): Promise<void> {
124
- const args = parseArgs();
125
-
126
- try {
127
- switch (args.command) {
128
- case 'generate': {
129
- if (!args.provider) {
130
- console.error('Error: --provider is required');
131
- console.error('Use: bun run src/index.ts help');
132
- process.exit(1);
133
- }
134
- if (!args.text) {
135
- console.error('Error: --text is required');
136
- console.error('Use: bun run src/index.ts help');
137
- process.exit(1);
138
- }
139
- if (!args.output) {
140
- console.error('Error: --output is required');
141
- console.error('Use: bun run src/index.ts help');
142
- process.exit(1);
143
- }
144
-
145
- const provider = getProvider(args.provider as Provider);
146
- console.log(`Generating audio with ${provider.name}...`);
147
-
148
- await provider.generate({
149
- text: args.text,
150
- voice: args.voice,
151
- model: args.model,
152
- output: args.output,
153
- language: args.language,
154
- speed: args.speed,
155
- });
156
- break;
157
- }
158
-
159
- case 'voices': {
160
- if (!args.provider) {
161
- console.error('Error: --provider is required');
162
- console.error('Use: bun run src/index.ts help');
163
- process.exit(1);
164
- }
165
-
166
- const provider = getProvider(args.provider as Provider);
167
- console.log(`Fetching voices from ${provider.name}...\n`);
168
-
169
- const voices = await provider.listVoices();
170
-
171
- if (voices.length === 0) {
172
- console.log('No voices available');
173
- break;
174
- }
175
-
176
- console.log(`Found ${voices.length} voices:\n`);
177
- voices.forEach((voice) => {
178
- console.log(` ${voice.name} (${voice.id})`);
179
- if (voice.description) {
180
- console.log(` ${voice.description}`);
181
- }
182
- if (voice.category) {
183
- console.log(` Category: ${voice.category}`);
184
- }
185
- console.log('');
186
- });
187
- break;
188
- }
189
-
190
- case 'help':
191
- showHelp();
192
- break;
193
-
194
- default:
195
- console.error(`Unknown command: ${args.command}`);
196
- console.error('Use: bun run src/index.ts help');
197
- process.exit(1);
198
- }
199
- } catch (error) {
200
- console.error('Error:', error instanceof Error ? error.message : String(error));
201
- process.exit(1);
202
- }
203
- }
204
-
205
- // Run the CLI
206
- main();
@@ -1,95 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- import { executeAndSave, executeSkill, handleInstallCommand } from "../../_common";
4
-
5
- const SKILL = "audio";
6
-
7
- const SKILL_META = {
8
- name: "audio",
9
- description: "Generate speech and audio using provider-cost AI backends",
10
- version: "1.0.0",
11
- commands: "audio generate --provider <provider> --text <text> --output <file>",
12
- requiredEnvVars: ["SKILL_API_KEY"],
13
- };
14
-
15
- if (await handleInstallCommand(SKILL_META, process.argv.slice(2))) {
16
- process.exit(0);
17
- }
18
-
19
- function parseArgs(): Record<string, string | boolean> {
20
- const parsed: Record<string, string | boolean> = {};
21
- const args = process.argv.slice(2);
22
- for (let i = 0; i < args.length; i++) {
23
- const arg = args[i];
24
- if (arg.startsWith("--")) {
25
- const key = arg.slice(2);
26
- const next = args[i + 1];
27
- if (next && !next.startsWith("--")) {
28
- parsed[key] = next;
29
- i++;
30
- } else {
31
- parsed[key] = true;
32
- }
33
- } else if (!parsed.command) {
34
- parsed.command = arg;
35
- }
36
- }
37
- return parsed;
38
- }
39
-
40
- function printHelp() {
41
- console.log(`Skill Audio CLI
42
-
43
- USAGE:
44
- audio generate --provider <provider> --text <text> [options]
45
-
46
- PROVIDERS:
47
- openai tts-1, tts-1-hd
48
- minimax speech-2.8-turbo, speech-2.8-hd
49
- gemini gemini-2.5-flash-preview-tts, gemini-2.5-pro-preview-tts
50
-
51
- OPTIONS:
52
- --model <model> Provider model override
53
- --text <text> Text to synthesize
54
- --voice <voice> Provider-specific voice
55
- --format <format> mp3, wav, or opus
56
- --output <path> Save generated audio
57
-
58
- EXAMPLES:
59
- audio generate --provider openai --text "Welcome to Skills.md" --voice alloy --output ./voice.mp3
60
- audio generate --provider minimax --text "Fast narration" --output ./voice.mp3`);
61
- }
62
-
63
- async function main() {
64
- const args = parseArgs();
65
- const command = (args.command as string) || "help";
66
-
67
- if (command === "help" || args.help) {
68
- printHelp();
69
- return;
70
- }
71
-
72
- const { command: _command, ...params } = args;
73
- if (params.output) {
74
- const success = await executeAndSave({ skill: SKILL, command, ...params });
75
- process.exit(success ? 0 : 1);
76
- }
77
-
78
- const result = await executeSkill({ skill: SKILL, command, ...params });
79
- if (result instanceof Blob) {
80
- console.error("Unexpected binary response. Pass --output to save audio output.");
81
- process.exit(1);
82
- }
83
- if (result.success && result.output) {
84
- console.log(result.output);
85
- return;
86
- }
87
- console.error(`Error: ${result.error || "Audio generation failed"}`);
88
- if (result.details) console.error(result.details);
89
- process.exit(1);
90
- }
91
-
92
- main().catch((error) => {
93
- console.error(`Fatal error: ${(error as Error).message}`);
94
- process.exit(1);
95
- });
@@ -1,115 +0,0 @@
1
- /**
2
- * ElevenLabs Text-to-Speech Provider
3
- * Supports text-to-speech, voice cloning, and multiple languages
4
- */
5
-
6
- import type {
7
- AudioProvider,
8
- GenerateOptions,
9
- Voice,
10
- ElevenLabsVoice,
11
- ElevenLabsGenerateRequest,
12
- } from '../types';
13
-
14
- export class ElevenLabsProvider implements AudioProvider {
15
- name = 'ElevenLabs';
16
- private apiKey: string;
17
- private baseUrl = 'https://api.elevenlabs.io/v1';
18
-
19
- constructor() {
20
- const apiKey = process.env.ELEVENLABS_API_KEY;
21
- if (!apiKey) {
22
- throw new Error('ELEVENLABS_API_KEY environment variable is required');
23
- }
24
- this.apiKey = apiKey;
25
- }
26
-
27
- async generate(options: GenerateOptions): Promise<void> {
28
- const {
29
- text,
30
- voice = 'rachel',
31
- model = 'eleven_multilingual_v2',
32
- output,
33
- } = options;
34
-
35
- // Get voice ID from voice name
36
- const voiceId = await this.getVoiceId(voice);
37
-
38
- const requestBody: ElevenLabsGenerateRequest = {
39
- text,
40
- model_id: model,
41
- voice_settings: {
42
- stability: 0.5,
43
- similarity_boost: 0.5,
44
- },
45
- };
46
-
47
- const url = `${this.baseUrl}/text-to-speech/${voiceId}`;
48
-
49
- const response = await fetch(url, {
50
- method: 'POST',
51
- headers: {
52
- 'Accept': 'audio/mpeg',
53
- 'Content-Type': 'application/json',
54
- 'xi-api-key': this.apiKey,
55
- },
56
- body: JSON.stringify(requestBody),
57
- });
58
-
59
- if (!response.ok) {
60
- const errorText = await response.text();
61
- throw new Error(`ElevenLabs API error: ${response.status} - ${errorText}`);
62
- }
63
-
64
- const audioBuffer = await response.arrayBuffer();
65
- await Bun.write(output, audioBuffer);
66
-
67
- console.log(`Audio generated successfully: ${output}`);
68
- }
69
-
70
- async listVoices(): Promise<Voice[]> {
71
- const url = `${this.baseUrl}/voices`;
72
-
73
- const response = await fetch(url, {
74
- headers: {
75
- 'xi-api-key': this.apiKey,
76
- },
77
- });
78
-
79
- if (!response.ok) {
80
- const errorText = await response.text();
81
- throw new Error(`ElevenLabs API error: ${response.status} - ${errorText}`);
82
- }
83
-
84
- const data = await response.json() as { voices: ElevenLabsVoice[] };
85
-
86
- return data.voices.map((voice) => ({
87
- id: voice.voice_id,
88
- name: voice.name,
89
- description: voice.description,
90
- previewUrl: voice.preview_url,
91
- category: voice.category,
92
- }));
93
- }
94
-
95
- private async getVoiceId(voiceName: string): Promise<string> {
96
- // If it's already a voice ID (long alphanumeric string), use it directly
97
- if (voiceName.length > 20) {
98
- return voiceName;
99
- }
100
-
101
- // Otherwise, look up the voice by name
102
- const voices = await this.listVoices();
103
- const voice = voices.find(
104
- (v) => v.name.toLowerCase() === voiceName.toLowerCase()
105
- );
106
-
107
- if (!voice) {
108
- throw new Error(
109
- `Voice "${voiceName}" not found. Use "voices" command to list available voices.`
110
- );
111
- }
112
-
113
- return voice.id;
114
- }
115
- }