@hasna/skills 0.1.62 → 0.1.64

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 (541) hide show
  1. package/README.md +38 -12
  2. package/bin/index.js +15743 -21709
  3. package/bin/mcp.js +3866 -11522
  4. package/bin/migrate.js +281 -35
  5. package/bin/server.js +5805 -2682
  6. package/bin/worker.js +5280 -2388
  7. package/dist/cli/commands/publish.d.ts +2 -0
  8. package/dist/cli/commands/registry-reconcile.d.ts +2 -0
  9. package/dist/cli/components/App.d.ts +2 -1
  10. package/dist/cli/components/CategorySelect.d.ts +2 -1
  11. package/dist/cli/components/Header.d.ts +2 -1
  12. package/dist/cli/components/InstallProgress.d.ts +2 -1
  13. package/dist/cli/components/SearchView.d.ts +2 -1
  14. package/dist/cli/components/SkillSelect.d.ts +2 -1
  15. package/dist/index.d.ts +5 -2
  16. package/dist/index.js +5386 -13739
  17. package/dist/lib/agent-sync.d.ts +61 -6
  18. package/dist/lib/auth-store.d.ts +37 -0
  19. package/dist/lib/config.d.ts +51 -0
  20. package/dist/lib/home-adoption.d.ts +91 -0
  21. package/dist/lib/home-census.d.ts +26 -0
  22. package/dist/lib/home-migration.d.ts +60 -0
  23. package/dist/lib/native-storage.d.ts +1 -1
  24. package/dist/lib/portable-skills-files.d.ts +21 -1
  25. package/dist/lib/portable-skills-types.d.ts +46 -0
  26. package/dist/lib/portable-skills.d.ts +35 -6
  27. package/dist/lib/pull.d.ts +97 -0
  28. package/dist/lib/registry-reconcile.d.ts +114 -0
  29. package/dist/lib/registry.d.ts +7 -4
  30. package/dist/lib/remote-client.d.ts +124 -1
  31. package/dist/lib/remote-registry.d.ts +26 -0
  32. package/dist/lib/revision.d.ts +29 -0
  33. package/dist/lib/run-state.d.ts +5 -0
  34. package/dist/lib/skill-bundles.d.ts +54 -0
  35. package/dist/lib/skill-contract.d.ts +35 -0
  36. package/dist/lib/skill-hash.d.ts +77 -0
  37. package/dist/sdk/cancel.d.ts +30 -0
  38. package/dist/sdk/dispatcher.d.ts +40 -0
  39. package/dist/sdk/event-sink.d.ts +2 -0
  40. package/dist/sdk/events.d.ts +79 -0
  41. package/dist/sdk/execution/admission.d.ts +44 -0
  42. package/dist/sdk/execution/dispatchers/e2b.d.ts +17 -0
  43. package/dist/sdk/execution/dispatchers/ecs.d.ts +151 -0
  44. package/dist/sdk/execution/image-profile.d.ts +73 -0
  45. package/dist/sdk/execution/index.d.ts +15 -0
  46. package/dist/sdk/execution/receipts.d.ts +44 -0
  47. package/dist/sdk/execution/state-machine.d.ts +38 -0
  48. package/dist/sdk/execution/storage.d.ts +158 -0
  49. package/dist/sdk/execution/types.d.ts +130 -0
  50. package/dist/sdk/executor.d.ts +17 -0
  51. package/dist/sdk/governance-store.d.ts +156 -0
  52. package/dist/sdk/governance.d.ts +92 -0
  53. package/dist/sdk/index.d.ts +26 -0
  54. package/dist/sdk/index.js +49728 -0
  55. package/dist/sdk/offline.d.ts +16 -0
  56. package/dist/sdk/outputs.d.ts +71 -0
  57. package/dist/sdk/registry.d.ts +28 -0
  58. package/dist/sdk/runs.d.ts +229 -0
  59. package/dist/sdk/server.d.ts +35 -0
  60. package/dist/sdk/spend.d.ts +36 -0
  61. package/dist/sdk/storage.d.ts +25 -0
  62. package/dist/server/app.d.ts +42 -0
  63. package/dist/server/artifact-storage.d.ts +102 -0
  64. package/dist/server/auth.d.ts +5 -0
  65. package/dist/server/config.d.ts +50 -0
  66. package/dist/server/database-url.d.ts +42 -0
  67. package/dist/server/handlers.d.ts +3 -0
  68. package/dist/server/index.d.ts +2 -0
  69. package/dist/server/migrate.d.ts +13 -0
  70. package/dist/server/migrations-dir.d.ts +18 -0
  71. package/dist/server/redaction.d.ts +1 -0
  72. package/dist/server/registry.d.ts +5 -0
  73. package/dist/server/rows.d.ts +24 -0
  74. package/dist/server/skills-api.d.ts +170 -0
  75. package/dist/server/sqlite-store.d.ts +131 -0
  76. package/dist/server/store-fixtures.d.ts +25 -0
  77. package/dist/server/store.d.ts +170 -0
  78. package/dist/server/types.d.ts +337 -0
  79. package/dist/server/worker.d.ts +4 -0
  80. package/dist/storage.js +39 -2
  81. package/docs/skill-standard.md +211 -39
  82. package/migrations/postgres/0003_run_outputs_governance.sql +83 -0
  83. package/migrations/postgres/0004_hosted_pins.sql +28 -0
  84. package/migrations/postgres/0005_revision_tombstone_registry.sql +37 -0
  85. package/migrations/postgres/0005_tag_projection.sql +36 -0
  86. package/migrations/sqlite/0003_run_outputs_governance.sql +58 -0
  87. package/migrations/sqlite/0004_hosted_pins.sql +21 -0
  88. package/migrations/sqlite/0005_revision_tombstone_registry.sql +18 -0
  89. package/migrations/sqlite/0005_tag_projection.sql +25 -0
  90. package/package.json +12 -8
  91. package/schemas/skill.schema.json +181 -0
  92. package/agent-skills/README.md +0 -41
  93. package/agent-skills/fleet-package-rollout/SKILL.md +0 -169
  94. package/agent-skills/inbox/SKILL.md +0 -25
  95. package/agent-skills/inbox/scripts/inbox +0 -109
  96. package/agent-skills/inbox/tests/test_registered_sender_id.sh +0 -92
  97. package/agent-skills/inbox-monitor/SKILL.md +0 -41
  98. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +0 -91
  99. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +0 -71
  100. package/agent-skills/merge-pr/SKILL.md +0 -85
  101. package/agent-skills/merge-pr/references/merge-safety.md +0 -82
  102. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +0 -694
  103. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +0 -647
  104. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +0 -28
  105. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +0 -28
  106. package/agent-skills/skill-goal-execute/SKILL.md +0 -115
  107. package/agent-skills/skill-login/SKILL.md +0 -109
  108. package/agent-skills/skill-project-create/SKILL.md +0 -91
  109. package/agent-skills/skill-publish/SKILL.md +0 -254
  110. package/agent-skills/skill-publish/scripts/capture_registry.js +0 -47
  111. package/agent-skills/skill-publish/scripts/publish_with_git_head.sh +0 -143
  112. package/agent-skills/skill-publish/scripts/test_publish_with_git_head.sh +0 -231
  113. package/skills/_common/auth.ts +0 -45
  114. package/skills/_common/http-client.ts +0 -143
  115. package/skills/_common/index.ts +0 -26
  116. package/skills/_common/install.sh +0 -7
  117. package/skills/_common/installer.ts +0 -72
  118. package/skills/_common/skill-install.ts +0 -37
  119. package/skills/_common/vision.ts +0 -374
  120. package/skills/ad-creative-pack/SKILL.md +0 -55
  121. package/skills/ad-creative-pack/package.json +0 -10
  122. package/skills/analyze-data/CLAUDE.md +0 -16
  123. package/skills/analyze-data/SKILL.md +0 -112
  124. package/skills/analyze-data/package.json +0 -23
  125. package/skills/analyze-data/src/analysis.ts +0 -401
  126. package/skills/analyze-data/src/cli.ts +0 -66
  127. package/skills/analyze-data/src/formatters.ts +0 -235
  128. package/skills/analyze-data/src/index.ts +0 -74
  129. package/skills/analyze-data/src/logger.ts +0 -36
  130. package/skills/analyze-data/src/parsers.ts +0 -57
  131. package/skills/analyze-data/src/stats.ts +0 -151
  132. package/skills/analyze-data/src/types.ts +0 -85
  133. package/skills/analyze-data/tsconfig.json +0 -19
  134. package/skills/api-docs-portal/SKILL.md +0 -84
  135. package/skills/api-docs-portal/package.json +0 -35
  136. package/skills/api-docs-portal/src/index.ts +0 -919
  137. package/skills/api-docs-portal/tsconfig.json +0 -17
  138. package/skills/api-test-suite/CLAUDE.md +0 -19
  139. package/skills/api-test-suite/package.json +0 -27
  140. package/skills/api-test-suite/src/index.ts +0 -381
  141. package/skills/api-test-suite/tsconfig.json +0 -10
  142. package/skills/audio-extract/CLAUDE.md +0 -9
  143. package/skills/audio-extract/SKILL.md +0 -73
  144. package/skills/audio-extract/package.json +0 -23
  145. package/skills/audio-extract/src/index.ts +0 -323
  146. package/skills/audio-extract/tsconfig.json +0 -11
  147. package/skills/bio-sequence-tool/CLAUDE.md +0 -19
  148. package/skills/bio-sequence-tool/package.json +0 -27
  149. package/skills/bio-sequence-tool/src/index.ts +0 -85
  150. package/skills/bio-sequence-tool/tsconfig.json +0 -10
  151. package/skills/blog-article/CLAUDE.md +0 -12
  152. package/skills/blog-article/SKILL.md +0 -55
  153. package/skills/blog-article/package.json +0 -10
  154. package/skills/blog-article/tsconfig.json +0 -10
  155. package/skills/brand-assets/SKILL.md +0 -118
  156. package/skills/brand-assets/package.json +0 -35
  157. package/skills/brand-assets/src/cli.ts +0 -155
  158. package/skills/brand-assets/src/constants.ts +0 -8
  159. package/skills/brand-assets/src/extract.ts +0 -236
  160. package/skills/brand-assets/src/index.ts +0 -668
  161. package/skills/brand-assets/src/types.ts +0 -59
  162. package/skills/brand-assets/tsconfig.json +0 -17
  163. package/skills/brand-kit/SKILL.md +0 -54
  164. package/skills/brand-kit/package.json +0 -10
  165. package/skills/businessactivity/CLAUDE.md +0 -176
  166. package/skills/businessactivity/LICENSE +0 -192
  167. package/skills/businessactivity/README.md +0 -287
  168. package/skills/businessactivity/package.json +0 -25
  169. package/skills/businessactivity/scripts/publish.ts +0 -210
  170. package/skills/businessactivity/src/commands/activity.ts +0 -211
  171. package/skills/businessactivity/src/commands/function.ts +0 -227
  172. package/skills/businessactivity/src/commands/owner.ts +0 -193
  173. package/skills/businessactivity/src/commands/profile.ts +0 -121
  174. package/skills/businessactivity/src/commands/responsibility.ts +0 -264
  175. package/skills/businessactivity/src/commands/team.ts +0 -244
  176. package/skills/businessactivity/src/commands/workflow.ts +0 -359
  177. package/skills/businessactivity/src/index.ts +0 -3
  178. package/skills/businessactivity/src/lib/config.ts +0 -167
  179. package/skills/businessactivity/src/lib/output.ts +0 -76
  180. package/skills/businessactivity/src/lib/paths.ts +0 -79
  181. package/skills/businessactivity/src/lib/storage.ts +0 -95
  182. package/skills/businessactivity/src/types/index.ts +0 -86
  183. package/skills/businessactivity/tsconfig.json +0 -29
  184. package/skills/codefix/LICENSE +0 -192
  185. package/skills/codefix/README.md +0 -232
  186. package/skills/codefix/SKILL.md +0 -94
  187. package/skills/codefix/package.json +0 -21
  188. package/skills/codefix/src/fixers/batch.ts +0 -213
  189. package/skills/codefix/src/fixers/detector.ts +0 -160
  190. package/skills/codefix/src/fixers/index.ts +0 -7
  191. package/skills/codefix/src/fixers/runner.ts +0 -522
  192. package/skills/codefix/src/index-local.ts +0 -431
  193. package/skills/codefix/src/index.ts +0 -4
  194. package/skills/codefix/src/types.ts +0 -211
  195. package/skills/codefix/tsconfig.json +0 -15
  196. package/skills/commitpush/SKILL.md +0 -57
  197. package/skills/commitpush/package.json +0 -33
  198. package/skills/commitpush/src/index.ts +0 -34
  199. package/skills/commitpush/tsconfig.json +0 -17
  200. package/skills/commitpushpr/SKILL.md +0 -55
  201. package/skills/commitpushpr/package.json +0 -33
  202. package/skills/commitpushpr/src/index.ts +0 -34
  203. package/skills/commitpushpr/tsconfig.json +0 -17
  204. package/skills/compress-video/CLAUDE.md +0 -9
  205. package/skills/compress-video/SKILL.md +0 -79
  206. package/skills/compress-video/package.json +0 -23
  207. package/skills/compress-video/src/index.ts +0 -473
  208. package/skills/compress-video/tsconfig.json +0 -11
  209. package/skills/contract-review-report/SKILL.md +0 -52
  210. package/skills/contract-review-report/package.json +0 -10
  211. package/skills/customer-feedback-report/SKILL.md +0 -52
  212. package/skills/customer-feedback-report/package.json +0 -10
  213. package/skills/dashboard-builder/CLAUDE.md +0 -19
  214. package/skills/dashboard-builder/package.json +0 -29
  215. package/skills/dashboard-builder/src/index.ts +0 -150
  216. package/skills/dashboard-builder/tsconfig.json +0 -10
  217. package/skills/data-anonymizer/CLAUDE.md +0 -19
  218. package/skills/data-anonymizer/package.json +0 -27
  219. package/skills/data-anonymizer/src/index.ts +0 -183
  220. package/skills/data-anonymizer/tsconfig.json +0 -10
  221. package/skills/database-explorer/CLAUDE.md +0 -19
  222. package/skills/database-explorer/package.json +0 -29
  223. package/skills/database-explorer/src/index.ts +0 -95
  224. package/skills/database-explorer/tsconfig.json +0 -10
  225. package/skills/diff-viewer/CLAUDE.md +0 -19
  226. package/skills/diff-viewer/package.json +0 -30
  227. package/skills/diff-viewer/src/index.ts +0 -164
  228. package/skills/diff-viewer/tsconfig.json +0 -10
  229. package/skills/doc-read/SKILL.md +0 -45
  230. package/skills/doc-read/package.json +0 -29
  231. package/skills/doc-read/src/index.ts +0 -324
  232. package/skills/doc-read/tsconfig.json +0 -8
  233. package/skills/domainpurchase/LICENSE +0 -192
  234. package/skills/domainpurchase/SKILL.md +0 -29
  235. package/skills/domainpurchase/package.json +0 -30
  236. package/skills/domainpurchase/src/index.ts +0 -3
  237. package/skills/domainpurchase/tsconfig.json +0 -21
  238. package/skills/email-sequence/SKILL.md +0 -53
  239. package/skills/email-sequence/package.json +0 -10
  240. package/skills/experiment-power-calculator/CLAUDE.md +0 -19
  241. package/skills/experiment-power-calculator/package.json +0 -29
  242. package/skills/experiment-power-calculator/src/index.ts +0 -86
  243. package/skills/experiment-power-calculator/tsconfig.json +0 -10
  244. package/skills/extract-frames/CLAUDE.md +0 -19
  245. package/skills/extract-frames/package.json +0 -27
  246. package/skills/extract-frames/src/index.ts +0 -616
  247. package/skills/extract-frames/tsconfig.json +0 -10
  248. package/skills/file-organizer/CLAUDE.md +0 -19
  249. package/skills/file-organizer/package.json +0 -27
  250. package/skills/file-organizer/src/index.ts +0 -91
  251. package/skills/file-organizer/tsconfig.json +0 -10
  252. package/skills/folder-tree/CLAUDE.md +0 -19
  253. package/skills/folder-tree/package.json +0 -29
  254. package/skills/folder-tree/src/index.ts +0 -568
  255. package/skills/folder-tree/tsconfig.json +0 -10
  256. package/skills/form-filler/CLAUDE.md +0 -19
  257. package/skills/form-filler/package.json +0 -29
  258. package/skills/form-filler/src/index.ts +0 -81
  259. package/skills/form-filler/tsconfig.json +0 -10
  260. package/skills/generate-api-client/CLAUDE.md +0 -19
  261. package/skills/generate-api-client/package.json +0 -29
  262. package/skills/generate-api-client/src/generator.ts +0 -47
  263. package/skills/generate-api-client/src/index.ts +0 -92
  264. package/skills/generate-api-client/src/logger.ts +0 -34
  265. package/skills/generate-api-client/src/python-generator.ts +0 -245
  266. package/skills/generate-api-client/src/spec-loader.ts +0 -48
  267. package/skills/generate-api-client/src/type-mappers.ts +0 -79
  268. package/skills/generate-api-client/src/types.ts +0 -76
  269. package/skills/generate-api-client/src/typescript-generator.ts +0 -247
  270. package/skills/generate-api-client/tsconfig.json +0 -10
  271. package/skills/generate-chart/CLAUDE.md +0 -19
  272. package/skills/generate-chart/package.json +0 -27
  273. package/skills/generate-chart/src/index.ts +0 -510
  274. package/skills/generate-chart/tsconfig.json +0 -10
  275. package/skills/generate-dockerfile/CLAUDE.md +0 -19
  276. package/skills/generate-dockerfile/package.json +0 -27
  277. package/skills/generate-dockerfile/src/cli.ts +0 -78
  278. package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
  279. package/skills/generate-dockerfile/src/index.ts +0 -81
  280. package/skills/generate-dockerfile/src/logger.ts +0 -30
  281. package/skills/generate-dockerfile/src/project-detection.ts +0 -68
  282. package/skills/generate-dockerfile/src/support-files.ts +0 -171
  283. package/skills/generate-dockerfile/src/types.ts +0 -29
  284. package/skills/generate-dockerfile/tsconfig.json +0 -10
  285. package/skills/generate-env/CLAUDE.md +0 -19
  286. package/skills/generate-env/package.json +0 -29
  287. package/skills/generate-env/src/cli.ts +0 -85
  288. package/skills/generate-env/src/detection.ts +0 -161
  289. package/skills/generate-env/src/env-data.ts +0 -66
  290. package/skills/generate-env/src/generators.ts +0 -240
  291. package/skills/generate-env/src/index.ts +0 -120
  292. package/skills/generate-env/src/runtime.ts +0 -30
  293. package/skills/generate-env/src/types.ts +0 -32
  294. package/skills/generate-env/tsconfig.json +0 -10
  295. package/skills/generate-favicon/CLAUDE.md +0 -19
  296. package/skills/generate-favicon/package.json +0 -29
  297. package/skills/generate-favicon/src/index.ts +0 -421
  298. package/skills/generate-favicon/tsconfig.json +0 -10
  299. package/skills/generate-qrcode/CLAUDE.md +0 -19
  300. package/skills/generate-qrcode/package.json +0 -30
  301. package/skills/generate-qrcode/src/index.ts +0 -584
  302. package/skills/generate-qrcode/tsconfig.json +0 -10
  303. package/skills/generate-resume/CLAUDE.md +0 -19
  304. package/skills/generate-resume/package.json +0 -27
  305. package/skills/generate-resume/src/cli.ts +0 -157
  306. package/skills/generate-resume/src/index.ts +0 -178
  307. package/skills/generate-resume/src/parsers.ts +0 -95
  308. package/skills/generate-resume/src/renderers.ts +0 -538
  309. package/skills/generate-resume/src/security.ts +0 -39
  310. package/skills/generate-resume/src/types.ts +0 -86
  311. package/skills/generate-resume/tsconfig.json +0 -10
  312. package/skills/generate-sitemap/CLAUDE.md +0 -19
  313. package/skills/generate-sitemap/package.json +0 -27
  314. package/skills/generate-sitemap/src/index.ts +0 -626
  315. package/skills/generate-sitemap/tsconfig.json +0 -10
  316. package/skills/gif-maker/CLAUDE.md +0 -19
  317. package/skills/gif-maker/package.json +0 -30
  318. package/skills/gif-maker/src/index.ts +0 -600
  319. package/skills/gif-maker/tsconfig.json +0 -10
  320. package/skills/hook/LICENSE +0 -192
  321. package/skills/hook/README.md +0 -74
  322. package/skills/hook/SKILL.md +0 -85
  323. package/skills/hook/bunfig.toml +0 -5
  324. package/skills/hook/package.json +0 -28
  325. package/skills/hook/src/commands/create.ts +0 -112
  326. package/skills/hook/src/commands/events.ts +0 -37
  327. package/skills/hook/src/commands/validate.ts +0 -117
  328. package/skills/hook/src/index.ts +0 -118
  329. package/skills/hook/src/templates/root.ts +0 -196
  330. package/skills/hook/src/templates/source.ts +0 -647
  331. package/skills/hook/tsconfig.json +0 -18
  332. package/skills/http-server/CLAUDE.md +0 -19
  333. package/skills/http-server/package.json +0 -29
  334. package/skills/http-server/src/index.ts +0 -51
  335. package/skills/http-server/tsconfig.json +0 -10
  336. package/skills/implementation/LICENSE +0 -192
  337. package/skills/implementation/README.md +0 -53
  338. package/skills/implementation/SKILL.md +0 -57
  339. package/skills/implementation/bunfig.toml +0 -5
  340. package/skills/implementation/package.json +0 -28
  341. package/skills/implementation/src/commands/create.ts +0 -187
  342. package/skills/implementation/src/index.ts +0 -62
  343. package/skills/implementation/tsconfig.json +0 -18
  344. package/skills/implementation-plan/CLAUDE.md +0 -19
  345. package/skills/implementation-plan/package.json +0 -29
  346. package/skills/implementation-plan/src/index.ts +0 -520
  347. package/skills/implementation-plan/tsconfig.json +0 -10
  348. package/skills/implementation-todo/CLAUDE.md +0 -19
  349. package/skills/implementation-todo/package.json +0 -29
  350. package/skills/implementation-todo/src/index.ts +0 -429
  351. package/skills/implementation-todo/tsconfig.json +0 -10
  352. package/skills/invoice/.env.example +0 -3
  353. package/skills/invoice/CLAUDE.md +0 -31
  354. package/skills/invoice/LICENSE +0 -192
  355. package/skills/invoice/README.md +0 -70
  356. package/skills/invoice/package.json +0 -26
  357. package/skills/invoice/src/commands/companies.ts +0 -202
  358. package/skills/invoice/src/commands/config.ts +0 -132
  359. package/skills/invoice/src/commands/generate.ts +0 -177
  360. package/skills/invoice/src/commands/invoices.ts +0 -218
  361. package/skills/invoice/src/index.ts +0 -3
  362. package/skills/invoice/src/lib/api.ts +0 -124
  363. package/skills/invoice/src/lib/storage.ts +0 -171
  364. package/skills/invoice/src/types/index.ts +0 -86
  365. package/skills/invoice/src/utils/logger.ts +0 -33
  366. package/skills/invoice/src/utils/paths.ts +0 -25
  367. package/skills/invoice/tsconfig.json +0 -23
  368. package/skills/invoice-reconciliation/SKILL.md +0 -98
  369. package/skills/invoice-reconciliation/package.json +0 -36
  370. package/skills/invoice-reconciliation/src/index.ts +0 -743
  371. package/skills/invoice-reconciliation/tsconfig.json +0 -17
  372. package/skills/landing-page-pack/SKILL.md +0 -55
  373. package/skills/landing-page-pack/package.json +0 -10
  374. package/skills/latex-table-generator/CLAUDE.md +0 -19
  375. package/skills/latex-table-generator/package.json +0 -29
  376. package/skills/latex-table-generator/src/index.ts +0 -113
  377. package/skills/latex-table-generator/tsconfig.json +0 -10
  378. package/skills/logo-design/SKILL.md +0 -94
  379. package/skills/logo-design/package.json +0 -35
  380. package/skills/logo-design/src/cli.ts +0 -132
  381. package/skills/logo-design/src/constants.ts +0 -5
  382. package/skills/logo-design/src/docs.ts +0 -102
  383. package/skills/logo-design/src/geometry.ts +0 -324
  384. package/skills/logo-design/src/index.ts +0 -212
  385. package/skills/logo-design/src/palette.ts +0 -258
  386. package/skills/logo-design/src/types.ts +0 -50
  387. package/skills/logo-design/tsconfig.json +0 -17
  388. package/skills/lorem-generator/CLAUDE.md +0 -19
  389. package/skills/lorem-generator/package.json +0 -29
  390. package/skills/lorem-generator/src/index.ts +0 -59
  391. package/skills/lorem-generator/tsconfig.json +0 -10
  392. package/skills/managemcp/CLAUDE.md +0 -14
  393. package/skills/managemcp/README.md +0 -24
  394. package/skills/managemcp/package.json +0 -16
  395. package/skills/managemcp/src/index.ts +0 -3
  396. package/skills/managemcp/tsconfig.json +0 -27
  397. package/skills/markdown-validator/CLAUDE.md +0 -19
  398. package/skills/markdown-validator/package.json +0 -29
  399. package/skills/markdown-validator/src/index.ts +0 -92
  400. package/skills/markdown-validator/tsconfig.json +0 -10
  401. package/skills/market-research-report/SKILL.md +0 -51
  402. package/skills/market-research-report/package.json +0 -10
  403. package/skills/meeting-pack/SKILL.md +0 -52
  404. package/skills/meeting-pack/package.json +0 -10
  405. package/skills/merge-pdfs/CLAUDE.md +0 -19
  406. package/skills/merge-pdfs/package.json +0 -31
  407. package/skills/merge-pdfs/src/index.ts +0 -427
  408. package/skills/merge-pdfs/tsconfig.json +0 -10
  409. package/skills/migration-plan-pack/SKILL.md +0 -56
  410. package/skills/migration-plan-pack/package.json +0 -10
  411. package/skills/monitor/SKILL.md +0 -69
  412. package/skills/monitor/package.json +0 -33
  413. package/skills/monitor/src/index.ts +0 -34
  414. package/skills/monitor/tsconfig.json +0 -17
  415. package/skills/one-page-website/SKILL.md +0 -128
  416. package/skills/one-page-website/package.json +0 -34
  417. package/skills/one-page-website/src/design.ts +0 -336
  418. package/skills/one-page-website/src/docs.ts +0 -159
  419. package/skills/one-page-website/src/index.ts +0 -357
  420. package/skills/one-page-website/src/page.ts +0 -340
  421. package/skills/one-page-website/src/styles.ts +0 -508
  422. package/skills/one-page-website/src/types.ts +0 -78
  423. package/skills/one-page-website/tsconfig.json +0 -17
  424. package/skills/pdf-generate/CLAUDE.md +0 -19
  425. package/skills/pdf-generate/SKILL.md +0 -86
  426. package/skills/pdf-generate/package.json +0 -21
  427. package/skills/pdf-generate/src/cli.ts +0 -162
  428. package/skills/pdf-generate/src/html.ts +0 -84
  429. package/skills/pdf-generate/src/index.ts +0 -62
  430. package/skills/pdf-generate/src/markdown.ts +0 -27
  431. package/skills/pdf-generate/src/pdf-writer.ts +0 -78
  432. package/skills/pdf-generate/src/runtime.ts +0 -34
  433. package/skills/pdf-generate/src/security.ts +0 -37
  434. package/skills/pdf-generate/src/templates.ts +0 -311
  435. package/skills/pdf-generate/src/types.ts +0 -28
  436. package/skills/pdf-generate/tsconfig.json +0 -16
  437. package/skills/pdf-to-dataset/SKILL.md +0 -88
  438. package/skills/pdf-to-dataset/package.json +0 -37
  439. package/skills/pdf-to-dataset/src/index.ts +0 -790
  440. package/skills/pdf-to-dataset/tsconfig.json +0 -17
  441. package/skills/pdf-to-markdown/SKILL.md +0 -81
  442. package/skills/pdf-to-markdown/package.json +0 -35
  443. package/skills/pdf-to-markdown/src/index.ts +0 -694
  444. package/skills/pdf-to-markdown/tsconfig.json +0 -17
  445. package/skills/performance-audit-report/SKILL.md +0 -49
  446. package/skills/performance-audit-report/package.json +0 -10
  447. package/skills/pitch-deck/SKILL.md +0 -51
  448. package/skills/pitch-deck/package.json +0 -10
  449. package/skills/product-mockup/SKILL.md +0 -107
  450. package/skills/product-mockup/package.json +0 -32
  451. package/skills/product-mockup/src/cli.ts +0 -150
  452. package/skills/product-mockup/src/design.ts +0 -151
  453. package/skills/product-mockup/src/docs.ts +0 -134
  454. package/skills/product-mockup/src/index.ts +0 -182
  455. package/skills/product-mockup/src/render.ts +0 -407
  456. package/skills/product-mockup/src/types.ts +0 -66
  457. package/skills/product-mockup/tsconfig.json +0 -17
  458. package/skills/proposal-pack/SKILL.md +0 -53
  459. package/skills/proposal-pack/package.json +0 -10
  460. package/skills/read-csv/SKILL.md +0 -62
  461. package/skills/read-csv/package.json +0 -37
  462. package/skills/read-csv/src/index.ts +0 -356
  463. package/skills/read-csv/tsconfig.json +0 -17
  464. package/skills/read-excel/SKILL.md +0 -64
  465. package/skills/read-excel/package.json +0 -36
  466. package/skills/read-excel/src/index.ts +0 -266
  467. package/skills/read-excel/tsconfig.json +0 -17
  468. package/skills/regex-tester/CLAUDE.md +0 -19
  469. package/skills/regex-tester/package.json +0 -27
  470. package/skills/regex-tester/src/index.ts +0 -183
  471. package/skills/regex-tester/tsconfig.json +0 -10
  472. package/skills/repo-onboarding-report/SKILL.md +0 -52
  473. package/skills/repo-onboarding-report/package.json +0 -10
  474. package/skills/scancommitpr/SKILL.md +0 -178
  475. package/skills/scancommitpr/package.json +0 -34
  476. package/skills/scancommitpr/src/index.ts +0 -44
  477. package/skills/scancommitpr/tsconfig.json +0 -13
  478. package/skills/scancommitpush/SKILL.md +0 -174
  479. package/skills/scancommitpush/package.json +0 -32
  480. package/skills/scancommitpush/src/index.ts +0 -44
  481. package/skills/scancommitpush/tsconfig.json +0 -13
  482. package/skills/scientific-figure-check/CLAUDE.md +0 -19
  483. package/skills/scientific-figure-check/package.json +0 -29
  484. package/skills/scientific-figure-check/src/index.ts +0 -83
  485. package/skills/scientific-figure-check/tsconfig.json +0 -10
  486. package/skills/security-audit/CLAUDE.md +0 -19
  487. package/skills/security-audit/package.json +0 -27
  488. package/skills/security-audit/src/index.ts +0 -145
  489. package/skills/security-audit/tsconfig.json +0 -10
  490. package/skills/security-audit-report/SKILL.md +0 -52
  491. package/skills/security-audit-report/package.json +0 -10
  492. package/skills/seo-content-pack/SKILL.md +0 -54
  493. package/skills/seo-content-pack/package.json +0 -10
  494. package/skills/siteanalyze/SKILL.md +0 -25
  495. package/skills/siteanalyze/package.json +0 -27
  496. package/skills/siteanalyze/src/index.ts +0 -592
  497. package/skills/slide-deck-generator/SKILL.md +0 -93
  498. package/skills/slide-deck-generator/package.json +0 -38
  499. package/skills/slide-deck-generator/src/cli.ts +0 -133
  500. package/skills/slide-deck-generator/src/index.ts +0 -148
  501. package/skills/slide-deck-generator/src/model.ts +0 -307
  502. package/skills/slide-deck-generator/src/pptx.ts +0 -143
  503. package/skills/slide-deck-generator/src/render.ts +0 -248
  504. package/skills/slide-deck-generator/src/types.ts +0 -114
  505. package/skills/slide-deck-generator/src/utils.ts +0 -53
  506. package/skills/slide-deck-generator/tsconfig.json +0 -17
  507. package/skills/social-content-calendar/SKILL.md +0 -54
  508. package/skills/social-content-calendar/package.json +0 -10
  509. package/skills/split-pdf/CLAUDE.md +0 -19
  510. package/skills/split-pdf/package.json +0 -30
  511. package/skills/split-pdf/src/index.ts +0 -301
  512. package/skills/split-pdf/tsconfig.json +0 -10
  513. package/skills/statistical-test-selector/CLAUDE.md +0 -19
  514. package/skills/statistical-test-selector/package.json +0 -27
  515. package/skills/statistical-test-selector/src/index.ts +0 -75
  516. package/skills/statistical-test-selector/tsconfig.json +0 -10
  517. package/skills/test-suite-generator/SKILL.md +0 -51
  518. package/skills/test-suite-generator/package.json +0 -10
  519. package/skills/tmux-session/SKILL.md +0 -109
  520. package/skills/tmux-session/package.json +0 -33
  521. package/skills/tmux-session/src/index.ts +0 -34
  522. package/skills/tmux-session/tsconfig.json +0 -17
  523. package/skills/todos-plan/SKILL.md +0 -363
  524. package/skills/todos-plan/agents/openai.yaml +0 -4
  525. package/skills/todos-plan/package.json +0 -9
  526. package/skills/todos-plan/src/index.ts +0 -68
  527. package/skills/tsconfig.base.json +0 -12
  528. package/skills/validate-config/CLAUDE.md +0 -19
  529. package/skills/validate-config/package.json +0 -29
  530. package/skills/validate-config/src/index.ts +0 -56
  531. package/skills/validate-config/tsconfig.json +0 -10
  532. package/skills/video-downloader/CLAUDE.md +0 -19
  533. package/skills/video-downloader/package.json +0 -29
  534. package/skills/video-downloader/src/index.ts +0 -561
  535. package/skills/video-downloader/tsconfig.json +0 -10
  536. package/skills/video-highlight-pack/SKILL.md +0 -54
  537. package/skills/video-highlight-pack/package.json +0 -10
  538. package/skills/watermark/CLAUDE.md +0 -19
  539. package/skills/watermark/package.json +0 -32
  540. package/skills/watermark/src/index.ts +0 -587
  541. 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
- }