@hasna/skills 0.1.61 → 0.1.63

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 (523) hide show
  1. package/README.md +10 -6
  2. package/bin/index.js +14271 -21602
  3. package/bin/mcp.js +3527 -11449
  4. package/bin/migrate.js +53 -3
  5. package/bin/server.js +5140 -2675
  6. package/bin/worker.js +4542 -2129
  7. package/dist/cli/commands/publish.d.ts +2 -0
  8. package/dist/cli/components/App.d.ts +2 -1
  9. package/dist/cli/components/CategorySelect.d.ts +2 -1
  10. package/dist/cli/components/Header.d.ts +2 -1
  11. package/dist/cli/components/InstallProgress.d.ts +2 -1
  12. package/dist/cli/components/SearchView.d.ts +2 -1
  13. package/dist/cli/components/SkillSelect.d.ts +2 -1
  14. package/dist/index.d.ts +4 -1
  15. package/dist/index.js +5094 -13755
  16. package/dist/lib/agent-sync.d.ts +38 -3
  17. package/dist/lib/home-adoption.d.ts +91 -0
  18. package/dist/lib/home-census.d.ts +22 -0
  19. package/dist/lib/home-migration.d.ts +61 -0
  20. package/dist/lib/portable-skills-files.d.ts +21 -1
  21. package/dist/lib/portable-skills-types.d.ts +46 -0
  22. package/dist/lib/pull.d.ts +66 -0
  23. package/dist/lib/remote-client.d.ts +6 -0
  24. package/dist/lib/run-state.d.ts +5 -0
  25. package/dist/lib/skill-bundles.d.ts +54 -0
  26. package/dist/lib/skill-contract.d.ts +35 -0
  27. package/dist/lib/skill-hash.d.ts +77 -0
  28. package/dist/sdk/cancel.d.ts +30 -0
  29. package/dist/sdk/dispatcher.d.ts +40 -0
  30. package/dist/sdk/event-sink.d.ts +2 -0
  31. package/dist/sdk/events.d.ts +79 -0
  32. package/dist/sdk/execution/admission.d.ts +44 -0
  33. package/dist/sdk/execution/dispatchers/e2b.d.ts +17 -0
  34. package/dist/sdk/execution/dispatchers/ecs.d.ts +151 -0
  35. package/dist/sdk/execution/image-profile.d.ts +73 -0
  36. package/dist/sdk/execution/index.d.ts +15 -0
  37. package/dist/sdk/execution/receipts.d.ts +44 -0
  38. package/dist/sdk/execution/state-machine.d.ts +38 -0
  39. package/dist/sdk/execution/storage.d.ts +158 -0
  40. package/dist/sdk/execution/types.d.ts +130 -0
  41. package/dist/sdk/executor.d.ts +17 -0
  42. package/dist/sdk/governance-store.d.ts +156 -0
  43. package/dist/sdk/governance.d.ts +92 -0
  44. package/dist/sdk/index.d.ts +26 -0
  45. package/dist/sdk/index.js +48730 -0
  46. package/dist/sdk/offline.d.ts +16 -0
  47. package/dist/sdk/outputs.d.ts +71 -0
  48. package/dist/sdk/registry.d.ts +28 -0
  49. package/dist/sdk/runs.d.ts +229 -0
  50. package/dist/sdk/server.d.ts +35 -0
  51. package/dist/sdk/spend.d.ts +36 -0
  52. package/dist/sdk/storage.d.ts +25 -0
  53. package/dist/server/app.d.ts +42 -0
  54. package/dist/server/artifact-storage.d.ts +102 -0
  55. package/dist/server/auth.d.ts +5 -0
  56. package/dist/server/config.d.ts +40 -0
  57. package/dist/server/database-url.d.ts +42 -0
  58. package/dist/server/handlers.d.ts +3 -0
  59. package/dist/server/index.d.ts +2 -0
  60. package/dist/server/migrate.d.ts +13 -0
  61. package/dist/server/migrations-dir.d.ts +18 -0
  62. package/dist/server/redaction.d.ts +1 -0
  63. package/dist/server/registry.d.ts +5 -0
  64. package/dist/server/rows.d.ts +23 -0
  65. package/dist/server/skills-api.d.ts +68 -0
  66. package/dist/server/sqlite-store.d.ts +114 -0
  67. package/dist/server/store-fixtures.d.ts +25 -0
  68. package/dist/server/store.d.ts +144 -0
  69. package/dist/server/types.d.ts +242 -0
  70. package/dist/server/worker.d.ts +4 -0
  71. package/dist/storage.js +32 -0
  72. package/docs/skill-standard.md +211 -39
  73. package/migrations/postgres/0003_run_outputs_governance.sql +83 -0
  74. package/migrations/sqlite/0003_run_outputs_governance.sql +58 -0
  75. package/package.json +11 -8
  76. package/schemas/skill.schema.json +181 -0
  77. package/agent-skills/README.md +0 -41
  78. package/agent-skills/fleet-package-rollout/SKILL.md +0 -169
  79. package/agent-skills/inbox/SKILL.md +0 -25
  80. package/agent-skills/inbox/scripts/inbox +0 -109
  81. package/agent-skills/inbox/tests/test_registered_sender_id.sh +0 -92
  82. package/agent-skills/inbox-monitor/SKILL.md +0 -41
  83. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +0 -91
  84. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +0 -71
  85. package/agent-skills/merge-pr/SKILL.md +0 -85
  86. package/agent-skills/merge-pr/references/merge-safety.md +0 -82
  87. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +0 -694
  88. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +0 -647
  89. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +0 -28
  90. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +0 -28
  91. package/agent-skills/skill-goal-execute/SKILL.md +0 -115
  92. package/agent-skills/skill-login/SKILL.md +0 -109
  93. package/agent-skills/skill-project-create/SKILL.md +0 -91
  94. package/agent-skills/skill-publish/SKILL.md +0 -207
  95. package/skills/_common/auth.ts +0 -45
  96. package/skills/_common/http-client.ts +0 -143
  97. package/skills/_common/index.ts +0 -26
  98. package/skills/_common/install.sh +0 -7
  99. package/skills/_common/installer.ts +0 -72
  100. package/skills/_common/skill-install.ts +0 -37
  101. package/skills/_common/vision.ts +0 -374
  102. package/skills/ad-creative-pack/SKILL.md +0 -55
  103. package/skills/ad-creative-pack/package.json +0 -10
  104. package/skills/analyze-data/CLAUDE.md +0 -16
  105. package/skills/analyze-data/SKILL.md +0 -112
  106. package/skills/analyze-data/package.json +0 -23
  107. package/skills/analyze-data/src/analysis.ts +0 -401
  108. package/skills/analyze-data/src/cli.ts +0 -66
  109. package/skills/analyze-data/src/formatters.ts +0 -235
  110. package/skills/analyze-data/src/index.ts +0 -74
  111. package/skills/analyze-data/src/logger.ts +0 -36
  112. package/skills/analyze-data/src/parsers.ts +0 -57
  113. package/skills/analyze-data/src/stats.ts +0 -151
  114. package/skills/analyze-data/src/types.ts +0 -85
  115. package/skills/analyze-data/tsconfig.json +0 -19
  116. package/skills/api-docs-portal/SKILL.md +0 -84
  117. package/skills/api-docs-portal/package.json +0 -35
  118. package/skills/api-docs-portal/src/index.ts +0 -919
  119. package/skills/api-docs-portal/tsconfig.json +0 -17
  120. package/skills/api-test-suite/CLAUDE.md +0 -19
  121. package/skills/api-test-suite/package.json +0 -27
  122. package/skills/api-test-suite/src/index.ts +0 -381
  123. package/skills/api-test-suite/tsconfig.json +0 -10
  124. package/skills/audio-extract/CLAUDE.md +0 -9
  125. package/skills/audio-extract/SKILL.md +0 -73
  126. package/skills/audio-extract/package.json +0 -23
  127. package/skills/audio-extract/src/index.ts +0 -323
  128. package/skills/audio-extract/tsconfig.json +0 -11
  129. package/skills/bio-sequence-tool/CLAUDE.md +0 -19
  130. package/skills/bio-sequence-tool/package.json +0 -27
  131. package/skills/bio-sequence-tool/src/index.ts +0 -85
  132. package/skills/bio-sequence-tool/tsconfig.json +0 -10
  133. package/skills/blog-article/CLAUDE.md +0 -12
  134. package/skills/blog-article/SKILL.md +0 -55
  135. package/skills/blog-article/package.json +0 -10
  136. package/skills/blog-article/tsconfig.json +0 -10
  137. package/skills/brand-assets/SKILL.md +0 -118
  138. package/skills/brand-assets/package.json +0 -35
  139. package/skills/brand-assets/src/cli.ts +0 -155
  140. package/skills/brand-assets/src/constants.ts +0 -8
  141. package/skills/brand-assets/src/extract.ts +0 -236
  142. package/skills/brand-assets/src/index.ts +0 -668
  143. package/skills/brand-assets/src/types.ts +0 -59
  144. package/skills/brand-assets/tsconfig.json +0 -17
  145. package/skills/brand-kit/SKILL.md +0 -54
  146. package/skills/brand-kit/package.json +0 -10
  147. package/skills/businessactivity/CLAUDE.md +0 -176
  148. package/skills/businessactivity/LICENSE +0 -192
  149. package/skills/businessactivity/README.md +0 -287
  150. package/skills/businessactivity/package.json +0 -25
  151. package/skills/businessactivity/scripts/publish.ts +0 -210
  152. package/skills/businessactivity/src/commands/activity.ts +0 -211
  153. package/skills/businessactivity/src/commands/function.ts +0 -227
  154. package/skills/businessactivity/src/commands/owner.ts +0 -193
  155. package/skills/businessactivity/src/commands/profile.ts +0 -121
  156. package/skills/businessactivity/src/commands/responsibility.ts +0 -264
  157. package/skills/businessactivity/src/commands/team.ts +0 -244
  158. package/skills/businessactivity/src/commands/workflow.ts +0 -359
  159. package/skills/businessactivity/src/index.ts +0 -3
  160. package/skills/businessactivity/src/lib/config.ts +0 -167
  161. package/skills/businessactivity/src/lib/output.ts +0 -76
  162. package/skills/businessactivity/src/lib/paths.ts +0 -79
  163. package/skills/businessactivity/src/lib/storage.ts +0 -95
  164. package/skills/businessactivity/src/types/index.ts +0 -86
  165. package/skills/businessactivity/tsconfig.json +0 -29
  166. package/skills/codefix/LICENSE +0 -192
  167. package/skills/codefix/README.md +0 -232
  168. package/skills/codefix/SKILL.md +0 -94
  169. package/skills/codefix/package.json +0 -21
  170. package/skills/codefix/src/fixers/batch.ts +0 -213
  171. package/skills/codefix/src/fixers/detector.ts +0 -160
  172. package/skills/codefix/src/fixers/index.ts +0 -7
  173. package/skills/codefix/src/fixers/runner.ts +0 -522
  174. package/skills/codefix/src/index-local.ts +0 -431
  175. package/skills/codefix/src/index.ts +0 -4
  176. package/skills/codefix/src/types.ts +0 -211
  177. package/skills/codefix/tsconfig.json +0 -15
  178. package/skills/commitpush/SKILL.md +0 -57
  179. package/skills/commitpush/package.json +0 -33
  180. package/skills/commitpush/src/index.ts +0 -34
  181. package/skills/commitpush/tsconfig.json +0 -17
  182. package/skills/commitpushpr/SKILL.md +0 -55
  183. package/skills/commitpushpr/package.json +0 -33
  184. package/skills/commitpushpr/src/index.ts +0 -34
  185. package/skills/commitpushpr/tsconfig.json +0 -17
  186. package/skills/compress-video/CLAUDE.md +0 -9
  187. package/skills/compress-video/SKILL.md +0 -79
  188. package/skills/compress-video/package.json +0 -23
  189. package/skills/compress-video/src/index.ts +0 -473
  190. package/skills/compress-video/tsconfig.json +0 -11
  191. package/skills/contract-review-report/SKILL.md +0 -52
  192. package/skills/contract-review-report/package.json +0 -10
  193. package/skills/customer-feedback-report/SKILL.md +0 -52
  194. package/skills/customer-feedback-report/package.json +0 -10
  195. package/skills/dashboard-builder/CLAUDE.md +0 -19
  196. package/skills/dashboard-builder/package.json +0 -29
  197. package/skills/dashboard-builder/src/index.ts +0 -150
  198. package/skills/dashboard-builder/tsconfig.json +0 -10
  199. package/skills/data-anonymizer/CLAUDE.md +0 -19
  200. package/skills/data-anonymizer/package.json +0 -27
  201. package/skills/data-anonymizer/src/index.ts +0 -183
  202. package/skills/data-anonymizer/tsconfig.json +0 -10
  203. package/skills/database-explorer/CLAUDE.md +0 -19
  204. package/skills/database-explorer/package.json +0 -29
  205. package/skills/database-explorer/src/index.ts +0 -95
  206. package/skills/database-explorer/tsconfig.json +0 -10
  207. package/skills/diff-viewer/CLAUDE.md +0 -19
  208. package/skills/diff-viewer/package.json +0 -30
  209. package/skills/diff-viewer/src/index.ts +0 -164
  210. package/skills/diff-viewer/tsconfig.json +0 -10
  211. package/skills/doc-read/SKILL.md +0 -45
  212. package/skills/doc-read/package.json +0 -29
  213. package/skills/doc-read/src/index.ts +0 -324
  214. package/skills/doc-read/tsconfig.json +0 -8
  215. package/skills/domainpurchase/LICENSE +0 -192
  216. package/skills/domainpurchase/SKILL.md +0 -29
  217. package/skills/domainpurchase/package.json +0 -30
  218. package/skills/domainpurchase/src/index.ts +0 -3
  219. package/skills/domainpurchase/tsconfig.json +0 -21
  220. package/skills/email-sequence/SKILL.md +0 -53
  221. package/skills/email-sequence/package.json +0 -10
  222. package/skills/experiment-power-calculator/CLAUDE.md +0 -19
  223. package/skills/experiment-power-calculator/package.json +0 -29
  224. package/skills/experiment-power-calculator/src/index.ts +0 -86
  225. package/skills/experiment-power-calculator/tsconfig.json +0 -10
  226. package/skills/extract-frames/CLAUDE.md +0 -19
  227. package/skills/extract-frames/package.json +0 -27
  228. package/skills/extract-frames/src/index.ts +0 -616
  229. package/skills/extract-frames/tsconfig.json +0 -10
  230. package/skills/file-organizer/CLAUDE.md +0 -19
  231. package/skills/file-organizer/package.json +0 -27
  232. package/skills/file-organizer/src/index.ts +0 -91
  233. package/skills/file-organizer/tsconfig.json +0 -10
  234. package/skills/folder-tree/CLAUDE.md +0 -19
  235. package/skills/folder-tree/package.json +0 -29
  236. package/skills/folder-tree/src/index.ts +0 -568
  237. package/skills/folder-tree/tsconfig.json +0 -10
  238. package/skills/form-filler/CLAUDE.md +0 -19
  239. package/skills/form-filler/package.json +0 -29
  240. package/skills/form-filler/src/index.ts +0 -81
  241. package/skills/form-filler/tsconfig.json +0 -10
  242. package/skills/generate-api-client/CLAUDE.md +0 -19
  243. package/skills/generate-api-client/package.json +0 -29
  244. package/skills/generate-api-client/src/generator.ts +0 -47
  245. package/skills/generate-api-client/src/index.ts +0 -92
  246. package/skills/generate-api-client/src/logger.ts +0 -34
  247. package/skills/generate-api-client/src/python-generator.ts +0 -245
  248. package/skills/generate-api-client/src/spec-loader.ts +0 -48
  249. package/skills/generate-api-client/src/type-mappers.ts +0 -79
  250. package/skills/generate-api-client/src/types.ts +0 -76
  251. package/skills/generate-api-client/src/typescript-generator.ts +0 -247
  252. package/skills/generate-api-client/tsconfig.json +0 -10
  253. package/skills/generate-chart/CLAUDE.md +0 -19
  254. package/skills/generate-chart/package.json +0 -27
  255. package/skills/generate-chart/src/index.ts +0 -510
  256. package/skills/generate-chart/tsconfig.json +0 -10
  257. package/skills/generate-dockerfile/CLAUDE.md +0 -19
  258. package/skills/generate-dockerfile/package.json +0 -27
  259. package/skills/generate-dockerfile/src/cli.ts +0 -78
  260. package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
  261. package/skills/generate-dockerfile/src/index.ts +0 -81
  262. package/skills/generate-dockerfile/src/logger.ts +0 -30
  263. package/skills/generate-dockerfile/src/project-detection.ts +0 -68
  264. package/skills/generate-dockerfile/src/support-files.ts +0 -171
  265. package/skills/generate-dockerfile/src/types.ts +0 -29
  266. package/skills/generate-dockerfile/tsconfig.json +0 -10
  267. package/skills/generate-env/CLAUDE.md +0 -19
  268. package/skills/generate-env/package.json +0 -29
  269. package/skills/generate-env/src/cli.ts +0 -85
  270. package/skills/generate-env/src/detection.ts +0 -161
  271. package/skills/generate-env/src/env-data.ts +0 -66
  272. package/skills/generate-env/src/generators.ts +0 -240
  273. package/skills/generate-env/src/index.ts +0 -120
  274. package/skills/generate-env/src/runtime.ts +0 -30
  275. package/skills/generate-env/src/types.ts +0 -32
  276. package/skills/generate-env/tsconfig.json +0 -10
  277. package/skills/generate-favicon/CLAUDE.md +0 -19
  278. package/skills/generate-favicon/package.json +0 -29
  279. package/skills/generate-favicon/src/index.ts +0 -421
  280. package/skills/generate-favicon/tsconfig.json +0 -10
  281. package/skills/generate-qrcode/CLAUDE.md +0 -19
  282. package/skills/generate-qrcode/package.json +0 -30
  283. package/skills/generate-qrcode/src/index.ts +0 -584
  284. package/skills/generate-qrcode/tsconfig.json +0 -10
  285. package/skills/generate-resume/CLAUDE.md +0 -19
  286. package/skills/generate-resume/package.json +0 -27
  287. package/skills/generate-resume/src/cli.ts +0 -157
  288. package/skills/generate-resume/src/index.ts +0 -178
  289. package/skills/generate-resume/src/parsers.ts +0 -95
  290. package/skills/generate-resume/src/renderers.ts +0 -538
  291. package/skills/generate-resume/src/security.ts +0 -39
  292. package/skills/generate-resume/src/types.ts +0 -86
  293. package/skills/generate-resume/tsconfig.json +0 -10
  294. package/skills/generate-sitemap/CLAUDE.md +0 -19
  295. package/skills/generate-sitemap/package.json +0 -27
  296. package/skills/generate-sitemap/src/index.ts +0 -626
  297. package/skills/generate-sitemap/tsconfig.json +0 -10
  298. package/skills/gif-maker/CLAUDE.md +0 -19
  299. package/skills/gif-maker/package.json +0 -30
  300. package/skills/gif-maker/src/index.ts +0 -600
  301. package/skills/gif-maker/tsconfig.json +0 -10
  302. package/skills/hook/LICENSE +0 -192
  303. package/skills/hook/README.md +0 -74
  304. package/skills/hook/SKILL.md +0 -85
  305. package/skills/hook/bunfig.toml +0 -5
  306. package/skills/hook/package.json +0 -28
  307. package/skills/hook/src/commands/create.ts +0 -112
  308. package/skills/hook/src/commands/events.ts +0 -37
  309. package/skills/hook/src/commands/validate.ts +0 -117
  310. package/skills/hook/src/index.ts +0 -118
  311. package/skills/hook/src/templates/root.ts +0 -196
  312. package/skills/hook/src/templates/source.ts +0 -647
  313. package/skills/hook/tsconfig.json +0 -18
  314. package/skills/http-server/CLAUDE.md +0 -19
  315. package/skills/http-server/package.json +0 -29
  316. package/skills/http-server/src/index.ts +0 -51
  317. package/skills/http-server/tsconfig.json +0 -10
  318. package/skills/implementation/LICENSE +0 -192
  319. package/skills/implementation/README.md +0 -53
  320. package/skills/implementation/SKILL.md +0 -57
  321. package/skills/implementation/bunfig.toml +0 -5
  322. package/skills/implementation/package.json +0 -28
  323. package/skills/implementation/src/commands/create.ts +0 -187
  324. package/skills/implementation/src/index.ts +0 -62
  325. package/skills/implementation/tsconfig.json +0 -18
  326. package/skills/implementation-plan/CLAUDE.md +0 -19
  327. package/skills/implementation-plan/package.json +0 -29
  328. package/skills/implementation-plan/src/index.ts +0 -520
  329. package/skills/implementation-plan/tsconfig.json +0 -10
  330. package/skills/implementation-todo/CLAUDE.md +0 -19
  331. package/skills/implementation-todo/package.json +0 -29
  332. package/skills/implementation-todo/src/index.ts +0 -429
  333. package/skills/implementation-todo/tsconfig.json +0 -10
  334. package/skills/invoice/.env.example +0 -3
  335. package/skills/invoice/CLAUDE.md +0 -31
  336. package/skills/invoice/LICENSE +0 -192
  337. package/skills/invoice/README.md +0 -70
  338. package/skills/invoice/package.json +0 -26
  339. package/skills/invoice/src/commands/companies.ts +0 -202
  340. package/skills/invoice/src/commands/config.ts +0 -132
  341. package/skills/invoice/src/commands/generate.ts +0 -177
  342. package/skills/invoice/src/commands/invoices.ts +0 -218
  343. package/skills/invoice/src/index.ts +0 -3
  344. package/skills/invoice/src/lib/api.ts +0 -124
  345. package/skills/invoice/src/lib/storage.ts +0 -171
  346. package/skills/invoice/src/types/index.ts +0 -86
  347. package/skills/invoice/src/utils/logger.ts +0 -33
  348. package/skills/invoice/src/utils/paths.ts +0 -25
  349. package/skills/invoice/tsconfig.json +0 -23
  350. package/skills/invoice-reconciliation/SKILL.md +0 -98
  351. package/skills/invoice-reconciliation/package.json +0 -36
  352. package/skills/invoice-reconciliation/src/index.ts +0 -743
  353. package/skills/invoice-reconciliation/tsconfig.json +0 -17
  354. package/skills/landing-page-pack/SKILL.md +0 -55
  355. package/skills/landing-page-pack/package.json +0 -10
  356. package/skills/latex-table-generator/CLAUDE.md +0 -19
  357. package/skills/latex-table-generator/package.json +0 -29
  358. package/skills/latex-table-generator/src/index.ts +0 -113
  359. package/skills/latex-table-generator/tsconfig.json +0 -10
  360. package/skills/logo-design/SKILL.md +0 -94
  361. package/skills/logo-design/package.json +0 -35
  362. package/skills/logo-design/src/cli.ts +0 -132
  363. package/skills/logo-design/src/constants.ts +0 -5
  364. package/skills/logo-design/src/docs.ts +0 -102
  365. package/skills/logo-design/src/geometry.ts +0 -324
  366. package/skills/logo-design/src/index.ts +0 -212
  367. package/skills/logo-design/src/palette.ts +0 -258
  368. package/skills/logo-design/src/types.ts +0 -50
  369. package/skills/logo-design/tsconfig.json +0 -17
  370. package/skills/lorem-generator/CLAUDE.md +0 -19
  371. package/skills/lorem-generator/package.json +0 -29
  372. package/skills/lorem-generator/src/index.ts +0 -59
  373. package/skills/lorem-generator/tsconfig.json +0 -10
  374. package/skills/managemcp/CLAUDE.md +0 -14
  375. package/skills/managemcp/README.md +0 -24
  376. package/skills/managemcp/package.json +0 -16
  377. package/skills/managemcp/src/index.ts +0 -3
  378. package/skills/managemcp/tsconfig.json +0 -27
  379. package/skills/markdown-validator/CLAUDE.md +0 -19
  380. package/skills/markdown-validator/package.json +0 -29
  381. package/skills/markdown-validator/src/index.ts +0 -92
  382. package/skills/markdown-validator/tsconfig.json +0 -10
  383. package/skills/market-research-report/SKILL.md +0 -51
  384. package/skills/market-research-report/package.json +0 -10
  385. package/skills/meeting-pack/SKILL.md +0 -52
  386. package/skills/meeting-pack/package.json +0 -10
  387. package/skills/merge-pdfs/CLAUDE.md +0 -19
  388. package/skills/merge-pdfs/package.json +0 -31
  389. package/skills/merge-pdfs/src/index.ts +0 -427
  390. package/skills/merge-pdfs/tsconfig.json +0 -10
  391. package/skills/migration-plan-pack/SKILL.md +0 -56
  392. package/skills/migration-plan-pack/package.json +0 -10
  393. package/skills/monitor/SKILL.md +0 -69
  394. package/skills/monitor/package.json +0 -33
  395. package/skills/monitor/src/index.ts +0 -34
  396. package/skills/monitor/tsconfig.json +0 -17
  397. package/skills/one-page-website/SKILL.md +0 -128
  398. package/skills/one-page-website/package.json +0 -34
  399. package/skills/one-page-website/src/design.ts +0 -336
  400. package/skills/one-page-website/src/docs.ts +0 -159
  401. package/skills/one-page-website/src/index.ts +0 -357
  402. package/skills/one-page-website/src/page.ts +0 -340
  403. package/skills/one-page-website/src/styles.ts +0 -508
  404. package/skills/one-page-website/src/types.ts +0 -78
  405. package/skills/one-page-website/tsconfig.json +0 -17
  406. package/skills/pdf-generate/CLAUDE.md +0 -19
  407. package/skills/pdf-generate/SKILL.md +0 -86
  408. package/skills/pdf-generate/package.json +0 -21
  409. package/skills/pdf-generate/src/cli.ts +0 -162
  410. package/skills/pdf-generate/src/html.ts +0 -84
  411. package/skills/pdf-generate/src/index.ts +0 -62
  412. package/skills/pdf-generate/src/markdown.ts +0 -27
  413. package/skills/pdf-generate/src/pdf-writer.ts +0 -78
  414. package/skills/pdf-generate/src/runtime.ts +0 -34
  415. package/skills/pdf-generate/src/security.ts +0 -37
  416. package/skills/pdf-generate/src/templates.ts +0 -311
  417. package/skills/pdf-generate/src/types.ts +0 -28
  418. package/skills/pdf-generate/tsconfig.json +0 -16
  419. package/skills/pdf-to-dataset/SKILL.md +0 -88
  420. package/skills/pdf-to-dataset/package.json +0 -37
  421. package/skills/pdf-to-dataset/src/index.ts +0 -790
  422. package/skills/pdf-to-dataset/tsconfig.json +0 -17
  423. package/skills/pdf-to-markdown/SKILL.md +0 -81
  424. package/skills/pdf-to-markdown/package.json +0 -35
  425. package/skills/pdf-to-markdown/src/index.ts +0 -694
  426. package/skills/pdf-to-markdown/tsconfig.json +0 -17
  427. package/skills/performance-audit-report/SKILL.md +0 -49
  428. package/skills/performance-audit-report/package.json +0 -10
  429. package/skills/pitch-deck/SKILL.md +0 -51
  430. package/skills/pitch-deck/package.json +0 -10
  431. package/skills/product-mockup/SKILL.md +0 -107
  432. package/skills/product-mockup/package.json +0 -32
  433. package/skills/product-mockup/src/cli.ts +0 -150
  434. package/skills/product-mockup/src/design.ts +0 -151
  435. package/skills/product-mockup/src/docs.ts +0 -134
  436. package/skills/product-mockup/src/index.ts +0 -182
  437. package/skills/product-mockup/src/render.ts +0 -407
  438. package/skills/product-mockup/src/types.ts +0 -66
  439. package/skills/product-mockup/tsconfig.json +0 -17
  440. package/skills/proposal-pack/SKILL.md +0 -53
  441. package/skills/proposal-pack/package.json +0 -10
  442. package/skills/read-csv/SKILL.md +0 -62
  443. package/skills/read-csv/package.json +0 -37
  444. package/skills/read-csv/src/index.ts +0 -356
  445. package/skills/read-csv/tsconfig.json +0 -17
  446. package/skills/read-excel/SKILL.md +0 -64
  447. package/skills/read-excel/package.json +0 -36
  448. package/skills/read-excel/src/index.ts +0 -266
  449. package/skills/read-excel/tsconfig.json +0 -17
  450. package/skills/regex-tester/CLAUDE.md +0 -19
  451. package/skills/regex-tester/package.json +0 -27
  452. package/skills/regex-tester/src/index.ts +0 -183
  453. package/skills/regex-tester/tsconfig.json +0 -10
  454. package/skills/repo-onboarding-report/SKILL.md +0 -52
  455. package/skills/repo-onboarding-report/package.json +0 -10
  456. package/skills/scancommitpr/SKILL.md +0 -178
  457. package/skills/scancommitpr/package.json +0 -34
  458. package/skills/scancommitpr/src/index.ts +0 -44
  459. package/skills/scancommitpr/tsconfig.json +0 -13
  460. package/skills/scancommitpush/SKILL.md +0 -174
  461. package/skills/scancommitpush/package.json +0 -32
  462. package/skills/scancommitpush/src/index.ts +0 -44
  463. package/skills/scancommitpush/tsconfig.json +0 -13
  464. package/skills/scientific-figure-check/CLAUDE.md +0 -19
  465. package/skills/scientific-figure-check/package.json +0 -29
  466. package/skills/scientific-figure-check/src/index.ts +0 -83
  467. package/skills/scientific-figure-check/tsconfig.json +0 -10
  468. package/skills/security-audit/CLAUDE.md +0 -19
  469. package/skills/security-audit/package.json +0 -27
  470. package/skills/security-audit/src/index.ts +0 -145
  471. package/skills/security-audit/tsconfig.json +0 -10
  472. package/skills/security-audit-report/SKILL.md +0 -52
  473. package/skills/security-audit-report/package.json +0 -10
  474. package/skills/seo-content-pack/SKILL.md +0 -54
  475. package/skills/seo-content-pack/package.json +0 -10
  476. package/skills/siteanalyze/SKILL.md +0 -25
  477. package/skills/siteanalyze/package.json +0 -27
  478. package/skills/siteanalyze/src/index.ts +0 -592
  479. package/skills/slide-deck-generator/SKILL.md +0 -93
  480. package/skills/slide-deck-generator/package.json +0 -38
  481. package/skills/slide-deck-generator/src/cli.ts +0 -133
  482. package/skills/slide-deck-generator/src/index.ts +0 -148
  483. package/skills/slide-deck-generator/src/model.ts +0 -307
  484. package/skills/slide-deck-generator/src/pptx.ts +0 -143
  485. package/skills/slide-deck-generator/src/render.ts +0 -248
  486. package/skills/slide-deck-generator/src/types.ts +0 -114
  487. package/skills/slide-deck-generator/src/utils.ts +0 -53
  488. package/skills/slide-deck-generator/tsconfig.json +0 -17
  489. package/skills/social-content-calendar/SKILL.md +0 -54
  490. package/skills/social-content-calendar/package.json +0 -10
  491. package/skills/split-pdf/CLAUDE.md +0 -19
  492. package/skills/split-pdf/package.json +0 -30
  493. package/skills/split-pdf/src/index.ts +0 -301
  494. package/skills/split-pdf/tsconfig.json +0 -10
  495. package/skills/statistical-test-selector/CLAUDE.md +0 -19
  496. package/skills/statistical-test-selector/package.json +0 -27
  497. package/skills/statistical-test-selector/src/index.ts +0 -75
  498. package/skills/statistical-test-selector/tsconfig.json +0 -10
  499. package/skills/test-suite-generator/SKILL.md +0 -51
  500. package/skills/test-suite-generator/package.json +0 -10
  501. package/skills/tmux-session/SKILL.md +0 -109
  502. package/skills/tmux-session/package.json +0 -33
  503. package/skills/tmux-session/src/index.ts +0 -34
  504. package/skills/tmux-session/tsconfig.json +0 -17
  505. package/skills/todos-plan/SKILL.md +0 -363
  506. package/skills/todos-plan/agents/openai.yaml +0 -4
  507. package/skills/todos-plan/package.json +0 -9
  508. package/skills/todos-plan/src/index.ts +0 -68
  509. package/skills/tsconfig.base.json +0 -12
  510. package/skills/validate-config/CLAUDE.md +0 -19
  511. package/skills/validate-config/package.json +0 -29
  512. package/skills/validate-config/src/index.ts +0 -56
  513. package/skills/validate-config/tsconfig.json +0 -10
  514. package/skills/video-downloader/CLAUDE.md +0 -19
  515. package/skills/video-downloader/package.json +0 -29
  516. package/skills/video-downloader/src/index.ts +0 -561
  517. package/skills/video-downloader/tsconfig.json +0 -10
  518. package/skills/video-highlight-pack/SKILL.md +0 -54
  519. package/skills/video-highlight-pack/package.json +0 -10
  520. package/skills/watermark/CLAUDE.md +0 -19
  521. package/skills/watermark/package.json +0 -32
  522. package/skills/watermark/src/index.ts +0 -587
  523. package/skills/watermark/tsconfig.json +0 -10
