@hasna/skills 0.1.62 → 0.1.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/README.md +38 -12
  2. package/bin/index.js +15743 -21709
  3. package/bin/mcp.js +3866 -11522
  4. package/bin/migrate.js +281 -35
  5. package/bin/server.js +5805 -2682
  6. package/bin/worker.js +5280 -2388
  7. package/dist/cli/commands/publish.d.ts +2 -0
  8. package/dist/cli/commands/registry-reconcile.d.ts +2 -0
  9. package/dist/cli/components/App.d.ts +2 -1
  10. package/dist/cli/components/CategorySelect.d.ts +2 -1
  11. package/dist/cli/components/Header.d.ts +2 -1
  12. package/dist/cli/components/InstallProgress.d.ts +2 -1
  13. package/dist/cli/components/SearchView.d.ts +2 -1
  14. package/dist/cli/components/SkillSelect.d.ts +2 -1
  15. package/dist/index.d.ts +5 -2
  16. package/dist/index.js +5386 -13739
  17. package/dist/lib/agent-sync.d.ts +61 -6
  18. package/dist/lib/auth-store.d.ts +37 -0
  19. package/dist/lib/config.d.ts +51 -0
  20. package/dist/lib/home-adoption.d.ts +91 -0
  21. package/dist/lib/home-census.d.ts +26 -0
  22. package/dist/lib/home-migration.d.ts +60 -0
  23. package/dist/lib/native-storage.d.ts +1 -1
  24. package/dist/lib/portable-skills-files.d.ts +21 -1
  25. package/dist/lib/portable-skills-types.d.ts +46 -0
  26. package/dist/lib/portable-skills.d.ts +35 -6
  27. package/dist/lib/pull.d.ts +97 -0
  28. package/dist/lib/registry-reconcile.d.ts +114 -0
  29. package/dist/lib/registry.d.ts +7 -4
  30. package/dist/lib/remote-client.d.ts +124 -1
  31. package/dist/lib/remote-registry.d.ts +26 -0
  32. package/dist/lib/revision.d.ts +29 -0
  33. package/dist/lib/run-state.d.ts +5 -0
  34. package/dist/lib/skill-bundles.d.ts +54 -0
  35. package/dist/lib/skill-contract.d.ts +35 -0
  36. package/dist/lib/skill-hash.d.ts +77 -0
  37. package/dist/sdk/cancel.d.ts +30 -0
  38. package/dist/sdk/dispatcher.d.ts +40 -0
  39. package/dist/sdk/event-sink.d.ts +2 -0
  40. package/dist/sdk/events.d.ts +79 -0
  41. package/dist/sdk/execution/admission.d.ts +44 -0
  42. package/dist/sdk/execution/dispatchers/e2b.d.ts +17 -0
  43. package/dist/sdk/execution/dispatchers/ecs.d.ts +151 -0
  44. package/dist/sdk/execution/image-profile.d.ts +73 -0
  45. package/dist/sdk/execution/index.d.ts +15 -0
  46. package/dist/sdk/execution/receipts.d.ts +44 -0
  47. package/dist/sdk/execution/state-machine.d.ts +38 -0
  48. package/dist/sdk/execution/storage.d.ts +158 -0
  49. package/dist/sdk/execution/types.d.ts +130 -0
  50. package/dist/sdk/executor.d.ts +17 -0
  51. package/dist/sdk/governance-store.d.ts +156 -0
  52. package/dist/sdk/governance.d.ts +92 -0
  53. package/dist/sdk/index.d.ts +26 -0
  54. package/dist/sdk/index.js +49728 -0
  55. package/dist/sdk/offline.d.ts +16 -0
  56. package/dist/sdk/outputs.d.ts +71 -0
  57. package/dist/sdk/registry.d.ts +28 -0
  58. package/dist/sdk/runs.d.ts +229 -0
  59. package/dist/sdk/server.d.ts +35 -0
  60. package/dist/sdk/spend.d.ts +36 -0
  61. package/dist/sdk/storage.d.ts +25 -0
  62. package/dist/server/app.d.ts +42 -0
  63. package/dist/server/artifact-storage.d.ts +102 -0
  64. package/dist/server/auth.d.ts +5 -0
  65. package/dist/server/config.d.ts +50 -0
  66. package/dist/server/database-url.d.ts +42 -0
  67. package/dist/server/handlers.d.ts +3 -0
  68. package/dist/server/index.d.ts +2 -0
  69. package/dist/server/migrate.d.ts +13 -0
  70. package/dist/server/migrations-dir.d.ts +18 -0
  71. package/dist/server/redaction.d.ts +1 -0
  72. package/dist/server/registry.d.ts +5 -0
  73. package/dist/server/rows.d.ts +24 -0
  74. package/dist/server/skills-api.d.ts +170 -0
  75. package/dist/server/sqlite-store.d.ts +131 -0
  76. package/dist/server/store-fixtures.d.ts +25 -0
  77. package/dist/server/store.d.ts +170 -0
  78. package/dist/server/types.d.ts +337 -0
  79. package/dist/server/worker.d.ts +4 -0
  80. package/dist/storage.js +39 -2
  81. package/docs/skill-standard.md +211 -39
  82. package/migrations/postgres/0003_run_outputs_governance.sql +83 -0
  83. package/migrations/postgres/0004_hosted_pins.sql +28 -0
  84. package/migrations/postgres/0005_revision_tombstone_registry.sql +37 -0
  85. package/migrations/postgres/0005_tag_projection.sql +36 -0
  86. package/migrations/sqlite/0003_run_outputs_governance.sql +58 -0
  87. package/migrations/sqlite/0004_hosted_pins.sql +21 -0
  88. package/migrations/sqlite/0005_revision_tombstone_registry.sql +18 -0
  89. package/migrations/sqlite/0005_tag_projection.sql +25 -0
  90. package/package.json +12 -8
  91. package/schemas/skill.schema.json +181 -0
  92. package/agent-skills/README.md +0 -41
  93. package/agent-skills/fleet-package-rollout/SKILL.md +0 -169
  94. package/agent-skills/inbox/SKILL.md +0 -25
  95. package/agent-skills/inbox/scripts/inbox +0 -109
  96. package/agent-skills/inbox/tests/test_registered_sender_id.sh +0 -92
  97. package/agent-skills/inbox-monitor/SKILL.md +0 -41
  98. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +0 -91
  99. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +0 -71
  100. package/agent-skills/merge-pr/SKILL.md +0 -85
  101. package/agent-skills/merge-pr/references/merge-safety.md +0 -82
  102. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +0 -694
  103. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +0 -647
  104. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +0 -28
  105. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +0 -28
  106. package/agent-skills/skill-goal-execute/SKILL.md +0 -115
  107. package/agent-skills/skill-login/SKILL.md +0 -109
  108. package/agent-skills/skill-project-create/SKILL.md +0 -91
  109. package/agent-skills/skill-publish/SKILL.md +0 -254
  110. package/agent-skills/skill-publish/scripts/capture_registry.js +0 -47
  111. package/agent-skills/skill-publish/scripts/publish_with_git_head.sh +0 -143
  112. package/agent-skills/skill-publish/scripts/test_publish_with_git_head.sh +0 -231
  113. package/skills/_common/auth.ts +0 -45
  114. package/skills/_common/http-client.ts +0 -143
  115. package/skills/_common/index.ts +0 -26
  116. package/skills/_common/install.sh +0 -7
  117. package/skills/_common/installer.ts +0 -72
  118. package/skills/_common/skill-install.ts +0 -37
  119. package/skills/_common/vision.ts +0 -374
  120. package/skills/ad-creative-pack/SKILL.md +0 -55
  121. package/skills/ad-creative-pack/package.json +0 -10
  122. package/skills/analyze-data/CLAUDE.md +0 -16
  123. package/skills/analyze-data/SKILL.md +0 -112
  124. package/skills/analyze-data/package.json +0 -23
  125. package/skills/analyze-data/src/analysis.ts +0 -401
  126. package/skills/analyze-data/src/cli.ts +0 -66
  127. package/skills/analyze-data/src/formatters.ts +0 -235
  128. package/skills/analyze-data/src/index.ts +0 -74
  129. package/skills/analyze-data/src/logger.ts +0 -36
  130. package/skills/analyze-data/src/parsers.ts +0 -57
  131. package/skills/analyze-data/src/stats.ts +0 -151
  132. package/skills/analyze-data/src/types.ts +0 -85
  133. package/skills/analyze-data/tsconfig.json +0 -19
  134. package/skills/api-docs-portal/SKILL.md +0 -84
  135. package/skills/api-docs-portal/package.json +0 -35
  136. package/skills/api-docs-portal/src/index.ts +0 -919
  137. package/skills/api-docs-portal/tsconfig.json +0 -17
  138. package/skills/api-test-suite/CLAUDE.md +0 -19
  139. package/skills/api-test-suite/package.json +0 -27
  140. package/skills/api-test-suite/src/index.ts +0 -381
  141. package/skills/api-test-suite/tsconfig.json +0 -10
  142. package/skills/audio-extract/CLAUDE.md +0 -9
  143. package/skills/audio-extract/SKILL.md +0 -73
  144. package/skills/audio-extract/package.json +0 -23
  145. package/skills/audio-extract/src/index.ts +0 -323
  146. package/skills/audio-extract/tsconfig.json +0 -11
  147. package/skills/bio-sequence-tool/CLAUDE.md +0 -19
  148. package/skills/bio-sequence-tool/package.json +0 -27
  149. package/skills/bio-sequence-tool/src/index.ts +0 -85
  150. package/skills/bio-sequence-tool/tsconfig.json +0 -10
  151. package/skills/blog-article/CLAUDE.md +0 -12
  152. package/skills/blog-article/SKILL.md +0 -55
  153. package/skills/blog-article/package.json +0 -10
  154. package/skills/blog-article/tsconfig.json +0 -10
  155. package/skills/brand-assets/SKILL.md +0 -118
  156. package/skills/brand-assets/package.json +0 -35
  157. package/skills/brand-assets/src/cli.ts +0 -155
  158. package/skills/brand-assets/src/constants.ts +0 -8
  159. package/skills/brand-assets/src/extract.ts +0 -236
  160. package/skills/brand-assets/src/index.ts +0 -668
  161. package/skills/brand-assets/src/types.ts +0 -59
  162. package/skills/brand-assets/tsconfig.json +0 -17
  163. package/skills/brand-kit/SKILL.md +0 -54
  164. package/skills/brand-kit/package.json +0 -10
  165. package/skills/businessactivity/CLAUDE.md +0 -176
  166. package/skills/businessactivity/LICENSE +0 -192
  167. package/skills/businessactivity/README.md +0 -287
  168. package/skills/businessactivity/package.json +0 -25
  169. package/skills/businessactivity/scripts/publish.ts +0 -210
  170. package/skills/businessactivity/src/commands/activity.ts +0 -211
  171. package/skills/businessactivity/src/commands/function.ts +0 -227
  172. package/skills/businessactivity/src/commands/owner.ts +0 -193
  173. package/skills/businessactivity/src/commands/profile.ts +0 -121
  174. package/skills/businessactivity/src/commands/responsibility.ts +0 -264
  175. package/skills/businessactivity/src/commands/team.ts +0 -244
  176. package/skills/businessactivity/src/commands/workflow.ts +0 -359
  177. package/skills/businessactivity/src/index.ts +0 -3
  178. package/skills/businessactivity/src/lib/config.ts +0 -167
  179. package/skills/businessactivity/src/lib/output.ts +0 -76
  180. package/skills/businessactivity/src/lib/paths.ts +0 -79
  181. package/skills/businessactivity/src/lib/storage.ts +0 -95
  182. package/skills/businessactivity/src/types/index.ts +0 -86
  183. package/skills/businessactivity/tsconfig.json +0 -29
  184. package/skills/codefix/LICENSE +0 -192
  185. package/skills/codefix/README.md +0 -232
  186. package/skills/codefix/SKILL.md +0 -94
  187. package/skills/codefix/package.json +0 -21
  188. package/skills/codefix/src/fixers/batch.ts +0 -213
  189. package/skills/codefix/src/fixers/detector.ts +0 -160
  190. package/skills/codefix/src/fixers/index.ts +0 -7
  191. package/skills/codefix/src/fixers/runner.ts +0 -522
  192. package/skills/codefix/src/index-local.ts +0 -431
  193. package/skills/codefix/src/index.ts +0 -4
  194. package/skills/codefix/src/types.ts +0 -211
  195. package/skills/codefix/tsconfig.json +0 -15
  196. package/skills/commitpush/SKILL.md +0 -57
  197. package/skills/commitpush/package.json +0 -33
  198. package/skills/commitpush/src/index.ts +0 -34
  199. package/skills/commitpush/tsconfig.json +0 -17
  200. package/skills/commitpushpr/SKILL.md +0 -55
  201. package/skills/commitpushpr/package.json +0 -33
  202. package/skills/commitpushpr/src/index.ts +0 -34
  203. package/skills/commitpushpr/tsconfig.json +0 -17
  204. package/skills/compress-video/CLAUDE.md +0 -9
  205. package/skills/compress-video/SKILL.md +0 -79
  206. package/skills/compress-video/package.json +0 -23
  207. package/skills/compress-video/src/index.ts +0 -473
  208. package/skills/compress-video/tsconfig.json +0 -11
  209. package/skills/contract-review-report/SKILL.md +0 -52
  210. package/skills/contract-review-report/package.json +0 -10
  211. package/skills/customer-feedback-report/SKILL.md +0 -52
  212. package/skills/customer-feedback-report/package.json +0 -10
  213. package/skills/dashboard-builder/CLAUDE.md +0 -19
  214. package/skills/dashboard-builder/package.json +0 -29
  215. package/skills/dashboard-builder/src/index.ts +0 -150
  216. package/skills/dashboard-builder/tsconfig.json +0 -10
  217. package/skills/data-anonymizer/CLAUDE.md +0 -19
  218. package/skills/data-anonymizer/package.json +0 -27
  219. package/skills/data-anonymizer/src/index.ts +0 -183
  220. package/skills/data-anonymizer/tsconfig.json +0 -10
  221. package/skills/database-explorer/CLAUDE.md +0 -19
  222. package/skills/database-explorer/package.json +0 -29
  223. package/skills/database-explorer/src/index.ts +0 -95
  224. package/skills/database-explorer/tsconfig.json +0 -10
  225. package/skills/diff-viewer/CLAUDE.md +0 -19
  226. package/skills/diff-viewer/package.json +0 -30
  227. package/skills/diff-viewer/src/index.ts +0 -164
  228. package/skills/diff-viewer/tsconfig.json +0 -10
  229. package/skills/doc-read/SKILL.md +0 -45
  230. package/skills/doc-read/package.json +0 -29
  231. package/skills/doc-read/src/index.ts +0 -324
  232. package/skills/doc-read/tsconfig.json +0 -8
  233. package/skills/domainpurchase/LICENSE +0 -192
  234. package/skills/domainpurchase/SKILL.md +0 -29
  235. package/skills/domainpurchase/package.json +0 -30
  236. package/skills/domainpurchase/src/index.ts +0 -3
  237. package/skills/domainpurchase/tsconfig.json +0 -21
  238. package/skills/email-sequence/SKILL.md +0 -53
  239. package/skills/email-sequence/package.json +0 -10
  240. package/skills/experiment-power-calculator/CLAUDE.md +0 -19
  241. package/skills/experiment-power-calculator/package.json +0 -29
  242. package/skills/experiment-power-calculator/src/index.ts +0 -86
  243. package/skills/experiment-power-calculator/tsconfig.json +0 -10
  244. package/skills/extract-frames/CLAUDE.md +0 -19
  245. package/skills/extract-frames/package.json +0 -27
  246. package/skills/extract-frames/src/index.ts +0 -616
  247. package/skills/extract-frames/tsconfig.json +0 -10
  248. package/skills/file-organizer/CLAUDE.md +0 -19
  249. package/skills/file-organizer/package.json +0 -27
  250. package/skills/file-organizer/src/index.ts +0 -91
  251. package/skills/file-organizer/tsconfig.json +0 -10
  252. package/skills/folder-tree/CLAUDE.md +0 -19
  253. package/skills/folder-tree/package.json +0 -29
  254. package/skills/folder-tree/src/index.ts +0 -568
  255. package/skills/folder-tree/tsconfig.json +0 -10
  256. package/skills/form-filler/CLAUDE.md +0 -19
  257. package/skills/form-filler/package.json +0 -29
  258. package/skills/form-filler/src/index.ts +0 -81
  259. package/skills/form-filler/tsconfig.json +0 -10
  260. package/skills/generate-api-client/CLAUDE.md +0 -19
  261. package/skills/generate-api-client/package.json +0 -29
  262. package/skills/generate-api-client/src/generator.ts +0 -47
  263. package/skills/generate-api-client/src/index.ts +0 -92
  264. package/skills/generate-api-client/src/logger.ts +0 -34
  265. package/skills/generate-api-client/src/python-generator.ts +0 -245
  266. package/skills/generate-api-client/src/spec-loader.ts +0 -48
  267. package/skills/generate-api-client/src/type-mappers.ts +0 -79
  268. package/skills/generate-api-client/src/types.ts +0 -76
  269. package/skills/generate-api-client/src/typescript-generator.ts +0 -247
  270. package/skills/generate-api-client/tsconfig.json +0 -10
  271. package/skills/generate-chart/CLAUDE.md +0 -19
  272. package/skills/generate-chart/package.json +0 -27
  273. package/skills/generate-chart/src/index.ts +0 -510
  274. package/skills/generate-chart/tsconfig.json +0 -10
  275. package/skills/generate-dockerfile/CLAUDE.md +0 -19
  276. package/skills/generate-dockerfile/package.json +0 -27
  277. package/skills/generate-dockerfile/src/cli.ts +0 -78
  278. package/skills/generate-dockerfile/src/dockerfile-templates.ts +0 -392
  279. package/skills/generate-dockerfile/src/index.ts +0 -81
  280. package/skills/generate-dockerfile/src/logger.ts +0 -30
  281. package/skills/generate-dockerfile/src/project-detection.ts +0 -68
  282. package/skills/generate-dockerfile/src/support-files.ts +0 -171
  283. package/skills/generate-dockerfile/src/types.ts +0 -29
  284. package/skills/generate-dockerfile/tsconfig.json +0 -10
  285. package/skills/generate-env/CLAUDE.md +0 -19
  286. package/skills/generate-env/package.json +0 -29
  287. package/skills/generate-env/src/cli.ts +0 -85
  288. package/skills/generate-env/src/detection.ts +0 -161
  289. package/skills/generate-env/src/env-data.ts +0 -66
  290. package/skills/generate-env/src/generators.ts +0 -240
  291. package/skills/generate-env/src/index.ts +0 -120
  292. package/skills/generate-env/src/runtime.ts +0 -30
  293. package/skills/generate-env/src/types.ts +0 -32
  294. package/skills/generate-env/tsconfig.json +0 -10
  295. package/skills/generate-favicon/CLAUDE.md +0 -19
  296. package/skills/generate-favicon/package.json +0 -29
  297. package/skills/generate-favicon/src/index.ts +0 -421
  298. package/skills/generate-favicon/tsconfig.json +0 -10
  299. package/skills/generate-qrcode/CLAUDE.md +0 -19
  300. package/skills/generate-qrcode/package.json +0 -30
  301. package/skills/generate-qrcode/src/index.ts +0 -584
  302. package/skills/generate-qrcode/tsconfig.json +0 -10
  303. package/skills/generate-resume/CLAUDE.md +0 -19
  304. package/skills/generate-resume/package.json +0 -27
  305. package/skills/generate-resume/src/cli.ts +0 -157
  306. package/skills/generate-resume/src/index.ts +0 -178
  307. package/skills/generate-resume/src/parsers.ts +0 -95
  308. package/skills/generate-resume/src/renderers.ts +0 -538
  309. package/skills/generate-resume/src/security.ts +0 -39
  310. package/skills/generate-resume/src/types.ts +0 -86
  311. package/skills/generate-resume/tsconfig.json +0 -10
  312. package/skills/generate-sitemap/CLAUDE.md +0 -19
  313. package/skills/generate-sitemap/package.json +0 -27
  314. package/skills/generate-sitemap/src/index.ts +0 -626
  315. package/skills/generate-sitemap/tsconfig.json +0 -10
  316. package/skills/gif-maker/CLAUDE.md +0 -19
  317. package/skills/gif-maker/package.json +0 -30
  318. package/skills/gif-maker/src/index.ts +0 -600
  319. package/skills/gif-maker/tsconfig.json +0 -10
  320. package/skills/hook/LICENSE +0 -192
  321. package/skills/hook/README.md +0 -74
  322. package/skills/hook/SKILL.md +0 -85
  323. package/skills/hook/bunfig.toml +0 -5
  324. package/skills/hook/package.json +0 -28
  325. package/skills/hook/src/commands/create.ts +0 -112
  326. package/skills/hook/src/commands/events.ts +0 -37
  327. package/skills/hook/src/commands/validate.ts +0 -117
  328. package/skills/hook/src/index.ts +0 -118
  329. package/skills/hook/src/templates/root.ts +0 -196
  330. package/skills/hook/src/templates/source.ts +0 -647
  331. package/skills/hook/tsconfig.json +0 -18
  332. package/skills/http-server/CLAUDE.md +0 -19
  333. package/skills/http-server/package.json +0 -29
  334. package/skills/http-server/src/index.ts +0 -51
  335. package/skills/http-server/tsconfig.json +0 -10
  336. package/skills/implementation/LICENSE +0 -192
  337. package/skills/implementation/README.md +0 -53
  338. package/skills/implementation/SKILL.md +0 -57
  339. package/skills/implementation/bunfig.toml +0 -5
  340. package/skills/implementation/package.json +0 -28
  341. package/skills/implementation/src/commands/create.ts +0 -187
  342. package/skills/implementation/src/index.ts +0 -62
  343. package/skills/implementation/tsconfig.json +0 -18
  344. package/skills/implementation-plan/CLAUDE.md +0 -19
  345. package/skills/implementation-plan/package.json +0 -29
  346. package/skills/implementation-plan/src/index.ts +0 -520
  347. package/skills/implementation-plan/tsconfig.json +0 -10
  348. package/skills/implementation-todo/CLAUDE.md +0 -19
  349. package/skills/implementation-todo/package.json +0 -29
  350. package/skills/implementation-todo/src/index.ts +0 -429
  351. package/skills/implementation-todo/tsconfig.json +0 -10
  352. package/skills/invoice/.env.example +0 -3
  353. package/skills/invoice/CLAUDE.md +0 -31
  354. package/skills/invoice/LICENSE +0 -192
  355. package/skills/invoice/README.md +0 -70
  356. package/skills/invoice/package.json +0 -26
  357. package/skills/invoice/src/commands/companies.ts +0 -202
  358. package/skills/invoice/src/commands/config.ts +0 -132
  359. package/skills/invoice/src/commands/generate.ts +0 -177
  360. package/skills/invoice/src/commands/invoices.ts +0 -218
  361. package/skills/invoice/src/index.ts +0 -3
  362. package/skills/invoice/src/lib/api.ts +0 -124
  363. package/skills/invoice/src/lib/storage.ts +0 -171
  364. package/skills/invoice/src/types/index.ts +0 -86
  365. package/skills/invoice/src/utils/logger.ts +0 -33
  366. package/skills/invoice/src/utils/paths.ts +0 -25
  367. package/skills/invoice/tsconfig.json +0 -23
  368. package/skills/invoice-reconciliation/SKILL.md +0 -98
  369. package/skills/invoice-reconciliation/package.json +0 -36
  370. package/skills/invoice-reconciliation/src/index.ts +0 -743
  371. package/skills/invoice-reconciliation/tsconfig.json +0 -17
  372. package/skills/landing-page-pack/SKILL.md +0 -55
  373. package/skills/landing-page-pack/package.json +0 -10
  374. package/skills/latex-table-generator/CLAUDE.md +0 -19
  375. package/skills/latex-table-generator/package.json +0 -29
  376. package/skills/latex-table-generator/src/index.ts +0 -113
  377. package/skills/latex-table-generator/tsconfig.json +0 -10
  378. package/skills/logo-design/SKILL.md +0 -94
  379. package/skills/logo-design/package.json +0 -35
  380. package/skills/logo-design/src/cli.ts +0 -132
  381. package/skills/logo-design/src/constants.ts +0 -5
  382. package/skills/logo-design/src/docs.ts +0 -102
  383. package/skills/logo-design/src/geometry.ts +0 -324
  384. package/skills/logo-design/src/index.ts +0 -212
  385. package/skills/logo-design/src/palette.ts +0 -258
  386. package/skills/logo-design/src/types.ts +0 -50
  387. package/skills/logo-design/tsconfig.json +0 -17
  388. package/skills/lorem-generator/CLAUDE.md +0 -19
  389. package/skills/lorem-generator/package.json +0 -29
  390. package/skills/lorem-generator/src/index.ts +0 -59
  391. package/skills/lorem-generator/tsconfig.json +0 -10
  392. package/skills/managemcp/CLAUDE.md +0 -14
  393. package/skills/managemcp/README.md +0 -24
  394. package/skills/managemcp/package.json +0 -16
  395. package/skills/managemcp/src/index.ts +0 -3
  396. package/skills/managemcp/tsconfig.json +0 -27
  397. package/skills/markdown-validator/CLAUDE.md +0 -19
  398. package/skills/markdown-validator/package.json +0 -29
  399. package/skills/markdown-validator/src/index.ts +0 -92
  400. package/skills/markdown-validator/tsconfig.json +0 -10
  401. package/skills/market-research-report/SKILL.md +0 -51
  402. package/skills/market-research-report/package.json +0 -10
  403. package/skills/meeting-pack/SKILL.md +0 -52
  404. package/skills/meeting-pack/package.json +0 -10
  405. package/skills/merge-pdfs/CLAUDE.md +0 -19
  406. package/skills/merge-pdfs/package.json +0 -31
  407. package/skills/merge-pdfs/src/index.ts +0 -427
  408. package/skills/merge-pdfs/tsconfig.json +0 -10
  409. package/skills/migration-plan-pack/SKILL.md +0 -56
  410. package/skills/migration-plan-pack/package.json +0 -10
  411. package/skills/monitor/SKILL.md +0 -69
  412. package/skills/monitor/package.json +0 -33
  413. package/skills/monitor/src/index.ts +0 -34
  414. package/skills/monitor/tsconfig.json +0 -17
  415. package/skills/one-page-website/SKILL.md +0 -128
  416. package/skills/one-page-website/package.json +0 -34
  417. package/skills/one-page-website/src/design.ts +0 -336
  418. package/skills/one-page-website/src/docs.ts +0 -159
  419. package/skills/one-page-website/src/index.ts +0 -357
  420. package/skills/one-page-website/src/page.ts +0 -340
  421. package/skills/one-page-website/src/styles.ts +0 -508
  422. package/skills/one-page-website/src/types.ts +0 -78
  423. package/skills/one-page-website/tsconfig.json +0 -17
  424. package/skills/pdf-generate/CLAUDE.md +0 -19
  425. package/skills/pdf-generate/SKILL.md +0 -86
  426. package/skills/pdf-generate/package.json +0 -21
  427. package/skills/pdf-generate/src/cli.ts +0 -162
  428. package/skills/pdf-generate/src/html.ts +0 -84
  429. package/skills/pdf-generate/src/index.ts +0 -62
  430. package/skills/pdf-generate/src/markdown.ts +0 -27
  431. package/skills/pdf-generate/src/pdf-writer.ts +0 -78
  432. package/skills/pdf-generate/src/runtime.ts +0 -34
  433. package/skills/pdf-generate/src/security.ts +0 -37
  434. package/skills/pdf-generate/src/templates.ts +0 -311
  435. package/skills/pdf-generate/src/types.ts +0 -28
  436. package/skills/pdf-generate/tsconfig.json +0 -16
  437. package/skills/pdf-to-dataset/SKILL.md +0 -88
  438. package/skills/pdf-to-dataset/package.json +0 -37
  439. package/skills/pdf-to-dataset/src/index.ts +0 -790
  440. package/skills/pdf-to-dataset/tsconfig.json +0 -17
  441. package/skills/pdf-to-markdown/SKILL.md +0 -81
  442. package/skills/pdf-to-markdown/package.json +0 -35
  443. package/skills/pdf-to-markdown/src/index.ts +0 -694
  444. package/skills/pdf-to-markdown/tsconfig.json +0 -17
  445. package/skills/performance-audit-report/SKILL.md +0 -49
  446. package/skills/performance-audit-report/package.json +0 -10
  447. package/skills/pitch-deck/SKILL.md +0 -51
  448. package/skills/pitch-deck/package.json +0 -10
  449. package/skills/product-mockup/SKILL.md +0 -107
  450. package/skills/product-mockup/package.json +0 -32
  451. package/skills/product-mockup/src/cli.ts +0 -150
  452. package/skills/product-mockup/src/design.ts +0 -151
  453. package/skills/product-mockup/src/docs.ts +0 -134
  454. package/skills/product-mockup/src/index.ts +0 -182
  455. package/skills/product-mockup/src/render.ts +0 -407
  456. package/skills/product-mockup/src/types.ts +0 -66
  457. package/skills/product-mockup/tsconfig.json +0 -17
  458. package/skills/proposal-pack/SKILL.md +0 -53
  459. package/skills/proposal-pack/package.json +0 -10
  460. package/skills/read-csv/SKILL.md +0 -62
  461. package/skills/read-csv/package.json +0 -37
  462. package/skills/read-csv/src/index.ts +0 -356
  463. package/skills/read-csv/tsconfig.json +0 -17
  464. package/skills/read-excel/SKILL.md +0 -64
  465. package/skills/read-excel/package.json +0 -36
  466. package/skills/read-excel/src/index.ts +0 -266
  467. package/skills/read-excel/tsconfig.json +0 -17
  468. package/skills/regex-tester/CLAUDE.md +0 -19
  469. package/skills/regex-tester/package.json +0 -27
  470. package/skills/regex-tester/src/index.ts +0 -183
  471. package/skills/regex-tester/tsconfig.json +0 -10
  472. package/skills/repo-onboarding-report/SKILL.md +0 -52
  473. package/skills/repo-onboarding-report/package.json +0 -10
  474. package/skills/scancommitpr/SKILL.md +0 -178
  475. package/skills/scancommitpr/package.json +0 -34
  476. package/skills/scancommitpr/src/index.ts +0 -44
  477. package/skills/scancommitpr/tsconfig.json +0 -13
  478. package/skills/scancommitpush/SKILL.md +0 -174
  479. package/skills/scancommitpush/package.json +0 -32
  480. package/skills/scancommitpush/src/index.ts +0 -44
  481. package/skills/scancommitpush/tsconfig.json +0 -13
  482. package/skills/scientific-figure-check/CLAUDE.md +0 -19
  483. package/skills/scientific-figure-check/package.json +0 -29
  484. package/skills/scientific-figure-check/src/index.ts +0 -83
  485. package/skills/scientific-figure-check/tsconfig.json +0 -10
  486. package/skills/security-audit/CLAUDE.md +0 -19
  487. package/skills/security-audit/package.json +0 -27
  488. package/skills/security-audit/src/index.ts +0 -145
  489. package/skills/security-audit/tsconfig.json +0 -10
  490. package/skills/security-audit-report/SKILL.md +0 -52
  491. package/skills/security-audit-report/package.json +0 -10
  492. package/skills/seo-content-pack/SKILL.md +0 -54
  493. package/skills/seo-content-pack/package.json +0 -10
  494. package/skills/siteanalyze/SKILL.md +0 -25
  495. package/skills/siteanalyze/package.json +0 -27
  496. package/skills/siteanalyze/src/index.ts +0 -592
  497. package/skills/slide-deck-generator/SKILL.md +0 -93
  498. package/skills/slide-deck-generator/package.json +0 -38
  499. package/skills/slide-deck-generator/src/cli.ts +0 -133
  500. package/skills/slide-deck-generator/src/index.ts +0 -148
  501. package/skills/slide-deck-generator/src/model.ts +0 -307
  502. package/skills/slide-deck-generator/src/pptx.ts +0 -143
  503. package/skills/slide-deck-generator/src/render.ts +0 -248
  504. package/skills/slide-deck-generator/src/types.ts +0 -114
  505. package/skills/slide-deck-generator/src/utils.ts +0 -53
  506. package/skills/slide-deck-generator/tsconfig.json +0 -17
  507. package/skills/social-content-calendar/SKILL.md +0 -54
  508. package/skills/social-content-calendar/package.json +0 -10
  509. package/skills/split-pdf/CLAUDE.md +0 -19
  510. package/skills/split-pdf/package.json +0 -30
  511. package/skills/split-pdf/src/index.ts +0 -301
  512. package/skills/split-pdf/tsconfig.json +0 -10
  513. package/skills/statistical-test-selector/CLAUDE.md +0 -19
  514. package/skills/statistical-test-selector/package.json +0 -27
  515. package/skills/statistical-test-selector/src/index.ts +0 -75
  516. package/skills/statistical-test-selector/tsconfig.json +0 -10
  517. package/skills/test-suite-generator/SKILL.md +0 -51
  518. package/skills/test-suite-generator/package.json +0 -10
  519. package/skills/tmux-session/SKILL.md +0 -109
  520. package/skills/tmux-session/package.json +0 -33
  521. package/skills/tmux-session/src/index.ts +0 -34
  522. package/skills/tmux-session/tsconfig.json +0 -17
  523. package/skills/todos-plan/SKILL.md +0 -363
  524. package/skills/todos-plan/agents/openai.yaml +0 -4
  525. package/skills/todos-plan/package.json +0 -9
  526. package/skills/todos-plan/src/index.ts +0 -68
  527. package/skills/tsconfig.base.json +0 -12
  528. package/skills/validate-config/CLAUDE.md +0 -19
  529. package/skills/validate-config/package.json +0 -29
  530. package/skills/validate-config/src/index.ts +0 -56
  531. package/skills/validate-config/tsconfig.json +0 -10
  532. package/skills/video-downloader/CLAUDE.md +0 -19
  533. package/skills/video-downloader/package.json +0 -29
  534. package/skills/video-downloader/src/index.ts +0 -561
  535. package/skills/video-downloader/tsconfig.json +0 -10
  536. package/skills/video-highlight-pack/SKILL.md +0 -54
  537. package/skills/video-highlight-pack/package.json +0 -10
  538. package/skills/watermark/CLAUDE.md +0 -19
  539. package/skills/watermark/package.json +0 -32
  540. package/skills/watermark/src/index.ts +0 -587
  541. package/skills/watermark/tsconfig.json +0 -10
