@hasna/skills 0.1.59 → 0.1.61

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 (1059) hide show
  1. package/README.md +189 -60
  2. package/agent-skills/README.md +41 -0
  3. package/agent-skills/fleet-package-rollout/SKILL.md +169 -0
  4. package/agent-skills/inbox/SKILL.md +25 -0
  5. package/agent-skills/inbox/scripts/inbox +109 -0
  6. package/agent-skills/inbox/tests/test_registered_sender_id.sh +92 -0
  7. package/agent-skills/inbox-monitor/SKILL.md +41 -0
  8. package/agent-skills/inbox-monitor/scripts/inbox_monitor.sh +91 -0
  9. package/agent-skills/inbox-monitor/scripts/test_inbox_monitor.sh +71 -0
  10. package/agent-skills/merge-pr/SKILL.md +85 -0
  11. package/agent-skills/merge-pr/references/merge-safety.md +82 -0
  12. package/agent-skills/merge-pr/scripts/merge_pr_guard.py +694 -0
  13. package/agent-skills/merge-pr/scripts/test_merge_pr_guard.py +647 -0
  14. package/agent-skills/merge-pr/tests/fixtures/multi-commit-synthesized.json +28 -0
  15. package/agent-skills/merge-pr/tests/fixtures/trailer-free-provider.json +28 -0
  16. package/agent-skills/skill-goal-execute/SKILL.md +115 -0
  17. package/agent-skills/skill-login/SKILL.md +109 -0
  18. package/agent-skills/skill-project-create/SKILL.md +91 -0
  19. package/agent-skills/skill-publish/SKILL.md +207 -0
  20. package/bin/index.js +2457 -3344
  21. package/bin/mcp.js +1127 -2641
  22. package/bin/migrate.js +955 -33
  23. package/bin/server.js +2367 -1989
  24. package/bin/worker.js +2089 -151
  25. package/dist/cli/cli.test-utils.d.ts +13 -2
  26. package/dist/cli/commands/publish.d.ts +30 -0
  27. package/dist/cli/commands/registry.d.ts +8 -0
  28. package/dist/index.d.ts +8 -6
  29. package/dist/index.js +1734 -2720
  30. package/dist/lib/agent-sync.d.ts +123 -0
  31. package/dist/lib/api-url.d.ts +34 -0
  32. package/dist/lib/auth-store.d.ts +21 -5
  33. package/dist/lib/blog-article.d.ts +37 -0
  34. package/dist/lib/config.d.ts +56 -2
  35. package/dist/lib/content-scan.d.ts +62 -9
  36. package/dist/lib/discovery.d.ts +10 -10
  37. package/dist/lib/doc-derived-counts.d.ts +56 -0
  38. package/dist/lib/feedback.d.ts +7 -0
  39. package/dist/lib/file-bytes.d.ts +43 -0
  40. package/dist/lib/hosted-skill-set.d.ts +69 -0
  41. package/dist/lib/infra-identifiers.d.ts +144 -0
  42. package/dist/lib/installer.d.ts +20 -6
  43. package/dist/lib/native-storage.d.ts +14 -11
  44. package/dist/lib/packlist.d.ts +13 -0
  45. package/dist/lib/portable-skills-files.d.ts +25 -0
  46. package/dist/lib/portable-skills-types.d.ts +105 -0
  47. package/dist/lib/portable-skills.d.ts +52 -103
  48. package/dist/lib/pull.d.ts +41 -0
  49. package/dist/lib/registry-merge.d.ts +57 -0
  50. package/dist/lib/registry-types.d.ts +1 -14
  51. package/dist/lib/registry.d.ts +6 -3
  52. package/dist/lib/remote-client.d.ts +15 -1
  53. package/dist/lib/remote-registry.d.ts +1 -1
  54. package/dist/lib/remote-run-contract.d.ts +0 -7
  55. package/dist/lib/retired-settings.d.ts +100 -0
  56. package/dist/lib/run-state.d.ts +14 -0
  57. package/dist/lib/skill-aliases.d.ts +0 -12
  58. package/dist/lib/skill-bundle.d.ts +37 -0
  59. package/dist/lib/vendor-host-code-scan.d.ts +66 -0
  60. package/dist/lib/vendor-host-folding.d.ts +40 -0
  61. package/dist/lib/vendor-host-guard.d.ts +47 -0
  62. package/dist/lib/vendor-host-package.d.ts +42 -0
  63. package/dist/lib/vendor-host-policy.d.ts +96 -0
  64. package/dist/lib/vendor-host-url.d.ts +81 -0
  65. package/dist/mcp/mcp-test-client.d.ts +18 -0
  66. package/dist/storage.d.ts +1 -1
  67. package/dist/storage.js +104 -51
  68. package/docs/skill-standard.md +1 -1
  69. package/migrations/postgres/0002_org_scoped_skill_registry.sql +72 -0
  70. package/migrations/sqlite/0001_open_skills_self_hosted.sql +150 -0
  71. package/migrations/sqlite/0002_org_scoped_skill_registry.sql +47 -0
  72. package/package.json +4 -4
  73. package/skills/_common/http-client.ts +17 -2
  74. package/skills/_common/install.sh +2 -2
  75. package/skills/_common/installer.ts +4 -5
  76. package/skills/_common/skill-install.ts +3 -3
  77. package/skills/ad-creative-pack/SKILL.md +28 -18
  78. package/skills/ad-creative-pack/package.json +1 -2
  79. package/skills/analyze-data/SKILL.md +1 -1
  80. package/skills/analyze-data/src/formatters.ts +2 -2
  81. package/skills/api-docs-portal/SKILL.md +62 -24
  82. package/skills/api-docs-portal/package.json +28 -4
  83. package/skills/api-docs-portal/src/index.ts +919 -0
  84. package/skills/audio-extract/SKILL.md +1 -1
  85. package/skills/blog-article/SKILL.md +32 -22
  86. package/skills/blog-article/package.json +1 -2
  87. package/skills/brand-assets/SKILL.md +94 -33
  88. package/skills/brand-assets/package.json +28 -4
  89. package/skills/brand-assets/src/cli.ts +155 -0
  90. package/skills/brand-assets/src/constants.ts +8 -0
  91. package/skills/brand-assets/src/extract.ts +236 -0
  92. package/skills/brand-assets/src/index.ts +668 -0
  93. package/skills/brand-assets/src/types.ts +59 -0
  94. package/skills/brand-kit/SKILL.md +27 -18
  95. package/skills/brand-kit/package.json +1 -2
  96. package/skills/compress-video/SKILL.md +1 -1
  97. package/skills/contract-review-report/SKILL.md +27 -18
  98. package/skills/contract-review-report/package.json +1 -2
  99. package/skills/customer-feedback-report/SKILL.md +27 -19
  100. package/skills/customer-feedback-report/package.json +1 -2
  101. package/skills/email-sequence/SKILL.md +26 -17
  102. package/skills/email-sequence/package.json +1 -2
  103. package/skills/generate-sitemap/src/index.ts +1 -1
  104. package/skills/invoice-reconciliation/SKILL.md +75 -19
  105. package/skills/invoice-reconciliation/package.json +29 -4
  106. package/skills/invoice-reconciliation/src/index.ts +743 -0
  107. package/skills/{convert → invoice-reconciliation}/tsconfig.json +3 -1
  108. package/skills/landing-page-pack/SKILL.md +27 -19
  109. package/skills/landing-page-pack/package.json +1 -2
  110. package/skills/logo-design/SKILL.md +69 -26
  111. package/skills/logo-design/package.json +28 -4
  112. package/skills/logo-design/src/cli.ts +132 -0
  113. package/skills/logo-design/src/constants.ts +5 -0
  114. package/skills/logo-design/src/docs.ts +102 -0
  115. package/skills/logo-design/src/geometry.ts +324 -0
  116. package/skills/logo-design/src/index.ts +212 -0
  117. package/skills/logo-design/src/palette.ts +258 -0
  118. package/skills/logo-design/src/types.ts +50 -0
  119. package/skills/logo-design/tsconfig.json +11 -2
  120. package/skills/market-research-report/SKILL.md +28 -18
  121. package/skills/market-research-report/package.json +2 -3
  122. package/skills/meeting-pack/SKILL.md +26 -17
  123. package/skills/meeting-pack/package.json +1 -2
  124. package/skills/merge-pdfs/src/index.ts +1 -1
  125. package/skills/migration-plan-pack/SKILL.md +30 -19
  126. package/skills/migration-plan-pack/package.json +1 -2
  127. package/skills/one-page-website/SKILL.md +105 -23
  128. package/skills/one-page-website/package.json +27 -4
  129. package/skills/one-page-website/src/design.ts +336 -0
  130. package/skills/one-page-website/src/docs.ts +159 -0
  131. package/skills/one-page-website/src/index.ts +357 -0
  132. package/skills/one-page-website/src/page.ts +340 -0
  133. package/skills/one-page-website/src/styles.ts +508 -0
  134. package/skills/one-page-website/src/types.ts +78 -0
  135. package/skills/one-page-website/tsconfig.json +11 -2
  136. package/skills/pdf-generate/SKILL.md +1 -1
  137. package/skills/pdf-to-dataset/SKILL.md +64 -21
  138. package/skills/pdf-to-dataset/package.json +30 -4
  139. package/skills/pdf-to-dataset/src/index.ts +790 -0
  140. package/skills/{emoji → pdf-to-dataset}/tsconfig.json +3 -4
  141. package/skills/pdf-to-markdown/SKILL.md +55 -23
  142. package/skills/pdf-to-markdown/package.json +28 -4
  143. package/skills/pdf-to-markdown/src/index.ts +694 -0
  144. package/skills/pdf-to-markdown/tsconfig.json +11 -4
  145. package/skills/performance-audit-report/SKILL.md +24 -17
  146. package/skills/performance-audit-report/package.json +1 -2
  147. package/skills/pitch-deck/SKILL.md +27 -19
  148. package/skills/pitch-deck/package.json +1 -2
  149. package/skills/product-mockup/SKILL.md +85 -23
  150. package/skills/product-mockup/package.json +25 -4
  151. package/skills/product-mockup/src/cli.ts +150 -0
  152. package/skills/product-mockup/src/design.ts +151 -0
  153. package/skills/product-mockup/src/docs.ts +134 -0
  154. package/skills/product-mockup/src/index.ts +182 -0
  155. package/skills/product-mockup/src/render.ts +407 -0
  156. package/skills/product-mockup/src/types.ts +66 -0
  157. package/skills/product-mockup/tsconfig.json +11 -2
  158. package/skills/proposal-pack/SKILL.md +27 -19
  159. package/skills/proposal-pack/package.json +2 -3
  160. package/skills/repo-onboarding-report/SKILL.md +26 -16
  161. package/skills/repo-onboarding-report/package.json +1 -2
  162. package/skills/security-audit/src/index.ts +1 -1
  163. package/skills/security-audit-report/SKILL.md +28 -16
  164. package/skills/security-audit-report/package.json +2 -3
  165. package/skills/seo-content-pack/SKILL.md +27 -17
  166. package/skills/seo-content-pack/package.json +1 -2
  167. package/skills/slide-deck-generator/SKILL.md +70 -21
  168. package/skills/slide-deck-generator/package.json +31 -4
  169. package/skills/slide-deck-generator/src/cli.ts +133 -0
  170. package/skills/slide-deck-generator/src/index.ts +148 -0
  171. package/skills/slide-deck-generator/src/model.ts +307 -0
  172. package/skills/slide-deck-generator/src/pptx.ts +143 -0
  173. package/skills/slide-deck-generator/src/render.ts +248 -0
  174. package/skills/slide-deck-generator/src/types.ts +114 -0
  175. package/skills/slide-deck-generator/src/utils.ts +53 -0
  176. package/skills/slide-deck-generator/tsconfig.json +17 -0
  177. package/skills/social-content-calendar/SKILL.md +27 -18
  178. package/skills/social-content-calendar/package.json +1 -2
  179. package/skills/split-pdf/src/index.ts +1 -1
  180. package/skills/test-suite-generator/SKILL.md +26 -16
  181. package/skills/test-suite-generator/package.json +2 -3
  182. package/skills/todos-plan/SKILL.md +339 -170
  183. package/skills/video-highlight-pack/SKILL.md +27 -17
  184. package/skills/video-highlight-pack/package.json +1 -2
  185. package/dist/cli/onboarding.d.ts +0 -13
  186. package/dist/lib/hosted-availability.d.ts +0 -13
  187. package/dist/lib/pricing.d.ts +0 -89
  188. package/skills/academic-journal-matcher/CLAUDE.md +0 -19
  189. package/skills/academic-journal-matcher/package.json +0 -27
  190. package/skills/academic-journal-matcher/src/index.ts +0 -86
  191. package/skills/academic-journal-matcher/tsconfig.json +0 -10
  192. package/skills/action-item-router/CLAUDE.md +0 -19
  193. package/skills/action-item-router/package.json +0 -27
  194. package/skills/action-item-router/src/index.ts +0 -304
  195. package/skills/action-item-router/tsconfig.json +0 -10
  196. package/skills/ad-creative-generator/CLAUDE.md +0 -19
  197. package/skills/ad-creative-generator/package.json +0 -27
  198. package/skills/ad-creative-generator/src/index.ts +0 -419
  199. package/skills/ad-creative-generator/tsconfig.json +0 -10
  200. package/skills/advanced-math/CLAUDE.md +0 -19
  201. package/skills/advanced-math/package.json +0 -29
  202. package/skills/advanced-math/src/calculators.ts +0 -118
  203. package/skills/advanced-math/src/cli.ts +0 -130
  204. package/skills/advanced-math/src/conversion.ts +0 -90
  205. package/skills/advanced-math/src/finance.ts +0 -75
  206. package/skills/advanced-math/src/formatting.ts +0 -95
  207. package/skills/advanced-math/src/index.ts +0 -133
  208. package/skills/advanced-math/src/runtime.ts +0 -49
  209. package/skills/advanced-math/src/symbolic.ts +0 -110
  210. package/skills/advanced-math/src/types.ts +0 -36
  211. package/skills/advanced-math/tsconfig.json +0 -10
  212. package/skills/anomaly-investigator/CLAUDE.md +0 -19
  213. package/skills/anomaly-investigator/package.json +0 -27
  214. package/skills/anomaly-investigator/src/index.ts +0 -311
  215. package/skills/anomaly-investigator/tsconfig.json +0 -10
  216. package/skills/apidocs/.env.example +0 -8
  217. package/skills/apidocs/CLAUDE.md +0 -278
  218. package/skills/apidocs/LICENSE +0 -192
  219. package/skills/apidocs/README.md +0 -196
  220. package/skills/apidocs/api-docs-list.json +0 -186
  221. package/skills/apidocs/package.json +0 -53
  222. package/skills/apidocs/scripts/crawl-all.ts +0 -157
  223. package/skills/apidocs/scripts/publish.ts +0 -210
  224. package/skills/apidocs/src/commands/add.ts +0 -279
  225. package/skills/apidocs/src/commands/endpoints.ts +0 -157
  226. package/skills/apidocs/src/commands/list.ts +0 -51
  227. package/skills/apidocs/src/commands/query.ts +0 -63
  228. package/skills/apidocs/src/commands/remove.ts +0 -39
  229. package/skills/apidocs/src/commands/sync.ts +0 -227
  230. package/skills/apidocs/src/index.ts +0 -3
  231. package/skills/apidocs/src/lib/crawler.ts +0 -427
  232. package/skills/apidocs/src/lib/discovery.ts +0 -244
  233. package/skills/apidocs/src/lib/embeddings.ts +0 -136
  234. package/skills/apidocs/src/lib/endpoint-extractor.ts +0 -359
  235. package/skills/apidocs/src/lib/html-to-md.ts +0 -163
  236. package/skills/apidocs/src/lib/parser.ts +0 -288
  237. package/skills/apidocs/src/lib/search.ts +0 -189
  238. package/skills/apidocs/src/lib/storage.ts +0 -242
  239. package/skills/apidocs/src/lib/vectors-local.ts +0 -220
  240. package/skills/apidocs/src/lib/vectors-s3.ts +0 -255
  241. package/skills/apidocs/src/lib/vectors.ts +0 -97
  242. package/skills/apidocs/src/types/index.ts +0 -297
  243. package/skills/apidocs/src/utils/output.ts +0 -132
  244. package/skills/apidocs/src/utils/paths.ts +0 -126
  245. package/skills/apidocs/tsconfig.json +0 -24
  246. package/skills/audio/SKILL.md +0 -35
  247. package/skills/audio/package.json +0 -11
  248. package/skills/audio-cleanup-lab/CLAUDE.md +0 -3
  249. package/skills/audio-cleanup-lab/SKILL.md +0 -81
  250. package/skills/audio-cleanup-lab/package.json +0 -23
  251. package/skills/audio-cleanup-lab/src/index.ts +0 -274
  252. package/skills/audio-cleanup-lab/tsconfig.json +0 -14
  253. package/skills/audio-transcript-pack/SKILL.md +0 -43
  254. package/skills/audio-transcript-pack/package.json +0 -11
  255. package/skills/banner-ad-suite/CLAUDE.md +0 -19
  256. package/skills/banner-ad-suite/package.json +0 -27
  257. package/skills/banner-ad-suite/src/index.ts +0 -331
  258. package/skills/banner-ad-suite/tsconfig.json +0 -10
  259. package/skills/benchmark-finder/CLAUDE.md +0 -19
  260. package/skills/benchmark-finder/package.json +0 -27
  261. package/skills/benchmark-finder/src/index.ts +0 -294
  262. package/skills/benchmark-finder/tsconfig.json +0 -10
  263. package/skills/blog-topic-cluster/CLAUDE.md +0 -19
  264. package/skills/blog-topic-cluster/package.json +0 -27
  265. package/skills/blog-topic-cluster/src/index.ts +0 -274
  266. package/skills/blog-topic-cluster/tsconfig.json +0 -10
  267. package/skills/brand-photo-shoot/SKILL.md +0 -28
  268. package/skills/brand-photo-shoot/package.json +0 -11
  269. package/skills/brand-style-guide/CLAUDE.md +0 -20
  270. package/skills/brand-style-guide/SKILL.md +0 -13
  271. package/skills/brand-style-guide/package.json +0 -26
  272. package/skills/brand-style-guide/src/index.ts +0 -288
  273. package/skills/brand-style-guide/tsconfig.json +0 -22
  274. package/skills/brand-voice-audit/CLAUDE.md +0 -19
  275. package/skills/brand-voice-audit/package.json +0 -27
  276. package/skills/brand-voice-audit/src/index.ts +0 -302
  277. package/skills/brand-voice-audit/tsconfig.json +0 -10
  278. package/skills/browse/LICENSE +0 -192
  279. package/skills/browse/README.md +0 -25
  280. package/skills/browse/SKILL.md +0 -35
  281. package/skills/browse/package.json +0 -11
  282. package/skills/browse/tsconfig.json +0 -22
  283. package/skills/budget-variance-analyzer/CLAUDE.md +0 -16
  284. package/skills/budget-variance-analyzer/SKILL.md +0 -83
  285. package/skills/budget-variance-analyzer/package.json +0 -24
  286. package/skills/budget-variance-analyzer/src/index.ts +0 -298
  287. package/skills/budget-variance-analyzer/tsconfig.json +0 -21
  288. package/skills/calendar-events/CLAUDE.md +0 -19
  289. package/skills/calendar-events/package.json +0 -27
  290. package/skills/calendar-events/src/ai-parser.ts +0 -103
  291. package/skills/calendar-events/src/api.ts +0 -157
  292. package/skills/calendar-events/src/auth.ts +0 -22
  293. package/skills/calendar-events/src/config.ts +0 -6
  294. package/skills/calendar-events/src/format.ts +0 -96
  295. package/skills/calendar-events/src/help.ts +0 -54
  296. package/skills/calendar-events/src/index.ts +0 -415
  297. package/skills/calendar-events/src/logger.ts +0 -34
  298. package/skills/calendar-events/src/types.ts +0 -67
  299. package/skills/calendar-events/tsconfig.json +0 -10
  300. package/skills/campaign-metric-brief/CLAUDE.md +0 -19
  301. package/skills/campaign-metric-brief/package.json +0 -27
  302. package/skills/campaign-metric-brief/src/index.ts +0 -307
  303. package/skills/campaign-metric-brief/tsconfig.json +0 -10
  304. package/skills/campaign-moodboard/CLAUDE.md +0 -19
  305. package/skills/campaign-moodboard/package.json +0 -27
  306. package/skills/campaign-moodboard/src/index.ts +0 -288
  307. package/skills/campaign-moodboard/tsconfig.json +0 -10
  308. package/skills/caption-style-stylist/CLAUDE.md +0 -19
  309. package/skills/caption-style-stylist/package.json +0 -27
  310. package/skills/caption-style-stylist/src/index.ts +0 -275
  311. package/skills/caption-style-stylist/tsconfig.json +0 -10
  312. package/skills/chemistry-calculator/CLAUDE.md +0 -19
  313. package/skills/chemistry-calculator/package.json +0 -27
  314. package/skills/chemistry-calculator/src/index.ts +0 -110
  315. package/skills/chemistry-calculator/tsconfig.json +0 -10
  316. package/skills/churn-risk-notifier/CLAUDE.md +0 -19
  317. package/skills/churn-risk-notifier/package.json +0 -27
  318. package/skills/churn-risk-notifier/src/index.ts +0 -308
  319. package/skills/churn-risk-notifier/tsconfig.json +0 -10
  320. package/skills/citation-formatter/CLAUDE.md +0 -19
  321. package/skills/citation-formatter/package.json +0 -27
  322. package/skills/citation-formatter/src/index.ts +0 -83
  323. package/skills/citation-formatter/tsconfig.json +0 -10
  324. package/skills/classroom-newsletter-kit/CLAUDE.md +0 -19
  325. package/skills/classroom-newsletter-kit/package.json +0 -27
  326. package/skills/classroom-newsletter-kit/src/index.ts +0 -293
  327. package/skills/classroom-newsletter-kit/tsconfig.json +0 -10
  328. package/skills/color-palette-harmonizer/CLAUDE.md +0 -19
  329. package/skills/color-palette-harmonizer/package.json +0 -27
  330. package/skills/color-palette-harmonizer/src/index.ts +0 -278
  331. package/skills/color-palette-harmonizer/tsconfig.json +0 -10
  332. package/skills/colorextract/SKILL.md +0 -35
  333. package/skills/colorextract/bun.lock +0 -102
  334. package/skills/colorextract/package.json +0 -25
  335. package/skills/colorextract/src/index.ts +0 -405
  336. package/skills/competitor-ad-analyzer/CLAUDE.md +0 -19
  337. package/skills/competitor-ad-analyzer/package.json +0 -27
  338. package/skills/competitor-ad-analyzer/src/index.ts +0 -350
  339. package/skills/competitor-ad-analyzer/tsconfig.json +0 -10
  340. package/skills/compliance-copy-check/CLAUDE.md +0 -19
  341. package/skills/compliance-copy-check/package.json +0 -27
  342. package/skills/compliance-copy-check/src/index.ts +0 -289
  343. package/skills/compliance-copy-check/tsconfig.json +0 -10
  344. package/skills/compliance-report-pack/CLAUDE.md +0 -19
  345. package/skills/compliance-report-pack/package.json +0 -27
  346. package/skills/compliance-report-pack/src/index.ts +0 -301
  347. package/skills/compliance-report-pack/tsconfig.json +0 -10
  348. package/skills/consolelog/.env.example +0 -19
  349. package/skills/consolelog/CLAUDE.md +0 -157
  350. package/skills/consolelog/LICENSE +0 -192
  351. package/skills/consolelog/README.md +0 -239
  352. package/skills/consolelog/data/.gitkeep +0 -0
  353. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.csv +0 -16
  354. package/skills/consolelog/exports/products-2025-12-14T13-50-53-041Z.json +0 -227
  355. package/skills/consolelog/package.json +0 -40
  356. package/skills/consolelog/scripts/migrate.ts +0 -26
  357. package/skills/consolelog/scripts/seed.ts +0 -48
  358. package/skills/consolelog/src/db/index.ts +0 -44
  359. package/skills/consolelog/src/db/queries.ts +0 -348
  360. package/skills/consolelog/src/db/schema.ts +0 -93
  361. package/skills/consolelog/src/index.ts +0 -3
  362. package/skills/consolelog/src/lib/config.ts +0 -110
  363. package/skills/consolelog/src/lib/installer.ts +0 -294
  364. package/skills/consolelog/src/lib/monitor.ts +0 -194
  365. package/skills/consolelog/src/lib/types.ts +0 -189
  366. package/skills/consolelog/src/lib/watcher.ts +0 -207
  367. package/skills/consolelog/tests/api.test.ts +0 -154
  368. package/skills/consolelog/tests/config.test.ts +0 -192
  369. package/skills/consolelog/tests/db.test.ts +0 -447
  370. package/skills/consolelog/tests/installer.test.ts +0 -155
  371. package/skills/consolelog/tsconfig.json +0 -24
  372. package/skills/contract-plainlanguage/CLAUDE.md +0 -19
  373. package/skills/contract-plainlanguage/package.json +0 -27
  374. package/skills/contract-plainlanguage/src/index.ts +0 -294
  375. package/skills/contract-plainlanguage/tsconfig.json +0 -10
  376. package/skills/convert/.env.example +0 -7
  377. package/skills/convert/LICENSE +0 -192
  378. package/skills/convert/README.md +0 -250
  379. package/skills/convert/SKILL.md +0 -106
  380. package/skills/convert/package.json +0 -37
  381. package/skills/convert/src/converters/ai.ts +0 -375
  382. package/skills/convert/src/converters/data.ts +0 -339
  383. package/skills/convert/src/converters/document.ts +0 -189
  384. package/skills/convert/src/converters/image.ts +0 -227
  385. package/skills/convert/src/converters/index.ts +0 -9
  386. package/skills/convert/src/converters/pdf.ts +0 -255
  387. package/skills/convert/src/index-local.ts +0 -568
  388. package/skills/convert/src/index.ts +0 -4
  389. package/skills/convert/src/types.ts +0 -192
  390. package/skills/copytone-translator/CLAUDE.md +0 -19
  391. package/skills/copytone-translator/package.json +0 -27
  392. package/skills/copytone-translator/src/index.ts +0 -295
  393. package/skills/copytone-translator/tsconfig.json +0 -10
  394. package/skills/create-ebook/CLAUDE.md +0 -19
  395. package/skills/create-ebook/package.json +0 -27
  396. package/skills/create-ebook/src/index.ts +0 -637
  397. package/skills/create-ebook/tsconfig.json +0 -10
  398. package/skills/crm-note-enhancer/CLAUDE.md +0 -19
  399. package/skills/crm-note-enhancer/package.json +0 -27
  400. package/skills/crm-note-enhancer/src/index.ts +0 -317
  401. package/skills/crm-note-enhancer/tsconfig.json +0 -10
  402. package/skills/customer-journey-mapper/CLAUDE.md +0 -19
  403. package/skills/customer-journey-mapper/package.json +0 -27
  404. package/skills/customer-journey-mapper/src/index.ts +0 -312
  405. package/skills/customer-journey-mapper/tsconfig.json +0 -10
  406. package/skills/dashboard-narrator/CLAUDE.md +0 -19
  407. package/skills/dashboard-narrator/package.json +0 -27
  408. package/skills/dashboard-narrator/src/index.ts +0 -307
  409. package/skills/dashboard-narrator/tsconfig.json +0 -10
  410. package/skills/dataset-health-check/CLAUDE.md +0 -19
  411. package/skills/dataset-health-check/package.json +0 -27
  412. package/skills/dataset-health-check/src/index.ts +0 -323
  413. package/skills/dataset-health-check/tsconfig.json +0 -10
  414. package/skills/decision-journal/CLAUDE.md +0 -19
  415. package/skills/decision-journal/package.json +0 -27
  416. package/skills/decision-journal/src/index.ts +0 -313
  417. package/skills/decision-journal/tsconfig.json +0 -10
  418. package/skills/deepresearch/CLAUDE.md +0 -11
  419. package/skills/deepresearch/README.md +0 -26
  420. package/skills/deepresearch/SKILL.md +0 -41
  421. package/skills/deepresearch/package.json +0 -11
  422. package/skills/deepresearch/tsconfig.json +0 -29
  423. package/skills/delegation-brief-writer/CLAUDE.md +0 -19
  424. package/skills/delegation-brief-writer/package.json +0 -27
  425. package/skills/delegation-brief-writer/src/index.ts +0 -314
  426. package/skills/delegation-brief-writer/tsconfig.json +0 -10
  427. package/skills/deploy/LICENSE +0 -192
  428. package/skills/deploy/README.md +0 -382
  429. package/skills/deploy/SKILL.md +0 -138
  430. package/skills/deploy/package.json +0 -18
  431. package/skills/deploy/src/deployer.ts +0 -256
  432. package/skills/deploy/src/health.ts +0 -103
  433. package/skills/deploy/src/hosts.ts +0 -45
  434. package/skills/deploy/src/http-client.ts +0 -128
  435. package/skills/deploy/src/index-local.ts +0 -366
  436. package/skills/deploy/src/index.ts +0 -4
  437. package/skills/deploy/src/types.ts +0 -56
  438. package/skills/deploy/tsconfig.json +0 -18
  439. package/skills/destination-briefing/CLAUDE.md +0 -19
  440. package/skills/destination-briefing/package.json +0 -27
  441. package/skills/destination-briefing/src/index.ts +0 -291
  442. package/skills/destination-briefing/tsconfig.json +0 -10
  443. package/skills/doc-generate/CLAUDE.md +0 -19
  444. package/skills/doc-generate/SKILL.md +0 -295
  445. package/skills/doc-generate/package.json +0 -23
  446. package/skills/doc-generate/src/ai.ts +0 -50
  447. package/skills/doc-generate/src/cli.ts +0 -203
  448. package/skills/doc-generate/src/dependencies.ts +0 -44
  449. package/skills/doc-generate/src/document-builder.ts +0 -299
  450. package/skills/doc-generate/src/index.ts +0 -90
  451. package/skills/doc-generate/src/markdown-parser.ts +0 -125
  452. package/skills/doc-generate/src/types.ts +0 -68
  453. package/skills/doc-generate/tsconfig.json +0 -16
  454. package/skills/domainsearch/.env.example +0 -7
  455. package/skills/domainsearch/LICENSE +0 -192
  456. package/skills/domainsearch/SKILL.md +0 -41
  457. package/skills/domainsearch/package.json +0 -33
  458. package/skills/domainsearch/src/index.ts +0 -3
  459. package/skills/domainsearch/src/lib/api-client.ts +0 -181
  460. package/skills/domainsearch/src/lib/config.ts +0 -72
  461. package/skills/domainsearch/src/lib/installer.ts +0 -164
  462. package/skills/domainsearch/tsconfig.json +0 -22
  463. package/skills/educational-resource-finder/CLAUDE.md +0 -19
  464. package/skills/educational-resource-finder/package.json +0 -27
  465. package/skills/educational-resource-finder/src/index.ts +0 -289
  466. package/skills/educational-resource-finder/tsconfig.json +0 -10
  467. package/skills/email-campaign/CLAUDE.md +0 -19
  468. package/skills/email-campaign/package.json +0 -27
  469. package/skills/email-campaign/src/index.ts +0 -339
  470. package/skills/email-campaign/tsconfig.json +0 -10
  471. package/skills/emoji/.env.example +0 -7
  472. package/skills/emoji/QUICKSTART.md +0 -52
  473. package/skills/emoji/README.md +0 -175
  474. package/skills/emoji/SKILL.md +0 -63
  475. package/skills/emoji/package.json +0 -31
  476. package/skills/emoji/src/image-processor.ts +0 -143
  477. package/skills/emoji/src/index.ts +0 -282
  478. package/skills/emoji/src/prompt-generator.ts +0 -181
  479. package/skills/emoji/src/providers/gemini.ts +0 -58
  480. package/skills/emoji/src/providers/openai.ts +0 -55
  481. package/skills/emoji/src/types.ts +0 -72
  482. package/skills/exam-readiness-check/CLAUDE.md +0 -19
  483. package/skills/exam-readiness-check/package.json +0 -27
  484. package/skills/exam-readiness-check/src/index.ts +0 -289
  485. package/skills/exam-readiness-check/tsconfig.json +0 -10
  486. package/skills/excel/CLAUDE.md +0 -19
  487. package/skills/excel/SKILL.md +0 -38
  488. package/skills/excel/package.json +0 -30
  489. package/skills/excel/src/index.ts +0 -644
  490. package/skills/excel/tsconfig.json +0 -10
  491. package/skills/extract/.env.example +0 -3
  492. package/skills/extract/LICENSE +0 -192
  493. package/skills/extract/README.md +0 -61
  494. package/skills/extract/SKILL.md +0 -91
  495. package/skills/extract/package.json +0 -35
  496. package/skills/extract/src/extractors/image.ts +0 -42
  497. package/skills/extract/src/extractors/pdf.ts +0 -96
  498. package/skills/extract/src/index-local.ts +0 -258
  499. package/skills/extract/src/index.ts +0 -4
  500. package/skills/extract/src/providers/openai.ts +0 -222
  501. package/skills/extract/src/types.ts +0 -61
  502. package/skills/extract/tsconfig.json +0 -19
  503. package/skills/extract-invoice/CLAUDE.md +0 -19
  504. package/skills/extract-invoice/package.json +0 -27
  505. package/skills/extract-invoice/src/cli.ts +0 -97
  506. package/skills/extract-invoice/src/extractor.ts +0 -170
  507. package/skills/extract-invoice/src/file-utils.ts +0 -46
  508. package/skills/extract-invoice/src/formatters.ts +0 -144
  509. package/skills/extract-invoice/src/index.ts +0 -129
  510. package/skills/extract-invoice/src/runtime.ts +0 -46
  511. package/skills/extract-invoice/src/types.ts +0 -88
  512. package/skills/extract-invoice/tsconfig.json +0 -10
  513. package/skills/family-activity-curator/CLAUDE.md +0 -19
  514. package/skills/family-activity-curator/package.json +0 -27
  515. package/skills/family-activity-curator/src/index.ts +0 -293
  516. package/skills/family-activity-curator/tsconfig.json +0 -10
  517. package/skills/faq-packager/CLAUDE.md +0 -19
  518. package/skills/faq-packager/package.json +0 -27
  519. package/skills/faq-packager/src/index.ts +0 -292
  520. package/skills/faq-packager/tsconfig.json +0 -10
  521. package/skills/feedback-survey-designer/CLAUDE.md +0 -19
  522. package/skills/feedback-survey-designer/package.json +0 -27
  523. package/skills/feedback-survey-designer/src/index.ts +0 -299
  524. package/skills/feedback-survey-designer/tsconfig.json +0 -10
  525. package/skills/field-trip-planner/CLAUDE.md +0 -19
  526. package/skills/field-trip-planner/package.json +0 -27
  527. package/skills/field-trip-planner/src/index.ts +0 -289
  528. package/skills/field-trip-planner/tsconfig.json +0 -10
  529. package/skills/forecast-scenario-lab/CLAUDE.md +0 -19
  530. package/skills/forecast-scenario-lab/package.json +0 -27
  531. package/skills/forecast-scenario-lab/src/index.ts +0 -314
  532. package/skills/forecast-scenario-lab/tsconfig.json +0 -10
  533. package/skills/generate-book-cover/CLAUDE.md +0 -19
  534. package/skills/generate-book-cover/package.json +0 -11
  535. package/skills/generate-book-cover/tsconfig.json +0 -10
  536. package/skills/generate-diagram/CLAUDE.md +0 -19
  537. package/skills/generate-diagram/package.json +0 -27
  538. package/skills/generate-diagram/src/index.ts +0 -514
  539. package/skills/generate-diagram/tsconfig.json +0 -10
  540. package/skills/generate-documentation/CLAUDE.md +0 -19
  541. package/skills/generate-documentation/package.json +0 -27
  542. package/skills/generate-documentation/src/ai.ts +0 -131
  543. package/skills/generate-documentation/src/cli.ts +0 -71
  544. package/skills/generate-documentation/src/code-parser.ts +0 -300
  545. package/skills/generate-documentation/src/file-processing.ts +0 -182
  546. package/skills/generate-documentation/src/index.ts +0 -65
  547. package/skills/generate-documentation/src/runtime.ts +0 -35
  548. package/skills/generate-documentation/src/types.ts +0 -30
  549. package/skills/generate-documentation/tsconfig.json +0 -10
  550. package/skills/generate-mock-data/CLAUDE.md +0 -19
  551. package/skills/generate-mock-data/package.json +0 -29
  552. package/skills/generate-mock-data/src/ai.ts +0 -102
  553. package/skills/generate-mock-data/src/formatters.ts +0 -84
  554. package/skills/generate-mock-data/src/generator.ts +0 -377
  555. package/skills/generate-mock-data/src/index.ts +0 -201
  556. package/skills/generate-mock-data/src/logger.ts +0 -37
  557. package/skills/generate-mock-data/src/presets.ts +0 -110
  558. package/skills/generate-mock-data/src/types.ts +0 -21
  559. package/skills/generate-mock-data/tsconfig.json +0 -10
  560. package/skills/generate-pr-description/CLAUDE.md +0 -19
  561. package/skills/generate-pr-description/package.json +0 -27
  562. package/skills/generate-pr-description/src/ai.ts +0 -144
  563. package/skills/generate-pr-description/src/cli.ts +0 -80
  564. package/skills/generate-pr-description/src/clipboard.ts +0 -30
  565. package/skills/generate-pr-description/src/formatters.ts +0 -231
  566. package/skills/generate-pr-description/src/git.ts +0 -153
  567. package/skills/generate-pr-description/src/index.ts +0 -114
  568. package/skills/generate-pr-description/src/types.ts +0 -49
  569. package/skills/generate-pr-description/tsconfig.json +0 -10
  570. package/skills/generate-presentation/CLAUDE.md +0 -19
  571. package/skills/generate-presentation/package.json +0 -27
  572. package/skills/generate-presentation/src/ai-clients.ts +0 -61
  573. package/skills/generate-presentation/src/cli.ts +0 -126
  574. package/skills/generate-presentation/src/index.ts +0 -44
  575. package/skills/generate-presentation/src/logger.ts +0 -67
  576. package/skills/generate-presentation/src/presentation-generator.ts +0 -425
  577. package/skills/generate-presentation/src/runtime.ts +0 -6
  578. package/skills/generate-presentation/src/security.ts +0 -12
  579. package/skills/generate-presentation/src/types.ts +0 -28
  580. package/skills/generate-presentation/tsconfig.json +0 -10
  581. package/skills/generate-regex/CLAUDE.md +0 -19
  582. package/skills/generate-regex/package.json +0 -29
  583. package/skills/generate-regex/src/index.ts +0 -669
  584. package/skills/generate-regex/tsconfig.json +0 -10
  585. package/skills/generate-social-posts/CLAUDE.md +0 -19
  586. package/skills/generate-social-posts/package.json +0 -27
  587. package/skills/generate-social-posts/src/ai.ts +0 -88
  588. package/skills/generate-social-posts/src/cli.ts +0 -118
  589. package/skills/generate-social-posts/src/exporters.ts +0 -126
  590. package/skills/generate-social-posts/src/generator.ts +0 -130
  591. package/skills/generate-social-posts/src/index.ts +0 -78
  592. package/skills/generate-social-posts/src/platforms.ts +0 -39
  593. package/skills/generate-social-posts/src/runtime.ts +0 -34
  594. package/skills/generate-social-posts/src/source.ts +0 -116
  595. package/skills/generate-social-posts/src/types.ts +0 -58
  596. package/skills/generate-social-posts/tsconfig.json +0 -10
  597. package/skills/generate-sql/CLAUDE.md +0 -19
  598. package/skills/generate-sql/package.json +0 -27
  599. package/skills/generate-sql/src/index.ts +0 -636
  600. package/skills/generate-sql/tsconfig.json +0 -10
  601. package/skills/github-manager/CLAUDE.md +0 -19
  602. package/skills/github-manager/package.json +0 -29
  603. package/skills/github-manager/src/index.ts +0 -101
  604. package/skills/github-manager/tsconfig.json +0 -10
  605. package/skills/gmail/CLAUDE.md +0 -19
  606. package/skills/gmail/package.json +0 -27
  607. package/skills/gmail/src/index.ts +0 -410
  608. package/skills/gmail/tsconfig.json +0 -10
  609. package/skills/goal-quarterly-roadmap/CLAUDE.md +0 -19
  610. package/skills/goal-quarterly-roadmap/package.json +0 -27
  611. package/skills/goal-quarterly-roadmap/src/index.ts +0 -305
  612. package/skills/goal-quarterly-roadmap/tsconfig.json +0 -10
  613. package/skills/grant-application-drafter/CLAUDE.md +0 -19
  614. package/skills/grant-application-drafter/package.json +0 -27
  615. package/skills/grant-application-drafter/src/index.ts +0 -309
  616. package/skills/grant-application-drafter/tsconfig.json +0 -10
  617. package/skills/grocery-basket-optimizer/CLAUDE.md +0 -19
  618. package/skills/grocery-basket-optimizer/package.json +0 -27
  619. package/skills/grocery-basket-optimizer/src/index.ts +0 -304
  620. package/skills/grocery-basket-optimizer/tsconfig.json +0 -10
  621. package/skills/guest-communication-suite/CLAUDE.md +0 -19
  622. package/skills/guest-communication-suite/package.json +0 -27
  623. package/skills/guest-communication-suite/src/index.ts +0 -312
  624. package/skills/guest-communication-suite/tsconfig.json +0 -10
  625. package/skills/habit-reflection-digest/CLAUDE.md +0 -19
  626. package/skills/habit-reflection-digest/package.json +0 -27
  627. package/skills/habit-reflection-digest/src/index.ts +0 -308
  628. package/skills/habit-reflection-digest/tsconfig.json +0 -10
  629. package/skills/highlight-reel-generator/CLAUDE.md +0 -19
  630. package/skills/highlight-reel-generator/package.json +0 -27
  631. package/skills/highlight-reel-generator/src/index.ts +0 -286
  632. package/skills/highlight-reel-generator/tsconfig.json +0 -10
  633. package/skills/homework-feedback-coach/CLAUDE.md +0 -19
  634. package/skills/homework-feedback-coach/package.json +0 -27
  635. package/skills/homework-feedback-coach/src/index.ts +0 -316
  636. package/skills/homework-feedback-coach/tsconfig.json +0 -10
  637. package/skills/household-maintenance-mgr/CLAUDE.md +0 -19
  638. package/skills/household-maintenance-mgr/package.json +0 -27
  639. package/skills/household-maintenance-mgr/src/index.ts +0 -293
  640. package/skills/household-maintenance-mgr/tsconfig.json +0 -10
  641. package/skills/icon-pack/README.md +0 -28
  642. package/skills/icon-pack/SKILL.md +0 -23
  643. package/skills/icon-pack/package.json +0 -11
  644. package/skills/icon-pack/tsconfig.json +0 -20
  645. package/skills/image/LICENSE +0 -192
  646. package/skills/image/README.md +0 -25
  647. package/skills/image/SKILL.md +0 -49
  648. package/skills/image/examples/aurora-examples.sh +0 -33
  649. package/skills/image/examples/google-examples.sh +0 -37
  650. package/skills/image/examples/openai-examples.sh +0 -35
  651. package/skills/image/package.json +0 -11
  652. package/skills/image/tsconfig.json +0 -19
  653. package/skills/implementation-agent/CLAUDE.md +0 -19
  654. package/skills/implementation-agent/package.json +0 -29
  655. package/skills/implementation-agent/src/ai-generation.ts +0 -225
  656. package/skills/implementation-agent/src/index.ts +0 -608
  657. package/skills/implementation-agent/src/minimist.d.ts +0 -15
  658. package/skills/implementation-agent/src/templates.ts +0 -686
  659. package/skills/implementation-agent/src/types.ts +0 -53
  660. package/skills/implementation-agent/tsconfig.json +0 -10
  661. package/skills/inbox-priority-planner/CLAUDE.md +0 -19
  662. package/skills/inbox-priority-planner/package.json +0 -27
  663. package/skills/inbox-priority-planner/src/index.ts +0 -309
  664. package/skills/inbox-priority-planner/tsconfig.json +0 -10
  665. package/skills/invoice-dispute-helper/CLAUDE.md +0 -19
  666. package/skills/invoice-dispute-helper/package.json +0 -27
  667. package/skills/invoice-dispute-helper/src/index.ts +0 -304
  668. package/skills/invoice-dispute-helper/tsconfig.json +0 -10
  669. package/skills/itinerary-architect/CLAUDE.md +0 -19
  670. package/skills/itinerary-architect/package.json +0 -27
  671. package/skills/itinerary-architect/src/index.ts +0 -313
  672. package/skills/itinerary-architect/tsconfig.json +0 -10
  673. package/skills/kpi-digest-generator/CLAUDE.md +0 -19
  674. package/skills/kpi-digest-generator/package.json +0 -27
  675. package/skills/kpi-digest-generator/src/index.ts +0 -318
  676. package/skills/kpi-digest-generator/tsconfig.json +0 -10
  677. package/skills/lab-notebook-formatter/CLAUDE.md +0 -19
  678. package/skills/lab-notebook-formatter/package.json +0 -27
  679. package/skills/lab-notebook-formatter/src/index.ts +0 -88
  680. package/skills/lab-notebook-formatter/tsconfig.json +0 -10
  681. package/skills/landing-page-copy/CLAUDE.md +0 -19
  682. package/skills/landing-page-copy/package.json +0 -27
  683. package/skills/landing-page-copy/src/index.ts +0 -400
  684. package/skills/landing-page-copy/tsconfig.json +0 -10
  685. package/skills/learning-style-profiler/CLAUDE.md +0 -19
  686. package/skills/learning-style-profiler/package.json +0 -27
  687. package/skills/learning-style-profiler/src/index.ts +0 -291
  688. package/skills/learning-style-profiler/tsconfig.json +0 -10
  689. package/skills/lesson-plan-customizer/CLAUDE.md +0 -19
  690. package/skills/lesson-plan-customizer/package.json +0 -27
  691. package/skills/lesson-plan-customizer/src/index.ts +0 -303
  692. package/skills/lesson-plan-customizer/tsconfig.json +0 -10
  693. package/skills/livestream-runofshow/CLAUDE.md +0 -19
  694. package/skills/livestream-runofshow/package.json +0 -27
  695. package/skills/livestream-runofshow/src/index.ts +0 -299
  696. package/skills/livestream-runofshow/tsconfig.json +0 -10
  697. package/skills/longform-structurer/CLAUDE.md +0 -19
  698. package/skills/longform-structurer/package.json +0 -27
  699. package/skills/longform-structurer/src/index.ts +0 -293
  700. package/skills/longform-structurer/tsconfig.json +0 -10
  701. package/skills/managehook/.env.example +0 -16
  702. package/skills/managehook/CLAUDE.md +0 -48
  703. package/skills/managehook/README.md +0 -210
  704. package/skills/managehook/package.json +0 -24
  705. package/skills/managehook/scripts/migrate.ts +0 -57
  706. package/skills/managehook/scripts/seed.ts +0 -58
  707. package/skills/managehook/src/db/index.ts +0 -37
  708. package/skills/managehook/src/index.ts +0 -3
  709. package/skills/managehook/src/lib/api-client.ts +0 -108
  710. package/skills/managehook/src/lib/config.ts +0 -34
  711. package/skills/managehook/src/lib/installer.ts +0 -140
  712. package/skills/managehook/src/lib/service-dir.ts +0 -119
  713. package/skills/managehook/tsconfig.json +0 -29
  714. package/skills/manageskill/.env.example +0 -16
  715. package/skills/manageskill/CLAUDE.md +0 -48
  716. package/skills/manageskill/README.md +0 -210
  717. package/skills/manageskill/package.json +0 -24
  718. package/skills/manageskill/scripts/migrate.ts +0 -57
  719. package/skills/manageskill/scripts/seed.ts +0 -58
  720. package/skills/manageskill/src/db/index.ts +0 -37
  721. package/skills/manageskill/src/index.ts +0 -3
  722. package/skills/manageskill/src/lib/api-client.ts +0 -108
  723. package/skills/manageskill/src/lib/config.ts +0 -34
  724. package/skills/manageskill/src/lib/installer.ts +0 -140
  725. package/skills/manageskill/src/lib/service-dir.ts +0 -119
  726. package/skills/manageskill/tsconfig.json +0 -29
  727. package/skills/mcp-builder/CLAUDE.md +0 -19
  728. package/skills/mcp-builder/package.json +0 -30
  729. package/skills/mcp-builder/src/ai-descriptions.ts +0 -37
  730. package/skills/mcp-builder/src/generators.ts +0 -513
  731. package/skills/mcp-builder/src/index.ts +0 -62
  732. package/skills/mcp-builder/src/minimist.d.ts +0 -15
  733. package/skills/mcp-builder/src/naming.ts +0 -12
  734. package/skills/mcp-builder/src/options.ts +0 -170
  735. package/skills/mcp-builder/src/templates.ts +0 -149
  736. package/skills/mcp-builder/src/types.ts +0 -42
  737. package/skills/mcp-builder/tsconfig.json +0 -10
  738. package/skills/meal-plan-designer/CLAUDE.md +0 -19
  739. package/skills/meal-plan-designer/package.json +0 -27
  740. package/skills/meal-plan-designer/src/index.ts +0 -301
  741. package/skills/meal-plan-designer/tsconfig.json +0 -10
  742. package/skills/meeting-insight-summarizer/CLAUDE.md +0 -19
  743. package/skills/meeting-insight-summarizer/package.json +0 -27
  744. package/skills/meeting-insight-summarizer/src/index.ts +0 -316
  745. package/skills/meeting-insight-summarizer/tsconfig.json +0 -10
  746. package/skills/microcopy-generator/CLAUDE.md +0 -19
  747. package/skills/microcopy-generator/package.json +0 -27
  748. package/skills/microcopy-generator/src/index.ts +0 -303
  749. package/skills/microcopy-generator/tsconfig.json +0 -10
  750. package/skills/mindfulness-prompt-cache/CLAUDE.md +0 -19
  751. package/skills/mindfulness-prompt-cache/package.json +0 -27
  752. package/skills/mindfulness-prompt-cache/src/index.ts +0 -290
  753. package/skills/mindfulness-prompt-cache/tsconfig.json +0 -10
  754. package/skills/music/SKILL.md +0 -33
  755. package/skills/music/package.json +0 -11
  756. package/skills/music-album/SKILL.md +0 -37
  757. package/skills/music-album/package.json +0 -11
  758. package/skills/notion-manager/CLAUDE.md +0 -19
  759. package/skills/notion-manager/package.json +0 -29
  760. package/skills/notion-manager/src/index.ts +0 -105
  761. package/skills/notion-manager/tsconfig.json +0 -10
  762. package/skills/npmpublish/CLAUDE.md +0 -30
  763. package/skills/npmpublish/README.md +0 -83
  764. package/skills/npmpublish/SKILL.md +0 -70
  765. package/skills/npmpublish/package.json +0 -41
  766. package/skills/npmpublish/src/index.ts +0 -192
  767. package/skills/npmpublish/tsconfig.json +0 -18
  768. package/skills/onboarding-sequence-builder/CLAUDE.md +0 -19
  769. package/skills/onboarding-sequence-builder/package.json +0 -27
  770. package/skills/onboarding-sequence-builder/src/index.ts +0 -321
  771. package/skills/onboarding-sequence-builder/tsconfig.json +0 -10
  772. package/skills/onsite-ops-checklist/CLAUDE.md +0 -19
  773. package/skills/onsite-ops-checklist/package.json +0 -27
  774. package/skills/onsite-ops-checklist/src/index.ts +0 -307
  775. package/skills/onsite-ops-checklist/tsconfig.json +0 -10
  776. package/skills/outreach-cadence-designer/CLAUDE.md +0 -19
  777. package/skills/outreach-cadence-designer/package.json +0 -27
  778. package/skills/outreach-cadence-designer/src/index.ts +0 -330
  779. package/skills/outreach-cadence-designer/tsconfig.json +0 -10
  780. package/skills/packaging-concept-studio/CLAUDE.md +0 -19
  781. package/skills/packaging-concept-studio/package.json +0 -27
  782. package/skills/packaging-concept-studio/src/index.ts +0 -296
  783. package/skills/packaging-concept-studio/tsconfig.json +0 -10
  784. package/skills/packing-plan-pro/CLAUDE.md +0 -19
  785. package/skills/packing-plan-pro/package.json +0 -27
  786. package/skills/packing-plan-pro/src/index.ts +0 -306
  787. package/skills/packing-plan-pro/tsconfig.json +0 -10
  788. package/skills/parent-teacher-brief/CLAUDE.md +0 -19
  789. package/skills/parent-teacher-brief/package.json +0 -27
  790. package/skills/parent-teacher-brief/src/index.ts +0 -290
  791. package/skills/parent-teacher-brief/tsconfig.json +0 -10
  792. package/skills/partner-kit-assembler/CLAUDE.md +0 -19
  793. package/skills/partner-kit-assembler/package.json +0 -27
  794. package/skills/partner-kit-assembler/src/index.ts +0 -313
  795. package/skills/partner-kit-assembler/tsconfig.json +0 -10
  796. package/skills/payroll-change-prepper/CLAUDE.md +0 -19
  797. package/skills/payroll-change-prepper/package.json +0 -27
  798. package/skills/payroll-change-prepper/src/index.ts +0 -304
  799. package/skills/payroll-change-prepper/tsconfig.json +0 -10
  800. package/skills/pdf-read/SKILL.md +0 -56
  801. package/skills/pdf-read/package.json +0 -11
  802. package/skills/pdf-read/tsconfig.json +0 -8
  803. package/skills/persona-based-adwriter/CLAUDE.md +0 -19
  804. package/skills/persona-based-adwriter/package.json +0 -27
  805. package/skills/persona-based-adwriter/src/index.ts +0 -285
  806. package/skills/persona-based-adwriter/tsconfig.json +0 -10
  807. package/skills/persona-generator/CLAUDE.md +0 -19
  808. package/skills/persona-generator/package.json +0 -27
  809. package/skills/persona-generator/src/index.ts +0 -443
  810. package/skills/persona-generator/tsconfig.json +0 -10
  811. package/skills/personal-daily-ops/CLAUDE.md +0 -19
  812. package/skills/personal-daily-ops/package.json +0 -27
  813. package/skills/personal-daily-ops/src/index.ts +0 -324
  814. package/skills/personal-daily-ops/tsconfig.json +0 -10
  815. package/skills/pet-care-scheduler/CLAUDE.md +0 -19
  816. package/skills/pet-care-scheduler/package.json +0 -27
  817. package/skills/pet-care-scheduler/src/index.ts +0 -298
  818. package/skills/pet-care-scheduler/tsconfig.json +0 -10
  819. package/skills/photo-album/SKILL.md +0 -29
  820. package/skills/photo-album/package.json +0 -11
  821. package/skills/photo-album/tsconfig.json +0 -4
  822. package/skills/playlist-maker/SKILL.md +0 -33
  823. package/skills/playlist-maker/package.json +0 -11
  824. package/skills/playlist-maker/tsconfig.json +0 -4
  825. package/skills/podcast-show-notes/CLAUDE.md +0 -19
  826. package/skills/podcast-show-notes/package.json +0 -27
  827. package/skills/podcast-show-notes/src/index.ts +0 -302
  828. package/skills/podcast-show-notes/tsconfig.json +0 -10
  829. package/skills/presentation-theme-maker/CLAUDE.md +0 -19
  830. package/skills/presentation-theme-maker/package.json +0 -27
  831. package/skills/presentation-theme-maker/src/index.ts +0 -292
  832. package/skills/presentation-theme-maker/tsconfig.json +0 -10
  833. package/skills/press-release-drafter/CLAUDE.md +0 -19
  834. package/skills/press-release-drafter/package.json +0 -27
  835. package/skills/press-release-drafter/src/index.ts +0 -291
  836. package/skills/press-release-drafter/tsconfig.json +0 -10
  837. package/skills/print-collateral-designer/CLAUDE.md +0 -19
  838. package/skills/print-collateral-designer/package.json +0 -27
  839. package/skills/print-collateral-designer/src/index.ts +0 -298
  840. package/skills/print-collateral-designer/tsconfig.json +0 -10
  841. package/skills/procurement-scorecard/CLAUDE.md +0 -19
  842. package/skills/procurement-scorecard/package.json +0 -27
  843. package/skills/procurement-scorecard/src/index.ts +0 -338
  844. package/skills/procurement-scorecard/tsconfig.json +0 -10
  845. package/skills/product-demo-script/CLAUDE.md +0 -19
  846. package/skills/product-demo-script/package.json +0 -27
  847. package/skills/product-demo-script/src/index.ts +0 -326
  848. package/skills/product-demo-script/tsconfig.json +0 -10
  849. package/skills/project-dashboard-reports/SKILL.md +0 -78
  850. package/skills/project-dashboard-reports/package.json +0 -25
  851. package/skills/project-dashboard-reports/src/index.ts +0 -67
  852. package/skills/project-retro-companion/CLAUDE.md +0 -19
  853. package/skills/project-retro-companion/package.json +0 -27
  854. package/skills/project-retro-companion/src/index.ts +0 -298
  855. package/skills/project-retro-companion/tsconfig.json +0 -10
  856. package/skills/proposal-redline-advisor/CLAUDE.md +0 -19
  857. package/skills/proposal-redline-advisor/package.json +0 -27
  858. package/skills/proposal-redline-advisor/src/index.ts +0 -320
  859. package/skills/proposal-redline-advisor/tsconfig.json +0 -10
  860. package/skills/read-image/SKILL.md +0 -47
  861. package/skills/read-image/package.json +0 -33
  862. package/skills/read-image/src/index.ts +0 -264
  863. package/skills/read-pdf/SKILL.md +0 -53
  864. package/skills/read-pdf/package.json +0 -11
  865. package/skills/remove-background/CLAUDE.md +0 -19
  866. package/skills/remove-background/package.json +0 -11
  867. package/skills/remove-background/tsconfig.json +0 -10
  868. package/skills/risk-disclosure-kit/CLAUDE.md +0 -19
  869. package/skills/risk-disclosure-kit/package.json +0 -27
  870. package/skills/risk-disclosure-kit/src/index.ts +0 -307
  871. package/skills/risk-disclosure-kit/tsconfig.json +0 -10
  872. package/skills/roi-comparison-tool/CLAUDE.md +0 -19
  873. package/skills/roi-comparison-tool/package.json +0 -27
  874. package/skills/roi-comparison-tool/src/index.ts +0 -322
  875. package/skills/roi-comparison-tool/tsconfig.json +0 -10
  876. package/skills/sales-call-recapper/CLAUDE.md +0 -19
  877. package/skills/sales-call-recapper/package.json +0 -27
  878. package/skills/sales-call-recapper/src/index.ts +0 -300
  879. package/skills/sales-call-recapper/tsconfig.json +0 -10
  880. package/skills/salescopy/.env.example +0 -2
  881. package/skills/salescopy/CLAUDE.md +0 -23
  882. package/skills/salescopy/LICENSE +0 -192
  883. package/skills/salescopy/README.md +0 -72
  884. package/skills/salescopy/package.json +0 -27
  885. package/skills/salescopy/src/commands/config.ts +0 -115
  886. package/skills/salescopy/src/commands/generate.ts +0 -179
  887. package/skills/salescopy/src/commands/sessions.ts +0 -169
  888. package/skills/salescopy/src/commands/templates.ts +0 -99
  889. package/skills/salescopy/src/index.ts +0 -3
  890. package/skills/salescopy/src/lib/generator.ts +0 -197
  891. package/skills/salescopy/src/lib/storage.ts +0 -191
  892. package/skills/salescopy/src/types/index.ts +0 -74
  893. package/skills/salescopy/src/utils/logger.ts +0 -33
  894. package/skills/salescopy/src/utils/paths.ts +0 -25
  895. package/skills/salescopy/tsconfig.json +0 -23
  896. package/skills/scaffold-project/CLAUDE.md +0 -19
  897. package/skills/scaffold-project/package.json +0 -29
  898. package/skills/scaffold-project/src/ai-detect.ts +0 -136
  899. package/skills/scaffold-project/src/file-generators.ts +0 -292
  900. package/skills/scaffold-project/src/index.ts +0 -240
  901. package/skills/scaffold-project/src/project-config.ts +0 -338
  902. package/skills/scaffold-project/src/templates.ts +0 -173
  903. package/skills/scaffold-project/src/types.ts +0 -58
  904. package/skills/scaffold-project/tsconfig.json +0 -10
  905. package/skills/scholarship-tracker/CLAUDE.md +0 -19
  906. package/skills/scholarship-tracker/package.json +0 -27
  907. package/skills/scholarship-tracker/src/index.ts +0 -298
  908. package/skills/scholarship-tracker/tsconfig.json +0 -10
  909. package/skills/sdk-generator/SKILL.md +0 -45
  910. package/skills/sdk-generator/package.json +0 -11
  911. package/skills/sdk-generator/tsconfig.json +0 -8
  912. package/skills/seating-chart-maker/CLAUDE.md +0 -19
  913. package/skills/seating-chart-maker/package.json +0 -27
  914. package/skills/seating-chart-maker/src/index.ts +0 -312
  915. package/skills/seating-chart-maker/tsconfig.json +0 -10
  916. package/skills/seo-brief-builder/CLAUDE.md +0 -19
  917. package/skills/seo-brief-builder/package.json +0 -27
  918. package/skills/seo-brief-builder/src/index.ts +0 -288
  919. package/skills/seo-brief-builder/tsconfig.json +0 -10
  920. package/skills/short-video-pack/SKILL.md +0 -30
  921. package/skills/short-video-pack/package.json +0 -11
  922. package/skills/slack-assistant/CLAUDE.md +0 -19
  923. package/skills/slack-assistant/package.json +0 -29
  924. package/skills/slack-assistant/src/index.ts +0 -79
  925. package/skills/slack-assistant/tsconfig.json +0 -10
  926. package/skills/sleep-routine-analyzer/CLAUDE.md +0 -19
  927. package/skills/sleep-routine-analyzer/package.json +0 -27
  928. package/skills/sleep-routine-analyzer/src/index.ts +0 -293
  929. package/skills/sleep-routine-analyzer/tsconfig.json +0 -10
  930. package/skills/sms/README.md +0 -33
  931. package/skills/sms/package.json +0 -35
  932. package/skills/sms/src/index.ts +0 -335
  933. package/skills/sms/tsconfig.json +0 -21
  934. package/skills/social-media-kit/CLAUDE.md +0 -19
  935. package/skills/social-media-kit/package.json +0 -27
  936. package/skills/social-media-kit/src/index.ts +0 -281
  937. package/skills/social-media-kit/tsconfig.json +0 -10
  938. package/skills/sponsorship-proposal-lab/CLAUDE.md +0 -19
  939. package/skills/sponsorship-proposal-lab/package.json +0 -27
  940. package/skills/sponsorship-proposal-lab/src/index.ts +0 -300
  941. package/skills/sponsorship-proposal-lab/tsconfig.json +0 -10
  942. package/skills/spreadsheet-cleanroom/CLAUDE.md +0 -19
  943. package/skills/spreadsheet-cleanroom/package.json +0 -27
  944. package/skills/spreadsheet-cleanroom/src/index.ts +0 -331
  945. package/skills/spreadsheet-cleanroom/tsconfig.json +0 -10
  946. package/skills/stress-relief-playbook/CLAUDE.md +0 -19
  947. package/skills/stress-relief-playbook/package.json +0 -27
  948. package/skills/stress-relief-playbook/src/index.ts +0 -298
  949. package/skills/stress-relief-playbook/tsconfig.json +0 -10
  950. package/skills/study-guide-builder/CLAUDE.md +0 -19
  951. package/skills/study-guide-builder/package.json +0 -27
  952. package/skills/study-guide-builder/src/index.ts +0 -298
  953. package/skills/study-guide-builder/tsconfig.json +0 -10
  954. package/skills/subscription-spend-watcher/CLAUDE.md +0 -19
  955. package/skills/subscription-spend-watcher/package.json +0 -27
  956. package/skills/subscription-spend-watcher/src/index.ts +0 -312
  957. package/skills/subscription-spend-watcher/tsconfig.json +0 -10
  958. package/skills/subtitle/.env.example +0 -2
  959. package/skills/subtitle/CLAUDE.md +0 -37
  960. package/skills/subtitle/LICENSE +0 -192
  961. package/skills/subtitle/README.md +0 -63
  962. package/skills/subtitle/package.json +0 -43
  963. package/skills/subtitle/src/commands/config.ts +0 -53
  964. package/skills/subtitle/src/commands/generate.ts +0 -61
  965. package/skills/subtitle/src/index.ts +0 -3
  966. package/skills/subtitle/src/lib/generator.ts +0 -216
  967. package/skills/subtitle/src/lib/storage.ts +0 -62
  968. package/skills/subtitle/src/types/index.ts +0 -68
  969. package/skills/subtitle/src/utils/logger.ts +0 -34
  970. package/skills/subtitle/src/utils/paths.ts +0 -51
  971. package/skills/subtitle/tsconfig.json +0 -21
  972. package/skills/survey-insight-extractor/CLAUDE.md +0 -19
  973. package/skills/survey-insight-extractor/package.json +0 -27
  974. package/skills/survey-insight-extractor/src/index.ts +0 -317
  975. package/skills/survey-insight-extractor/tsconfig.json +0 -10
  976. package/skills/terraform-generator/CLAUDE.md +0 -19
  977. package/skills/terraform-generator/package.json +0 -29
  978. package/skills/terraform-generator/src/index.ts +0 -99
  979. package/skills/terraform-generator/tsconfig.json +0 -10
  980. package/skills/testimonial-graphics/CLAUDE.md +0 -19
  981. package/skills/testimonial-graphics/package.json +0 -27
  982. package/skills/testimonial-graphics/src/index.ts +0 -303
  983. package/skills/testimonial-graphics/tsconfig.json +0 -10
  984. package/skills/timesheet/.env.example +0 -25
  985. package/skills/timesheet/README.md +0 -235
  986. package/skills/timesheet/package.json +0 -47
  987. package/skills/timesheet/scripts/publish.ts +0 -210
  988. package/skills/timesheet/src/commands/employee.ts +0 -96
  989. package/skills/timesheet/src/commands/export.ts +0 -29
  990. package/skills/timesheet/src/commands/generate.ts +0 -102
  991. package/skills/timesheet/src/commands/holiday.ts +0 -74
  992. package/skills/timesheet/src/commands/profile.ts +0 -133
  993. package/skills/timesheet/src/commands/setup.ts +0 -21
  994. package/skills/timesheet/src/commands/vacation.ts +0 -93
  995. package/skills/timesheet/src/index.ts +0 -3
  996. package/skills/timesheet/src/lib/employees.ts +0 -56
  997. package/skills/timesheet/src/lib/export.ts +0 -123
  998. package/skills/timesheet/src/lib/holidays.ts +0 -79
  999. package/skills/timesheet/src/lib/paths.ts +0 -59
  1000. package/skills/timesheet/src/lib/profiles.ts +0 -168
  1001. package/skills/timesheet/src/lib/storage.ts +0 -83
  1002. package/skills/timesheet/src/lib/timesheet.ts +0 -130
  1003. package/skills/timesheet/src/lib/vacations.ts +0 -70
  1004. package/skills/timesheet/src/types/index.ts +0 -96
  1005. package/skills/timesheet/tsconfig.json +0 -29
  1006. package/skills/transcript/LICENSE +0 -192
  1007. package/skills/transcript/README.md +0 -17
  1008. package/skills/transcript/SKILL.md +0 -80
  1009. package/skills/transcript/package.json +0 -11
  1010. package/skills/transcript/tsconfig.json +0 -18
  1011. package/skills/travel-budget-balancer/CLAUDE.md +0 -19
  1012. package/skills/travel-budget-balancer/package.json +0 -27
  1013. package/skills/travel-budget-balancer/src/index.ts +0 -297
  1014. package/skills/travel-budget-balancer/tsconfig.json +0 -10
  1015. package/skills/video/SKILL.md +0 -37
  1016. package/skills/video/package.json +0 -11
  1017. package/skills/video-cut-suggester/CLAUDE.md +0 -19
  1018. package/skills/video-cut-suggester/package.json +0 -27
  1019. package/skills/video-cut-suggester/src/index.ts +0 -304
  1020. package/skills/video-cut-suggester/tsconfig.json +0 -10
  1021. package/skills/video-thumbnail/CLAUDE.md +0 -19
  1022. package/skills/video-thumbnail/package.json +0 -27
  1023. package/skills/video-thumbnail/src/index.ts +0 -356
  1024. package/skills/video-thumbnail/tsconfig.json +0 -10
  1025. package/skills/voiceover-jingle-pack/SKILL.md +0 -28
  1026. package/skills/voiceover-jingle-pack/package.json +0 -11
  1027. package/skills/webcrawling/CLAUDE.md +0 -11
  1028. package/skills/webcrawling/LICENSE +0 -192
  1029. package/skills/webcrawling/README.md +0 -24
  1030. package/skills/webcrawling/package.json +0 -11
  1031. package/skills/webcrawling/tsconfig.json +0 -22
  1032. package/skills/webinar-script-coach/CLAUDE.md +0 -19
  1033. package/skills/webinar-script-coach/package.json +0 -27
  1034. package/skills/webinar-script-coach/src/index.ts +0 -296
  1035. package/skills/webinar-script-coach/tsconfig.json +0 -10
  1036. package/skills/wellness-progress-reporter/CLAUDE.md +0 -19
  1037. package/skills/wellness-progress-reporter/package.json +0 -27
  1038. package/skills/wellness-progress-reporter/src/index.ts +0 -298
  1039. package/skills/wellness-progress-reporter/tsconfig.json +0 -10
  1040. package/skills/workout-cycle-planner/CLAUDE.md +0 -19
  1041. package/skills/workout-cycle-planner/package.json +0 -27
  1042. package/skills/workout-cycle-planner/src/index.ts +0 -299
  1043. package/skills/workout-cycle-planner/tsconfig.json +0 -10
  1044. package/skills/write/.env.example +0 -9
  1045. package/skills/write/LICENSE +0 -192
  1046. package/skills/write/README.md +0 -17
  1047. package/skills/write/SKILL.md +0 -90
  1048. package/skills/write/package.json +0 -32
  1049. package/skills/write/src/agents/image-generator.ts +0 -186
  1050. package/skills/write/src/agents/researcher.ts +0 -61
  1051. package/skills/write/src/agents/writer.ts +0 -99
  1052. package/skills/write/src/index-local.ts +0 -248
  1053. package/skills/write/src/index.ts +0 -4
  1054. package/skills/write/src/orchestrator.ts +0 -171
  1055. package/skills/write/src/types.ts +0 -65
  1056. package/skills/write/tsconfig.json +0 -18
  1057. /package/migrations/{0001_open_skills_self_hosted.sql → postgres/0001_open_skills_self_hosted.sql} +0 -0
  1058. /package/skills/{read-image → api-docs-portal}/tsconfig.json +0 -0
  1059. /package/skills/{read-pdf → brand-assets}/tsconfig.json +0 -0
