@hasna/skills 0.1.26 → 0.1.29

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 (491) hide show
  1. package/LICENSE +1 -10
  2. package/README.md +141 -39
  3. package/bin/index.js +30122 -27575
  4. package/bin/mcp.js +22112 -18593
  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 +11607 -597
  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 +10 -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 +23 -10
  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/package.json +1 -1
  108. package/skills/consolelog/src/index.ts +3 -0
  109. package/skills/contract-review-report/SKILL.md +43 -0
  110. package/skills/contract-review-report/package.json +10 -0
  111. package/skills/convert/SKILL.md +2 -3
  112. package/skills/customer-feedback-report/SKILL.md +44 -0
  113. package/skills/customer-feedback-report/package.json +10 -0
  114. package/skills/dashboard-builder/package.json +3 -1
  115. package/skills/database-explorer/package.json +3 -1
  116. package/skills/deepresearch/README.md +4 -13
  117. package/skills/deploy/src/http-client.ts +1 -1
  118. package/skills/diff-viewer/package.json +4 -1
  119. package/skills/doc-generate/package.json +0 -1
  120. package/skills/doc-generate/src/ai.ts +50 -0
  121. package/skills/doc-generate/src/cli.ts +203 -0
  122. package/skills/doc-generate/src/dependencies.ts +44 -0
  123. package/skills/doc-generate/src/document-builder.ts +299 -0
  124. package/skills/doc-generate/src/index.ts +40 -764
  125. package/skills/doc-generate/src/markdown-parser.ts +125 -0
  126. package/skills/doc-generate/src/types.ts +68 -0
  127. package/skills/domainpurchase/SKILL.md +1 -1
  128. package/skills/domainpurchase/package.json +1 -1
  129. package/skills/domainpurchase/src/index.ts +3 -0
  130. package/skills/domainsearch/SKILL.md +1 -1
  131. package/skills/domainsearch/package.json +1 -1
  132. package/skills/domainsearch/src/index.ts +3 -0
  133. package/skills/email-sequence/SKILL.md +44 -0
  134. package/skills/email-sequence/package.json +14 -0
  135. package/skills/excel/CLAUDE.md +2 -2
  136. package/skills/experiment-power-calculator/package.json +3 -1
  137. package/skills/extract-invoice/src/cli.ts +97 -0
  138. package/skills/extract-invoice/src/extractor.ts +170 -0
  139. package/skills/extract-invoice/src/file-utils.ts +46 -0
  140. package/skills/extract-invoice/src/formatters.ts +144 -0
  141. package/skills/extract-invoice/src/index.ts +44 -629
  142. package/skills/extract-invoice/src/runtime.ts +46 -0
  143. package/skills/extract-invoice/src/types.ts +88 -0
  144. package/skills/folder-tree/package.json +3 -1
  145. package/skills/form-filler/package.json +3 -1
  146. package/skills/generate-api-client/package.json +3 -1
  147. package/skills/generate-api-client/src/generator.ts +47 -0
  148. package/skills/generate-api-client/src/index.ts +3 -777
  149. package/skills/generate-api-client/src/logger.ts +34 -0
  150. package/skills/generate-api-client/src/python-generator.ts +245 -0
  151. package/skills/generate-api-client/src/spec-loader.ts +48 -0
  152. package/skills/generate-api-client/src/type-mappers.ts +79 -0
  153. package/skills/generate-api-client/src/types.ts +76 -0
  154. package/skills/generate-api-client/src/typescript-generator.ts +247 -0
  155. package/skills/generate-book-cover/package.json +3 -1
  156. package/skills/generate-dockerfile/src/cli.ts +78 -0
  157. package/skills/generate-dockerfile/src/dockerfile-templates.ts +392 -0
  158. package/skills/generate-dockerfile/src/index.ts +12 -790
  159. package/skills/generate-dockerfile/src/logger.ts +30 -0
  160. package/skills/generate-dockerfile/src/project-detection.ts +68 -0
  161. package/skills/generate-dockerfile/src/support-files.ts +171 -0
  162. package/skills/generate-dockerfile/src/types.ts +29 -0
  163. package/skills/generate-documentation/src/ai.ts +131 -0
  164. package/skills/generate-documentation/src/cli.ts +71 -0
  165. package/skills/generate-documentation/src/code-parser.ts +300 -0
  166. package/skills/generate-documentation/src/file-processing.ts +182 -0
  167. package/skills/generate-documentation/src/index.ts +13 -753
  168. package/skills/generate-documentation/src/runtime.ts +35 -0
  169. package/skills/generate-documentation/src/types.ts +30 -0
  170. package/skills/generate-env/package.json +3 -1
  171. package/skills/generate-env/src/cli.ts +85 -0
  172. package/skills/generate-env/src/detection.ts +161 -0
  173. package/skills/generate-env/src/env-data.ts +66 -0
  174. package/skills/generate-env/src/generators.ts +240 -0
  175. package/skills/generate-env/src/index.ts +76 -676
  176. package/skills/generate-env/src/runtime.ts +30 -0
  177. package/skills/generate-env/src/types.ts +32 -0
  178. package/skills/generate-favicon/package.json +3 -1
  179. package/skills/generate-mock-data/package.json +3 -1
  180. package/skills/generate-mock-data/src/ai.ts +102 -0
  181. package/skills/generate-mock-data/src/formatters.ts +84 -0
  182. package/skills/generate-mock-data/src/generator.ts +377 -0
  183. package/skills/generate-mock-data/src/index.ts +15 -716
  184. package/skills/generate-mock-data/src/logger.ts +37 -0
  185. package/skills/generate-mock-data/src/presets.ts +110 -0
  186. package/skills/generate-mock-data/src/types.ts +21 -0
  187. package/skills/generate-pr-description/src/ai.ts +144 -0
  188. package/skills/generate-pr-description/src/cli.ts +80 -0
  189. package/skills/generate-pr-description/src/clipboard.ts +30 -0
  190. package/skills/generate-pr-description/src/formatters.ts +231 -0
  191. package/skills/generate-pr-description/src/git.ts +153 -0
  192. package/skills/generate-pr-description/src/index.ts +21 -714
  193. package/skills/generate-pr-description/src/types.ts +49 -0
  194. package/skills/generate-presentation/src/ai-clients.ts +61 -0
  195. package/skills/generate-presentation/src/cli.ts +126 -0
  196. package/skills/generate-presentation/src/index.ts +3 -751
  197. package/skills/generate-presentation/src/logger.ts +67 -0
  198. package/skills/generate-presentation/src/presentation-generator.ts +425 -0
  199. package/skills/generate-presentation/src/runtime.ts +6 -0
  200. package/skills/generate-presentation/src/security.ts +12 -0
  201. package/skills/generate-presentation/src/types.ts +28 -0
  202. package/skills/generate-qrcode/package.json +4 -1
  203. package/skills/generate-regex/package.json +3 -1
  204. package/skills/generate-resume/src/cli.ts +157 -0
  205. package/skills/generate-resume/src/index.ts +13 -917
  206. package/skills/generate-resume/src/parsers.ts +95 -0
  207. package/skills/generate-resume/src/renderers.ts +538 -0
  208. package/skills/generate-resume/src/security.ts +39 -0
  209. package/skills/generate-resume/src/types.ts +86 -0
  210. package/skills/generate-social-posts/src/ai.ts +88 -0
  211. package/skills/generate-social-posts/src/cli.ts +118 -0
  212. package/skills/generate-social-posts/src/exporters.ts +126 -0
  213. package/skills/generate-social-posts/src/generator.ts +130 -0
  214. package/skills/generate-social-posts/src/index.ts +19 -709
  215. package/skills/generate-social-posts/src/platforms.ts +39 -0
  216. package/skills/generate-social-posts/src/runtime.ts +34 -0
  217. package/skills/generate-social-posts/src/source.ts +116 -0
  218. package/skills/generate-social-posts/src/types.ts +58 -0
  219. package/skills/gif-maker/package.json +4 -1
  220. package/skills/github-manager/package.json +3 -1
  221. package/skills/gmail/CLAUDE.md +1 -1
  222. package/skills/highlight-reel-generator/src/index.ts +19 -0
  223. package/skills/hook/src/commands/create.ts +20 -845
  224. package/skills/hook/src/templates/root.ts +196 -0
  225. package/skills/hook/src/templates/source.ts +647 -0
  226. package/skills/http-server/package.json +3 -1
  227. package/skills/icon-pack/README.md +28 -0
  228. package/skills/icon-pack/SKILL.md +23 -0
  229. package/skills/icon-pack/package.json +29 -0
  230. package/skills/{audio → icon-pack}/tsconfig.json +10 -12
  231. package/skills/image/package.json +1 -2
  232. package/skills/implementation-agent/package.json +3 -1
  233. package/skills/implementation-agent/src/ai-generation.ts +225 -0
  234. package/skills/implementation-agent/src/index.ts +3 -960
  235. package/skills/implementation-agent/src/minimist.d.ts +15 -0
  236. package/skills/implementation-agent/src/templates.ts +686 -0
  237. package/skills/implementation-agent/src/types.ts +53 -0
  238. package/skills/implementation-plan/package.json +3 -1
  239. package/skills/implementation-todo/package.json +3 -1
  240. package/skills/invoice/package.json +1 -1
  241. package/skills/invoice/src/index.ts +3 -0
  242. package/skills/invoice-reconciliation/SKILL.md +42 -0
  243. package/skills/invoice-reconciliation/package.json +10 -0
  244. package/skills/landing-page-pack/SKILL.md +47 -0
  245. package/skills/landing-page-pack/package.json +14 -0
  246. package/skills/latex-table-generator/package.json +3 -1
  247. package/skills/logo-design/SKILL.md +25 -44
  248. package/skills/logo-design/package.json +3 -15
  249. package/skills/lorem-generator/package.json +3 -1
  250. package/skills/lorem-generator/src/index.ts +13 -0
  251. package/skills/managehook/package.json +1 -1
  252. package/skills/managehook/src/index.ts +3 -0
  253. package/skills/managemcp/package.json +1 -1
  254. package/skills/managemcp/src/index.ts +3 -0
  255. package/skills/manageskill/package.json +1 -1
  256. package/skills/manageskill/src/index.ts +3 -0
  257. package/skills/markdown-validator/package.json +3 -1
  258. package/skills/markdown-validator/src/index.ts +1 -4
  259. package/skills/market-research-report/SKILL.md +41 -0
  260. package/skills/market-research-report/package.json +10 -0
  261. package/skills/mcp-builder/package.json +4 -1
  262. package/skills/mcp-builder/src/ai-descriptions.ts +37 -0
  263. package/skills/mcp-builder/src/generators.ts +513 -0
  264. package/skills/mcp-builder/src/index.ts +7 -908
  265. package/skills/mcp-builder/src/minimist.d.ts +15 -0
  266. package/skills/mcp-builder/src/naming.ts +12 -0
  267. package/skills/mcp-builder/src/options.ts +170 -0
  268. package/skills/mcp-builder/src/templates.ts +149 -0
  269. package/skills/mcp-builder/src/types.ts +42 -0
  270. package/skills/meeting-pack/SKILL.md +43 -0
  271. package/skills/meeting-pack/package.json +10 -0
  272. package/skills/merge-pdfs/package.json +5 -1
  273. package/skills/migration-plan-pack/SKILL.md +45 -0
  274. package/skills/migration-plan-pack/package.json +10 -0
  275. package/skills/music/package.json +2 -3
  276. package/skills/music-album/SKILL.md +37 -0
  277. package/skills/music-album/package.json +10 -0
  278. package/skills/notion-manager/package.json +3 -1
  279. package/skills/npmpublish/CLAUDE.md +5 -8
  280. package/skills/npmpublish/README.md +5 -26
  281. package/skills/npmpublish/src/index.ts +9 -147
  282. package/skills/one-page-website/SKILL.md +46 -0
  283. package/skills/one-page-website/package.json +10 -0
  284. package/skills/one-page-website/tsconfig.json +8 -0
  285. package/skills/pdf-generate/src/cli.ts +162 -0
  286. package/skills/pdf-generate/src/html.ts +84 -0
  287. package/skills/pdf-generate/src/index.ts +11 -800
  288. package/skills/pdf-generate/src/markdown.ts +27 -0
  289. package/skills/pdf-generate/src/pdf-writer.ts +78 -0
  290. package/skills/pdf-generate/src/runtime.ts +34 -0
  291. package/skills/pdf-generate/src/security.ts +37 -0
  292. package/skills/pdf-generate/src/templates.ts +311 -0
  293. package/skills/pdf-generate/src/types.ts +28 -0
  294. package/skills/pdf-read/SKILL.md +10 -10
  295. package/skills/pdf-to-dataset/SKILL.md +45 -0
  296. package/skills/pdf-to-dataset/package.json +10 -0
  297. package/skills/pdf-to-markdown/SKILL.md +49 -0
  298. package/skills/pdf-to-markdown/package.json +10 -0
  299. package/skills/pdf-to-markdown/tsconfig.json +10 -0
  300. package/skills/performance-audit-report/SKILL.md +42 -0
  301. package/skills/performance-audit-report/package.json +10 -0
  302. package/skills/persona-based-adwriter/src/index.ts +19 -0
  303. package/skills/photo-album/SKILL.md +29 -0
  304. package/skills/photo-album/package.json +9 -0
  305. package/skills/photo-album/tsconfig.json +4 -0
  306. package/skills/pitch-deck/SKILL.md +43 -0
  307. package/skills/pitch-deck/package.json +9 -0
  308. package/skills/playlist-maker/SKILL.md +33 -0
  309. package/skills/playlist-maker/package.json +9 -0
  310. package/skills/playlist-maker/tsconfig.json +4 -0
  311. package/skills/product-mockup/SKILL.md +45 -0
  312. package/skills/product-mockup/package.json +3 -20
  313. package/skills/product-mockup/tsconfig.json +3 -5
  314. package/skills/project-retro-companion/src/index.ts +19 -0
  315. package/skills/proposal-pack/SKILL.md +45 -0
  316. package/skills/proposal-pack/package.json +10 -0
  317. package/skills/read-pdf/SKILL.md +5 -4
  318. package/skills/repo-onboarding-report/SKILL.md +42 -0
  319. package/skills/repo-onboarding-report/package.json +10 -0
  320. package/skills/sales-call-recapper/src/index.ts +20 -0
  321. package/skills/salescopy/package.json +1 -1
  322. package/skills/salescopy/src/index.ts +3 -0
  323. package/skills/scaffold-project/src/ai-detect.ts +136 -0
  324. package/skills/scaffold-project/src/file-generators.ts +292 -0
  325. package/skills/scaffold-project/src/index.ts +8 -991
  326. package/skills/scaffold-project/src/project-config.ts +338 -0
  327. package/skills/scaffold-project/src/templates.ts +173 -0
  328. package/skills/scaffold-project/src/types.ts +58 -0
  329. package/skills/scientific-figure-check/package.json +3 -1
  330. package/skills/sdk-generator/SKILL.md +45 -0
  331. package/skills/sdk-generator/package.json +10 -0
  332. package/skills/sdk-generator/tsconfig.json +8 -0
  333. package/skills/security-audit/src/index.ts +25 -6
  334. package/skills/security-audit-report/SKILL.md +40 -0
  335. package/skills/security-audit-report/package.json +10 -0
  336. package/skills/seo-content-pack/SKILL.md +44 -0
  337. package/skills/seo-content-pack/package.json +9 -0
  338. package/skills/short-video-pack/SKILL.md +30 -0
  339. package/skills/short-video-pack/package.json +10 -0
  340. package/skills/slack-assistant/package.json +3 -1
  341. package/skills/slide-deck-generator/SKILL.md +44 -0
  342. package/skills/slide-deck-generator/package.json +10 -0
  343. package/skills/sms/package.json +1 -1
  344. package/skills/sms/src/index.ts +15 -0
  345. package/skills/social-content-calendar/SKILL.md +45 -0
  346. package/skills/social-content-calendar/package.json +14 -0
  347. package/skills/split-pdf/package.json +4 -1
  348. package/skills/subtitle/package.json +2 -1
  349. package/skills/subtitle/src/index.ts +3 -0
  350. package/skills/terraform-generator/package.json +3 -1
  351. package/skills/test-suite-generator/SKILL.md +41 -0
  352. package/skills/test-suite-generator/package.json +10 -0
  353. package/skills/timesheet/package.json +1 -1
  354. package/skills/timesheet/src/index.ts +3 -0
  355. package/skills/transcript/SKILL.md +1 -8
  356. package/skills/validate-config/package.json +3 -1
  357. package/skills/video/package.json +6 -4
  358. package/skills/video-downloader/package.json +3 -1
  359. package/skills/video-highlight-pack/SKILL.md +44 -0
  360. package/skills/video-highlight-pack/package.json +10 -0
  361. package/skills/voiceover-jingle-pack/SKILL.md +28 -0
  362. package/skills/voiceover-jingle-pack/package.json +10 -0
  363. package/skills/watermark/package.json +6 -1
  364. package/skills/webcrawling/package.json +2 -1
  365. package/skills/write/SKILL.md +6 -6
  366. package/dist/server/serve.d.ts +0 -11
  367. package/skills/apidocs/.claude/settings.json +0 -5
  368. package/skills/audio/.env.example +0 -14
  369. package/skills/audio/QUICKSTART.md +0 -158
  370. package/skills/audio/README.md +0 -256
  371. package/skills/audio/src/index-local.ts +0 -206
  372. package/skills/audio/src/index.ts +0 -95
  373. package/skills/audio/src/providers/elevenlabs.ts +0 -115
  374. package/skills/audio/src/providers/google.ts +0 -116
  375. package/skills/audio/src/providers/minimax.ts +0 -83
  376. package/skills/audio/src/providers/openai.ts +0 -115
  377. package/skills/audio/src/types.ts +0 -79
  378. package/skills/audiobook-chapter-proofer/CLAUDE.md +0 -19
  379. package/skills/audiobook-chapter-proofer/package.json +0 -27
  380. package/skills/audiobook-chapter-proofer/src/index.ts +0 -285
  381. package/skills/browse/src/client.ts +0 -373
  382. package/skills/browse/src/index-local.ts +0 -430
  383. package/skills/browse/src/index.ts +0 -110
  384. package/skills/browse/src/sse-server.ts +0 -919
  385. package/skills/browse/src/types.ts +0 -104
  386. package/skills/consolelog/src/server/index.ts +0 -508
  387. package/skills/create-blog-article/CLAUDE.md +0 -19
  388. package/skills/create-blog-article/src/index.ts +0 -745
  389. package/skills/create-blog-article/tsconfig.json +0 -10
  390. package/skills/deepresearch/src/agents/query-generator.ts +0 -91
  391. package/skills/deepresearch/src/agents/synthesizer.ts +0 -111
  392. package/skills/deepresearch/src/index.ts +0 -224
  393. package/skills/deepresearch/src/research.ts +0 -166
  394. package/skills/deepresearch/src/services/anthropic.ts +0 -69
  395. package/skills/deepresearch/src/services/exa.ts +0 -108
  396. package/skills/deepresearch/src/services/firecrawl.ts +0 -88
  397. package/skills/deepresearch/src/services/openai.ts +0 -81
  398. package/skills/deepresearch/src/types.ts +0 -76
  399. package/skills/deepresearch/src/utils/file.ts +0 -111
  400. package/skills/deepresearch/src/utils/logger.ts +0 -84
  401. package/skills/domainpurchase/src/server/index.ts +0 -332
  402. package/skills/domainsearch/src/server/index.ts +0 -229
  403. package/skills/e2bswarm/README.md +0 -135
  404. package/skills/e2bswarm/SKILL.md +0 -118
  405. package/skills/e2bswarm/examples/tasks-example.json +0 -38
  406. package/skills/e2bswarm/package.json +0 -59
  407. package/skills/e2bswarm/src/commands/collect.ts +0 -135
  408. package/skills/e2bswarm/src/commands/install.ts +0 -164
  409. package/skills/e2bswarm/src/commands/kill.ts +0 -62
  410. package/skills/e2bswarm/src/commands/spawn.ts +0 -134
  411. package/skills/e2bswarm/src/commands/status.ts +0 -90
  412. package/skills/e2bswarm/src/commands/sync.ts +0 -208
  413. package/skills/e2bswarm/src/index.ts +0 -121
  414. package/skills/e2bswarm/src/lib/config.ts +0 -75
  415. package/skills/e2bswarm/src/lib/e2b.ts +0 -490
  416. package/skills/e2bswarm/src/lib/github.ts +0 -253
  417. package/skills/e2bswarm/src/lib/logger.ts +0 -41
  418. package/skills/e2bswarm/src/lib/paths.ts +0 -75
  419. package/skills/e2bswarm/src/lib/tasks.ts +0 -320
  420. package/skills/e2bswarm/src/types/index.ts +0 -107
  421. package/skills/e2bswarm/templates/codebox/e2b.Dockerfile +0 -38
  422. package/skills/e2bswarm/templates/codebox/e2b.toml +0 -3
  423. package/skills/e2bswarm/templates/setup.sh +0 -21
  424. package/skills/e2bswarm/tsconfig.json +0 -19
  425. package/skills/generate-book-cover/src/index.ts +0 -694
  426. package/skills/image/src/index-local.ts +0 -206
  427. package/skills/image/src/index.ts +0 -96
  428. package/skills/image/src/providers/google.ts +0 -79
  429. package/skills/image/src/providers/minimax.ts +0 -94
  430. package/skills/image/src/providers/openai.ts +0 -80
  431. package/skills/image/src/providers/xai.ts +0 -73
  432. package/skills/image/src/types.ts +0 -37
  433. package/skills/logo-design/CLAUDE.md +0 -30
  434. package/skills/logo-design/src/index.ts +0 -322
  435. package/skills/managehook/src/server/index.ts +0 -108
  436. package/skills/managemcp/src/server/index.ts +0 -108
  437. package/skills/manageskill/src/server/index.ts +0 -108
  438. package/skills/music/CLAUDE.md +0 -9
  439. package/skills/music/src/index.ts +0 -94
  440. package/skills/music/tsconfig.json +0 -10
  441. package/skills/pdf-read/src/index.ts +0 -320
  442. package/skills/product-mockup/CLAUDE.md +0 -19
  443. package/skills/product-mockup/src/index.ts +0 -290
  444. package/skills/read-pdf/src/index.ts +0 -388
  445. package/skills/remove-background/src/index.ts +0 -405
  446. package/skills/scaffold-project/my-app/.env.example +0 -2
  447. package/skills/scaffold-project/my-app/README.md +0 -72
  448. package/skills/scaffold-project/my-app/package.json +0 -29
  449. package/skills/scaffold-project/my-app/src/index.ts +0 -23
  450. package/skills/scaffold-project/my-app/tsconfig.json +0 -33
  451. package/skills/sound-effects/SKILL.md +0 -34
  452. package/skills/sound-effects/package.json +0 -21
  453. package/skills/sound-effects/src/index.ts +0 -172
  454. package/skills/sound-effects/tsconfig.json +0 -8
  455. package/skills/transcript/src/chunker.ts +0 -215
  456. package/skills/transcript/src/formatter.ts +0 -134
  457. package/skills/transcript/src/index-local.ts +0 -226
  458. package/skills/transcript/src/index.ts +0 -110
  459. package/skills/transcript/src/providers/elevenlabs.ts +0 -133
  460. package/skills/transcript/src/providers/gemini.ts +0 -192
  461. package/skills/transcript/src/providers/index.ts +0 -54
  462. package/skills/transcript/src/providers/openai.ts +0 -203
  463. package/skills/transcript/src/types.ts +0 -106
  464. package/skills/video/.env.example +0 -14
  465. package/skills/video/EXAMPLES.md +0 -266
  466. package/skills/video/LICENSE +0 -192
  467. package/skills/video/README.md +0 -174
  468. package/skills/video/src/cli.ts +0 -155
  469. package/skills/video/src/index-local.ts +0 -148
  470. package/skills/video/src/index.ts +0 -96
  471. package/skills/video/src/providers/google-veo.ts +0 -126
  472. package/skills/video/src/providers/index.ts +0 -22
  473. package/skills/video/src/providers/minimax.ts +0 -100
  474. package/skills/video/src/providers/openai-sora.ts +0 -164
  475. package/skills/video/src/providers/runway.ts +0 -159
  476. package/skills/video/src/types.ts +0 -35
  477. package/skills/video/tsconfig.json +0 -22
  478. package/skills/voiceover-casting-assistant/CLAUDE.md +0 -19
  479. package/skills/voiceover-casting-assistant/package.json +0 -27
  480. package/skills/voiceover-casting-assistant/src/index.ts +0 -255
  481. package/skills/voiceover-casting-assistant/tsconfig.json +0 -10
  482. package/skills/webcrawling/src/commands/config.ts +0 -34
  483. package/skills/webcrawling/src/commands/crawl.ts +0 -33
  484. package/skills/webcrawling/src/commands/scrape.ts +0 -32
  485. package/skills/webcrawling/src/commands/sessions.ts +0 -42
  486. package/skills/webcrawling/src/lib/crawler.ts +0 -174
  487. package/skills/webcrawling/src/lib/storage.ts +0 -130
  488. package/skills/webcrawling/src/types/index.ts +0 -45
  489. package/skills/webcrawling/src/utils/logger.ts +0 -30
  490. package/skills/webcrawling/src/utils/paths.ts +0 -28
  491. /package/skills/{audiobook-chapter-proofer → blog-article}/tsconfig.json +0 -0