@@ -1,74 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- /**
4
- * Analyze Data Skill
5
- *
6
- * Comprehensive data analysis for CSV and JSON files with statistics,
7
- * quality checks, correlation detection, and trend analysis.
8
- */
9
-
10
- import { statSync, writeFileSync } from 'fs';
11
- import { resolve } from 'path';
12
-
13
- import { analyzeData } from './analysis';
14
- import { parseArguments } from './cli';
15
- import { formatHTML, formatMarkdown } from './formatters';
16
- import { log, SESSION_ID, SKILL_NAME } from './logger';
17
-
18
- async function main() {
19
- try {
20
- log(`Starting ${SKILL_NAME} session: ${SESSION_ID}`);
21
- const { filePath, options } = parseArguments();
22
-
23
- // Check if file exists
24
- try {
25
- statSync(filePath);
26
- } catch {
27
- log(`Error: File not found: ${filePath}`, 'error');
28
- process.exit(1);
29
- }
30
-
31
- // Perform analysis
32
- const report = await analyzeData(filePath, options);
33
-
34
- // Format output
35
- let output: string;
36
- switch (options.format) {
37
- case 'json':
38
- output = JSON.stringify(report, null, 2);
39
- break;
40
- case 'html':
41
- output = formatHTML(report);
42
- break;
43
- default:
44
- output = formatMarkdown(report);
45
- }
46
-
47
- // Save or print
48
- if (options.output) {
49
- const outputPath = resolve(process.cwd(), options.output);
50
- writeFileSync(outputPath, output, 'utf-8');
51
- log(`Report saved to: ${outputPath}`, 'success');
52
- } else {
53
- console.log(output);
54
- }
55
-
56
- // Show summary in verbose mode
57
- if (options.verbose) {
58
- log('Analysis Complete', 'success');
59
- log(`Rows: ${report.overview.rowCount}`);
60
- log(`Columns: ${report.overview.columnCount}`);
61
- log(`Quality Score: ${report.quality.dataQualityScore}/100`);
62
- log(`Processing Time: ${report.overview.processingTime}ms`);
63
- }
64
-
65
- } catch (error) {
66
- log(`Error: ${error instanceof Error ? error.message : String(error)}`, 'error');
67
- process.exit(1);
68
- }
69
- }
70
-
71
- // Run if called directly
72
- if (import.meta.main) {
73
- main();
74
- }
@@ -1,36 +0,0 @@
1
- import { appendFileSync, existsSync, mkdirSync } from 'fs';
2
- import { randomUUID } from 'crypto';
3
- import { join } from 'path';
4
-
5
- export const SKILL_NAME = "analyze-data";
6
- export const SESSION_ID = randomUUID().slice(0, 8);
7
- export const SKILLS_OUTPUT_DIR = process.env.SKILLS_OUTPUT_DIR || join(process.cwd(), ".skills");
8
- export const LOGS_DIR = join(SKILLS_OUTPUT_DIR, "logs", SKILL_NAME);
9
- export const LOG_FILE = join(LOGS_DIR, `${new Date().toISOString().replace(/[:.]/g, "_").slice(0, 19)}_${SESSION_ID}.log`);
10
-
11
- export function ensureDir(dir: string) {
12
- if (!existsSync(dir)) {
13
- mkdirSync(dir, { recursive: true });
14
- }
15
- }
16
-
17
- export function log(message: string, level: "info" | "error" | "success" = "info") {
18
- ensureDir(LOGS_DIR);
19
- const timestamp = new Date().toISOString();
20
- const logMessage = `[${timestamp}] [${level.toUpperCase()}] ${message}\n`;
21
- appendFileSync(LOG_FILE, logMessage);
22
-
23
- const prefixes = {
24
- info: "ℹ️ ",
25
- error: "❌ ",
26
- success: "✅ "
27
- };
28
-
29
- if (level === "error") {
30
- console.error(`${prefixes[level]} ${message}`);
31
- } else {
32
- console.log(`${prefixes[level]} ${message}`);
33
- }
34
- }
35
-
36
- // ============================================================================
@@ -1,57 +0,0 @@
1
- export function parseCSV(content: string): any[] {
2
- const lines = content.split('\n').filter(line => line.trim());
3
- if (lines.length === 0) return [];
4
-
5
- const headers = lines[0].split(',').map(h => h.trim().replace(/^"|"$/g, ''));
6
- const data: any[] = [];
7
-
8
- for (let i = 1; i < lines.length; i++) {
9
- const values = parseCSVLine(lines[i]);
10
- if (values.length === headers.length) {
11
- const row: any = {};
12
- headers.forEach((header, idx) => {
13
- row[header] = values[idx];
14
- });
15
- data.push(row);
16
- }
17
- }
18
-
19
- return data;
20
- }
21
-
22
- function parseCSVLine(line: string): string[] {
23
- const values: string[] = [];
24
- let current = '';
25
- let inQuotes = false;
26
-
27
- for (let i = 0; i < line.length; i++) {
28
- const char = line[i];
29
-
30
- if (char === '"') {
31
- inQuotes = !inQuotes;
32
- } else if (char === ',' && !inQuotes) {
33
- values.push(current.trim());
34
- current = '';
35
- } else {
36
- current += char;
37
- }
38
- }
39
-
40
- values.push(current.trim());
41
- return values.map(v => v.replace(/^"|"$/g, ''));
42
- }
43
-
44
- export function parseJSON(content: string): any[] {
45
- const parsed = JSON.parse(content);
46
-
47
- if (Array.isArray(parsed)) {
48
- return parsed;
49
- } else if (parsed.data && Array.isArray(parsed.data)) {
50
- return parsed.data;
51
- } else if (typeof parsed === 'object') {
52
- // Convert object to array of key-value pairs
53
- return Object.entries(parsed).map(([key, value]) => ({ key, value }));
54
- }
55
-
56
- throw new Error('Unsupported JSON structure');
57
- }
@@ -1,151 +0,0 @@
1
- import type { ColumnStats } from './types';
2
-
3
- export function detectDataType(values: any[]): ColumnStats['dataType'] {
4
- const nonNullValues = values.filter(v => v !== null && v !== undefined && v !== '');
5
- if (nonNullValues.length === 0) return 'string';
6
-
7
- let numericCount = 0;
8
- let dateCount = 0;
9
- let booleanCount = 0;
10
-
11
- for (const value of nonNullValues.slice(0, 100)) {
12
- if (typeof value === 'number' || !isNaN(Number(value))) {
13
- numericCount++;
14
- }
15
- if (value === true || value === false || value === 'true' || value === 'false') {
16
- booleanCount++;
17
- }
18
- if (!isNaN(Date.parse(String(value)))) {
19
- dateCount++;
20
- }
21
- }
22
-
23
- const total = Math.min(nonNullValues.length, 100);
24
-
25
- if (numericCount / total > 0.8) return 'numeric';
26
- if (booleanCount / total > 0.8) return 'boolean';
27
- if (dateCount / total > 0.8) return 'date';
28
- if (numericCount > 0 && numericCount < total * 0.8) return 'mixed';
29
-
30
- return 'string';
31
- }
32
-
33
- export function calculateStats(values: number[]): Partial<ColumnStats> {
34
- if (values.length === 0) return {};
35
-
36
- const sorted = [...values].sort((a, b) => a - b);
37
- const n = sorted.length;
38
-
39
- // Basic stats
40
- const sum = sorted.reduce((acc, val) => acc + val, 0);
41
- const mean = sum / n;
42
-
43
- const median = n % 2 === 0
44
- ? (sorted[n / 2 - 1] + sorted[n / 2]) / 2
45
- : sorted[Math.floor(n / 2)];
46
-
47
- // Mode
48
- const frequency: Record<number, number> = {};
49
- sorted.forEach(val => {
50
- frequency[val] = (frequency[val] || 0) + 1;
51
- });
52
- const maxFreq = Math.max(...Object.values(frequency));
53
- const modes = Object.keys(frequency)
54
- .filter(key => frequency[Number(key)] === maxFreq)
55
- .map(Number);
56
- const mode = modes.length === sorted.length ? undefined : (modes.length === 1 ? modes[0] : modes);
57
-
58
- // Variance and standard deviation
59
- const squaredDiffs = sorted.map(val => Math.pow(val - mean, 2));
60
- const variance = squaredDiffs.reduce((acc, val) => acc + val, 0) / n;
61
- const stdDev = Math.sqrt(variance);
62
-
63
- // Quartiles
64
- const q1 = sorted[Math.floor(n * 0.25)];
65
- const q2 = median;
66
- const q3 = sorted[Math.floor(n * 0.75)];
67
-
68
- // Skewness and kurtosis
69
- const cubedDiffs = sorted.map(val => Math.pow((val - mean) / stdDev, 3));
70
- const skewness = cubedDiffs.reduce((acc, val) => acc + val, 0) / n;
71
-
72
- const fourthDiffs = sorted.map(val => Math.pow((val - mean) / stdDev, 4));
73
- const kurtosis = fourthDiffs.reduce((acc, val) => acc + val, 0) / n - 3;
74
-
75
- return {
76
- mean: roundTo(mean, 4),
77
- median: roundTo(median, 4),
78
- mode,
79
- stdDev: roundTo(stdDev, 4),
80
- variance: roundTo(variance, 4),
81
- min: sorted[0],
82
- max: sorted[n - 1],
83
- range: sorted[n - 1] - sorted[0],
84
- q1: roundTo(q1, 4),
85
- q2: roundTo(q2, 4),
86
- q3: roundTo(q3, 4),
87
- skewness: roundTo(skewness, 4),
88
- kurtosis: roundTo(kurtosis, 4),
89
- };
90
- }
91
-
92
- export function calculatePercentiles(values: number[], percentiles: number[]): Record<number, number> {
93
- const sorted = [...values].sort((a, b) => a - b);
94
- const result: Record<number, number> = {};
95
-
96
- percentiles.forEach(p => {
97
- const index = (p / 100) * (sorted.length - 1);
98
- const lower = Math.floor(index);
99
- const upper = Math.ceil(index);
100
- const fraction = index - lower;
101
-
102
- result[p] = sorted[lower] + fraction * (sorted[upper] - sorted[lower]);
103
- });
104
-
105
- return result;
106
- }
107
-
108
- export function detectOutliers(values: number[], q1: number, q3: number): number[] {
109
- const iqr = q3 - q1;
110
- const lowerBound = q1 - 1.5 * iqr;
111
- const upperBound = q3 + 1.5 * iqr;
112
-
113
- return values.filter(val => val < lowerBound || val > upperBound);
114
- }
115
-
116
- export function calculateCorrelation(x: number[], y: number[]): number {
117
- const n = Math.min(x.length, y.length);
118
- if (n === 0) return 0;
119
-
120
- const meanX = x.reduce((acc, val) => acc + val, 0) / n;
121
- const meanY = y.reduce((acc, val) => acc + val, 0) / n;
122
-
123
- let numerator = 0;
124
- let sumXSquared = 0;
125
- let sumYSquared = 0;
126
-
127
- for (let i = 0; i < n; i++) {
128
- const dx = x[i] - meanX;
129
- const dy = y[i] - meanY;
130
- numerator += dx * dy;
131
- sumXSquared += dx * dx;
132
- sumYSquared += dy * dy;
133
- }
134
-
135
- const denominator = Math.sqrt(sumXSquared * sumYSquared);
136
- return denominator === 0 ? 0 : numerator / denominator;
137
- }
138
-
139
- export function roundTo(value: number, decimals: number): number {
140
- const factor = Math.pow(10, decimals);
141
- return Math.round(value * factor) / factor;
142
- }
143
-
144
- export function formatBytes(bytes: number): string {
145
- if (bytes < 1024) return bytes + ' B';
146
- if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(2) + ' KB';
147
- if (bytes < 1024 * 1024 * 1024) return (bytes / (1024 * 1024)).toFixed(2) + ' MB';
148
- return (bytes / (1024 * 1024 * 1024)).toFixed(2) + ' GB';
149
- }
150
-
151
- // ============================================================================
@@ -1,85 +0,0 @@
1
- export interface AnalysisOptions {
2
- format: 'markdown' | 'json' | 'html';
3
- output?: string;
4
- correlations: boolean;
5
- outliers: boolean;
6
- trends: boolean;
7
- sample?: number;
8
- percentiles: number[];
9
- verbose: boolean;
10
- }
11
-
12
- export interface ColumnStats {
13
- name: string;
14
- dataType: 'numeric' | 'string' | 'date' | 'boolean' | 'mixed';
15
- count: number;
16
- nullCount: number;
17
- nullPercentage: number;
18
- uniqueCount: number;
19
- uniquePercentage: number;
20
- sampleValues: any[];
21
-
22
- // Numeric stats
23
- mean?: number;
24
- median?: number;
25
- mode?: number | number[];
26
- stdDev?: number;
27
- variance?: number;
28
- min?: number;
29
- max?: number;
30
- range?: number;
31
- q1?: number;
32
- q2?: number;
33
- q3?: number;
34
- percentiles?: Record<number, number>;
35
- skewness?: number;
36
- kurtosis?: number;
37
- outliers?: number[];
38
-
39
- // String stats
40
- avgLength?: number;
41
- minLength?: number;
42
- maxLength?: number;
43
-
44
- // Distribution
45
- distribution?: Record<string, number>;
46
- topValues?: Array<{ value: any; count: number; percentage: number }>;
47
- }
48
-
49
- export interface AnalysisReport {
50
- overview: {
51
- fileName: string;
52
- fileSize: string;
53
- fileType: string;
54
- rowCount: number;
55
- columnCount: number;
56
- memoryUsage: string;
57
- processingTime: number;
58
- timestamp: string;
59
- };
60
- columns: ColumnStats[];
61
- correlations?: number[][];
62
- correlationPairs?: Array<{ col1: string; col2: string; correlation: number }>;
63
- quality: {
64
- totalCells: number;
65
- missingCells: number;
66
- missingPercentage: number;
67
- duplicateRows: number;
68
- duplicatePercentage: number;
69
- dataQualityScore: number;
70
- issues: string[];
71
- };
72
- trends?: {
73
- detected: boolean;
74
- patterns: string[];
75
- insights: string[];
76
- };
77
- visualizationRecommendations: Array<{
78
- column: string;
79
- chartType: string;
80
- reason: string;
81
- }>;
82
- insights: string[];
83
- }
84
-
85
- // ============================================================================
@@ -1,19 +0,0 @@
1
- {
2
- "extends": "../tsconfig.base.json",
3
- "compilerOptions": {
4
- "forceConsistentCasingInFileNames": true,
5
- "outDir": "dist",
6
- "rootDir": ".",
7
- "types": [
8
- "bun"
9
- ]
10
- },
11
- "include": [
12
- "src/**/*",
13
- "bin/**/*"
14
- ],
15
- "exclude": [
16
- "node_modules",
17
- "dist"
18
- ]
19
- }
@@ -1,84 +0,0 @@
1
- ---
2
- name: api-docs-portal
3
- description: Generate a self-contained static API documentation portal, normalized endpoint JSON, and a markdown reference from an OpenAPI 3.x or Swagger 2.0 spec.
4
- ---
5
-
6
- # API Docs Portal
7
-
8
- Turn an OpenAPI/Swagger document into a browsable static portal. Everything is
9
- generated locally and deterministically: no network calls, no credentials, and
10
- the emitted HTML makes no external requests.
11
-
12
- ## What It Does
13
-
14
- - Reads OpenAPI 3.x or Swagger 2.0 specs in JSON or YAML.
15
- - Resolves local `$ref` pointers (`#/components/schemas/...`, `#/definitions/...`) with a cycle guard, so referenced request/response schemas render inline.
16
- - Groups endpoints by their first tag, falling back to the first path segment.
17
- - Renders method, path, summary, description, deprecation, path/query/header/cookie parameters (including path-level shared parameters), request body fields, and per-status response fields.
18
- - Flattens nested object schemas up to three levels and labels types (`string<uuid>`, `object[]`, `string (open | paid | cancelled)`, `A | B`).
19
- - Extracts security schemes and per-operation security requirements, and generates a cURL example per endpoint.
20
-
21
- ## Requirements
22
-
23
- - [Bun](https://bun.sh) 1.x
24
- - npm dependency: `yaml` (install once with `bun install` in this skill directory) — only needed for YAML specs, JSON specs parse natively
25
- - An OpenAPI/Swagger document with a `paths` object. External (`http://`, `other.yaml#/...`) `$ref`s are not fetched; they are marked as unresolved in the output.
26
-
27
- ## Usage
28
-
29
- ```bash
30
- # Generate the portal into ./api-portal
31
- skills run api-docs-portal -- --spec ./openapi.yaml
32
-
33
- # Dark theme, custom output directory and base URL
34
- skills run api-docs-portal -- --spec ./openapi.json --output ./docs/api \
35
- --theme slate --base-url https://api.example.com/v2
36
-
37
- # Machine-readable summary on stdout
38
- skills run api-docs-portal -- --spec ./openapi.yaml --json
39
- ```
40
-
41
- Then open `./api-portal/index.html` in a browser. Run it directly from the skill
42
- directory with `bun run src/index.ts --spec ./openapi.yaml`.
43
-
44
- ## Options
45
-
46
- | Option | Description | Default |
47
- |--------|-------------|---------|
48
- | `-s, --spec <path>` | OpenAPI/Swagger document, JSON or YAML (also accepted positionally) | required |
49
- | `-o, --output <dir>` | Output directory | `./api-portal` |
50
- | `--theme <name>` | `light` or `slate` | `light` |
51
- | `--base-url <url>` | Base URL shown in the portal and cURL examples | first `servers[].url` |
52
- | `--title <text>` | Override the portal title | spec `info.title` |
53
- | `--json` | Print a JSON summary on stdout | off |
54
- | `--help` | Show usage | |
55
- | `--version` | Show version | |
56
-
57
- ## Outputs
58
-
59
- Written into `--output` (default `./api-portal`):
60
-
61
- | File | Contents |
62
- |------|----------|
63
- | `index.html` | Self-contained portal: inline CSS, sticky sidebar navigation, responsive layout, zero external requests (no CDN scripts, fonts, or images) |
64
- | `endpoints.json` | Normalized endpoint model (method, path, group, params, request body fields, response fields, security) |
65
- | `reference.md` | Markdown API reference with parameter/field tables and cURL examples |
66
-
67
- Without `--json`, a summary is printed to stdout:
68
-
69
- ```
70
- api-docs-portal: /abs/path/openapi.yaml
71
- title Orders API v2.1.0
72
- base url https://api.example.com/v2
73
- theme slate
74
- endpoints 5 in 2 groups
75
- customers: 1
76
- orders: 4
77
- output /abs/path/api-portal
78
- files index.html, endpoints.json, reference.md
79
- ```
80
-
81
- ## Exit Codes
82
-
83
- - `0` — portal generated
84
- - `1` — missing/unreadable spec, invalid JSON/YAML, no `paths` object, no operations, or an invalid option value
@@ -1,35 +0,0 @@
1
- {
2
- "name": "api-docs-portal",
3
- "version": "0.1.0",
4
- "private": true,
5
- "description": "Generate a self-contained static API documentation portal from an OpenAPI or Swagger spec",
6
- "type": "module",
7
- "main": "src/index.ts",
8
- "bin": {
9
- "api-docs-portal": "src/index.ts"
10
- },
11
- "files": [
12
- "src",
13
- "SKILL.md",
14
- "tsconfig.json"
15
- ],
16
- "keywords": [
17
- "openapi",
18
- "swagger",
19
- "documentation",
20
- "static-site",
21
- "cli",
22
- "skill"
23
- ],
24
- "scripts": {
25
- "start": "bun run src/index.ts",
26
- "typecheck": "tsc --noEmit"
27
- },
28
- "dependencies": {
29
- "yaml": "^2.8.2"
30
- },
31
- "devDependencies": {
32
- "@types/bun": "latest",
33
- "typescript": "^5.7.0"
34
- }
35
- }