@hasna/skills 0.1.62 → 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 (526) 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 -254
  95. package/agent-skills/skill-publish/scripts/capture_registry.js +0 -47
  96. package/agent-skills/skill-publish/scripts/publish_with_git_head.sh +0 -143
  97. package/agent-skills/skill-publish/scripts/test_publish_with_git_head.sh +0 -231
  98. package/skills/_common/auth.ts +0 -45
  99. package/skills/_common/http-client.ts +0 -143
  100. package/skills/_common/index.ts +0 -26
  101. package/skills/_common/install.sh +0 -7
  102. package/skills/_common/installer.ts +0 -72
  103. package/skills/_common/skill-install.ts +0 -37
  104. package/skills/_common/vision.ts +0 -374
  105. package/skills/ad-creative-pack/SKILL.md +0 -55
  106. package/skills/ad-creative-pack/package.json +0 -10
  107. package/skills/analyze-data/CLAUDE.md +0 -16
  108. package/skills/analyze-data/SKILL.md +0 -112
  109. package/skills/analyze-data/package.json +0 -23
  110. package/skills/analyze-data/src/analysis.ts +0 -401
  111. package/skills/analyze-data/src/cli.ts +0 -66
  112. package/skills/analyze-data/src/formatters.ts +0 -235
  113. package/skills/analyze-data/src/index.ts +0 -74
  114. package/skills/analyze-data/src/logger.ts +0 -36
  115. package/skills/analyze-data/src/parsers.ts +0 -57
  116. package/skills/analyze-data/src/stats.ts +0 -151
  117. package/skills/analyze-data/src/types.ts +0 -85
  118. package/skills/analyze-data/tsconfig.json +0 -19
  119. package/skills/api-docs-portal/SKILL.md +0 -84
  120. package/skills/api-docs-portal/package.json +0 -35
  121. package/skills/api-docs-portal/src/index.ts +0 -919
  122. package/skills/api-docs-portal/tsconfig.json +0 -17
  123. package/skills/api-test-suite/CLAUDE.md +0 -19
  124. package/skills/api-test-suite/package.json +0 -27
  125. package/skills/api-test-suite/src/index.ts +0 -381
  126. package/skills/api-test-suite/tsconfig.json +0 -10
  127. package/skills/audio-extract/CLAUDE.md +0 -9
  128. package/skills/audio-extract/SKILL.md +0 -73
  129. package/skills/audio-extract/package.json +0 -23
  130. package/skills/audio-extract/src/index.ts +0 -323
  131. package/skills/audio-extract/tsconfig.json +0 -11
  132. package/skills/bio-sequence-tool/CLAUDE.md +0 -19
  133. package/skills/bio-sequence-tool/package.json +0 -27
  134. package/skills/bio-sequence-tool/src/index.ts +0 -85
  135. package/skills/bio-sequence-tool/tsconfig.json +0 -10
  136. package/skills/blog-article/CLAUDE.md +0 -12
  137. package/skills/blog-article/SKILL.md +0 -55
  138. package/skills/blog-article/package.json +0 -10
  139. package/skills/blog-article/tsconfig.json +0 -10
  140. package/skills/brand-assets/SKILL.md +0 -118
  141. package/skills/brand-assets/package.json +0 -35
  142. package/skills/brand-assets/src/cli.ts +0 -155
  143. package/skills/brand-assets/src/constants.ts +0 -8
  144. package/skills/brand-assets/src/extract.ts +0 -236
  145. package/skills/brand-assets/src/index.ts +0 -668
  146. package/skills/brand-assets/src/types.ts +0 -59
  147. package/skills/brand-assets/tsconfig.json +0 -17
  148. package/skills/brand-kit/SKILL.md +0 -54
  149. package/skills/brand-kit/package.json +0 -10
  150. package/skills/businessactivity/CLAUDE.md +0 -176
  151. package/skills/businessactivity/LICENSE +0 -192
  152. package/skills/businessactivity/README.md +0 -287
  153. package/skills/businessactivity/package.json +0 -25
  154. package/skills/businessactivity/scripts/publish.ts +0 -210
  155. package/skills/businessactivity/src/commands/activity.ts +0 -211
  156. package/skills/businessactivity/src/commands/function.ts +0 -227
  157. package/skills/businessactivity/src/commands/owner.ts +0 -193
  158. package/skills/businessactivity/src/commands/profile.ts +0 -121
  159. package/skills/businessactivity/src/commands/responsibility.ts +0 -264
  160. package/skills/businessactivity/src/commands/team.ts +0 -244
  161. package/skills/businessactivity/src/commands/workflow.ts +0 -359
  162. package/skills/businessactivity/src/index.ts +0 -3
  163. package/skills/businessactivity/src/lib/config.ts +0 -167
  164. package/skills/businessactivity/src/lib/output.ts +0 -76
  165. package/skills/businessactivity/src/lib/paths.ts +0 -79
  166. package/skills/businessactivity/src/lib/storage.ts +0 -95
  167. package/skills/businessactivity/src/types/index.ts +0 -86
  168. package/skills/businessactivity/tsconfig.json +0 -29
  169. package/skills/codefix/LICENSE +0 -192
  170. package/skills/codefix/README.md +0 -232
  171. package/skills/codefix/SKILL.md +0 -94
  172. package/skills/codefix/package.json +0 -21
  173. package/skills/codefix/src/fixers/batch.ts +0 -213
  174. package/skills/codefix/src/fixers/detector.ts +0 -160
  175. package/skills/codefix/src/fixers/index.ts +0 -7
  176. package/skills/codefix/src/fixers/runner.ts +0 -522
  177. package/skills/codefix/src/index-local.ts +0 -431
  178. package/skills/codefix/src/index.ts +0 -4
  179. package/skills/codefix/src/types.ts +0 -211
  180. package/skills/codefix/tsconfig.json +0 -15
  181. package/skills/commitpush/SKILL.md +0 -57
  182. package/skills/commitpush/package.json +0 -33
  183. package/skills/commitpush/src/index.ts +0 -34
  184. package/skills/commitpush/tsconfig.json +0 -17
  185. package/skills/commitpushpr/SKILL.md +0 -55
  186. package/skills/commitpushpr/package.json +0 -33
  187. package/skills/commitpushpr/src/index.ts +0 -34
  188. package/skills/commitpushpr/tsconfig.json +0 -17
  189. package/skills/compress-video/CLAUDE.md +0 -9
  190. package/skills/compress-video/SKILL.md +0 -79
  191. package/skills/compress-video/package.json +0 -23
  192. package/skills/compress-video/src/index.ts +0 -473
  193. package/skills/compress-video/tsconfig.json +0 -11
  194. package/skills/contract-review-report/SKILL.md +0 -52
  195. package/skills/contract-review-report/package.json +0 -10
  196. package/skills/customer-feedback-report/SKILL.md +0 -52
  197. package/skills/customer-feedback-report/package.json +0 -10
  198. package/skills/dashboard-builder/CLAUDE.md +0 -19
  199. package/skills/dashboard-builder/package.json +0 -29
  200. package/skills/dashboard-builder/src/index.ts +0 -150
  201. package/skills/dashboard-builder/tsconfig.json +0 -10
  202. package/skills/data-anonymizer/CLAUDE.md +0 -19
  203. package/skills/data-anonymizer/package.json +0 -27
  204. package/skills/data-anonymizer/src/index.ts +0 -183
  205. package/skills/data-anonymizer/tsconfig.json +0 -10
  206. package/skills/database-explorer/CLAUDE.md +0 -19
  207. package/skills/database-explorer/package.json +0 -29
  208. package/skills/database-explorer/src/index.ts +0 -95
  209. package/skills/database-explorer/tsconfig.json +0 -10
  210. package/skills/diff-viewer/CLAUDE.md +0 -19
  211. package/skills/diff-viewer/package.json +0 -30
  212. package/skills/diff-viewer/src/index.ts +0 -164
  213. package/skills/diff-viewer/tsconfig.json +0 -10
  214. package/skills/doc-read/SKILL.md +0 -45
  215. package/skills/doc-read/package.json +0 -29
  216. package/skills/doc-read/src/index.ts +0 -324
  217. package/skills/doc-read/tsconfig.json +0 -8
  218. package/skills/domainpurchase/LICENSE +0 -192
  219. package/skills/domainpurchase/SKILL.md +0 -29
  220. package/skills/domainpurchase/package.json +0 -30
  221. package/skills/domainpurchase/src/index.ts +0 -3
  222. package/skills/domainpurchase/tsconfig.json +0 -21
  223. package/skills/email-sequence/SKILL.md +0 -53
  224. package/skills/email-sequence/package.json +0 -10
  225. package/skills/experiment-power-calculator/CLAUDE.md +0 -19
  226. package/skills/experiment-power-calculator/package.json +0 -29
  227. package/skills/experiment-power-calculator/src/index.ts +0 -86
  228. package/skills/experiment-power-calculator/tsconfig.json +0 -10
  229. package/skills/extract-frames/CLAUDE.md +0 -19
  230. package/skills/extract-frames/package.json +0 -27
  231. package/skills/extract-frames/src/index.ts +0 -616
  232. package/skills/extract-frames/tsconfig.json +0 -10
  233. package/skills/file-organizer/CLAUDE.md +0 -19
  234. package/skills/file-organizer/package.json +0 -27
  235. package/skills/file-organizer/src/index.ts +0 -91
  236. package/skills/file-organizer/tsconfig.json +0 -10
  237. package/skills/folder-tree/CLAUDE.md +0 -19
  238. package/skills/folder-tree/package.json +0 -29
  239. package/skills/folder-tree/src/index.ts +0 -568
  240. package/skills/folder-tree/tsconfig.json +0 -10
  241. package/skills/form-filler/CLAUDE.md +0 -19
  242. package/skills/form-filler/package.json +0 -29
  243. package/skills/form-filler/src/index.ts +0 -81
  244. package/skills/form-filler/tsconfig.json +0 -10
  245. package/skills/generate-api-client/CLAUDE.md +0 -19
  246. package/skills/generate-api-client/package.json +0 -29
  247. package/skills/generate-api-client/src/generator.ts +0 -47
  248. package/skills/generate-api-client/src/index.ts +0 -92
  249. package/skills/generate-api-client/src/logger.ts +0 -34
  250. package/skills/generate-api-client/src/python-generator.ts +0 -245
  251. package/skills/generate-api-client/src/spec-loader.ts +0 -48
  252. package/skills/generate-api-client/src/type-mappers.ts +0 -79
  253. package/skills/generate-api-client/src/types.ts +0 -76
  254. package/skills/generate-api-client/src/typescript-generator.ts +0 -247
  255. package/skills/generate-api-client/tsconfig.json +0 -10
  256. package/skills/generate-chart/CLAUDE.md +0 -19
  257. package/skills/generate-chart/package.json +0 -27
  258. package/skills/generate-chart/src/index.ts +0 -510
  259. package/skills/generate-chart/tsconfig.json +0 -10
  260. package/skills/generate-dockerfile/CLAUDE.md +0 -19
  261. package/skills/generate-dockerfile/package.json +0 -27
  262. package/skills/generate-dockerfile/src/cli.ts +0 -78
  263. package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
  264. package/skills/generate-dockerfile/src/index.ts +0 -81
  265. package/skills/generate-dockerfile/src/logger.ts +0 -30
  266. package/skills/generate-dockerfile/src/project-detection.ts +0 -68
  267. package/skills/generate-dockerfile/src/support-files.ts +0 -171
  268. package/skills/generate-dockerfile/src/types.ts +0 -29
  269. package/skills/generate-dockerfile/tsconfig.json +0 -10
  270. package/skills/generate-env/CLAUDE.md +0 -19
  271. package/skills/generate-env/package.json +0 -29
  272. package/skills/generate-env/src/cli.ts +0 -85
  273. package/skills/generate-env/src/detection.ts +0 -161
  274. package/skills/generate-env/src/env-data.ts +0 -66
  275. package/skills/generate-env/src/generators.ts +0 -240
  276. package/skills/generate-env/src/index.ts +0 -120
  277. package/skills/generate-env/src/runtime.ts +0 -30
  278. package/skills/generate-env/src/types.ts +0 -32
  279. package/skills/generate-env/tsconfig.json +0 -10
  280. package/skills/generate-favicon/CLAUDE.md +0 -19
  281. package/skills/generate-favicon/package.json +0 -29
  282. package/skills/generate-favicon/src/index.ts +0 -421
  283. package/skills/generate-favicon/tsconfig.json +0 -10
  284. package/skills/generate-qrcode/CLAUDE.md +0 -19
  285. package/skills/generate-qrcode/package.json +0 -30
  286. package/skills/generate-qrcode/src/index.ts +0 -584
  287. package/skills/generate-qrcode/tsconfig.json +0 -10
  288. package/skills/generate-resume/CLAUDE.md +0 -19
  289. package/skills/generate-resume/package.json +0 -27
  290. package/skills/generate-resume/src/cli.ts +0 -157
  291. package/skills/generate-resume/src/index.ts +0 -178
  292. package/skills/generate-resume/src/parsers.ts +0 -95
  293. package/skills/generate-resume/src/renderers.ts +0 -538
  294. package/skills/generate-resume/src/security.ts +0 -39
  295. package/skills/generate-resume/src/types.ts +0 -86
  296. package/skills/generate-resume/tsconfig.json +0 -10
  297. package/skills/generate-sitemap/CLAUDE.md +0 -19
  298. package/skills/generate-sitemap/package.json +0 -27
  299. package/skills/generate-sitemap/src/index.ts +0 -626
  300. package/skills/generate-sitemap/tsconfig.json +0 -10
  301. package/skills/gif-maker/CLAUDE.md +0 -19
  302. package/skills/gif-maker/package.json +0 -30
  303. package/skills/gif-maker/src/index.ts +0 -600
  304. package/skills/gif-maker/tsconfig.json +0 -10
  305. package/skills/hook/LICENSE +0 -192
  306. package/skills/hook/README.md +0 -74
  307. package/skills/hook/SKILL.md +0 -85
  308. package/skills/hook/bunfig.toml +0 -5
  309. package/skills/hook/package.json +0 -28
  310. package/skills/hook/src/commands/create.ts +0 -112
  311. package/skills/hook/src/commands/events.ts +0 -37
  312. package/skills/hook/src/commands/validate.ts +0 -117
  313. package/skills/hook/src/index.ts +0 -118
  314. package/skills/hook/src/templates/root.ts +0 -196
  315. package/skills/hook/src/templates/source.ts +0 -647
  316. package/skills/hook/tsconfig.json +0 -18
  317. package/skills/http-server/CLAUDE.md +0 -19
  318. package/skills/http-server/package.json +0 -29
  319. package/skills/http-server/src/index.ts +0 -51
  320. package/skills/http-server/tsconfig.json +0 -10
  321. package/skills/implementation/LICENSE +0 -192
  322. package/skills/implementation/README.md +0 -53
  323. package/skills/implementation/SKILL.md +0 -57
  324. package/skills/implementation/bunfig.toml +0 -5
  325. package/skills/implementation/package.json +0 -28
  326. package/skills/implementation/src/commands/create.ts +0 -187
  327. package/skills/implementation/src/index.ts +0 -62
  328. package/skills/implementation/tsconfig.json +0 -18
  329. package/skills/implementation-plan/CLAUDE.md +0 -19
  330. package/skills/implementation-plan/package.json +0 -29
  331. package/skills/implementation-plan/src/index.ts +0 -520
  332. package/skills/implementation-plan/tsconfig.json +0 -10
  333. package/skills/implementation-todo/CLAUDE.md +0 -19
  334. package/skills/implementation-todo/package.json +0 -29
  335. package/skills/implementation-todo/src/index.ts +0 -429
  336. package/skills/implementation-todo/tsconfig.json +0 -10
  337. package/skills/invoice/.env.example +0 -3
  338. package/skills/invoice/CLAUDE.md +0 -31
  339. package/skills/invoice/LICENSE +0 -192
  340. package/skills/invoice/README.md +0 -70
  341. package/skills/invoice/package.json +0 -26
  342. package/skills/invoice/src/commands/companies.ts +0 -202
  343. package/skills/invoice/src/commands/config.ts +0 -132
  344. package/skills/invoice/src/commands/generate.ts +0 -177
  345. package/skills/invoice/src/commands/invoices.ts +0 -218
  346. package/skills/invoice/src/index.ts +0 -3
  347. package/skills/invoice/src/lib/api.ts +0 -124
  348. package/skills/invoice/src/lib/storage.ts +0 -171
  349. package/skills/invoice/src/types/index.ts +0 -86
  350. package/skills/invoice/src/utils/logger.ts +0 -33
  351. package/skills/invoice/src/utils/paths.ts +0 -25
  352. package/skills/invoice/tsconfig.json +0 -23
  353. package/skills/invoice-reconciliation/SKILL.md +0 -98
  354. package/skills/invoice-reconciliation/package.json +0 -36
  355. package/skills/invoice-reconciliation/src/index.ts +0 -743
  356. package/skills/invoice-reconciliation/tsconfig.json +0 -17
  357. package/skills/landing-page-pack/SKILL.md +0 -55
  358. package/skills/landing-page-pack/package.json +0 -10
  359. package/skills/latex-table-generator/CLAUDE.md +0 -19
  360. package/skills/latex-table-generator/package.json +0 -29
  361. package/skills/latex-table-generator/src/index.ts +0 -113
  362. package/skills/latex-table-generator/tsconfig.json +0 -10
  363. package/skills/logo-design/SKILL.md +0 -94
  364. package/skills/logo-design/package.json +0 -35
  365. package/skills/logo-design/src/cli.ts +0 -132
  366. package/skills/logo-design/src/constants.ts +0 -5
  367. package/skills/logo-design/src/docs.ts +0 -102
  368. package/skills/logo-design/src/geometry.ts +0 -324
  369. package/skills/logo-design/src/index.ts +0 -212
  370. package/skills/logo-design/src/palette.ts +0 -258
  371. package/skills/logo-design/src/types.ts +0 -50
  372. package/skills/logo-design/tsconfig.json +0 -17
  373. package/skills/lorem-generator/CLAUDE.md +0 -19
  374. package/skills/lorem-generator/package.json +0 -29
  375. package/skills/lorem-generator/src/index.ts +0 -59
  376. package/skills/lorem-generator/tsconfig.json +0 -10
  377. package/skills/managemcp/CLAUDE.md +0 -14
  378. package/skills/managemcp/README.md +0 -24
  379. package/skills/managemcp/package.json +0 -16
  380. package/skills/managemcp/src/index.ts +0 -3
  381. package/skills/managemcp/tsconfig.json +0 -27
  382. package/skills/markdown-validator/CLAUDE.md +0 -19
  383. package/skills/markdown-validator/package.json +0 -29
  384. package/skills/markdown-validator/src/index.ts +0 -92
  385. package/skills/markdown-validator/tsconfig.json +0 -10
  386. package/skills/market-research-report/SKILL.md +0 -51
  387. package/skills/market-research-report/package.json +0 -10
  388. package/skills/meeting-pack/SKILL.md +0 -52
  389. package/skills/meeting-pack/package.json +0 -10
  390. package/skills/merge-pdfs/CLAUDE.md +0 -19
  391. package/skills/merge-pdfs/package.json +0 -31
  392. package/skills/merge-pdfs/src/index.ts +0 -427
  393. package/skills/merge-pdfs/tsconfig.json +0 -10
  394. package/skills/migration-plan-pack/SKILL.md +0 -56
  395. package/skills/migration-plan-pack/package.json +0 -10
  396. package/skills/monitor/SKILL.md +0 -69
  397. package/skills/monitor/package.json +0 -33
  398. package/skills/monitor/src/index.ts +0 -34
  399. package/skills/monitor/tsconfig.json +0 -17
  400. package/skills/one-page-website/SKILL.md +0 -128
  401. package/skills/one-page-website/package.json +0 -34
  402. package/skills/one-page-website/src/design.ts +0 -336
  403. package/skills/one-page-website/src/docs.ts +0 -159
  404. package/skills/one-page-website/src/index.ts +0 -357
  405. package/skills/one-page-website/src/page.ts +0 -340
  406. package/skills/one-page-website/src/styles.ts +0 -508
  407. package/skills/one-page-website/src/types.ts +0 -78
  408. package/skills/one-page-website/tsconfig.json +0 -17
  409. package/skills/pdf-generate/CLAUDE.md +0 -19
  410. package/skills/pdf-generate/SKILL.md +0 -86
  411. package/skills/pdf-generate/package.json +0 -21
  412. package/skills/pdf-generate/src/cli.ts +0 -162
  413. package/skills/pdf-generate/src/html.ts +0 -84
  414. package/skills/pdf-generate/src/index.ts +0 -62
  415. package/skills/pdf-generate/src/markdown.ts +0 -27
  416. package/skills/pdf-generate/src/pdf-writer.ts +0 -78
  417. package/skills/pdf-generate/src/runtime.ts +0 -34
  418. package/skills/pdf-generate/src/security.ts +0 -37
  419. package/skills/pdf-generate/src/templates.ts +0 -311
  420. package/skills/pdf-generate/src/types.ts +0 -28
  421. package/skills/pdf-generate/tsconfig.json +0 -16
  422. package/skills/pdf-to-dataset/SKILL.md +0 -88
  423. package/skills/pdf-to-dataset/package.json +0 -37
  424. package/skills/pdf-to-dataset/src/index.ts +0 -790
  425. package/skills/pdf-to-dataset/tsconfig.json +0 -17
  426. package/skills/pdf-to-markdown/SKILL.md +0 -81
  427. package/skills/pdf-to-markdown/package.json +0 -35
  428. package/skills/pdf-to-markdown/src/index.ts +0 -694
  429. package/skills/pdf-to-markdown/tsconfig.json +0 -17
  430. package/skills/performance-audit-report/SKILL.md +0 -49
  431. package/skills/performance-audit-report/package.json +0 -10
  432. package/skills/pitch-deck/SKILL.md +0 -51
  433. package/skills/pitch-deck/package.json +0 -10
  434. package/skills/product-mockup/SKILL.md +0 -107
  435. package/skills/product-mockup/package.json +0 -32
  436. package/skills/product-mockup/src/cli.ts +0 -150
  437. package/skills/product-mockup/src/design.ts +0 -151
  438. package/skills/product-mockup/src/docs.ts +0 -134
  439. package/skills/product-mockup/src/index.ts +0 -182
  440. package/skills/product-mockup/src/render.ts +0 -407
  441. package/skills/product-mockup/src/types.ts +0 -66
  442. package/skills/product-mockup/tsconfig.json +0 -17
  443. package/skills/proposal-pack/SKILL.md +0 -53
  444. package/skills/proposal-pack/package.json +0 -10
  445. package/skills/read-csv/SKILL.md +0 -62
  446. package/skills/read-csv/package.json +0 -37
  447. package/skills/read-csv/src/index.ts +0 -356
  448. package/skills/read-csv/tsconfig.json +0 -17
  449. package/skills/read-excel/SKILL.md +0 -64
  450. package/skills/read-excel/package.json +0 -36
  451. package/skills/read-excel/src/index.ts +0 -266
  452. package/skills/read-excel/tsconfig.json +0 -17
  453. package/skills/regex-tester/CLAUDE.md +0 -19
  454. package/skills/regex-tester/package.json +0 -27
  455. package/skills/regex-tester/src/index.ts +0 -183
  456. package/skills/regex-tester/tsconfig.json +0 -10
  457. package/skills/repo-onboarding-report/SKILL.md +0 -52
  458. package/skills/repo-onboarding-report/package.json +0 -10
  459. package/skills/scancommitpr/SKILL.md +0 -178
  460. package/skills/scancommitpr/package.json +0 -34
  461. package/skills/scancommitpr/src/index.ts +0 -44
  462. package/skills/scancommitpr/tsconfig.json +0 -13
  463. package/skills/scancommitpush/SKILL.md +0 -174
  464. package/skills/scancommitpush/package.json +0 -32
  465. package/skills/scancommitpush/src/index.ts +0 -44
  466. package/skills/scancommitpush/tsconfig.json +0 -13
  467. package/skills/scientific-figure-check/CLAUDE.md +0 -19
  468. package/skills/scientific-figure-check/package.json +0 -29
  469. package/skills/scientific-figure-check/src/index.ts +0 -83
  470. package/skills/scientific-figure-check/tsconfig.json +0 -10
  471. package/skills/security-audit/CLAUDE.md +0 -19
  472. package/skills/security-audit/package.json +0 -27
  473. package/skills/security-audit/src/index.ts +0 -145
  474. package/skills/security-audit/tsconfig.json +0 -10
  475. package/skills/security-audit-report/SKILL.md +0 -52
  476. package/skills/security-audit-report/package.json +0 -10
  477. package/skills/seo-content-pack/SKILL.md +0 -54
  478. package/skills/seo-content-pack/package.json +0 -10
  479. package/skills/siteanalyze/SKILL.md +0 -25
  480. package/skills/siteanalyze/package.json +0 -27
  481. package/skills/siteanalyze/src/index.ts +0 -592
  482. package/skills/slide-deck-generator/SKILL.md +0 -93
  483. package/skills/slide-deck-generator/package.json +0 -38
  484. package/skills/slide-deck-generator/src/cli.ts +0 -133
  485. package/skills/slide-deck-generator/src/index.ts +0 -148
  486. package/skills/slide-deck-generator/src/model.ts +0 -307
  487. package/skills/slide-deck-generator/src/pptx.ts +0 -143
  488. package/skills/slide-deck-generator/src/render.ts +0 -248
  489. package/skills/slide-deck-generator/src/types.ts +0 -114
  490. package/skills/slide-deck-generator/src/utils.ts +0 -53
  491. package/skills/slide-deck-generator/tsconfig.json +0 -17
  492. package/skills/social-content-calendar/SKILL.md +0 -54
  493. package/skills/social-content-calendar/package.json +0 -10
  494. package/skills/split-pdf/CLAUDE.md +0 -19
  495. package/skills/split-pdf/package.json +0 -30
  496. package/skills/split-pdf/src/index.ts +0 -301
  497. package/skills/split-pdf/tsconfig.json +0 -10
  498. package/skills/statistical-test-selector/CLAUDE.md +0 -19
  499. package/skills/statistical-test-selector/package.json +0 -27
  500. package/skills/statistical-test-selector/src/index.ts +0 -75
  501. package/skills/statistical-test-selector/tsconfig.json +0 -10
  502. package/skills/test-suite-generator/SKILL.md +0 -51
  503. package/skills/test-suite-generator/package.json +0 -10
  504. package/skills/tmux-session/SKILL.md +0 -109
  505. package/skills/tmux-session/package.json +0 -33
  506. package/skills/tmux-session/src/index.ts +0 -34
  507. package/skills/tmux-session/tsconfig.json +0 -17
  508. package/skills/todos-plan/SKILL.md +0 -363
  509. package/skills/todos-plan/agents/openai.yaml +0 -4
  510. package/skills/todos-plan/package.json +0 -9
  511. package/skills/todos-plan/src/index.ts +0 -68
  512. package/skills/tsconfig.base.json +0 -12
  513. package/skills/validate-config/CLAUDE.md +0 -19
  514. package/skills/validate-config/package.json +0 -29
  515. package/skills/validate-config/src/index.ts +0 -56
  516. package/skills/validate-config/tsconfig.json +0 -10
  517. package/skills/video-downloader/CLAUDE.md +0 -19
  518. package/skills/video-downloader/package.json +0 -29
  519. package/skills/video-downloader/src/index.ts +0 -561
  520. package/skills/video-downloader/tsconfig.json +0 -10
  521. package/skills/video-highlight-pack/SKILL.md +0 -54
  522. package/skills/video-highlight-pack/package.json +0 -10
  523. package/skills/watermark/CLAUDE.md +0 -19
  524. package/skills/watermark/package.json +0 -32
  525. package/skills/watermark/src/index.ts +0 -587
  526. package/skills/watermark/tsconfig.json +0 -10