@@ -1,17 +0,0 @@
1
- {
2
- "extends": "../tsconfig.base.json",
3
- "compilerOptions": {
4
- "module": "ESNext",
5
- "outDir": "./dist",
6
- "rootDir": "./src",
7
- "resolveJsonModule": true,
8
- "noEmit": true
9
- },
10
- "include": [
11
- "src/**/*"
12
- ],
13
- "exclude": [
14
- "node_modules",
15
- "dist"
16
- ]
17
- }
@@ -1,19 +0,0 @@
1
- # api-test-suite
2
-
3
- Api Test Suite skill.
4
-
5
- ## Tech Stack
6
-
7
- - Runtime: Bun
8
- - Language: TypeScript
9
- - CLI: Commander.js
10
-
11
- ## CLI
12
-
13
- ```bash
14
- api-test-suite run
15
- ```
16
-
17
- ## Data Directory
18
-
19
- ~/.skill/api-test-suite/
@@ -1,27 +0,0 @@
1
- {
2
- "name": "api-test-suite",
3
- "version": "0.1.0",
4
- "description": "Api Test Suite skill",
5
- "type": "module",
6
- "bin": {
7
- "api-test-suite": "./src/index.ts"
8
- },
9
- "scripts": {
10
- "dev": "bun run src/index.ts",
11
- "build": "bun build src/index.ts --outdir dist --target node",
12
- "typecheck": "tsc --noEmit"
13
- },
14
- "dependencies": {},
15
- "devDependencies": {
16
- "@types/bun": "latest",
17
- "typescript": "^5.7.0"
18
- },
19
- "publishConfig": {
20
- "access": "restricted",
21
- "registry": "https://registry.npmjs.org/"
22
- },
23
- "files": [
24
- "src",
25
- "tsconfig.json"
26
- ]
27
- }
@@ -1,381 +0,0 @@
1
- import { writeFileSync } from "fs";
2
- import { join } from "path";
3
-
4
- interface ParsedInput {
5
- method: string;
6
- path: string;
7
- description: string;
8
- fields?: string[];
9
- }
10
-
11
- interface Options {
12
- format?: string;
13
- includeAuth?: boolean;
14
- includeRateLimit?: boolean;
15
- }
16
-
17
- interface TestCase {
18
- name: string;
19
- type: "success" | "error" | "validation" | "edge";
20
- code: string;
21
- }
22
-
23
- /**
24
- * Parse the input prompt to extract API details
25
- */
26
- function parseInput(input: string): ParsedInput {
27
- const methodMatch = input.match(/\b(GET|POST|PUT|DELETE|PATCH)\b/i);
28
- const pathMatch = input.match(/\/[a-z0-9/:_-]+/i);
29
-
30
- if (!methodMatch || !pathMatch) {
31
- throw new Error("Could not parse HTTP method or path from input. Please provide format like: 'POST /api/users with name, email'");
32
- }
33
-
34
- const method = methodMatch[0].toUpperCase();
35
- const path = pathMatch[0];
36
-
37
- // Extract field names mentioned after "with"
38
- const fieldsMatch = input.match(/with\s+(.+)/i);
39
- let fields: string[] = [];
40
-
41
- if (fieldsMatch) {
42
- const fieldsText = fieldsMatch[1];
43
- fields = fieldsText
44
- .split(/,|\s+and\s+/)
45
- .map(f => f.trim())
46
- .filter(f => f.length > 0 && !f.match(/^(array|object|required|optional)$/i));
47
- }
48
-
49
- return {
50
- method,
51
- path,
52
- description: input,
53
- fields: fields.length > 0 ? fields : undefined,
54
- };
55
- }
56
-
57
- /**
58
- * Generate test cases based on parsed input
59
- */
60
- function generateTestCases(parsed: ParsedInput, options: Options): TestCase[] {
61
- const tests: TestCase[] = [];
62
- const { method, path, fields } = parsed;
63
- const hasBody = ["POST", "PUT", "PATCH"].includes(method);
64
-
65
- // Success test
66
- tests.push({
67
- name: `should successfully ${method} ${path}`,
68
- type: "success",
69
- code: generateSuccessTest(method, path, fields),
70
- });
71
-
72
- // Error tests
73
- if (method !== "GET") {
74
- tests.push({
75
- name: `should return 400 for invalid data`,
76
- type: "error",
77
- code: generateErrorTest(method, path, "invalid data"),
78
- });
79
- }
80
-
81
- // Validation tests
82
- if (hasBody && fields && fields.length > 0) {
83
- fields.forEach((field) => {
84
- tests.push({
85
- name: `should return 400 when ${field} is missing`,
86
- type: "validation",
87
- code: generateValidationTest(method, path, field, fields),
88
- });
89
- });
90
- }
91
-
92
- // Authentication tests
93
- if (options.includeAuth) {
94
- tests.push({
95
- name: `should return 401 without authentication`,
96
- type: "error",
97
- code: generateAuthTest(method, path),
98
- });
99
- }
100
-
101
- // Rate limiting tests
102
- if (options.includeRateLimit) {
103
- tests.push({
104
- name: `should return 429 when rate limit exceeded`,
105
- type: "edge",
106
- code: generateRateLimitTest(method, path),
107
- });
108
- }
109
-
110
- // Edge case: 404 for non-existent resource
111
- if (path.includes(":id")) {
112
- tests.push({
113
- name: `should return 404 for non-existent resource`,
114
- type: "edge",
115
- code: generateNotFoundTest(method, path),
116
- });
117
- }
118
-
119
- return tests;
120
- }
121
-
122
- /**
123
- * Generate success test code
124
- */
125
- function generateSuccessTest(method: string, path: string, fields?: string[]): string {
126
- const hasBody = ["POST", "PUT", "PATCH"].includes(method);
127
- const requestBody = hasBody && fields
128
- ? `{ ${fields.map(f => `${f}: "test-${f}"`).join(", ")} }`
129
- : "{}";
130
-
131
- return `
132
- const response = await fetch("${path}", {
133
- method: "${method}",
134
- headers: { "Content-Type": "application/json" },
135
- ${hasBody ? `body: JSON.stringify(${requestBody}),` : ""}
136
- });
137
-
138
- expect(response.status).toBe(${method === "POST" ? "201" : "200"});
139
- const data = await response.json();
140
- expect(data).toBeTruthy();`;
141
- }
142
-
143
- /**
144
- * Generate error test code
145
- */
146
- function generateErrorTest(method: string, path: string, errorType: string): string {
147
- return `
148
- const response = await fetch("${path}", {
149
- method: "${method}",
150
- headers: { "Content-Type": "application/json" },
151
- body: JSON.stringify({ invalid: "data" }),
152
- });
153
-
154
- expect(response.status).toBe(400);
155
- const data = await response.json();
156
- expect(data.error).toBeTruthy();`;
157
- }
158
-
159
- /**
160
- * Generate validation test code
161
- */
162
- function generateValidationTest(
163
- method: string,
164
- path: string,
165
- missingField: string,
166
- allFields: string[]
167
- ): string {
168
- const bodyWithoutField = allFields
169
- .filter(f => f !== missingField)
170
- .map(f => `${f}: "test-${f}"`)
171
- .join(", ");
172
-
173
- return `
174
- const response = await fetch("${path}", {
175
- method: "${method}",
176
- headers: { "Content-Type": "application/json" },
177
- body: JSON.stringify({ ${bodyWithoutField} }),
178
- });
179
-
180
- expect(response.status).toBe(400);
181
- const data = await response.json();
182
- expect(data.error).toContain("${missingField}");`;
183
- }
184
-
185
- /**
186
- * Generate authentication test code
187
- */
188
- function generateAuthTest(method: string, path: string): string {
189
- const hasBody = ["POST", "PUT", "PATCH"].includes(method);
190
-
191
- return `
192
- const response = await fetch("${path}", {
193
- method: "${method}",
194
- headers: { "Content-Type": "application/json" },
195
- ${hasBody ? 'body: JSON.stringify({ test: "data" }),' : ""}
196
- });
197
-
198
- expect(response.status).toBe(401);
199
- const data = await response.json();
200
- expect(data.error).toBeTruthy();`;
201
- }
202
-
203
- /**
204
- * Generate rate limit test code
205
- */
206
- function generateRateLimitTest(method: string, path: string): string {
207
- const hasBody = ["POST", "PUT", "PATCH"].includes(method);
208
-
209
- return `
210
- // Make multiple requests to trigger rate limit
211
- const requests = Array(100).fill(null).map(() =>
212
- fetch("${path}", {
213
- method: "${method}",
214
- headers: { "Content-Type": "application/json" },
215
- ${hasBody ? 'body: JSON.stringify({ test: "data" }),' : ""}
216
- })
217
- );
218
-
219
- const responses = await Promise.all(requests);
220
- const rateLimited = responses.some(r => r.status === 429);
221
- expect(rateLimited).toBe(true);`;
222
- }
223
-
224
- /**
225
- * Generate 404 test code
226
- */
227
- function generateNotFoundTest(method: string, path: string): string {
228
- const testPath = path.replace(":id", "non-existent-id");
229
- const hasBody = ["POST", "PUT", "PATCH"].includes(method);
230
-
231
- return `
232
- const response = await fetch("${testPath}", {
233
- method: "${method}",
234
- headers: { "Content-Type": "application/json" },
235
- ${hasBody ? 'body: JSON.stringify({ test: "data" }),' : ""}
236
- });
237
-
238
- expect(response.status).toBe(404);`;
239
- }
240
-
241
- /**
242
- * Generate complete test file content
243
- */
244
- function generateTestFile(parsed: ParsedInput, tests: TestCase[], options: Options): string {
245
- const { method, path } = parsed;
246
- const framework = options.format || "vitest";
247
-
248
- let content = ``;
249
-
250
- if (framework === "vitest") {
251
- content += `import { describe, it, expect, beforeAll, afterAll } from "vitest";\n\n`;
252
- } else if (framework === "jest") {
253
- content += `import { describe, it, expect, beforeAll, afterAll } from "@jest/globals";\n\n`;
254
- } else {
255
- content += `const { describe, it, expect, before, after } = require("mocha");\nconst { expect } = require("chai");\n\n`;
256
- }
257
-
258
- content += `describe("${method} ${path}", () => {\n`;
259
- content += ` let baseUrl: string;\n\n`;
260
- content += ` beforeAll(() => {\n`;
261
- content += ` baseUrl = process.env.API_BASE_URL || "http://localhost:3000";\n`;
262
- content += ` });\n\n`;
263
-
264
- // Group tests by type
265
- const groupedTests = {
266
- success: tests.filter(t => t.type === "success"),
267
- validation: tests.filter(t => t.type === "validation"),
268
- error: tests.filter(t => t.type === "error"),
269
- edge: tests.filter(t => t.type === "edge"),
270
- };
271
-
272
- Object.entries(groupedTests).forEach(([type, typeTests]) => {
273
- if (typeTests.length === 0) return;
274
-
275
- const label = type.charAt(0).toUpperCase() + type.slice(1);
276
- content += ` describe("${label} cases", () => {\n`;
277
-
278
- typeTests.forEach(test => {
279
- content += ` it("${test.name}", async () => {${test.code}\n });\n\n`;
280
- });
281
-
282
- content += ` });\n\n`;
283
- });
284
-
285
- content += `});\n`;
286
-
287
- return content;
288
- }
289
-
290
- /**
291
- * Main execution function
292
- */
293
- async function main() {
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
-
308
- const input = process.env.SKILLS_INPUT || "";
309
- const outputDir = process.env.SKILLS_OUTPUT_DIR || process.cwd();
310
- const exportsDir = process.env.SKILLS_EXPORTS_DIR || join(outputDir, "exports");
311
-
312
- if (!input) {
313
- throw new Error("No input provided. Use: skills run api-test-suite -- \"POST /api/users with name, email\"");
314
- }
315
-
316
- // Parse command line options
317
- const args = process.argv.slice(2);
318
- const options: Options = {
319
- format: args.includes("--format")
320
- ? args[args.indexOf("--format") + 1]
321
- : "vitest",
322
- includeAuth: !args.includes("--include-auth=false"),
323
- includeRateLimit: args.includes("--include-rate-limit"),
324
- };
325
-
326
- console.log("Parsing API endpoint specification...");
327
- const parsed = parseInput(input);
328
-
329
- console.log(`Generating test suite for ${parsed.method} ${parsed.path}`);
330
- console.log(`Format: ${options.format}`);
331
- console.log(`Include auth tests: ${options.includeAuth}`);
332
- console.log(`Include rate limit tests: ${options.includeRateLimit}`);
333
-
334
- // Generate test cases
335
- const testCases = generateTestCases(parsed, options);
336
- console.log(`Generated ${testCases.length} test cases`);
337
-
338
- // Generate complete test file
339
- const testFileContent = generateTestFile(parsed, testCases, options);
340
-
341
- // Save to exports directory
342
- const fileName = `${parsed.path.replace(/\//g, "-").replace(/:/g, "")}-${parsed.method.toLowerCase()}.test.ts`;
343
- const filePath = join(exportsDir, fileName);
344
-
345
- writeFileSync(filePath, testFileContent);
346
- console.log(`Test suite saved to: ${filePath}`);
347
-
348
- // Also log a summary
349
- const summary = {
350
- endpoint: `${parsed.method} ${parsed.path}`,
351
- testCases: testCases.length,
352
- framework: options.format,
353
- filePath: fileName,
354
- tests: testCases.map(t => ({ name: t.name, type: t.type })),
355
- };
356
-
357
- console.log("\n=== Test Suite Summary ===");
358
- console.log(JSON.stringify(summary, null, 2));
359
-
360
- } catch (error) {
361
- console.error("Error generating API test suite:", error);
362
- process.exit(1);
363
- }
364
- }
365
-
366
- // Run if executed directly
367
- if (require.main === module) {
368
- main();
369
- }
370
-
371
- export {
372
- parseInput,
373
- generateTestCases,
374
- generateTestFile,
375
- generateSuccessTest,
376
- generateErrorTest,
377
- generateValidationTest,
378
- generateAuthTest,
379
- generateRateLimitTest,
380
- generateNotFoundTest,
381
- };
@@ -1,10 +0,0 @@
1
- {
2
- "extends": "../tsconfig.base.json",
3
- "compilerOptions": {
4
- "outDir": "dist"
5
- },
6
- "include": [
7
- "src/**/*",
8
- "bin/**/*"
9
- ]
10
- }
@@ -1,9 +0,0 @@
1
- # audio-extract
2
-
3
- Skill for extracting audio tracks from video files. Supports multiple output formats and codec configurations.
4
-
5
- ## Development
6
-
7
- - Runtime: Bun
8
- - Use `bun run dev` to run locally
9
- - Use `bun run typecheck` to check types
@@ -1,73 +0,0 @@
1
- ---
2
- name: audio-extract
3
- version: 0.1.0
4
- description: Extract audio tracks from video files using FFmpeg with format conversion options
5
- author: Hasna
6
- category: Media Processing
7
- tags:
8
- - audio
9
- - video
10
- - ffmpeg
11
- - conversion
12
- - extraction
13
- - podcasting
14
- credits: 1
15
- ---
16
-
17
- # Extract Audio
18
-
19
- Rip audio from any video. Extract high-quality audio tracks from MP4, MOV, or MKV files. Convert to MP3, WAV, or FLAC for podcasts, transcription, or music libraries. This skill handles the FFmpeg complexity so you don't have to.
20
-
21
- ## Features
22
-
23
- - **Format Flexibility**: Converts to MP3 (universal), WAV (lossless), AAC (efficient), or FLAC (audiophile).
24
- - **Quality Control**: Choose from "Low" (voice memos) to "Ultra" (music production).
25
- - **Batch Processing**: Extracts audio from an entire folder of videos at once.
26
- - **Metadata Preservation**: Keeps original filenames and timestamps organized.
27
- - **Fast Extraction**: Uses stream copying where possible for instant results.
28
-
29
- > **This is a CLI skill.** It requires the `skills` CLI to execute. Install it with `npm install -g @hasna/skills`, then run the commands below.
30
-
31
- ## Usage
32
-
33
- ```bash
34
- # Extract MP3 from a video
35
- skills run extract-audio -- video.mp4
36
-
37
- # Extract high-quality WAV
38
- skills run extract-audio -- concert.mov --format wav --quality high
39
-
40
- # Batch extract a folder
41
- skills run extract-audio -- ./videos/*.mp4 --format mp3
42
- ```
43
-
44
- ## Options
45
-
46
- | Option | Description | Default |
47
- | ----------- | ---------------------------------------- | ------------------------------ |
48
- | `<files...>`| Input video files (positional args) | - |
49
- | `--format` | Output format (`mp3`, `wav`, `aac`) | mp3 |
50
- | `--quality` | Bitrate level (`low`, `medium`, `high`) | medium |
51
- | `--output` | Custom output path (single file only) | .skills/exports/extract-audio/ |
52
-
53
- ## Output
54
-
55
- - **Audio File**: The extracted track saved to the export directory.
56
- - **Log**: A record of the conversion process.
57
-
58
- ## Examples
59
-
60
- ### Podcast Workflow
61
- ```bash
62
- skills run extract-audio -- interview_zoom.mp4 --format wav --quality high
63
- ```
64
-
65
- ### Lecture Notes
66
- ```bash
67
- skills run extract-audio -- lecture_recording.mkv --format mp3 --quality low
68
- ```
69
-
70
- ## Requirements
71
-
72
- - FFmpeg installed and in PATH.
73
- - Bun runtime.
@@ -1,23 +0,0 @@
1
- {
2
- "name": "audio-extract",
3
- "version": "0.1.0",
4
- "type": "module",
5
- "bin": {
6
- "audio-extract": "./src/index.ts"
7
- },
8
- "scripts": {
9
- "dev": "bun run src/index.ts",
10
- "build": "bun build src/index.ts --outdir dist --target node",
11
- "typecheck": "tsc --noEmit"
12
- },
13
- "dependencies": {},
14
- "publishConfig": {
15
- "registry": "https://registry.npmjs.org",
16
- "access": "restricted"
17
- },
18
- "files": [
19
- "src",
20
- "dist",
21
- "SKILL.md"
22
- ]
23
- }