@@ -1,143 +0,0 @@
1
- import { spawn } from 'child_process';
2
- import { writeFile, mkdir, readFile, unlink, readdir } from 'fs/promises';
3
- import { join, dirname } from 'path';
4
- import type { EmojiResult } from './types';
5
-
6
- export class ImageProcessor {
7
- private targetSize: number;
8
-
9
- constructor(targetSize: number = 128) {
10
- this.targetSize = targetSize;
11
- }
12
-
13
- /**
14
- * Resize an image buffer to the target size using sips (macOS built-in)
15
- */
16
- async resize(buffer: Buffer, name: string): Promise<Buffer> {
17
- // Create temp files for processing
18
- const tempDir = '/tmp/emoji';
19
- await mkdir(tempDir, { recursive: true });
20
-
21
- const inputPath = join(tempDir, `${name}-input.png`);
22
- const outputPath = join(tempDir, `${name}-output.png`);
23
-
24
- try {
25
- // Write input buffer to temp file
26
- await writeFile(inputPath, buffer);
27
-
28
- // Use sips (macOS) to resize the image
29
- await this.runCommand('sips', [
30
- '-z', String(this.targetSize), String(this.targetSize),
31
- inputPath,
32
- '--out', outputPath,
33
- ]);
34
-
35
- // Read the resized image
36
- const resizedBuffer = await readFile(outputPath);
37
-
38
- return resizedBuffer;
39
- } finally {
40
- // Cleanup temp files
41
- try {
42
- await unlink(inputPath);
43
- await unlink(outputPath);
44
- } catch {
45
- // Ignore cleanup errors
46
- }
47
- }
48
- }
49
-
50
- /**
51
- * Save emoji results to a directory
52
- */
53
- async saveToDirectory(results: EmojiResult[], outputDir: string): Promise<string[]> {
54
- await mkdir(outputDir, { recursive: true });
55
-
56
- const savedPaths: string[] = [];
57
-
58
- for (const result of results) {
59
- const filename = `${result.name}.png`;
60
- const filepath = join(outputDir, filename);
61
- await writeFile(filepath, result.buffer);
62
- result.path = filepath;
63
- savedPaths.push(filepath);
64
- }
65
-
66
- return savedPaths;
67
- }
68
-
69
- /**
70
- * Create a zip file from emoji results
71
- */
72
- async createZip(results: EmojiResult[], outputPath: string): Promise<string> {
73
- const tempDir = '/tmp/emoji-zip';
74
- await mkdir(tempDir, { recursive: true });
75
-
76
- // Save all images to temp directory
77
- const savedPaths = await this.saveToDirectory(results, tempDir);
78
-
79
- // Ensure output directory exists
80
- await mkdir(dirname(outputPath), { recursive: true });
81
-
82
- // Create zip using built-in zip command
83
- const filenames = results.map(r => `${r.name}.png`);
84
- await this.runCommand('zip', ['-j', outputPath, ...savedPaths], tempDir);
85
-
86
- // Cleanup temp directory
87
- for (const path of savedPaths) {
88
- try {
89
- await unlink(path);
90
- } catch {
91
- // Ignore cleanup errors
92
- }
93
- }
94
-
95
- return outputPath;
96
- }
97
-
98
- /**
99
- * Create a manifest JSON file with metadata
100
- */
101
- async createManifest(
102
- results: EmojiResult[],
103
- theme: string,
104
- outputPath: string
105
- ): Promise<void> {
106
- const manifest = {
107
- theme,
108
- count: results.length,
109
- size: this.targetSize,
110
- generated: new Date().toISOString(),
111
- emojis: results.map(r => ({
112
- name: r.name,
113
- filename: `${r.name}.png`,
114
- prompt: r.prompt,
115
- })),
116
- };
117
-
118
- await writeFile(outputPath, JSON.stringify(manifest, null, 2));
119
- }
120
-
121
- private runCommand(command: string, args: string[], cwd?: string): Promise<void> {
122
- return new Promise((resolve, reject) => {
123
- const proc = spawn(command, args, { cwd });
124
-
125
- let stderr = '';
126
- proc.stderr?.on('data', (data) => {
127
- stderr += data.toString();
128
- });
129
-
130
- proc.on('close', (code) => {
131
- if (code === 0) {
132
- resolve();
133
- } else {
134
- reject(new Error(`${command} failed with code ${code}: ${stderr}`));
135
- }
136
- });
137
-
138
- proc.on('error', (err) => {
139
- reject(err);
140
- });
141
- });
142
- }
143
- }
@@ -1,282 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- import { resolve } from 'path';
4
- import type { GenerateOptions, EmojiPrompt, EmojiResult, ImageProvider } from './types';
5
- import { PromptGenerator } from './prompt-generator';
6
- import { OpenAIProvider } from './providers/openai';
7
- import { GeminiProvider } from './providers/gemini';
8
- import { ImageProcessor } from './image-processor';
9
-
10
- function parseArgs(): GenerateOptions | null {
11
- const args = process.argv.slice(2);
12
-
13
- if (args.length === 0 || args[0] === '--help' || args[0] === '-h') {
14
- printHelp();
15
- return null;
16
- }
17
-
18
- if (args[0] !== 'generate') {
19
- console.error(`Unknown command: ${args[0]}`);
20
- console.error('Run with --help for usage information');
21
- process.exit(1);
22
- }
23
-
24
- const options: Partial<GenerateOptions> = {
25
- count: 5,
26
- provider: 'openai',
27
- size: 128,
28
- style: 'flat',
29
- format: 'directory',
30
- concurrency: 3,
31
- };
32
-
33
- for (let i = 1; i < args.length; i++) {
34
- const arg = args[i];
35
-
36
- switch (arg) {
37
- case '--theme':
38
- case '-t':
39
- options.theme = args[++i];
40
- break;
41
- case '--count':
42
- case '-c':
43
- options.count = parseInt(args[++i], 10);
44
- break;
45
- case '--provider':
46
- case '-p':
47
- options.provider = args[++i] as 'openai' | 'gemini';
48
- break;
49
- case '--size':
50
- case '-s':
51
- options.size = parseInt(args[++i], 10);
52
- break;
53
- case '--style':
54
- options.style = args[++i] as GenerateOptions['style'];
55
- break;
56
- case '--output':
57
- case '-o':
58
- options.output = args[++i];
59
- break;
60
- case '--format':
61
- case '-f':
62
- options.format = args[++i] as 'zip' | 'directory';
63
- break;
64
- case '--concurrency':
65
- options.concurrency = parseInt(args[++i], 10);
66
- break;
67
- default:
68
- console.error(`Unknown option: ${arg}`);
69
- process.exit(1);
70
- }
71
- }
72
-
73
- // Validate required options
74
- if (!options.theme) {
75
- console.error('Error: --theme is required');
76
- process.exit(1);
77
- }
78
-
79
- if (!options.output) {
80
- // Default output based on format
81
- options.output = options.format === 'zip'
82
- ? `./emoji-${options.theme.toLowerCase().replace(/\s+/g, '-')}.zip`
83
- : `./emoji-${options.theme.toLowerCase().replace(/\s+/g, '-')}`;
84
- }
85
-
86
- // Validate provider
87
- if (!['openai', 'gemini'].includes(options.provider!)) {
88
- console.error('Error: Invalid provider. Choose from: openai, gemini');
89
- process.exit(1);
90
- }
91
-
92
- // Validate style
93
- if (!['flat', '3d', 'outline', 'gradient'].includes(options.style!)) {
94
- console.error('Error: Invalid style. Choose from: flat, 3d, outline, gradient');
95
- process.exit(1);
96
- }
97
-
98
- // Validate count
99
- if (options.count! < 1 || options.count! > 50) {
100
- console.error('Error: Count must be between 1 and 50');
101
- process.exit(1);
102
- }
103
-
104
- return options as GenerateOptions;
105
- }
106
-
107
- function printHelp(): void {
108
- console.log(`
109
- Emoji Pack Generator Skill
110
-
111
- Generate emoji packs using AI-powered prompt generation and image creation.
112
-
113
- USAGE:
114
- bun run src/index.ts generate [OPTIONS]
115
-
116
- OPTIONS:
117
- --theme, -t <theme> Theme for emoji pack (e.g., "Christmas", "Food") [required]
118
- --count, -c <number> Number of emojis to generate (1-50, default: 5)
119
- --provider, -p <provider> Image provider: openai, gemini (default: openai)
120
- --size, -s <pixels> Output size in pixels (default: 128)
121
- --style <style> Emoji style: flat, 3d, outline, gradient (default: flat)
122
- --output, -o <path> Output path (directory or zip file)
123
- --format, -f <format> Output format: directory, zip (default: directory)
124
- --concurrency <number> Concurrent image generations (default: 3)
125
-
126
- EXAMPLES:
127
- # Generate 10 Christmas emojis
128
- bun run src/index.ts generate --theme "Christmas" --count 10
129
-
130
- # Generate food emojis as a zip file
131
- bun run src/index.ts generate -t "Food and Drinks" -c 15 -f zip -o ./food-emojis.zip
132
-
133
- # Generate 3D style emojis with Gemini
134
- bun run src/index.ts generate -t "Animals" -c 8 -p gemini --style 3d
135
-
136
- # Generate high-res emojis (256px)
137
- bun run src/index.ts generate -t "Weather" -c 6 -s 256
138
-
139
- ENVIRONMENT VARIABLES:
140
- OPENAI_API_KEY API key for OpenAI (required for openai provider)
141
- GEMINI_API_KEY API key for Google Gemini (required for gemini provider)
142
- GOOGLE_PROJECT_ID Google Cloud project ID (required for Gemini image generation)
143
-
144
- WORKFLOW:
145
- 1. AI generates creative prompts based on your theme
146
- 2. Images are generated asynchronously using the selected provider
147
- 3. Images are resized to the specified size
148
- 4. Output is saved as a directory or zip file with manifest
149
-
150
- OUTPUT:
151
- - Individual PNG files for each emoji
152
- - manifest.json with metadata and prompts
153
- `);
154
- }
155
-
156
- function getImageProvider(provider: string): ImageProvider {
157
- switch (provider) {
158
- case 'openai':
159
- return new OpenAIProvider();
160
- case 'gemini':
161
- return new GeminiProvider();
162
- default:
163
- throw new Error(`Unknown provider: ${provider}`);
164
- }
165
- }
166
-
167
- async function generateWithConcurrency(
168
- prompts: EmojiPrompt[],
169
- provider: ImageProvider,
170
- concurrency: number,
171
- onProgress: (current: number, total: number, name: string) => void
172
- ): Promise<EmojiResult[]> {
173
- const results: EmojiResult[] = [];
174
- const queue = [...prompts];
175
- let completed = 0;
176
-
177
- const worker = async (): Promise<void> => {
178
- while (queue.length > 0) {
179
- const prompt = queue.shift();
180
- if (!prompt) break;
181
-
182
- try {
183
- const buffer = await provider.generate(prompt.prompt);
184
- results.push({
185
- name: prompt.name,
186
- prompt: prompt.prompt,
187
- buffer,
188
- });
189
- completed++;
190
- onProgress(completed, prompts.length, prompt.name);
191
- } catch (error) {
192
- console.error(` Failed to generate "${prompt.name}": ${error}`);
193
- // Continue with other emojis
194
- }
195
- }
196
- };
197
-
198
- // Start concurrent workers
199
- const workers = Array(Math.min(concurrency, prompts.length))
200
- .fill(null)
201
- .map(() => worker());
202
-
203
- await Promise.all(workers);
204
-
205
- return results;
206
- }
207
-
208
- async function main(): Promise<void> {
209
- const options = parseArgs();
210
-
211
- if (!options) {
212
- return;
213
- }
214
-
215
- try {
216
- console.log('\n=== Emoji Pack Generator ===\n');
217
- console.log(`Theme: ${options.theme}`);
218
- console.log(`Count: ${options.count}`);
219
- console.log(`Provider: ${options.provider}`);
220
- console.log(`Style: ${options.style}`);
221
- console.log(`Size: ${options.size}px`);
222
- console.log(`Format: ${options.format}`);
223
- console.log('');
224
-
225
- // Step 1: Generate prompts using AI
226
- console.log('Step 1/4: Generating emoji prompts...');
227
- const promptGenerator = new PromptGenerator(options.provider, options.style);
228
- const prompts = await promptGenerator.generate(options.theme, options.count);
229
- console.log(` Generated ${prompts.length} prompts\n`);
230
-
231
- // Display generated prompts
232
- console.log('Generated emojis:');
233
- prompts.forEach((p, i) => {
234
- console.log(` ${i + 1}. ${p.name}: ${p.description}`);
235
- });
236
- console.log('');
237
-
238
- // Step 2: Generate images
239
- console.log('Step 2/4: Generating images...');
240
- const imageProvider = getImageProvider(options.provider);
241
- const results = await generateWithConcurrency(
242
- prompts,
243
- imageProvider,
244
- options.concurrency,
245
- (current, total, name) => {
246
- console.log(` [${current}/${total}] Generated: ${name}`);
247
- }
248
- );
249
- console.log(` Generated ${results.length} images\n`);
250
-
251
- // Step 3: Resize images
252
- console.log('Step 3/4: Resizing images...');
253
- const processor = new ImageProcessor(options.size);
254
- for (const result of results) {
255
- result.buffer = await processor.resize(result.buffer, result.name);
256
- }
257
- console.log(` Resized to ${options.size}x${options.size}px\n`);
258
-
259
- // Step 4: Save output
260
- console.log('Step 4/4: Saving output...');
261
- const outputPath = resolve(options.output);
262
-
263
- if (options.format === 'zip') {
264
- await processor.createZip(results, outputPath);
265
- console.log(` Created zip: ${outputPath}`);
266
- } else {
267
- await processor.saveToDirectory(results, outputPath);
268
- await processor.createManifest(results, options.theme, resolve(outputPath, 'manifest.json'));
269
- console.log(` Saved to directory: ${outputPath}`);
270
- }
271
-
272
- console.log('\n=== Done! ===\n');
273
- console.log(`Generated ${results.length} emojis for theme "${options.theme}"`);
274
- console.log(`Output: ${outputPath}`);
275
- console.log('');
276
- } catch (error) {
277
- console.error('\nError:', error instanceof Error ? error.message : error);
278
- process.exit(1);
279
- }
280
- }
281
-
282
- main();
@@ -1,181 +0,0 @@
1
- import type { EmojiPrompt, OpenAIChatResponse, GeminiChatResponse } from './types';
2
-
3
- const EMOJI_SYSTEM_PROMPT = `Generate emoji image prompts. Each emoji should be:
4
- - Square format, single centered subject
5
- - Simple, clean design suitable for small sizes
6
- - No text, no words, no letters
7
- - Solid or transparent background
8
- - Vibrant colors, clear silhouette
9
-
10
- Return a JSON array with objects containing:
11
- - "name": short filename (lowercase, no spaces, use hyphens)
12
- - "description": what the emoji represents
13
- - "prompt": detailed image generation prompt
14
-
15
- Example output:
16
- [
17
- {"name": "santa-hat", "description": "Red Santa hat with white trim", "prompt": "A red Santa Claus hat with white fluffy trim, centered on solid background, emoji style, simple clean design, vibrant colors"},
18
- {"name": "gift-box", "description": "Wrapped present with bow", "prompt": "A wrapped gift box with red ribbon bow, centered on solid background, emoji style, simple clean design, festive colors"}
19
- ]
20
-
21
- Only output valid JSON array, no other text.`;
22
-
23
- export class PromptGenerator {
24
- private provider: 'openai' | 'gemini';
25
- private apiKey: string;
26
- private style: string;
27
-
28
- constructor(provider: 'openai' | 'gemini', style: string = 'flat') {
29
- this.provider = provider;
30
- this.style = style;
31
-
32
- if (provider === 'openai') {
33
- this.apiKey = process.env.OPENAI_API_KEY || '';
34
- if (!this.apiKey) {
35
- throw new Error('OPENAI_API_KEY environment variable is required');
36
- }
37
- } else {
38
- this.apiKey = process.env.GEMINI_API_KEY || '';
39
- if (!this.apiKey) {
40
- throw new Error('GEMINI_API_KEY environment variable is required');
41
- }
42
- }
43
- }
44
-
45
- async generate(theme: string, count: number): Promise<EmojiPrompt[]> {
46
- const styleDescription = this.getStyleDescription();
47
- const userPrompt = `Create ${count} unique emoji prompts for the theme: "${theme}"
48
-
49
- Style requirements: ${styleDescription}
50
-
51
- Generate exactly ${count} emojis. Make them diverse and cover different aspects of the theme.`;
52
-
53
- console.log(`Generating ${count} emoji prompts for theme: "${theme}"...`);
54
-
55
- if (this.provider === 'openai') {
56
- return this.generateWithOpenAI(userPrompt);
57
- } else {
58
- return this.generateWithGemini(userPrompt);
59
- }
60
- }
61
-
62
- private getStyleDescription(): string {
63
- switch (this.style) {
64
- case 'flat':
65
- return 'Flat design, solid colors, no shadows, minimal detail';
66
- case '3d':
67
- return 'Soft 3D style, subtle shadows and highlights, rounded shapes';
68
- case 'outline':
69
- return 'Line art style, clean outlines, minimal fill colors';
70
- case 'gradient':
71
- return 'Gradient colors, smooth transitions, modern look';
72
- default:
73
- return 'Clean emoji style';
74
- }
75
- }
76
-
77
- private async generateWithOpenAI(userPrompt: string): Promise<EmojiPrompt[]> {
78
- const response = await fetch('https://api.openai.com/v1/chat/completions', {
79
- method: 'POST',
80
- headers: {
81
- 'Content-Type': 'application/json',
82
- Authorization: `Bearer ${this.apiKey}`,
83
- },
84
- body: JSON.stringify({
85
- model: 'gpt-4o-mini',
86
- messages: [
87
- { role: 'system', content: EMOJI_SYSTEM_PROMPT },
88
- { role: 'user', content: userPrompt },
89
- ],
90
- temperature: 0.8,
91
- response_format: { type: 'json_object' },
92
- }),
93
- });
94
-
95
- if (!response.ok) {
96
- const error = await response.text();
97
- throw new Error(`OpenAI API error: ${response.status} - ${error}`);
98
- }
99
-
100
- const data = (await response.json()) as OpenAIChatResponse;
101
- const content = data.choices[0]?.message?.content;
102
-
103
- if (!content) {
104
- throw new Error('No content in OpenAI response');
105
- }
106
-
107
- return this.parsePrompts(content);
108
- }
109
-
110
- private async generateWithGemini(userPrompt: string): Promise<EmojiPrompt[]> {
111
- const response = await fetch(
112
- `https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${this.apiKey}`,
113
- {
114
- method: 'POST',
115
- headers: {
116
- 'Content-Type': 'application/json',
117
- },
118
- body: JSON.stringify({
119
- contents: [
120
- {
121
- parts: [
122
- { text: EMOJI_SYSTEM_PROMPT + '\n\n' + userPrompt },
123
- ],
124
- },
125
- ],
126
- generationConfig: {
127
- temperature: 0.8,
128
- responseMimeType: 'application/json',
129
- },
130
- }),
131
- }
132
- );
133
-
134
- if (!response.ok) {
135
- const error = await response.text();
136
- throw new Error(`Gemini API error: ${response.status} - ${error}`);
137
- }
138
-
139
- const data = (await response.json()) as GeminiChatResponse;
140
- const content = data.candidates?.[0]?.content?.parts?.[0]?.text;
141
-
142
- if (!content) {
143
- throw new Error('No content in Gemini response');
144
- }
145
-
146
- return this.parsePrompts(content);
147
- }
148
-
149
- private parsePrompts(content: string): EmojiPrompt[] {
150
- try {
151
- // Try to parse the content directly
152
- let parsed = JSON.parse(content);
153
-
154
- // Handle if the response is wrapped in an object
155
- if (parsed.emojis && Array.isArray(parsed.emojis)) {
156
- parsed = parsed.emojis;
157
- }
158
-
159
- if (!Array.isArray(parsed)) {
160
- throw new Error('Expected array of prompts');
161
- }
162
-
163
- // Validate and clean up each prompt
164
- return parsed.map((item: unknown, index: number) => {
165
- const obj = item as Record<string, unknown>;
166
- return {
167
- name: String(obj.name || `emoji-${index + 1}`).toLowerCase().replace(/\s+/g, '-'),
168
- description: String(obj.description || ''),
169
- prompt: String(obj.prompt || ''),
170
- };
171
- });
172
- } catch (error) {
173
- // Try to extract JSON from the content
174
- const jsonMatch = content.match(/\[[\s\S]*\]/);
175
- if (jsonMatch) {
176
- return this.parsePrompts(jsonMatch[0]);
177
- }
178
- throw new Error(`Failed to parse prompts: ${error}`);
179
- }
180
- }
181
- }
@@ -1,58 +0,0 @@
1
- import type { ImageProvider } from '../types';
2
-
3
- interface GeminiImageResponse {
4
- predictions?: Array<{
5
- bytesBase64Encoded: string;
6
- }>;
7
- }
8
-
9
- export class GeminiProvider implements ImageProvider {
10
- private apiKey: string;
11
- private projectId: string;
12
- private location = 'us-central1';
13
-
14
- constructor(apiKey?: string, projectId?: string) {
15
- this.apiKey = apiKey || process.env.GEMINI_API_KEY || '';
16
- this.projectId = projectId || process.env.GOOGLE_PROJECT_ID || '';
17
-
18
- if (!this.apiKey) {
19
- throw new Error('GEMINI_API_KEY environment variable is required');
20
- }
21
- if (!this.projectId) {
22
- throw new Error('GOOGLE_PROJECT_ID environment variable is required for image generation');
23
- }
24
- }
25
-
26
- async generate(prompt: string): Promise<Buffer> {
27
- const model = 'imagen-3.0-generate-001';
28
- const endpoint = `https://${this.location}-aiplatform.googleapis.com/v1/projects/${this.projectId}/locations/${this.location}/publishers/google/models/${model}:predict`;
29
-
30
- const response = await fetch(endpoint, {
31
- method: 'POST',
32
- headers: {
33
- 'Content-Type': 'application/json',
34
- Authorization: `Bearer ${this.apiKey}`,
35
- },
36
- body: JSON.stringify({
37
- instances: [{ prompt }],
38
- parameters: {
39
- sampleCount: 1,
40
- aspectRatio: '1:1',
41
- },
42
- }),
43
- });
44
-
45
- if (!response.ok) {
46
- const error = await response.text();
47
- throw new Error(`Gemini API error: ${response.status} - ${error}`);
48
- }
49
-
50
- const data = (await response.json()) as GeminiImageResponse;
51
-
52
- if (!data.predictions || data.predictions.length === 0 || !data.predictions[0].bytesBase64Encoded) {
53
- throw new Error('No image data returned from Gemini API');
54
- }
55
-
56
- return Buffer.from(data.predictions[0].bytesBase64Encoded, 'base64');
57
- }
58
- }