@hasna/skills 0.1.61 → 0.1.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +10 -6
  2. package/bin/index.js +14271 -21602
  3. package/bin/mcp.js +3527 -11449
  4. package/bin/migrate.js +53 -3
  5. package/bin/server.js +5140 -2675
  6. package/bin/worker.js +4542 -2129
  7. package/dist/cli/commands/publish.d.ts +2 -0
  8. package/dist/cli/components/App.d.ts +2 -1
  9. package/dist/cli/components/CategorySelect.d.ts +2 -1
  10. package/dist/cli/components/Header.d.ts +2 -1
  11. package/dist/cli/components/InstallProgress.d.ts +2 -1
  12. package/dist/cli/components/SearchView.d.ts +2 -1
  13. package/dist/cli/components/SkillSelect.d.ts +2 -1
  14. package/dist/index.d.ts +4 -1
  15. package/dist/index.js +5094 -13755
  16. package/dist/lib/agent-sync.d.ts +38 -3
  17. package/dist/lib/home-adoption.d.ts +91 -0
  18. package/dist/lib/home-census.d.ts +22 -0
  19. package/dist/lib/home-migration.d.ts +61 -0
  20. package/dist/lib/portable-skills-files.d.ts +21 -1
  21. package/dist/lib/portable-skills-types.d.ts +46 -0
  22. package/dist/lib/pull.d.ts +66 -0
  23. package/dist/lib/remote-client.d.ts +6 -0
  24. package/dist/lib/run-state.d.ts +5 -0
  25. package/dist/lib/skill-bundles.d.ts +54 -0
  26. package/dist/lib/skill-contract.d.ts +35 -0
  27. package/dist/lib/skill-hash.d.ts +77 -0
  28. package/dist/sdk/cancel.d.ts +30 -0
  29. package/dist/sdk/dispatcher.d.ts +40 -0
  30. package/dist/sdk/event-sink.d.ts +2 -0
  31. package/dist/sdk/events.d.ts +79 -0
  32. package/dist/sdk/execution/admission.d.ts +44 -0
  33. package/dist/sdk/execution/dispatchers/e2b.d.ts +17 -0
  34. package/dist/sdk/execution/dispatchers/ecs.d.ts +151 -0
  35. package/dist/sdk/execution/image-profile.d.ts +73 -0
  36. package/dist/sdk/execution/index.d.ts +15 -0
  37. package/dist/sdk/execution/receipts.d.ts +44 -0
  38. package/dist/sdk/execution/state-machine.d.ts +38 -0
  39. package/dist/sdk/execution/storage.d.ts +158 -0
  40. package/dist/sdk/execution/types.d.ts +130 -0
  41. package/dist/sdk/executor.d.ts +17 -0
  42. package/dist/sdk/governance-store.d.ts +156 -0
  43. package/dist/sdk/governance.d.ts +92 -0
  44. package/dist/sdk/index.d.ts +26 -0
  45. package/dist/sdk/index.js +48730 -0
  46. package/dist/sdk/offline.d.ts +16 -0
  47. package/dist/sdk/outputs.d.ts +71 -0
  48. package/dist/sdk/registry.d.ts +28 -0
  49. package/dist/sdk/runs.d.ts +229 -0
  50. package/dist/sdk/server.d.ts +35 -0
  51. package/dist/sdk/spend.d.ts +36 -0
  52. package/dist/sdk/storage.d.ts +25 -0
  53. package/dist/server/app.d.ts +42 -0
  54. package/dist/server/artifact-storage.d.ts +102 -0
  55. package/dist/server/auth.d.ts +5 -0
  56. package/dist/server/config.d.ts +40 -0
  57. package/dist/server/database-url.d.ts +42 -0
  58. package/dist/server/handlers.d.ts +3 -0
  59. package/dist/server/index.d.ts +2 -0
  60. package/dist/server/migrate.d.ts +13 -0
  61. package/dist/server/migrations-dir.d.ts +18 -0
  62. package/dist/server/redaction.d.ts +1 -0
  63. package/dist/server/registry.d.ts +5 -0
  64. package/dist/server/rows.d.ts +23 -0
  65. package/dist/server/skills-api.d.ts +68 -0
  66. package/dist/server/sqlite-store.d.ts +114 -0
  67. package/dist/server/store-fixtures.d.ts +25 -0
  68. package/dist/server/store.d.ts +144 -0
  69. package/dist/server/types.d.ts +242 -0
  70. package/dist/server/worker.d.ts +4 -0
  71. package/dist/storage.js +32 -0
  72. package/docs/skill-standard.md +211 -39
  73. package/migrations/postgres/0003_run_outputs_governance.sql +83 -0
  74. package/migrations/sqlite/0003_run_outputs_governance.sql +58 -0
  75. package/package.json +11 -8
  76. package/schemas/skill.schema.json +181 -0
  77. package/agent-skills/README.md +0 -41
  78. package/agent-skills/fleet-package-rollout/SKILL.md +0 -169
  79. package/agent-skills/inbox/SKILL.md +0 -25
  80. package/agent-skills/inbox/scripts/inbox +0 -109
  81. package/agent-skills/inbox/tests/test_registered_sender_id.sh +0 -92
  82. package/agent-skills/inbox-monitor/SKILL.md +0 -41
  83. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +0 -91
  84. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +0 -71
  85. package/agent-skills/merge-pr/SKILL.md +0 -85
  86. package/agent-skills/merge-pr/references/merge-safety.md +0 -82
  87. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +0 -694
  88. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +0 -647
  89. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +0 -28
  90. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +0 -28
  91. package/agent-skills/skill-goal-execute/SKILL.md +0 -115
  92. package/agent-skills/skill-login/SKILL.md +0 -109
  93. package/agent-skills/skill-project-create/SKILL.md +0 -91
  94. package/agent-skills/skill-publish/SKILL.md +0 -207
  95. package/skills/_common/auth.ts +0 -45
  96. package/skills/_common/http-client.ts +0 -143
  97. package/skills/_common/index.ts +0 -26
  98. package/skills/_common/install.sh +0 -7
  99. package/skills/_common/installer.ts +0 -72
  100. package/skills/_common/skill-install.ts +0 -37
  101. package/skills/_common/vision.ts +0 -374
  102. package/skills/ad-creative-pack/SKILL.md +0 -55
  103. package/skills/ad-creative-pack/package.json +0 -10
  104. package/skills/analyze-data/CLAUDE.md +0 -16
  105. package/skills/analyze-data/SKILL.md +0 -112
  106. package/skills/analyze-data/package.json +0 -23
  107. package/skills/analyze-data/src/analysis.ts +0 -401
  108. package/skills/analyze-data/src/cli.ts +0 -66
  109. package/skills/analyze-data/src/formatters.ts +0 -235
  110. package/skills/analyze-data/src/index.ts +0 -74
  111. package/skills/analyze-data/src/logger.ts +0 -36
  112. package/skills/analyze-data/src/parsers.ts +0 -57
  113. package/skills/analyze-data/src/stats.ts +0 -151
  114. package/skills/analyze-data/src/types.ts +0 -85
  115. package/skills/analyze-data/tsconfig.json +0 -19
  116. package/skills/api-docs-portal/SKILL.md +0 -84
  117. package/skills/api-docs-portal/package.json +0 -35
  118. package/skills/api-docs-portal/src/index.ts +0 -919
  119. package/skills/api-docs-portal/tsconfig.json +0 -17
  120. package/skills/api-test-suite/CLAUDE.md +0 -19
  121. package/skills/api-test-suite/package.json +0 -27
  122. package/skills/api-test-suite/src/index.ts +0 -381
  123. package/skills/api-test-suite/tsconfig.json +0 -10
  124. package/skills/audio-extract/CLAUDE.md +0 -9
  125. package/skills/audio-extract/SKILL.md +0 -73
  126. package/skills/audio-extract/package.json +0 -23
  127. package/skills/audio-extract/src/index.ts +0 -323
  128. package/skills/audio-extract/tsconfig.json +0 -11
  129. package/skills/bio-sequence-tool/CLAUDE.md +0 -19
  130. package/skills/bio-sequence-tool/package.json +0 -27
  131. package/skills/bio-sequence-tool/src/index.ts +0 -85
  132. package/skills/bio-sequence-tool/tsconfig.json +0 -10
  133. package/skills/blog-article/CLAUDE.md +0 -12
  134. package/skills/blog-article/SKILL.md +0 -55
  135. package/skills/blog-article/package.json +0 -10
  136. package/skills/blog-article/tsconfig.json +0 -10
  137. package/skills/brand-assets/SKILL.md +0 -118
  138. package/skills/brand-assets/package.json +0 -35
  139. package/skills/brand-assets/src/cli.ts +0 -155
  140. package/skills/brand-assets/src/constants.ts +0 -8
  141. package/skills/brand-assets/src/extract.ts +0 -236
  142. package/skills/brand-assets/src/index.ts +0 -668
  143. package/skills/brand-assets/src/types.ts +0 -59
  144. package/skills/brand-assets/tsconfig.json +0 -17
  145. package/skills/brand-kit/SKILL.md +0 -54
  146. package/skills/brand-kit/package.json +0 -10
  147. package/skills/businessactivity/CLAUDE.md +0 -176
  148. package/skills/businessactivity/LICENSE +0 -192
  149. package/skills/businessactivity/README.md +0 -287
  150. package/skills/businessactivity/package.json +0 -25
  151. package/skills/businessactivity/scripts/publish.ts +0 -210
  152. package/skills/businessactivity/src/commands/activity.ts +0 -211
  153. package/skills/businessactivity/src/commands/function.ts +0 -227
  154. package/skills/businessactivity/src/commands/owner.ts +0 -193
  155. package/skills/businessactivity/src/commands/profile.ts +0 -121
  156. package/skills/businessactivity/src/commands/responsibility.ts +0 -264
  157. package/skills/businessactivity/src/commands/team.ts +0 -244
  158. package/skills/businessactivity/src/commands/workflow.ts +0 -359
  159. package/skills/businessactivity/src/index.ts +0 -3
  160. package/skills/businessactivity/src/lib/config.ts +0 -167
  161. package/skills/businessactivity/src/lib/output.ts +0 -76
  162. package/skills/businessactivity/src/lib/paths.ts +0 -79
  163. package/skills/businessactivity/src/lib/storage.ts +0 -95
  164. package/skills/businessactivity/src/types/index.ts +0 -86
  165. package/skills/businessactivity/tsconfig.json +0 -29
  166. package/skills/codefix/LICENSE +0 -192
  167. package/skills/codefix/README.md +0 -232
  168. package/skills/codefix/SKILL.md +0 -94
  169. package/skills/codefix/package.json +0 -21
  170. package/skills/codefix/src/fixers/batch.ts +0 -213
  171. package/skills/codefix/src/fixers/detector.ts +0 -160
  172. package/skills/codefix/src/fixers/index.ts +0 -7
  173. package/skills/codefix/src/fixers/runner.ts +0 -522
  174. package/skills/codefix/src/index-local.ts +0 -431
  175. package/skills/codefix/src/index.ts +0 -4
  176. package/skills/codefix/src/types.ts +0 -211
  177. package/skills/codefix/tsconfig.json +0 -15
  178. package/skills/commitpush/SKILL.md +0 -57
  179. package/skills/commitpush/package.json +0 -33
  180. package/skills/commitpush/src/index.ts +0 -34
  181. package/skills/commitpush/tsconfig.json +0 -17
  182. package/skills/commitpushpr/SKILL.md +0 -55
  183. package/skills/commitpushpr/package.json +0 -33
  184. package/skills/commitpushpr/src/index.ts +0 -34
  185. package/skills/commitpushpr/tsconfig.json +0 -17
  186. package/skills/compress-video/CLAUDE.md +0 -9
  187. package/skills/compress-video/SKILL.md +0 -79
  188. package/skills/compress-video/package.json +0 -23
  189. package/skills/compress-video/src/index.ts +0 -473
  190. package/skills/compress-video/tsconfig.json +0 -11
  191. package/skills/contract-review-report/SKILL.md +0 -52
  192. package/skills/contract-review-report/package.json +0 -10
  193. package/skills/customer-feedback-report/SKILL.md +0 -52
  194. package/skills/customer-feedback-report/package.json +0 -10
  195. package/skills/dashboard-builder/CLAUDE.md +0 -19
  196. package/skills/dashboard-builder/package.json +0 -29
  197. package/skills/dashboard-builder/src/index.ts +0 -150
  198. package/skills/dashboard-builder/tsconfig.json +0 -10
  199. package/skills/data-anonymizer/CLAUDE.md +0 -19
  200. package/skills/data-anonymizer/package.json +0 -27
  201. package/skills/data-anonymizer/src/index.ts +0 -183
  202. package/skills/data-anonymizer/tsconfig.json +0 -10
  203. package/skills/database-explorer/CLAUDE.md +0 -19
  204. package/skills/database-explorer/package.json +0 -29
  205. package/skills/database-explorer/src/index.ts +0 -95
  206. package/skills/database-explorer/tsconfig.json +0 -10
  207. package/skills/diff-viewer/CLAUDE.md +0 -19
  208. package/skills/diff-viewer/package.json +0 -30
  209. package/skills/diff-viewer/src/index.ts +0 -164
  210. package/skills/diff-viewer/tsconfig.json +0 -10
  211. package/skills/doc-read/SKILL.md +0 -45
  212. package/skills/doc-read/package.json +0 -29
  213. package/skills/doc-read/src/index.ts +0 -324
  214. package/skills/doc-read/tsconfig.json +0 -8
  215. package/skills/domainpurchase/LICENSE +0 -192
  216. package/skills/domainpurchase/SKILL.md +0 -29
  217. package/skills/domainpurchase/package.json +0 -30
  218. package/skills/domainpurchase/src/index.ts +0 -3
  219. package/skills/domainpurchase/tsconfig.json +0 -21
  220. package/skills/email-sequence/SKILL.md +0 -53
  221. package/skills/email-sequence/package.json +0 -10
  222. package/skills/experiment-power-calculator/CLAUDE.md +0 -19
  223. package/skills/experiment-power-calculator/package.json +0 -29
  224. package/skills/experiment-power-calculator/src/index.ts +0 -86
  225. package/skills/experiment-power-calculator/tsconfig.json +0 -10
  226. package/skills/extract-frames/CLAUDE.md +0 -19
  227. package/skills/extract-frames/package.json +0 -27
  228. package/skills/extract-frames/src/index.ts +0 -616
  229. package/skills/extract-frames/tsconfig.json +0 -10
  230. package/skills/file-organizer/CLAUDE.md +0 -19
  231. package/skills/file-organizer/package.json +0 -27
  232. package/skills/file-organizer/src/index.ts +0 -91
  233. package/skills/file-organizer/tsconfig.json +0 -10
  234. package/skills/folder-tree/CLAUDE.md +0 -19
  235. package/skills/folder-tree/package.json +0 -29
  236. package/skills/folder-tree/src/index.ts +0 -568
  237. package/skills/folder-tree/tsconfig.json +0 -10
  238. package/skills/form-filler/CLAUDE.md +0 -19
  239. package/skills/form-filler/package.json +0 -29
  240. package/skills/form-filler/src/index.ts +0 -81
  241. package/skills/form-filler/tsconfig.json +0 -10
  242. package/skills/generate-api-client/CLAUDE.md +0 -19
  243. package/skills/generate-api-client/package.json +0 -29
  244. package/skills/generate-api-client/src/generator.ts +0 -47
  245. package/skills/generate-api-client/src/index.ts +0 -92
  246. package/skills/generate-api-client/src/logger.ts +0 -34
  247. package/skills/generate-api-client/src/python-generator.ts +0 -245
  248. package/skills/generate-api-client/src/spec-loader.ts +0 -48
  249. package/skills/generate-api-client/src/type-mappers.ts +0 -79
  250. package/skills/generate-api-client/src/types.ts +0 -76
  251. package/skills/generate-api-client/src/typescript-generator.ts +0 -247
  252. package/skills/generate-api-client/tsconfig.json +0 -10
  253. package/skills/generate-chart/CLAUDE.md +0 -19
  254. package/skills/generate-chart/package.json +0 -27
  255. package/skills/generate-chart/src/index.ts +0 -510
  256. package/skills/generate-chart/tsconfig.json +0 -10
  257. package/skills/generate-dockerfile/CLAUDE.md +0 -19
  258. package/skills/generate-dockerfile/package.json +0 -27
  259. package/skills/generate-dockerfile/src/cli.ts +0 -78
  260. package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
  261. package/skills/generate-dockerfile/src/index.ts +0 -81
  262. package/skills/generate-dockerfile/src/logger.ts +0 -30
  263. package/skills/generate-dockerfile/src/project-detection.ts +0 -68
  264. package/skills/generate-dockerfile/src/support-files.ts +0 -171
  265. package/skills/generate-dockerfile/src/types.ts +0 -29
  266. package/skills/generate-dockerfile/tsconfig.json +0 -10
  267. package/skills/generate-env/CLAUDE.md +0 -19
  268. package/skills/generate-env/package.json +0 -29
  269. package/skills/generate-env/src/cli.ts +0 -85
  270. package/skills/generate-env/src/detection.ts +0 -161
  271. package/skills/generate-env/src/env-data.ts +0 -66
  272. package/skills/generate-env/src/generators.ts +0 -240
  273. package/skills/generate-env/src/index.ts +0 -120
  274. package/skills/generate-env/src/runtime.ts +0 -30
  275. package/skills/generate-env/src/types.ts +0 -32
  276. package/skills/generate-env/tsconfig.json +0 -10
  277. package/skills/generate-favicon/CLAUDE.md +0 -19
  278. package/skills/generate-favicon/package.json +0 -29
  279. package/skills/generate-favicon/src/index.ts +0 -421
  280. package/skills/generate-favicon/tsconfig.json +0 -10
  281. package/skills/generate-qrcode/CLAUDE.md +0 -19
  282. package/skills/generate-qrcode/package.json +0 -30
  283. package/skills/generate-qrcode/src/index.ts +0 -584
  284. package/skills/generate-qrcode/tsconfig.json +0 -10
  285. package/skills/generate-resume/CLAUDE.md +0 -19
  286. package/skills/generate-resume/package.json +0 -27
  287. package/skills/generate-resume/src/cli.ts +0 -157
  288. package/skills/generate-resume/src/index.ts +0 -178
  289. package/skills/generate-resume/src/parsers.ts +0 -95
  290. package/skills/generate-resume/src/renderers.ts +0 -538
  291. package/skills/generate-resume/src/security.ts +0 -39
  292. package/skills/generate-resume/src/types.ts +0 -86
  293. package/skills/generate-resume/tsconfig.json +0 -10
  294. package/skills/generate-sitemap/CLAUDE.md +0 -19
  295. package/skills/generate-sitemap/package.json +0 -27
  296. package/skills/generate-sitemap/src/index.ts +0 -626
  297. package/skills/generate-sitemap/tsconfig.json +0 -10
  298. package/skills/gif-maker/CLAUDE.md +0 -19
  299. package/skills/gif-maker/package.json +0 -30
  300. package/skills/gif-maker/src/index.ts +0 -600
  301. package/skills/gif-maker/tsconfig.json +0 -10
  302. package/skills/hook/LICENSE +0 -192
  303. package/skills/hook/README.md +0 -74
  304. package/skills/hook/SKILL.md +0 -85
  305. package/skills/hook/bunfig.toml +0 -5
  306. package/skills/hook/package.json +0 -28
  307. package/skills/hook/src/commands/create.ts +0 -112
  308. package/skills/hook/src/commands/events.ts +0 -37
  309. package/skills/hook/src/commands/validate.ts +0 -117
  310. package/skills/hook/src/index.ts +0 -118
  311. package/skills/hook/src/templates/root.ts +0 -196
  312. package/skills/hook/src/templates/source.ts +0 -647
  313. package/skills/hook/tsconfig.json +0 -18
  314. package/skills/http-server/CLAUDE.md +0 -19
  315. package/skills/http-server/package.json +0 -29
  316. package/skills/http-server/src/index.ts +0 -51
  317. package/skills/http-server/tsconfig.json +0 -10
  318. package/skills/implementation/LICENSE +0 -192
  319. package/skills/implementation/README.md +0 -53
  320. package/skills/implementation/SKILL.md +0 -57
  321. package/skills/implementation/bunfig.toml +0 -5
  322. package/skills/implementation/package.json +0 -28
  323. package/skills/implementation/src/commands/create.ts +0 -187
  324. package/skills/implementation/src/index.ts +0 -62
  325. package/skills/implementation/tsconfig.json +0 -18
  326. package/skills/implementation-plan/CLAUDE.md +0 -19
  327. package/skills/implementation-plan/package.json +0 -29
  328. package/skills/implementation-plan/src/index.ts +0 -520
  329. package/skills/implementation-plan/tsconfig.json +0 -10
  330. package/skills/implementation-todo/CLAUDE.md +0 -19
  331. package/skills/implementation-todo/package.json +0 -29
  332. package/skills/implementation-todo/src/index.ts +0 -429
  333. package/skills/implementation-todo/tsconfig.json +0 -10
  334. package/skills/invoice/.env.example +0 -3
  335. package/skills/invoice/CLAUDE.md +0 -31
  336. package/skills/invoice/LICENSE +0 -192
  337. package/skills/invoice/README.md +0 -70
  338. package/skills/invoice/package.json +0 -26
  339. package/skills/invoice/src/commands/companies.ts +0 -202
  340. package/skills/invoice/src/commands/config.ts +0 -132
  341. package/skills/invoice/src/commands/generate.ts +0 -177
  342. package/skills/invoice/src/commands/invoices.ts +0 -218
  343. package/skills/invoice/src/index.ts +0 -3
  344. package/skills/invoice/src/lib/api.ts +0 -124
  345. package/skills/invoice/src/lib/storage.ts +0 -171
  346. package/skills/invoice/src/types/index.ts +0 -86
  347. package/skills/invoice/src/utils/logger.ts +0 -33
  348. package/skills/invoice/src/utils/paths.ts +0 -25
  349. package/skills/invoice/tsconfig.json +0 -23
  350. package/skills/invoice-reconciliation/SKILL.md +0 -98
  351. package/skills/invoice-reconciliation/package.json +0 -36
  352. package/skills/invoice-reconciliation/src/index.ts +0 -743
  353. package/skills/invoice-reconciliation/tsconfig.json +0 -17
  354. package/skills/landing-page-pack/SKILL.md +0 -55
  355. package/skills/landing-page-pack/package.json +0 -10
  356. package/skills/latex-table-generator/CLAUDE.md +0 -19
  357. package/skills/latex-table-generator/package.json +0 -29
  358. package/skills/latex-table-generator/src/index.ts +0 -113
  359. package/skills/latex-table-generator/tsconfig.json +0 -10
  360. package/skills/logo-design/SKILL.md +0 -94
  361. package/skills/logo-design/package.json +0 -35
  362. package/skills/logo-design/src/cli.ts +0 -132
  363. package/skills/logo-design/src/constants.ts +0 -5
  364. package/skills/logo-design/src/docs.ts +0 -102
  365. package/skills/logo-design/src/geometry.ts +0 -324
  366. package/skills/logo-design/src/index.ts +0 -212
  367. package/skills/logo-design/src/palette.ts +0 -258
  368. package/skills/logo-design/src/types.ts +0 -50
  369. package/skills/logo-design/tsconfig.json +0 -17
  370. package/skills/lorem-generator/CLAUDE.md +0 -19
  371. package/skills/lorem-generator/package.json +0 -29
  372. package/skills/lorem-generator/src/index.ts +0 -59
  373. package/skills/lorem-generator/tsconfig.json +0 -10
  374. package/skills/managemcp/CLAUDE.md +0 -14
  375. package/skills/managemcp/README.md +0 -24
  376. package/skills/managemcp/package.json +0 -16
  377. package/skills/managemcp/src/index.ts +0 -3
  378. package/skills/managemcp/tsconfig.json +0 -27
  379. package/skills/markdown-validator/CLAUDE.md +0 -19
  380. package/skills/markdown-validator/package.json +0 -29
  381. package/skills/markdown-validator/src/index.ts +0 -92
  382. package/skills/markdown-validator/tsconfig.json +0 -10
  383. package/skills/market-research-report/SKILL.md +0 -51
  384. package/skills/market-research-report/package.json +0 -10
  385. package/skills/meeting-pack/SKILL.md +0 -52
  386. package/skills/meeting-pack/package.json +0 -10
  387. package/skills/merge-pdfs/CLAUDE.md +0 -19
  388. package/skills/merge-pdfs/package.json +0 -31
  389. package/skills/merge-pdfs/src/index.ts +0 -427
  390. package/skills/merge-pdfs/tsconfig.json +0 -10
  391. package/skills/migration-plan-pack/SKILL.md +0 -56
  392. package/skills/migration-plan-pack/package.json +0 -10
  393. package/skills/monitor/SKILL.md +0 -69
  394. package/skills/monitor/package.json +0 -33
  395. package/skills/monitor/src/index.ts +0 -34
  396. package/skills/monitor/tsconfig.json +0 -17
  397. package/skills/one-page-website/SKILL.md +0 -128
  398. package/skills/one-page-website/package.json +0 -34
  399. package/skills/one-page-website/src/design.ts +0 -336
  400. package/skills/one-page-website/src/docs.ts +0 -159
  401. package/skills/one-page-website/src/index.ts +0 -357
  402. package/skills/one-page-website/src/page.ts +0 -340
  403. package/skills/one-page-website/src/styles.ts +0 -508
  404. package/skills/one-page-website/src/types.ts +0 -78
  405. package/skills/one-page-website/tsconfig.json +0 -17
  406. package/skills/pdf-generate/CLAUDE.md +0 -19
  407. package/skills/pdf-generate/SKILL.md +0 -86
  408. package/skills/pdf-generate/package.json +0 -21
  409. package/skills/pdf-generate/src/cli.ts +0 -162
  410. package/skills/pdf-generate/src/html.ts +0 -84
  411. package/skills/pdf-generate/src/index.ts +0 -62
  412. package/skills/pdf-generate/src/markdown.ts +0 -27
  413. package/skills/pdf-generate/src/pdf-writer.ts +0 -78
  414. package/skills/pdf-generate/src/runtime.ts +0 -34
  415. package/skills/pdf-generate/src/security.ts +0 -37
  416. package/skills/pdf-generate/src/templates.ts +0 -311
  417. package/skills/pdf-generate/src/types.ts +0 -28
  418. package/skills/pdf-generate/tsconfig.json +0 -16
  419. package/skills/pdf-to-dataset/SKILL.md +0 -88
  420. package/skills/pdf-to-dataset/package.json +0 -37
  421. package/skills/pdf-to-dataset/src/index.ts +0 -790
  422. package/skills/pdf-to-dataset/tsconfig.json +0 -17
  423. package/skills/pdf-to-markdown/SKILL.md +0 -81
  424. package/skills/pdf-to-markdown/package.json +0 -35
  425. package/skills/pdf-to-markdown/src/index.ts +0 -694
  426. package/skills/pdf-to-markdown/tsconfig.json +0 -17
  427. package/skills/performance-audit-report/SKILL.md +0 -49
  428. package/skills/performance-audit-report/package.json +0 -10
  429. package/skills/pitch-deck/SKILL.md +0 -51
  430. package/skills/pitch-deck/package.json +0 -10
  431. package/skills/product-mockup/SKILL.md +0 -107
  432. package/skills/product-mockup/package.json +0 -32
  433. package/skills/product-mockup/src/cli.ts +0 -150
  434. package/skills/product-mockup/src/design.ts +0 -151
  435. package/skills/product-mockup/src/docs.ts +0 -134
  436. package/skills/product-mockup/src/index.ts +0 -182
  437. package/skills/product-mockup/src/render.ts +0 -407
  438. package/skills/product-mockup/src/types.ts +0 -66
  439. package/skills/product-mockup/tsconfig.json +0 -17
  440. package/skills/proposal-pack/SKILL.md +0 -53
  441. package/skills/proposal-pack/package.json +0 -10
  442. package/skills/read-csv/SKILL.md +0 -62
  443. package/skills/read-csv/package.json +0 -37
  444. package/skills/read-csv/src/index.ts +0 -356
  445. package/skills/read-csv/tsconfig.json +0 -17
  446. package/skills/read-excel/SKILL.md +0 -64
  447. package/skills/read-excel/package.json +0 -36
  448. package/skills/read-excel/src/index.ts +0 -266
  449. package/skills/read-excel/tsconfig.json +0 -17
  450. package/skills/regex-tester/CLAUDE.md +0 -19
  451. package/skills/regex-tester/package.json +0 -27
  452. package/skills/regex-tester/src/index.ts +0 -183
  453. package/skills/regex-tester/tsconfig.json +0 -10
  454. package/skills/repo-onboarding-report/SKILL.md +0 -52
  455. package/skills/repo-onboarding-report/package.json +0 -10
  456. package/skills/scancommitpr/SKILL.md +0 -178
  457. package/skills/scancommitpr/package.json +0 -34
  458. package/skills/scancommitpr/src/index.ts +0 -44
  459. package/skills/scancommitpr/tsconfig.json +0 -13
  460. package/skills/scancommitpush/SKILL.md +0 -174
  461. package/skills/scancommitpush/package.json +0 -32
  462. package/skills/scancommitpush/src/index.ts +0 -44
  463. package/skills/scancommitpush/tsconfig.json +0 -13
  464. package/skills/scientific-figure-check/CLAUDE.md +0 -19
  465. package/skills/scientific-figure-check/package.json +0 -29
  466. package/skills/scientific-figure-check/src/index.ts +0 -83
  467. package/skills/scientific-figure-check/tsconfig.json +0 -10
  468. package/skills/security-audit/CLAUDE.md +0 -19
  469. package/skills/security-audit/package.json +0 -27
  470. package/skills/security-audit/src/index.ts +0 -145
  471. package/skills/security-audit/tsconfig.json +0 -10
  472. package/skills/security-audit-report/SKILL.md +0 -52
  473. package/skills/security-audit-report/package.json +0 -10
  474. package/skills/seo-content-pack/SKILL.md +0 -54
  475. package/skills/seo-content-pack/package.json +0 -10
  476. package/skills/siteanalyze/SKILL.md +0 -25
  477. package/skills/siteanalyze/package.json +0 -27
  478. package/skills/siteanalyze/src/index.ts +0 -592
  479. package/skills/slide-deck-generator/SKILL.md +0 -93
  480. package/skills/slide-deck-generator/package.json +0 -38
  481. package/skills/slide-deck-generator/src/cli.ts +0 -133
  482. package/skills/slide-deck-generator/src/index.ts +0 -148
  483. package/skills/slide-deck-generator/src/model.ts +0 -307
  484. package/skills/slide-deck-generator/src/pptx.ts +0 -143
  485. package/skills/slide-deck-generator/src/render.ts +0 -248
  486. package/skills/slide-deck-generator/src/types.ts +0 -114
  487. package/skills/slide-deck-generator/src/utils.ts +0 -53
  488. package/skills/slide-deck-generator/tsconfig.json +0 -17
  489. package/skills/social-content-calendar/SKILL.md +0 -54
  490. package/skills/social-content-calendar/package.json +0 -10
  491. package/skills/split-pdf/CLAUDE.md +0 -19
  492. package/skills/split-pdf/package.json +0 -30
  493. package/skills/split-pdf/src/index.ts +0 -301
  494. package/skills/split-pdf/tsconfig.json +0 -10
  495. package/skills/statistical-test-selector/CLAUDE.md +0 -19
  496. package/skills/statistical-test-selector/package.json +0 -27
  497. package/skills/statistical-test-selector/src/index.ts +0 -75
  498. package/skills/statistical-test-selector/tsconfig.json +0 -10
  499. package/skills/test-suite-generator/SKILL.md +0 -51
  500. package/skills/test-suite-generator/package.json +0 -10
  501. package/skills/tmux-session/SKILL.md +0 -109
  502. package/skills/tmux-session/package.json +0 -33
  503. package/skills/tmux-session/src/index.ts +0 -34
  504. package/skills/tmux-session/tsconfig.json +0 -17
  505. package/skills/todos-plan/SKILL.md +0 -363
  506. package/skills/todos-plan/agents/openai.yaml +0 -4
  507. package/skills/todos-plan/package.json +0 -9
  508. package/skills/todos-plan/src/index.ts +0 -68
  509. package/skills/tsconfig.base.json +0 -12
  510. package/skills/validate-config/CLAUDE.md +0 -19
  511. package/skills/validate-config/package.json +0 -29
  512. package/skills/validate-config/src/index.ts +0 -56
  513. package/skills/validate-config/tsconfig.json +0 -10
  514. package/skills/video-downloader/CLAUDE.md +0 -19
  515. package/skills/video-downloader/package.json +0 -29
  516. package/skills/video-downloader/src/index.ts +0 -561
  517. package/skills/video-downloader/tsconfig.json +0 -10
  518. package/skills/video-highlight-pack/SKILL.md +0 -54
  519. package/skills/video-highlight-pack/package.json +0 -10
  520. package/skills/watermark/CLAUDE.md +0 -19
  521. package/skills/watermark/package.json +0 -32
  522. package/skills/watermark/src/index.ts +0 -587
  523. package/skills/watermark/tsconfig.json +0 -10