@@ -0,0 +1,36 @@
1
+ import { appendFileSync, existsSync, mkdirSync } from 'fs';
2
+ import { randomUUID } from 'crypto';
3
+ import { join } from 'path';
4
+
5
+ export const SKILL_NAME = "analyze-data";
6
+ export const SESSION_ID = randomUUID().slice(0, 8);
7
+ export const SKILLS_OUTPUT_DIR = process.env.SKILLS_OUTPUT_DIR || join(process.cwd(), ".skills");
8
+ export const LOGS_DIR = join(SKILLS_OUTPUT_DIR, "logs", SKILL_NAME);
9
+ export const LOG_FILE = join(LOGS_DIR, `${new Date().toISOString().replace(/[:.]/g, "_").slice(0, 19)}_${SESSION_ID}.log`);
10
+
11
+ export function ensureDir(dir: string) {
12
+ if (!existsSync(dir)) {
13
+ mkdirSync(dir, { recursive: true });
14
+ }
15
+ }
16
+
17
+ export function log(message: string, level: "info" | "error" | "success" = "info") {
18
+ ensureDir(LOGS_DIR);
19
+ const timestamp = new Date().toISOString();
20
+ const logMessage = `[${timestamp}] [${level.toUpperCase()}] ${message}\n`;
21
+ appendFileSync(LOG_FILE, logMessage);
22
+
23
+ const prefixes = {
24
+ info: "ℹ️ ",
25
+ error: "❌ ",
26
+ success: "✅ "
27
+ };
28
+
29
+ if (level === "error") {
30
+ console.error(`${prefixes[level]} ${message}`);
31
+ } else {
32
+ console.log(`${prefixes[level]} ${message}`);
33
+ }
34
+ }
35
+
36
+ // ============================================================================
@@ -0,0 +1,57 @@
1
+ export function parseCSV(content: string): any[] {
2
+ const lines = content.split('\n').filter(line => line.trim());
3
+ if (lines.length === 0) return [];
4
+
5
+ const headers = lines[0].split(',').map(h => h.trim().replace(/^"|"$/g, ''));
6
+ const data: any[] = [];
7
+
8
+ for (let i = 1; i < lines.length; i++) {
9
+ const values = parseCSVLine(lines[i]);
10
+ if (values.length === headers.length) {
11
+ const row: any = {};
12
+ headers.forEach((header, idx) => {
13
+ row[header] = values[idx];
14
+ });
15
+ data.push(row);
16
+ }
17
+ }
18
+
19
+ return data;
20
+ }
21
+
22
+ function parseCSVLine(line: string): string[] {
23
+ const values: string[] = [];
24
+ let current = '';
25
+ let inQuotes = false;
26
+
27
+ for (let i = 0; i < line.length; i++) {
28
+ const char = line[i];
29
+
30
+ if (char === '"') {
31
+ inQuotes = !inQuotes;
32
+ } else if (char === ',' && !inQuotes) {
33
+ values.push(current.trim());
34
+ current = '';
35
+ } else {
36
+ current += char;
37
+ }
38
+ }
39
+
40
+ values.push(current.trim());
41
+ return values.map(v => v.replace(/^"|"$/g, ''));
42
+ }
43
+
44
+ export function parseJSON(content: string): any[] {
45
+ const parsed = JSON.parse(content);
46
+
47
+ if (Array.isArray(parsed)) {
48
+ return parsed;
49
+ } else if (parsed.data && Array.isArray(parsed.data)) {
50
+ return parsed.data;
51
+ } else if (typeof parsed === 'object') {
52
+ // Convert object to array of key-value pairs
53
+ return Object.entries(parsed).map(([key, value]) => ({ key, value }));
54
+ }
55
+
56
+ throw new Error('Unsupported JSON structure');
57
+ }
@@ -0,0 +1,151 @@
1
+ import type { ColumnStats } from './types';
2
+
3
+ export function detectDataType(values: any[]): ColumnStats['dataType'] {
4
+ const nonNullValues = values.filter(v => v !== null && v !== undefined && v !== '');
5
+ if (nonNullValues.length === 0) return 'string';
6
+
7
+ let numericCount = 0;
8
+ let dateCount = 0;
9
+ let booleanCount = 0;
10
+
11
+ for (const value of nonNullValues.slice(0, 100)) {
12
+ if (typeof value === 'number' || !isNaN(Number(value))) {
13
+ numericCount++;
14
+ }
15
+ if (value === true || value === false || value === 'true' || value === 'false') {
16
+ booleanCount++;
17
+ }
18
+ if (!isNaN(Date.parse(String(value)))) {
19
+ dateCount++;
20
+ }
21
+ }
22
+
23
+ const total = Math.min(nonNullValues.length, 100);
24
+
25
+ if (numericCount / total > 0.8) return 'numeric';
26
+ if (booleanCount / total > 0.8) return 'boolean';
27
+ if (dateCount / total > 0.8) return 'date';
28
+ if (numericCount > 0 && numericCount < total * 0.8) return 'mixed';
29
+
30
+ return 'string';
31
+ }
32
+
33
+ export function calculateStats(values: number[]): Partial<ColumnStats> {
34
+ if (values.length === 0) return {};
35
+
36
+ const sorted = [...values].sort((a, b) => a - b);
37
+ const n = sorted.length;
38
+
39
+ // Basic stats
40
+ const sum = sorted.reduce((acc, val) => acc + val, 0);
41
+ const mean = sum / n;
42
+
43
+ const median = n % 2 === 0
44
+ ? (sorted[n / 2 - 1] + sorted[n / 2]) / 2
45
+ : sorted[Math.floor(n / 2)];
46
+
47
+ // Mode
48
+ const frequency: Record<number, number> = {};
49
+ sorted.forEach(val => {
50
+ frequency[val] = (frequency[val] || 0) + 1;
51
+ });
52
+ const maxFreq = Math.max(...Object.values(frequency));
53
+ const modes = Object.keys(frequency)
54
+ .filter(key => frequency[Number(key)] === maxFreq)
55
+ .map(Number);
56
+ const mode = modes.length === sorted.length ? undefined : (modes.length === 1 ? modes[0] : modes);
57
+
58
+ // Variance and standard deviation
59
+ const squaredDiffs = sorted.map(val => Math.pow(val - mean, 2));
60
+ const variance = squaredDiffs.reduce((acc, val) => acc + val, 0) / n;
61
+ const stdDev = Math.sqrt(variance);
62
+
63
+ // Quartiles
64
+ const q1 = sorted[Math.floor(n * 0.25)];
65
+ const q2 = median;
66
+ const q3 = sorted[Math.floor(n * 0.75)];
67
+
68
+ // Skewness and kurtosis
69
+ const cubedDiffs = sorted.map(val => Math.pow((val - mean) / stdDev, 3));
70
+ const skewness = cubedDiffs.reduce((acc, val) => acc + val, 0) / n;
71
+
72
+ const fourthDiffs = sorted.map(val => Math.pow((val - mean) / stdDev, 4));
73
+ const kurtosis = fourthDiffs.reduce((acc, val) => acc + val, 0) / n - 3;
74
+
75
+ return {
76
+ mean: roundTo(mean, 4),
77
+ median: roundTo(median, 4),
78
+ mode,
79
+ stdDev: roundTo(stdDev, 4),
80
+ variance: roundTo(variance, 4),
81
+ min: sorted[0],
82
+ max: sorted[n - 1],
83
+ range: sorted[n - 1] - sorted[0],
84
+ q1: roundTo(q1, 4),
85
+ q2: roundTo(q2, 4),
86
+ q3: roundTo(q3, 4),
87
+ skewness: roundTo(skewness, 4),
88
+ kurtosis: roundTo(kurtosis, 4),
89
+ };
90
+ }
91
+
92
+ export function calculatePercentiles(values: number[], percentiles: number[]): Record<number, number> {
93
+ const sorted = [...values].sort((a, b) => a - b);
94
+ const result: Record<number, number> = {};
95
+
96
+ percentiles.forEach(p => {
97
+ const index = (p / 100) * (sorted.length - 1);
98
+ const lower = Math.floor(index);
99
+ const upper = Math.ceil(index);
100
+ const fraction = index - lower;
101
+
102
+ result[p] = sorted[lower] + fraction * (sorted[upper] - sorted[lower]);
103
+ });
104
+
105
+ return result;
106
+ }
107
+
108
+ export function detectOutliers(values: number[], q1: number, q3: number): number[] {
109
+ const iqr = q3 - q1;
110
+ const lowerBound = q1 - 1.5 * iqr;
111
+ const upperBound = q3 + 1.5 * iqr;
112
+
113
+ return values.filter(val => val < lowerBound || val > upperBound);
114
+ }
115
+
116
+ export function calculateCorrelation(x: number[], y: number[]): number {
117
+ const n = Math.min(x.length, y.length);
118
+ if (n === 0) return 0;
119
+
120
+ const meanX = x.reduce((acc, val) => acc + val, 0) / n;
121
+ const meanY = y.reduce((acc, val) => acc + val, 0) / n;
122
+
123
+ let numerator = 0;
124
+ let sumXSquared = 0;
125
+ let sumYSquared = 0;
126
+
127
+ for (let i = 0; i < n; i++) {
128
+ const dx = x[i] - meanX;
129
+ const dy = y[i] - meanY;
130
+ numerator += dx * dy;
131
+ sumXSquared += dx * dx;
132
+ sumYSquared += dy * dy;
133
+ }
134
+
135
+ const denominator = Math.sqrt(sumXSquared * sumYSquared);
136
+ return denominator === 0 ? 0 : numerator / denominator;
137
+ }
138
+
139
+ export function roundTo(value: number, decimals: number): number {
140
+ const factor = Math.pow(10, decimals);
141
+ return Math.round(value * factor) / factor;
142
+ }
143
+
144
+ export function formatBytes(bytes: number): string {
145
+ if (bytes < 1024) return bytes + ' B';
146
+ if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(2) + ' KB';
147
+ if (bytes < 1024 * 1024 * 1024) return (bytes / (1024 * 1024)).toFixed(2) + ' MB';
148
+ return (bytes / (1024 * 1024 * 1024)).toFixed(2) + ' GB';
149
+ }
150
+
151
+ // ============================================================================
@@ -0,0 +1,85 @@
1
+ export interface AnalysisOptions {
2
+ format: 'markdown' | 'json' | 'html';
3
+ output?: string;
4
+ correlations: boolean;
5
+ outliers: boolean;
6
+ trends: boolean;
7
+ sample?: number;
8
+ percentiles: number[];
9
+ verbose: boolean;
10
+ }
11
+
12
+ export interface ColumnStats {
13
+ name: string;
14
+ dataType: 'numeric' | 'string' | 'date' | 'boolean' | 'mixed';
15
+ count: number;
16
+ nullCount: number;
17
+ nullPercentage: number;
18
+ uniqueCount: number;
19
+ uniquePercentage: number;
20
+ sampleValues: any[];
21
+
22
+ // Numeric stats
23
+ mean?: number;
24
+ median?: number;
25
+ mode?: number | number[];
26
+ stdDev?: number;
27
+ variance?: number;
28
+ min?: number;
29
+ max?: number;
30
+ range?: number;
31
+ q1?: number;
32
+ q2?: number;
33
+ q3?: number;
34
+ percentiles?: Record<number, number>;
35
+ skewness?: number;
36
+ kurtosis?: number;
37
+ outliers?: number[];
38
+
39
+ // String stats
40
+ avgLength?: number;
41
+ minLength?: number;
42
+ maxLength?: number;
43
+
44
+ // Distribution
45
+ distribution?: Record<string, number>;
46
+ topValues?: Array<{ value: any; count: number; percentage: number }>;
47
+ }
48
+
49
+ export interface AnalysisReport {
50
+ overview: {
51
+ fileName: string;
52
+ fileSize: string;
53
+ fileType: string;
54
+ rowCount: number;
55
+ columnCount: number;
56
+ memoryUsage: string;
57
+ processingTime: number;
58
+ timestamp: string;
59
+ };
60
+ columns: ColumnStats[];
61
+ correlations?: number[][];
62
+ correlationPairs?: Array<{ col1: string; col2: string; correlation: number }>;
63
+ quality: {
64
+ totalCells: number;
65
+ missingCells: number;
66
+ missingPercentage: number;
67
+ duplicateRows: number;
68
+ duplicatePercentage: number;
69
+ dataQualityScore: number;
70
+ issues: string[];
71
+ };
72
+ trends?: {
73
+ detected: boolean;
74
+ patterns: string[];
75
+ insights: string[];
76
+ };
77
+ visualizationRecommendations: Array<{
78
+ column: string;
79
+ chartType: string;
80
+ reason: string;
81
+ }>;
82
+ insights: string[];
83
+ }
84
+
85
+ // ============================================================================
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: api-docs-portal
3
+ description: Generate premium API documentation portals from OpenAPI specs, route lists, or examples.
4
+ ---
5
+
6
+ # API Docs Portal
7
+
8
+ Generate a polished API documentation portal from OpenAPI specs, route files, or endpoint examples.
9
+
10
+ ## Requirements
11
+
12
+ - Authenticate with `skills auth login`.
13
+ - This premium skill runs through the hosted Skills runtime; local installs expose only metadata and instructions.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ skills run api-docs-portal --spec "GET /v1/projects, POST /v1/projects" --title "Acme API"
19
+ skills run api-docs-portal --spec-file ./openapi.json --base-url "https://api.example.com" --auth bearer
20
+ ```
21
+
22
+ ## Options
23
+
24
+ | Option | Description | Default |
25
+ |--------|-------------|---------|
26
+ | `--spec <text>` | OpenAPI JSON, route list, or endpoint examples. Positional text also works. | required |
27
+ | `--spec-file <path>` | Read the API spec or route list from a file. | none |
28
+ | `--title <text>` | Portal and API title. | API Documentation |
29
+ | `--base-url <url>` | Base URL used in examples. | https://api.example.com |
30
+ | `--auth <mode>` | Auth mode: `bearer`, `api-key`, `oauth`, `session`, or `none`. | bearer |
31
+ | `--theme <name>` | Portal theme: `light` or `slate`. | light |
32
+ | `--output <dir>` | Output directory for direct local execution. Hosted runs use the run export directory. | run export dir |
33
+
34
+ ## Outputs
35
+
36
+ - `site/index.html`
37
+ - `site/styles.css`
38
+ - `site/endpoints.json`
39
+ - `openapi.json`
40
+ - `endpoint-reference.md`
41
+ - `auth-guide.md`
42
+ - `examples.md`
43
+ - `README.md`
44
+ - `manifest.json`
45
+
46
+ After submitting a hosted run, poll with `skills runs status <run-id>` and download outputs with `skills exports download <run-id>`.
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "api-docs-portal",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "private": true,
6
+ "bin": {
7
+ "api-docs-portal": "src/index.ts"
8
+ }
9
+ }
@@ -292,6 +292,19 @@ function generateTestFile(parsed: ParsedInput, tests: TestCase[], options: Optio
292
292
  */
293
293
  async function main() {
294
294
  try {
295
+ if (process.argv.includes("--help") || process.argv.includes("-h")) {
296
+ console.log(`api-test-suite
297
+
298
+ Usage:
299
+ skills run api-test-suite -- "POST /api/users with name, email" [options]
300
+
301
+ Options:
302
+ --format <framework> Test framework output, default vitest
303
+ --include-auth=false Disable auth test generation
304
+ --include-rate-limit Include rate limit tests`);
305
+ return;
306
+ }
307
+
295
308
  const input = process.env.SKILLS_INPUT || "";
296
309
  const outputDir = process.env.SKILLS_OUTPUT_DIR || process.cwd();
297
310
  const exportsDir = process.env.SKILLS_EXPORTS_DIR || join(outputDir, "exports");
@@ -4,7 +4,7 @@
4
4
  "description": "Agentic web crawler for API documentation indexing and semantic search",
5
5
  "type": "module",
6
6
  "bin": {
7
- "apidocs": "./bin/cli.ts"
7
+ "apidocs": "src/index.ts"
8
8
  },
9
9
  "scripts": {
10
10
  "dev": "bun run bin/cli.ts",
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bun
2
+
3
+ console.log("Usage: skills run apidocs -- <command> [options]");
@@ -2,14 +2,14 @@
2
2
  "name": "audio",
3
3
  "version": "1.0.0",
4
4
  "description": "Generate speech and audio using provider-cost AI backends",
5
- "type": "module",
6
5
  "main": "src/index.ts",
6
+ "type": "module",
7
7
  "bin": {
8
8
  "audio": "src/index.ts"
9
9
  },
10
10
  "scripts": {
11
11
  "start": "bun run src/index.ts",
12
- "dev": "bun run --watch src/index.ts"
12
+ "generate": "bun run src/index.ts generate"
13
13
  },
14
14
  "keywords": [
15
15
  "audio-generation",
@@ -20,7 +20,6 @@
20
20
  "minimax",
21
21
  "gemini"
22
22
  ],
23
- "author": "",
24
23
  "devDependencies": {
25
24
  "@types/bun": "latest"
26
25
  },
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: Audio Cleanup Lab
2
+ name: audio-cleanup-lab
3
3
  version: 0.1.0
4
4
  description: Generate professional audio cleanup recipes and mastering guidelines for noisy recordings
5
5
  author: skills.md
@@ -78,4 +78,4 @@ skills run audio-cleanup-lab -- "ADR matching location sound" \
78
78
  ## Requirements
79
79
 
80
80
  - `OPENAI_API_KEY` environment variable.
81
- - Bun runtime.
81
+ - Bun runtime.
@@ -1,4 +1,4 @@
1
- # extract-audio
1
+ # audio-extract
2
2
 
3
3
  Skill for extracting audio tracks from video files. Supports multiple output formats and codec configurations.
4
4
 
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: audio-transcript-pack
3
+ description: Generate premium transcript packages with timestamps, summaries, show notes, clip suggestions, repurposing copy, captions, and manifest metadata.
4
+ ---
5
+
6
+ # Audio Transcript Pack
7
+
8
+ Generate a production-ready transcript package from audio, video, or existing transcript text.
9
+
10
+ ## Requirements
11
+
12
+ - Authenticate with `skills auth login`.
13
+ - This premium skill runs through the hosted Skills runtime; local installs expose only metadata and instructions.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ skills run audio-transcript-pack --source ./episode.mp3 --title "Usage-based billing teardown" --speakers "Host,Guest"
19
+ skills run audio-transcript-pack --source ./transcript.txt --format podcast --duration-minutes 42
20
+ ```
21
+
22
+ ## Options
23
+
24
+ | Option | Description | Default |
25
+ |--------|-------------|---------|
26
+ | `--source <path-or-text>` | Audio/video file, transcript text file, or transcript text. | required |
27
+ | `--title <text>` | Episode, meeting, or recording title. | Audio Transcript Pack |
28
+ | `--speakers <list>` | Comma-separated speaker names. | Speaker 1,Speaker 2 |
29
+ | `--format <type>` | `podcast`, `meeting`, `lecture`, `interview`, or `general`. | general |
30
+ | `--duration-minutes <n>` | Approximate runtime for timestamp spacing. | 30 |
31
+ | `--output <dir>` | Output directory for direct local execution. Hosted runs use the run export directory. | run export dir |
32
+
33
+ ## Outputs
34
+
35
+ - `transcript.md`
36
+ - `captions.srt`
37
+ - `summary.md`
38
+ - `show-notes.md`
39
+ - `clips.csv`
40
+ - `content-repurpose-pack.md`
41
+ - `manifest.json`
42
+
43
+ After submitting a hosted run, poll with `skills runs status <run-id>` and download outputs with `skills exports download <run-id>`.
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "audio-transcript-pack",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "description": "Hosted premium audio transcript package generator",
6
+ "type": "module",
7
+ "bin": {
8
+ "audio-transcript-pack": "./src/index.ts"
9
+ }
10
+ }
@@ -0,0 +1,12 @@
1
+ # blog-article
2
+
3
+ Generate one or more SEO-ready blog article packages through the hosted Skills runtime.
4
+
5
+ Use via:
6
+
7
+ ```bash
8
+ skills quote create-blog-article --count 8 --topic "SaaS onboarding"
9
+ skills run create-blog-article --count 8 --topic "SaaS onboarding" --audience "founders" --length long --seo
10
+ ```
11
+
12
+ Hosted runs write Markdown, HTML, JSON, and manifest artifacts to the run export directory.
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: blog-article
3
+ description: Generate one or more SEO-ready blog article packages as hosted premium artifacts.
4
+ ---
5
+
6
+ # Blog Article
7
+
8
+ Generate blog articles as downloadable Markdown, HTML, JSON, and manifest artifacts.
9
+
10
+ ## Requirements
11
+
12
+ - Authenticate with `skills auth login`.
13
+ - This premium skill runs through the hosted Skills runtime; local installs expose only skill metadata and instructions.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ skills quote create-blog-article --count 8 --topic "SaaS onboarding"
19
+ skills run create-blog-article --count 8 --topic "SaaS onboarding" --audience "founders" --length long --seo
20
+ skills run create-blog-article -- --topic "Product-led growth" --articles 12
21
+ ```
22
+
23
+ ## Options
24
+
25
+ | Option | Description | Default |
26
+ |--------|-------------|---------|
27
+ | `--topic <text>` | Topic or theme. Positional text also works. | required |
28
+ | `--audience <text>` | Intended reader or buyer persona. | |
29
+ | `--count <number>` | Number of articles to generate, 1-12. | 1 |
30
+ | `--articles <number>` | Alias for `--count`. | |
31
+ | `--tone <tone>` | `professional`, `casual`, `technical`, or `friendly`. | professional |
32
+ | `--length <length>` | `short`, `medium`, or `long`. | medium |
33
+ | `--seo` | Include SEO metadata and keyword-oriented structure. | false |
34
+ | `--outline <text>` | Optional outline, angles, or required sections. | |
35
+ | `--output <dir>` | Output directory for direct local execution. Hosted runs use the run export directory. | run export dir |
36
+
37
+ ## Outputs
38
+
39
+ - `manifest.json` using the `skills.blogArticle.outputs.v1` contract
40
+ - For a single article: `article.md`, `article.html`, `article.json`
41
+ - For batch runs: `article-XX-<slug>/article.md`, `article.html`, `article.json`
42
+
43
+ `manifest.json` includes the run id, prompt, sanitized input options, requested tone/length/SEO settings, receipt cost, and an `articles` array. Each article entry includes `title`, `slug`, `summary`, `keywords`, optional `featuredImage`, word count, reading time, and relative file paths.
44
+
45
+ After submitting a hosted run, poll with `skills runs status <run-id>` and download outputs with `skills exports download <run-id>`.
@@ -1,10 +1,10 @@
1
1
  {
2
- "name": "create-blog-article",
2
+ "name": "blog-article",
3
3
  "version": "0.1.0",
4
- "description": "Create Blog Article skill",
4
+ "description": "Hosted premium blog article artifact generator",
5
5
  "type": "module",
6
6
  "bin": {
7
- "create-blog-article": "./src/index.ts"
7
+ "blog-article": "./src/index.ts"
8
8
  },
9
9
  "scripts": {
10
10
  "dev": "bun run src/index.ts",
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: brand-kit
3
+ description: Generate premium brand kits with logo usage, palette, typography, brand voice, sample applications, Markdown guide, and PDF guide.
4
+ ---
5
+
6
+ # Brand Kit
7
+
8
+ Generate a production-ready brand guide package for a startup, product, internal tool, or campaign.
9
+
10
+ ## Requirements
11
+
12
+ - Authenticate with `skills auth login`.
13
+ - This premium skill runs through the hosted Skills runtime; local installs expose only skill metadata and instructions.
14
+
15
+ ## Usage
16
+
17
+ ```bash
18
+ skills run brand-kit "Usage-based billing for AI SaaS" --audience "founders" --personality "precise, calm, pragmatic"
19
+ skills run brand-kit --brand "Acme Ledger" --category "developer tools" --tone premium
20
+ ```
21
+
22
+ ## Options
23
+
24
+ | Option | Description | Default |
25
+ |--------|-------------|---------|
26
+ | `--brand <text>` | Brand, product, or company name. Positional text also works. | required |
27
+ | `--category <text>` | Market category or product type. | software product |
28
+ | `--audience <text>` | Primary audience. | software teams |
29
+ | `--personality <text>` | Brand personality words. | clear, capable, direct |
30
+ | `--tone <tone>` | `direct`, `premium`, `friendly`, or `technical`. | direct |
31
+ | `--output <dir>` | Output directory for direct local execution. Hosted runs use the run export directory. | run export dir |
32
+
33
+ ## Outputs
34
+
35
+ - `brand-guide.md`
36
+ - `brand-guide.pdf`
37
+ - `palette.json`
38
+ - `typography.md`
39
+ - `voice-guide.md`
40
+ - `logo-usage.md`
41
+ - `sample-applications.md`
42
+ - `brand-assets.svg`
43
+ - `manifest.json`
44
+
45
+ After submitting a hosted run, poll with `skills runs status <run-id>` and download outputs with `skills exports download <run-id>`.
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "brand-kit",
3
+ "version": "0.1.0",
4
+ "description": "Hosted premium brand kit artifact generator",
5
+ "type": "module",
6
+ "bin": {
7
+ "brand-kit": "./src/index.ts"
8
+ },
9
+ "dependencies": {},
10
+ "devDependencies": {
11
+ "@types/bun": "latest",
12
+ "typescript": "^5.7.0"
13
+ }
14
+ }