@@ -1,37 +0,0 @@
1
- /**
2
- * Legacy install command boundary for bundled skill packages.
3
- *
4
- * Per-skill packages must not write into agent-native skill directories.
5
- * The root Skills CLI renders skills into agent-native skill directories.
6
- */
7
-
8
- interface SkillMeta {
9
- name: string;
10
- description: string;
11
- version: string;
12
- commands: string;
13
- requiredEnvVars?: string[];
14
- }
15
-
16
- export async function handleInstallCommand(meta: SkillMeta, args: string[]): Promise<boolean> {
17
- const command = args[0];
18
- const assistant = args[1];
19
-
20
- if (command !== "install" && command !== "uninstall") {
21
- return false;
22
- }
23
-
24
- if (!assistant || !["claude", "codex", "windsurf", "cursor"].includes(assistant)) {
25
- console.error("Direct per-skill installs are disabled.");
26
- console.error("Use: skills render");
27
- process.exit(1);
28
- }
29
-
30
- if (command === "install") {
31
- console.error(`Direct installs for ${meta.name} are disabled.`);
32
- } else {
33
- console.error(`Direct uninstalls for ${meta.name} are disabled.`);
34
- }
35
- console.error("Use: skills render");
36
- process.exit(1);
37
- }
@@ -1,374 +0,0 @@
1
- /**
2
- * Unified vision client for AI providers.
3
- * Follows @hasna/connectors pattern — auto-detects from env vars.
4
- * Providers: anthropic, openai, xai, gemini
5
- *
6
- * Uses built-in fetch only — no external SDK dependencies.
7
- */
8
-
9
- export type VisionProvider = "anthropic" | "openai" | "xai" | "gemini";
10
-
11
- export interface VisionOptions {
12
- provider?: VisionProvider;
13
- model?: string;
14
- maxTokens?: number;
15
- systemPrompt?: string;
16
- jsonMode?: boolean; // wrap prompt to request JSON response
17
- }
18
-
19
- export interface VisionResult {
20
- text: string;
21
- provider: VisionProvider;
22
- model: string;
23
- inputTokens?: number;
24
- outputTokens?: number;
25
- }
26
-
27
- // Default models per provider (vision-capable)
28
- export const DEFAULT_MODELS: Record<VisionProvider, string> = {
29
- anthropic: "claude-sonnet-4-6",
30
- openai: "gpt-4o",
31
- xai: "grok-2-vision-1212",
32
- gemini: "gemini-2.0-flash",
33
- };
34
-
35
- // API key env vars per provider
36
- export const API_KEY_VARS: Record<VisionProvider, string> = {
37
- anthropic: "ANTHROPIC_API_KEY",
38
- openai: "OPENAI_API_KEY",
39
- xai: "XAI_API_KEY",
40
- gemini: "GEMINI_API_KEY",
41
- };
42
-
43
- // Base URLs
44
- const BASE_URLS: Record<VisionProvider, string> = {
45
- anthropic: "https://api.anthropic.com/v1/messages",
46
- openai: "https://api.openai.com/v1/chat/completions",
47
- xai: "https://api.x.ai/v1/chat/completions",
48
- gemini: "https://generativelanguage.googleapis.com/v1beta/models",
49
- };
50
-
51
- /**
52
- * Auto-detect provider from env vars.
53
- * Priority: ANTHROPIC_API_KEY → OPENAI_API_KEY → XAI_API_KEY → GEMINI_API_KEY
54
- */
55
- export function detectProvider(): VisionProvider | null {
56
- const order: VisionProvider[] = ["anthropic", "openai", "xai", "gemini"];
57
- for (const provider of order) {
58
- if (process.env[API_KEY_VARS[provider]]) {
59
- return provider;
60
- }
61
- }
62
- return null;
63
- }
64
-
65
- /**
66
- * Get API key for a provider. Throws if not set.
67
- */
68
- export function getApiKey(provider: VisionProvider): string {
69
- const key = process.env[API_KEY_VARS[provider]];
70
- if (!key) {
71
- throw new Error(
72
- `${API_KEY_VARS[provider]} is not set. Run: connectors setup ${provider}`
73
- );
74
- }
75
- return key;
76
- }
77
-
78
- /**
79
- * Strip markdown code fences and JSON.parse.
80
- * Throws with raw text on failure.
81
- */
82
- export function parseJsonResponse(text: string): unknown {
83
- let str = text.trim();
84
- if (str.startsWith("```")) {
85
- str = str
86
- .replace(/^```(?:json)?\n?/, "")
87
- .replace(/\n?```$/, "")
88
- .trim();
89
- }
90
- try {
91
- return JSON.parse(str);
92
- } catch {
93
- throw new Error(
94
- `Failed to parse response as JSON.\nRaw response:\n${text}`
95
- );
96
- }
97
- }
98
-
99
- /**
100
- * Returns all providers that have an API key set.
101
- */
102
- export function listAvailableProviders(): VisionProvider[] {
103
- return (["anthropic", "openai", "xai", "gemini"] as VisionProvider[]).filter(
104
- (p) => !!process.env[API_KEY_VARS[p]]
105
- );
106
- }
107
-
108
- /**
109
- * Returns availability status for all providers.
110
- */
111
- export function getProviderInfo(): Record<
112
- VisionProvider,
113
- { available: boolean; model: string; keyVar: string }
114
- > {
115
- return {
116
- anthropic: {
117
- available: !!process.env[API_KEY_VARS.anthropic],
118
- model: DEFAULT_MODELS.anthropic,
119
- keyVar: API_KEY_VARS.anthropic,
120
- },
121
- openai: {
122
- available: !!process.env[API_KEY_VARS.openai],
123
- model: DEFAULT_MODELS.openai,
124
- keyVar: API_KEY_VARS.openai,
125
- },
126
- xai: {
127
- available: !!process.env[API_KEY_VARS.xai],
128
- model: DEFAULT_MODELS.xai,
129
- keyVar: API_KEY_VARS.xai,
130
- },
131
- gemini: {
132
- available: !!process.env[API_KEY_VARS.gemini],
133
- model: DEFAULT_MODELS.gemini,
134
- keyVar: API_KEY_VARS.gemini,
135
- },
136
- };
137
- }
138
-
139
- // ============================================================================
140
- // Provider implementations
141
- // ============================================================================
142
-
143
- async function analyzeWithAnthropic(
144
- imageBase64: string,
145
- mediaType: string,
146
- prompt: string,
147
- model: string,
148
- options: VisionOptions
149
- ): Promise<VisionResult> {
150
- const apiKey = getApiKey("anthropic");
151
- const body: Record<string, unknown> = {
152
- model,
153
- max_tokens: options.maxTokens ?? 1024,
154
- messages: [
155
- {
156
- role: "user",
157
- content: [
158
- {
159
- type: "image",
160
- source: { type: "base64", media_type: mediaType, data: imageBase64 },
161
- },
162
- { type: "text", text: prompt },
163
- ],
164
- },
165
- ],
166
- };
167
- if (options.systemPrompt) {
168
- body.system = options.systemPrompt;
169
- }
170
-
171
- const response = await fetch(BASE_URLS.anthropic, {
172
- method: "POST",
173
- headers: {
174
- "x-api-key": apiKey,
175
- "anthropic-version": "2023-06-01",
176
- "content-type": "application/json",
177
- },
178
- body: JSON.stringify(body),
179
- });
180
-
181
- if (!response.ok) {
182
- const err = await response.text();
183
- throw new Error(`Anthropic API error ${response.status}: ${err}`);
184
- }
185
-
186
- const data = (await response.json()) as {
187
- content: Array<{ type: string; text: string }>;
188
- usage: { input_tokens: number; output_tokens: number };
189
- };
190
-
191
- return {
192
- text: data.content[0].text,
193
- provider: "anthropic",
194
- model,
195
- inputTokens: data.usage?.input_tokens,
196
- outputTokens: data.usage?.output_tokens,
197
- };
198
- }
199
-
200
- async function analyzeWithOpenAICompat(
201
- provider: "openai" | "xai",
202
- imageBase64: string,
203
- mediaType: string,
204
- prompt: string,
205
- model: string,
206
- options: VisionOptions
207
- ): Promise<VisionResult> {
208
- const apiKey = getApiKey(provider);
209
- const messages: unknown[] = [];
210
-
211
- if (options.systemPrompt) {
212
- messages.push({ role: "system", content: options.systemPrompt });
213
- }
214
-
215
- messages.push({
216
- role: "user",
217
- content: [
218
- {
219
- type: "image_url",
220
- image_url: {
221
- url: `data:${mediaType};base64,${imageBase64}`,
222
- detail: "high",
223
- },
224
- },
225
- { type: "text", text: prompt },
226
- ],
227
- });
228
-
229
- const body = {
230
- model,
231
- max_tokens: options.maxTokens ?? 1024,
232
- messages,
233
- };
234
-
235
- const response = await fetch(BASE_URLS[provider], {
236
- method: "POST",
237
- headers: {
238
- Authorization: `Bearer ${apiKey}`,
239
- "content-type": "application/json",
240
- },
241
- body: JSON.stringify(body),
242
- });
243
-
244
- if (!response.ok) {
245
- const err = await response.text();
246
- throw new Error(
247
- `${provider.toUpperCase()} API error ${response.status}: ${err}`
248
- );
249
- }
250
-
251
- const data = (await response.json()) as {
252
- choices: Array<{ message: { content: string } }>;
253
- usage: { prompt_tokens: number; completion_tokens: number };
254
- };
255
-
256
- return {
257
- text: data.choices[0].message.content,
258
- provider,
259
- model,
260
- inputTokens: data.usage?.prompt_tokens,
261
- outputTokens: data.usage?.completion_tokens,
262
- };
263
- }
264
-
265
- async function analyzeWithGemini(
266
- imageBase64: string,
267
- mediaType: string,
268
- prompt: string,
269
- model: string,
270
- options: VisionOptions
271
- ): Promise<VisionResult> {
272
- const apiKey = getApiKey("gemini");
273
- const url = `${BASE_URLS.gemini}/${model}:generateContent?key=${apiKey}`;
274
-
275
- const body: Record<string, unknown> = {
276
- contents: [
277
- {
278
- parts: [
279
- { inlineData: { mimeType: mediaType, data: imageBase64 } },
280
- { text: prompt },
281
- ],
282
- },
283
- ],
284
- generationConfig: {
285
- maxOutputTokens: options.maxTokens ?? 1024,
286
- ...(options.jsonMode ? { responseMimeType: "application/json" } : {}),
287
- },
288
- };
289
-
290
- if (options.systemPrompt) {
291
- body.systemInstruction = { parts: [{ text: options.systemPrompt }] };
292
- }
293
-
294
- const response = await fetch(url, {
295
- method: "POST",
296
- headers: { "content-type": "application/json" },
297
- body: JSON.stringify(body),
298
- });
299
-
300
- if (!response.ok) {
301
- const err = await response.text();
302
- throw new Error(`Gemini API error ${response.status}: ${err}`);
303
- }
304
-
305
- const data = (await response.json()) as {
306
- candidates: Array<{
307
- content: { parts: Array<{ text: string }> };
308
- }>;
309
- usageMetadata?: { promptTokenCount: number; candidatesTokenCount: number };
310
- };
311
-
312
- return {
313
- text: data.candidates[0].content.parts[0].text,
314
- provider: "gemini",
315
- model,
316
- inputTokens: data.usageMetadata?.promptTokenCount,
317
- outputTokens: data.usageMetadata?.candidatesTokenCount,
318
- };
319
- }
320
-
321
- // ============================================================================
322
- // Main entry point
323
- // ============================================================================
324
-
325
- /**
326
- * Analyze an image with a vision-capable model.
327
- * Auto-detects provider from env vars unless options.provider is specified.
328
- */
329
- export async function analyzeImage(
330
- imageBase64: string,
331
- mediaType: string,
332
- prompt: string,
333
- options: VisionOptions = {}
334
- ): Promise<VisionResult> {
335
- const provider = options.provider ?? detectProvider();
336
- if (!provider) {
337
- throw new Error(
338
- "No AI provider API key found. Set one of: ANTHROPIC_API_KEY, OPENAI_API_KEY, XAI_API_KEY, GEMINI_API_KEY"
339
- );
340
- }
341
-
342
- const model = options.model ?? DEFAULT_MODELS[provider];
343
- const jsonPrompt =
344
- options.jsonMode
345
- ? `${prompt}\n\nIMPORTANT: Respond ONLY with valid JSON. No markdown, no code fences, no commentary.`
346
- : prompt;
347
-
348
- switch (provider) {
349
- case "anthropic":
350
- return analyzeWithAnthropic(
351
- imageBase64,
352
- mediaType,
353
- jsonPrompt,
354
- model,
355
- options
356
- );
357
- case "openai":
358
- case "xai":
359
- return analyzeWithOpenAICompat(
360
- provider,
361
- imageBase64,
362
- mediaType,
363
- jsonPrompt,
364
- model,
365
- options
366
- );
367
- case "gemini":
368
- return analyzeWithGemini(imageBase64, mediaType, jsonPrompt, model, options);
369
- default: {
370
- const _exhaustive: never = provider;
371
- throw new Error(`Unknown provider: ${_exhaustive}`);
372
- }
373
- }
374
- }
@@ -1,55 +0,0 @@
1
- ---
2
- name: ad-creative-pack
3
- description: Generate paid-ad copy, creative concepts, image prompts, audience angles, and test matrices.
4
- kind: instruction
5
- ---
6
-
7
- # Ad Creative Pack
8
-
9
- Generate a paid-ad launch package for Meta, Google, and LinkedIn.
10
-
11
- ## Requirements
12
-
13
- None. This is an instruction skill: it is prose an agent follows, so it needs no
14
- credentials, no network access, and no local runtime.
15
-
16
- ## Usage
17
-
18
- Ask an agent for the deliverables below and give it the inputs. Reading this file
19
- IS the invocation; `skills run` refuses instruction skills on purpose.
20
-
21
- ## Inputs
22
-
23
- | Input | Description | Default |
24
- |--------|-------------|---------|
25
- | `product` | Product, service, or campaign brief. Positional text also works. | required |
26
- | `audience` | Target buyer or segment. | software teams |
27
- | `offer` | Campaign promise or offer. | derived from product |
28
- | `goal` | Conversion goal. | book demos |
29
- | `platforms` | Comma-separated platforms. | Meta, Google, LinkedIn |
30
- | `tone` | `direct`, `premium`, `friendly`, or `technical`. | direct |
31
-
32
- ## Deliverables
33
-
34
- - `platform-copy.md`
35
- - `ad-copy.json`
36
- - `creative-concepts.md`
37
- - `image-prompts.md`
38
- - `audience-angles.csv`
39
- - `test-matrix.csv`
40
- - `launch-checklist.md`
41
- - `manifest.json`
42
-
43
- ## Method
44
-
45
- 1. Restate the offer, audience and platform mix in one line, and name the single
46
- conversion action every asset drives toward.
47
- 2. Draft 3-5 distinct creative concepts. Each needs a different *angle* (pain,
48
- aspiration, proof, novelty, objection), not a different adjective.
49
- 3. For each platform, write copy to that platform's real limits — headline and
50
- primary text lengths differ, so do not reuse one block everywhere.
51
- 4. Write image prompts as briefs a designer or an image model could act on:
52
- subject, composition, mood, colour, text placement.
53
- 5. Build the test matrix so exactly one variable changes per row; a matrix that
54
- varies two things at once cannot attribute a win.
55
- 6. Close with a launch checklist covering tracking, naming, and budget split.
@@ -1,10 +0,0 @@
1
- {
2
- "name": "ad-creative-pack",
3
- "version": "0.1.0",
4
- "private": true,
5
- "description": "Hosted premium paid ad creative artifact generator",
6
- "type": "module",
7
- "skills": {
8
- "kind": "instruction"
9
- }
10
- }
@@ -1,16 +0,0 @@
1
- # analyze-data
2
-
3
- Data science insights for CSV and JSON.
4
-
5
- ## Development
6
-
7
- - Runtime: Bun
8
- - Use `bun install` to install dependencies
9
- - Use `bun run dev` to run in development
10
- - Use `bun run build` to build for production
11
-
12
- ## Structure
13
-
14
- - `src/` - Source code
15
- - `bin/cli.ts` - CLI entry point using Commander.js
16
- - `SKILL.md` - Skill definition and prompts
@@ -1,112 +0,0 @@
1
- ---
2
- name: analyze-data
3
- version: 0.1.0
4
- description: Instant data science insights for CSV and JSON files with statistical summaries, quality audits, and trend detection
5
- author: Hasna
6
- category: Data & Analytics
7
- tags:
8
- - data
9
- - analytics
10
- - statistics
11
- - csv
12
- - json
13
- - insights
14
- - quality-assurance
15
- credits: 5
16
- ---
17
-
18
- # Analyze Data
19
-
20
- Instant data science insights for your CSV and JSON files. Automatically generates comprehensive reports including statistical summaries, data quality audits, correlation matrices, and trend detection without sending your data to external APIs.
21
-
22
- > **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.
23
-
24
- ## Features
25
-
26
- - **Statistical Profiling**: Calculates mean, median, mode, standard deviation, quartiles, and custom percentiles for all numeric columns.
27
- - **Data Quality Audit**: Detects missing values, duplicates, mixed data types, and outliers to assess dataset health.
28
- - **Correlation Discovery**: Identifies relationships between variables using Pearson correlation coefficients.
29
- - **Trend Detection**: Automatically spots time-series patterns, seasonality, and growth trends.
30
- - **Visualization Ready**: Recommends the best chart types (histograms, line charts, scatter plots) based on data distribution.
31
- - **Multi-Format Reports**: Exports findings as interactive HTML, structured JSON, or readable Markdown.
32
- - **Scalable**: Efficiently processes large files using stream processing and sampling options.
33
-
34
- ## Usage
35
-
36
- ```bash
37
- skills run analyze-data -- <file-path> [options]
38
- ```
39
-
40
- ## Options
41
-
42
- | Option | Description | Default |
43
- | --------------- | ------------------------------------------------------------ | -------------------- |
44
- | `--format` | Output format: `markdown`, `json`, or `html` | `markdown` |
45
- | `--output` | Save report to file path | (prints to console) |
46
- | `--correlations`| Calculate correlation matrix for numeric columns | `false` |
47
- | `--outliers` | Detect and report outliers using IQR method | `false` |
48
- | `--trends` | Analyze trends if time-series data is detected | `false` |
49
- | `--sample` | Analyze only the first N rows (for large files) | (all rows) |
50
- | `--percentiles` | Custom percentiles to calculate (comma-separated) | `25,50,75,90,95` |
51
- | `--verbose` | Show detailed processing logs | `false` |
52
-
53
- ## Examples
54
-
55
- ### Quick Health Check
56
- ```bash
57
- # Analyze a CSV file and print report to console
58
- skills run analyze-data -- sales-data.csv
59
- ```
60
-
61
- ### Deep Dive Analysis
62
- ```bash
63
- # Full analysis with correlations, outliers, and HTML report
64
- skills run analyze-data -- dataset.csv \
65
- --correlations \
66
- --outliers \
67
- --format html \
68
- --output report.html
69
- ```
70
-
71
- ### Large File Sampling
72
- ```bash
73
- # Quickly analyze the first 10,000 rows of a large dataset
74
- skills run analyze-data -- huge-log-file.json \
75
- --sample 10000 \
76
- --verbose
77
- ```
78
-
79
- ### JSON Export for Pipelines
80
- ```bash
81
- # Generate JSON stats for downstream processing
82
- skills run analyze-data -- metrics.json \
83
- --format json \
84
- --output analysis.json
85
- ```
86
-
87
- ## Report Sections
88
-
89
- 1. **Dataset Overview**: File size, row/column counts, memory usage.
90
- 2. **Column Analysis**: Data types, unique values, null counts, and sample data.
91
- 3. **Statistical Summary**: Detailed metrics for numeric columns (mean, std dev, etc.).
92
- 4. **Data Quality**: Quality score (0-100), missing data summary, and duplicate detection.
93
- 5. **Correlations**: (Optional) Matrix of relationships between variables.
94
- 6. **Trends**: (Optional) Time-series patterns and anomalies.
95
- 7. **Visualization Recommendations**: Suggested charts for exploring the data.
96
- 8. **Key Insights**: Auto-generated observations about the dataset.
97
-
98
- ## Supported Formats
99
-
100
- - **CSV**: Standard comma-separated, TSV, and custom delimiters.
101
- - **JSON**: Arrays of objects or objects containing data arrays.
102
-
103
- ## Performance
104
-
105
- - **Small (<10MB)**: Instant analysis.
106
- - **Medium (10-100MB)**: 2-10 seconds.
107
- - **Large (>100MB)**: Use `--sample` for best performance.
108
-
109
- ## Requirements
110
-
111
- - Bun runtime.
112
- - No external API keys required (runs locally).
@@ -1,23 +0,0 @@
1
- {
2
- "name": "analyze-data",
3
- "version": "0.1.0",
4
- "description": "Data science insights for CSV and JSON",
5
- "type": "module",
6
- "bin": {
7
- "analyze-data": "./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
- "start": "bun run src/index.ts"
13
- },
14
- "dependencies": {},
15
- "devDependencies": {
16
- "@types/bun": "latest",
17
- "typescript": "^5.7.0"
18
- },
19
- "publishConfig": {
20
- "registry": "https://registry.npmjs.org",
21
- "access": "restricted"
22
- }
23
- }