@@ -1,311 +0,0 @@
1
- // Invoice template
2
- export const templates: Record<string, (data: Record<string, string>) => string> = {
3
- invoice: (data) => `
4
- <!DOCTYPE html>
5
- <html>
6
- <head>
7
- <meta charset="UTF-8">
8
- <style>
9
- body { font-family: Arial, sans-serif; margin: 40px; color: #333; }
10
- .header { display: flex; justify-content: space-between; margin-bottom: 40px; }
11
- .company-info { font-size: 14px; }
12
- .invoice-info { text-align: right; }
13
- .invoice-title { font-size: 28px; color: #2c3e50; margin-bottom: 10px; }
14
- .invoice-number { font-size: 14px; color: #7f8c8d; }
15
- .addresses { display: flex; justify-content: space-between; margin-bottom: 40px; }
16
- .address-block { width: 45%; }
17
- .address-label { font-weight: bold; color: #2c3e50; margin-bottom: 10px; }
18
- table { width: 100%; border-collapse: collapse; margin-bottom: 30px; }
19
- th { background: #2c3e50; color: white; padding: 12px; text-align: left; }
20
- td { padding: 12px; border-bottom: 1px solid #ddd; }
21
- .totals { text-align: right; }
22
- .totals table { width: 300px; margin-left: auto; }
23
- .totals td { border: none; padding: 8px; }
24
- .total-row { font-weight: bold; font-size: 18px; background: #f8f9fa; }
25
- .notes { margin-top: 40px; padding: 20px; background: #f8f9fa; border-radius: 4px; }
26
- .footer { margin-top: 40px; text-align: center; font-size: 12px; color: #7f8c8d; }
27
- </style>
28
- </head>
29
- <body>
30
- <div class="header">
31
- <div class="company-info">
32
- <h2>${data.companyName || 'Company Name'}</h2>
33
- <p>${data.companyAddress || ''}<br>
34
- ${data.companyCity || ''}, ${data.companyState || ''} ${data.companyZip || ''}<br>
35
- ${data.companyPhone || ''}</p>
36
- </div>
37
- <div class="invoice-info">
38
- <div class="invoice-title">INVOICE</div>
39
- <div class="invoice-number">#${data.invoiceNumber || 'INV-001'}</div>
40
- <p>Date: ${data.invoiceDate || new Date().toLocaleDateString()}<br>
41
- Due: ${data.dueDate || ''}</p>
42
- </div>
43
- </div>
44
-
45
- <div class="addresses">
46
- <div class="address-block">
47
- <div class="address-label">Bill To:</div>
48
- <p>${data.clientName || 'Client Name'}<br>
49
- ${data.clientAddress || ''}<br>
50
- ${data.clientCity || ''}, ${data.clientState || ''} ${data.clientZip || ''}</p>
51
- </div>
52
- <div class="address-block">
53
- <div class="address-label">Payment Details:</div>
54
- <p>Terms: ${data.paymentTerms || 'Net 30'}<br>
55
- Method: ${data.paymentMethod || 'Bank Transfer'}</p>
56
- </div>
57
- </div>
58
-
59
- <table>
60
- <thead>
61
- <tr>
62
- <th>Description</th>
63
- <th>Qty</th>
64
- <th>Rate</th>
65
- <th>Amount</th>
66
- </tr>
67
- </thead>
68
- <tbody>
69
- ${data.items || '<tr><td>Service</td><td>1</td><td>$0</td><td>$0</td></tr>'}
70
- </tbody>
71
- </table>
72
-
73
- <div class="totals">
74
- <table>
75
- <tr><td>Subtotal:</td><td>${data.subtotal || '$0'}</td></tr>
76
- <tr><td>Tax (${data.taxRate || '0'}%):</td><td>${data.tax || '$0'}</td></tr>
77
- <tr class="total-row"><td>Total:</td><td>${data.total || '$0'}</td></tr>
78
- </table>
79
- </div>
80
-
81
- ${data.notes ? `<div class="notes"><strong>Notes:</strong><br>${data.notes}</div>` : ''}
82
-
83
- <div class="footer">Thank you for your business!</div>
84
- </body>
85
- </html>`,
86
-
87
- report: (data) => `
88
- <!DOCTYPE html>
89
- <html>
90
- <head>
91
- <meta charset="UTF-8">
92
- <style>
93
- body { font-family: Georgia, serif; margin: 40px; color: #333; line-height: 1.6; }
94
- .title-page { text-align: center; margin-bottom: 60px; padding-top: 100px; }
95
- .title { font-size: 36px; color: #2c3e50; margin-bottom: 10px; }
96
- .subtitle { font-size: 20px; color: #7f8c8d; margin-bottom: 40px; }
97
- .meta { font-size: 14px; color: #95a5a6; }
98
- h2 { color: #2c3e50; border-bottom: 2px solid #3498db; padding-bottom: 10px; margin-top: 40px; }
99
- .executive-summary { background: #f8f9fa; padding: 20px; border-left: 4px solid #3498db; margin: 30px 0; }
100
- .section { margin-bottom: 30px; }
101
- .conclusion { background: #e8f4f8; padding: 20px; border-radius: 4px; margin-top: 40px; }
102
- .footer { margin-top: 60px; text-align: center; font-size: 12px; color: #7f8c8d; border-top: 1px solid #ddd; padding-top: 20px; }
103
- </style>
104
- </head>
105
- <body>
106
- <div class="title-page">
107
- <div class="title">${data.title || 'Report Title'}</div>
108
- <div class="subtitle">${data.subtitle || ''}</div>
109
- <div class="meta">
110
- <p>Date: ${data.reportDate || new Date().toLocaleDateString()}</p>
111
- <p>Author: ${data.author || ''}</p>
112
- </div>
113
- </div>
114
-
115
- <div class="executive-summary">
116
- <h2>Executive Summary</h2>
117
- <p>${data.executiveSummary || ''}</p>
118
- </div>
119
-
120
- <div class="section">
121
- <h2>${data.section1Title || 'Introduction'}</h2>
122
- <p>${data.section1Content || ''}</p>
123
- </div>
124
-
125
- <div class="section">
126
- <h2>${data.section2Title || 'Analysis'}</h2>
127
- <p>${data.section2Content || ''}</p>
128
- </div>
129
-
130
- <div class="conclusion">
131
- <h2>Conclusion</h2>
132
- <p>${data.conclusion || ''}</p>
133
- </div>
134
-
135
- <div class="footer">
136
- <p>${data.companyName || ''} | ${data.companyContact || ''}</p>
137
- </div>
138
- </body>
139
- </html>`,
140
-
141
- resume: (data) => `
142
- <!DOCTYPE html>
143
- <html>
144
- <head>
145
- <meta charset="UTF-8">
146
- <style>
147
- body { font-family: 'Helvetica Neue', Arial, sans-serif; margin: 40px; color: #333; line-height: 1.5; }
148
- .header { text-align: center; margin-bottom: 30px; border-bottom: 2px solid #2c3e50; padding-bottom: 20px; }
149
- .name { font-size: 32px; color: #2c3e50; margin-bottom: 10px; }
150
- .contact { font-size: 14px; color: #7f8c8d; }
151
- .contact a { color: #3498db; text-decoration: none; }
152
- h2 { color: #2c3e50; font-size: 16px; text-transform: uppercase; letter-spacing: 1px; margin-top: 25px; border-bottom: 1px solid #ddd; padding-bottom: 5px; }
153
- .summary { font-style: italic; color: #555; margin-bottom: 20px; }
154
- .experience-item, .education-item { margin-bottom: 20px; }
155
- .job-title { font-weight: bold; }
156
- .company { color: #3498db; }
157
- .date { font-size: 12px; color: #7f8c8d; float: right; }
158
- .skills { display: flex; flex-wrap: wrap; gap: 8px; }
159
- .skill-tag { background: #e8f4f8; color: #2c3e50; padding: 4px 12px; border-radius: 15px; font-size: 12px; }
160
- </style>
161
- </head>
162
- <body>
163
- <div class="header">
164
- <div class="name">${data.name || 'Your Name'}</div>
165
- <div class="contact">
166
- ${data.email || ''} | ${data.phone || ''} | ${data.location || ''}<br>
167
- ${data.linkedin ? `<a href="${data.linkedin}">${data.linkedin}</a>` : ''}
168
- ${data.website ? `| <a href="${data.website}">${data.website}</a>` : ''}
169
- </div>
170
- </div>
171
-
172
- <h2>Professional Summary</h2>
173
- <p class="summary">${data.summary || ''}</p>
174
-
175
- <h2>Experience</h2>
176
- ${data.experience || '<div class="experience-item"><span class="job-title">Position</span> at <span class="company">Company</span></div>'}
177
-
178
- <h2>Education</h2>
179
- ${data.education || '<div class="education-item">Degree - Institution</div>'}
180
-
181
- <h2>Skills</h2>
182
- <div class="skills">
183
- ${data.skills || '<span class="skill-tag">Skill</span>'}
184
- </div>
185
- </body>
186
- </html>`,
187
-
188
- letter: (data) => `
189
- <!DOCTYPE html>
190
- <html>
191
- <head>
192
- <meta charset="UTF-8">
193
- <style>
194
- body { font-family: 'Times New Roman', serif; margin: 60px; color: #333; line-height: 1.8; font-size: 14px; }
195
- .sender-info { margin-bottom: 40px; }
196
- .date { margin-bottom: 40px; }
197
- .recipient-info { margin-bottom: 40px; }
198
- .body { margin-bottom: 40px; text-align: justify; }
199
- .closing { margin-top: 40px; }
200
- .signature { margin-top: 60px; }
201
- </style>
202
- </head>
203
- <body>
204
- <div class="sender-info">
205
- <strong>${data.senderName || ''}</strong><br>
206
- ${data.senderAddress || ''}<br>
207
- ${data.senderCity || ''}, ${data.senderState || ''} ${data.senderZip || ''}
208
- </div>
209
-
210
- <div class="date">${data.date || new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })}</div>
211
-
212
- <div class="recipient-info">
213
- ${data.recipientName || ''}<br>
214
- ${data.recipientTitle ? data.recipientTitle + '<br>' : ''}
215
- ${data.recipientCompany ? data.recipientCompany + '<br>' : ''}
216
- ${data.recipientAddress || ''}<br>
217
- ${data.recipientCity || ''}, ${data.recipientState || ''} ${data.recipientZip || ''}
218
- </div>
219
-
220
- <div class="body">
221
- <p>Dear ${data.recipientName || 'Sir/Madam'},</p>
222
- <p>${data.body || ''}</p>
223
- </div>
224
-
225
- <div class="closing">
226
- ${data.closing || 'Sincerely'},
227
- </div>
228
-
229
- <div class="signature">
230
- ${data.senderName || ''}
231
- </div>
232
- </body>
233
- </html>`,
234
-
235
- contract: (data) => `
236
- <!DOCTYPE html>
237
- <html>
238
- <head>
239
- <meta charset="UTF-8">
240
- <style>
241
- body { font-family: 'Times New Roman', serif; margin: 50px; color: #333; line-height: 1.6; font-size: 12px; }
242
- .title { text-align: center; font-size: 24px; font-weight: bold; margin-bottom: 30px; text-transform: uppercase; }
243
- .date { text-align: center; margin-bottom: 30px; }
244
- h2 { font-size: 14px; margin-top: 25px; }
245
- .parties { margin-bottom: 30px; }
246
- .section { margin-bottom: 20px; text-align: justify; }
247
- .signatures { margin-top: 60px; display: flex; justify-content: space-between; }
248
- .signature-block { width: 45%; }
249
- .signature-line { border-top: 1px solid #333; margin-top: 60px; padding-top: 10px; }
250
- </style>
251
- </head>
252
- <body>
253
- <div class="title">${data.contractTitle || 'SERVICE AGREEMENT'}</div>
254
- <div class="date">Effective Date: ${data.effectiveDate || new Date().toLocaleDateString()}</div>
255
-
256
- <div class="parties">
257
- <p>This Agreement is entered into by and between:</p>
258
- <p><strong>${data.party1Name || 'Party 1'}</strong> ("${data.party1Label || 'Provider'}")<br>
259
- Address: ${data.party1Address || ''}</p>
260
- <p>AND</p>
261
- <p><strong>${data.party2Name || 'Party 2'}</strong> ("${data.party2Label || 'Client'}")<br>
262
- Address: ${data.party2Address || ''}</p>
263
- </div>
264
-
265
- <div class="section">
266
- <h2>1. PURPOSE</h2>
267
- <p>${data.purpose || ''}</p>
268
- </div>
269
-
270
- <div class="section">
271
- <h2>2. TERM</h2>
272
- <p>This Agreement shall be effective for a period of ${data.term || '12 months'} from the Effective Date.</p>
273
- </div>
274
-
275
- <div class="section">
276
- <h2>3. OBLIGATIONS</h2>
277
- <p>${data.obligations || ''}</p>
278
- </div>
279
-
280
- <div class="section">
281
- <h2>4. COMPENSATION</h2>
282
- <p>${data.compensation || ''}</p>
283
- </div>
284
-
285
- <div class="section">
286
- <h2>5. TERMINATION</h2>
287
- <p>${data.termination || ''}</p>
288
- </div>
289
-
290
- <div class="section">
291
- <h2>6. GOVERNING LAW</h2>
292
- <p>This Agreement shall be governed by the laws of ${data.governingLaw || 'the applicable jurisdiction'}.</p>
293
- </div>
294
-
295
- <div class="signatures">
296
- <div class="signature-block">
297
- <div class="signature-line">
298
- ${data.party1Name || 'Party 1'}<br>
299
- ${data.party1Label || 'Provider'}
300
- </div>
301
- </div>
302
- <div class="signature-block">
303
- <div class="signature-line">
304
- ${data.party2Name || 'Party 2'}<br>
305
- ${data.party2Label || 'Client'}
306
- </div>
307
- </div>
308
- </div>
309
- </body>
310
- </html>`
311
- };
@@ -1,28 +0,0 @@
1
- export const PAGE_FORMATS: Record<string, { width: number; height: number }> = {
2
- A4: { width: 210, height: 297 },
3
- Letter: { width: 216, height: 279 },
4
- Legal: { width: 216, height: 356 },
5
- A3: { width: 297, height: 420 },
6
- A5: { width: 148, height: 210 },
7
- Tabloid: { width: 279, height: 432 },
8
- };
9
-
10
- export interface GenerateOptions {
11
- content?: string;
12
- contentType: "markdown" | "html" | "text";
13
- format: string;
14
- orientation: "portrait" | "landscape";
15
- margin: { top: string; right: string; bottom: string; left: string };
16
- header?: string;
17
- footer?: string;
18
- displayHeaderFooter: boolean;
19
- printBackground: boolean;
20
- css?: string;
21
- title?: string;
22
- author?: string;
23
- subject?: string;
24
- filename?: string;
25
- template?: string;
26
- data?: Record<string, string>;
27
- url?: string;
28
- }
@@ -1,16 +0,0 @@
1
- {
2
- "extends": "../tsconfig.base.json",
3
- "compilerOptions": {
4
- "forceConsistentCasingInFileNames": true,
5
- "outDir": "./dist",
6
- "rootDir": "."
7
- },
8
- "include": [
9
- "src/**/*",
10
- "bin/**/*"
11
- ],
12
- "exclude": [
13
- "node_modules",
14
- "dist"
15
- ]
16
- }
@@ -1,88 +0,0 @@
1
- ---
2
- name: pdf-to-dataset
3
- description: Extract tables and Label/value form fields from PDFs into CSV and JSON datasets with an inferred schema, per-page findings, and heuristic confidence notes.
4
- ---
5
-
6
- # PDF to Dataset
7
-
8
- Turn a text-based PDF into a structured dataset. Extraction runs locally with
9
- `pdf-parse`; no network calls and no credentials are involved.
10
-
11
- ## What It Does
12
-
13
- - Rebuilds each page's visual layout (x/y positions) so column gaps survive text extraction.
14
- - **Tables mode** — groups consecutive lines that share a whitespace-separated column layout, detects a header row (unique, mostly non-numeric cells above typed data), pads ragged rows, and names columns `snake_case`.
15
- - **Forms mode** — collects `Label: value` pairs, including several pairs on one line separated by wide gaps.
16
- - **Auto mode** — uses tables when any table block is found, otherwise falls back to form fields.
17
- - Infers a column type per field: `string`, `number` (currency symbols, thousands separators and `(1,234)` negatives tolerated), `date`, or `empty`.
18
- - Scores every table with a transparent heuristic confidence and explains the score in the report.
19
-
20
- ## Requirements
21
-
22
- - [Bun](https://bun.sh) 1.x
23
- - npm dependencies: `pdf-parse`, `csv-stringify` (install once with `bun install` in this skill directory)
24
- - A text-based PDF. Scanned/image-only PDFs contain no extractable text; the skill exits with a clear error.
25
-
26
- ## Usage
27
-
28
- ```bash
29
- # Auto-detect tables or form fields
30
- skills run pdf-to-dataset -- --input ./report.pdf
31
-
32
- # Force table extraction from a page range
33
- skills run pdf-to-dataset -- --input ./report.pdf --mode tables --pages 2-4
34
-
35
- # Invoice-style key/value extraction into a chosen directory
36
- skills run pdf-to-dataset -- --input ./invoice.pdf --mode forms --output ./exports/invoice
37
-
38
- # Machine-readable summary on stdout
39
- skills run pdf-to-dataset -- --input ./report.pdf --json
40
- ```
41
-
42
- Run it directly from the skill directory with `bun run src/index.ts --input ./report.pdf`.
43
-
44
- ## Options
45
-
46
- | Option | Description | Default |
47
- |--------|-------------|---------|
48
- | `-i, --input <path>` | PDF file to extract (also accepted positionally) | required |
49
- | `-o, --output <dir>` | Output directory | `./pdf-dataset` |
50
- | `-m, --mode <mode>` | `tables`, `forms`, or `auto` | `auto` |
51
- | `-p, --pages <ranges>` | Page selection such as `1-3,8` | all pages |
52
- | `--min-rows <n>` | Minimum lines for a block to count as a table | `2` |
53
- | `--json` | Print the extraction summary as JSON on stdout | off |
54
- | `--help` | Show usage | |
55
- | `--version` | Show version | |
56
-
57
- ## Outputs
58
-
59
- Written into `--output` (default `./pdf-dataset`):
60
-
61
- | File | Contents |
62
- |------|----------|
63
- | `dataset.json` | Every detected table and form page, plus the flattened `records` list |
64
- | `dataset.csv` | The primary (largest) table, or one row per form page in forms mode |
65
- | `schema.json` | Inferred column names, types, fill counts, and sample values |
66
- | `extraction-report.md` | Per-page findings table, per-table notes, and confidence notes |
67
-
68
- Without `--json`, a summary table is printed to stdout:
69
-
70
- ```
71
- pdf-to-dataset: /abs/path/report.pdf
72
- mode auto -> tables
73
- pages scanned 3/3
74
- tables found 1
75
- form pages 1
76
- records 4
77
- table-1 (page 2): 4 rows x 4 cols, confidence 0.85
78
- output /abs/path/pdf-dataset
79
- files dataset.json, dataset.csv, schema.json, extraction-report.md
80
- ```
81
-
82
- Confidence is a documented heuristic (header detection + cell fill rate + typed columns + row
83
- count), not a model score. Review low-confidence tables against the source PDF.
84
-
85
- ## Exit Codes
86
-
87
- - `0` — extraction completed (even if nothing was found; the report says so)
88
- - `1` — missing/unreadable input, not a PDF, unparseable PDF, or no extractable text
@@ -1,37 +0,0 @@
1
- {
2
- "name": "pdf-to-dataset",
3
- "version": "0.1.0",
4
- "private": true,
5
- "description": "Extract PDF tables and form fields into CSV and JSON datasets with an inferred schema and extraction report",
6
- "type": "module",
7
- "main": "src/index.ts",
8
- "bin": {
9
- "pdf-to-dataset": "src/index.ts"
10
- },
11
- "files": [
12
- "src",
13
- "SKILL.md",
14
- "tsconfig.json"
15
- ],
16
- "keywords": [
17
- "pdf",
18
- "dataset",
19
- "tables",
20
- "extraction",
21
- "cli",
22
- "skill"
23
- ],
24
- "scripts": {
25
- "start": "bun run src/index.ts",
26
- "typecheck": "tsc --noEmit"
27
- },
28
- "dependencies": {
29
- "csv-stringify": "^6.5.2",
30
- "pdf-parse": "^1.1.1"
31
- },
32
- "devDependencies": {
33
- "@types/bun": "latest",
34
- "@types/pdf-parse": "^1.1.4",
35
- "typescript": "^5.7.0"
36
- }
37
- }