@hasna/skills 0.0.2

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 (1571) hide show
  1. package/.env.example +18 -0
  2. package/.npmrc.example +1 -0
  3. package/CONTRIBUTING.md +32 -0
  4. package/README.md +475 -0
  5. package/bin/index.js +36671 -0
  6. package/bin/mcp.js +30917 -0
  7. package/bunfig.toml +2 -0
  8. package/package.json +64 -0
  9. package/skills/skill-academic-journal-matcher/CLAUDE.md +19 -0
  10. package/skills/skill-academic-journal-matcher/package.json +32 -0
  11. package/skills/skill-academic-journal-matcher/src/index.ts +86 -0
  12. package/skills/skill-academic-journal-matcher/tsconfig.json +14 -0
  13. package/skills/skill-action-item-router/CLAUDE.md +19 -0
  14. package/skills/skill-action-item-router/package.json +32 -0
  15. package/skills/skill-action-item-router/src/index.ts +304 -0
  16. package/skills/skill-action-item-router/tsconfig.json +14 -0
  17. package/skills/skill-ad-creative-generator/CLAUDE.md +19 -0
  18. package/skills/skill-ad-creative-generator/package.json +32 -0
  19. package/skills/skill-ad-creative-generator/src/index.ts +419 -0
  20. package/skills/skill-ad-creative-generator/tsconfig.json +14 -0
  21. package/skills/skill-advanced-math/CLAUDE.md +19 -0
  22. package/skills/skill-advanced-math/package.json +32 -0
  23. package/skills/skill-advanced-math/src/index.ts +811 -0
  24. package/skills/skill-advanced-math/tsconfig.json +14 -0
  25. package/skills/skill-analyze-data/CLAUDE.md +16 -0
  26. package/skills/skill-analyze-data/SKILL.md +112 -0
  27. package/skills/skill-analyze-data/package.json +25 -0
  28. package/skills/skill-analyze-data/src/index.ts +1095 -0
  29. package/skills/skill-analyze-data/tsconfig.json +16 -0
  30. package/skills/skill-anomaly-investigator/CLAUDE.md +19 -0
  31. package/skills/skill-anomaly-investigator/package.json +32 -0
  32. package/skills/skill-anomaly-investigator/src/index.ts +311 -0
  33. package/skills/skill-anomaly-investigator/tsconfig.json +14 -0
  34. package/skills/skill-api-test-suite/CLAUDE.md +19 -0
  35. package/skills/skill-api-test-suite/package.json +32 -0
  36. package/skills/skill-api-test-suite/src/index.ts +368 -0
  37. package/skills/skill-api-test-suite/tsconfig.json +14 -0
  38. package/skills/skill-apidocs/.claude/settings.json +5 -0
  39. package/skills/skill-apidocs/.env.example +8 -0
  40. package/skills/skill-apidocs/CLAUDE.md +278 -0
  41. package/skills/skill-apidocs/LICENSE +21 -0
  42. package/skills/skill-apidocs/README.md +196 -0
  43. package/skills/skill-apidocs/api-docs-list.json +186 -0
  44. package/skills/skill-apidocs/package.json +60 -0
  45. package/skills/skill-apidocs/scripts/crawl-all.ts +157 -0
  46. package/skills/skill-apidocs/scripts/publish.ts +210 -0
  47. package/skills/skill-apidocs/src/commands/add.ts +279 -0
  48. package/skills/skill-apidocs/src/commands/endpoints.ts +157 -0
  49. package/skills/skill-apidocs/src/commands/list.ts +51 -0
  50. package/skills/skill-apidocs/src/commands/query.ts +63 -0
  51. package/skills/skill-apidocs/src/commands/remove.ts +39 -0
  52. package/skills/skill-apidocs/src/commands/sync.ts +227 -0
  53. package/skills/skill-apidocs/src/lib/crawler.ts +427 -0
  54. package/skills/skill-apidocs/src/lib/discovery.ts +244 -0
  55. package/skills/skill-apidocs/src/lib/embeddings.ts +136 -0
  56. package/skills/skill-apidocs/src/lib/endpoint-extractor.ts +359 -0
  57. package/skills/skill-apidocs/src/lib/html-to-md.ts +163 -0
  58. package/skills/skill-apidocs/src/lib/parser.ts +288 -0
  59. package/skills/skill-apidocs/src/lib/search.ts +189 -0
  60. package/skills/skill-apidocs/src/lib/storage.ts +242 -0
  61. package/skills/skill-apidocs/src/lib/vectors-local.ts +220 -0
  62. package/skills/skill-apidocs/src/lib/vectors-s3.ts +255 -0
  63. package/skills/skill-apidocs/src/lib/vectors.ts +97 -0
  64. package/skills/skill-apidocs/src/types/index.ts +297 -0
  65. package/skills/skill-apidocs/src/utils/output.ts +132 -0
  66. package/skills/skill-apidocs/src/utils/paths.ts +126 -0
  67. package/skills/skill-apidocs/tsconfig.json +21 -0
  68. package/skills/skill-architecture-docs/CLAUDE.md +19 -0
  69. package/skills/skill-architecture-docs/package.json +32 -0
  70. package/skills/skill-architecture-docs/src/index.ts +543 -0
  71. package/skills/skill-architecture-docs/tsconfig.json +14 -0
  72. package/skills/skill-audio/.env.example +14 -0
  73. package/skills/skill-audio/QUICKSTART.md +158 -0
  74. package/skills/skill-audio/README.md +256 -0
  75. package/skills/skill-audio/SKILL.md +60 -0
  76. package/skills/skill-audio/install.sh +112 -0
  77. package/skills/skill-audio/package.json +35 -0
  78. package/skills/skill-audio/src/auth.ts +49 -0
  79. package/skills/skill-audio/src/http-client.ts +128 -0
  80. package/skills/skill-audio/src/index-http.ts +111 -0
  81. package/skills/skill-audio/src/index-local.ts +203 -0
  82. package/skills/skill-audio/src/index.ts +111 -0
  83. package/skills/skill-audio/src/installer.ts +324 -0
  84. package/skills/skill-audio/src/providers/elevenlabs.ts +115 -0
  85. package/skills/skill-audio/src/providers/google.ts +116 -0
  86. package/skills/skill-audio/src/providers/openai.ts +115 -0
  87. package/skills/skill-audio/src/skill-install.ts +205 -0
  88. package/skills/skill-audio/src/types.ts +79 -0
  89. package/skills/skill-audio/tsconfig.json +19 -0
  90. package/skills/skill-audio-cleanup-lab/CLAUDE.md +3 -0
  91. package/skills/skill-audio-cleanup-lab/SKILL.md +81 -0
  92. package/skills/skill-audio-cleanup-lab/package.json +30 -0
  93. package/skills/skill-audio-cleanup-lab/src/index.ts +274 -0
  94. package/skills/skill-audio-cleanup-lab/tsconfig.json +18 -0
  95. package/skills/skill-audiobook-chapter-proofer/CLAUDE.md +19 -0
  96. package/skills/skill-audiobook-chapter-proofer/package.json +32 -0
  97. package/skills/skill-audiobook-chapter-proofer/src/index.ts +285 -0
  98. package/skills/skill-audiobook-chapter-proofer/tsconfig.json +14 -0
  99. package/skills/skill-auto-format/CLAUDE.md +19 -0
  100. package/skills/skill-auto-format/package.json +32 -0
  101. package/skills/skill-auto-format/src/index.ts +103 -0
  102. package/skills/skill-auto-format/tsconfig.json +14 -0
  103. package/skills/skill-banner-ad-suite/CLAUDE.md +19 -0
  104. package/skills/skill-banner-ad-suite/package.json +32 -0
  105. package/skills/skill-banner-ad-suite/src/index.ts +331 -0
  106. package/skills/skill-banner-ad-suite/tsconfig.json +14 -0
  107. package/skills/skill-benchmark-finder/CLAUDE.md +19 -0
  108. package/skills/skill-benchmark-finder/package.json +32 -0
  109. package/skills/skill-benchmark-finder/src/index.ts +294 -0
  110. package/skills/skill-benchmark-finder/tsconfig.json +14 -0
  111. package/skills/skill-bio-sequence-tool/CLAUDE.md +19 -0
  112. package/skills/skill-bio-sequence-tool/package.json +32 -0
  113. package/skills/skill-bio-sequence-tool/src/index.ts +85 -0
  114. package/skills/skill-bio-sequence-tool/tsconfig.json +14 -0
  115. package/skills/skill-blog-topic-cluster/CLAUDE.md +19 -0
  116. package/skills/skill-blog-topic-cluster/package.json +32 -0
  117. package/skills/skill-blog-topic-cluster/src/index.ts +274 -0
  118. package/skills/skill-blog-topic-cluster/tsconfig.json +14 -0
  119. package/skills/skill-brainstorm/README.md +17 -0
  120. package/skills/skill-brainstorm/install.sh +112 -0
  121. package/skills/skill-brainstorm/src/auth.ts +49 -0
  122. package/skills/skill-brainstorm/src/installer.ts +324 -0
  123. package/skills/skill-brainstorm/src/skill-install.ts +205 -0
  124. package/skills/skill-brand-style-guide/CLAUDE.md +20 -0
  125. package/skills/skill-brand-style-guide/SKILL.md +13 -0
  126. package/skills/skill-brand-style-guide/package.json +27 -0
  127. package/skills/skill-brand-style-guide/src/index.ts +288 -0
  128. package/skills/skill-brand-style-guide/tsconfig.json +19 -0
  129. package/skills/skill-brand-voice-audit/CLAUDE.md +19 -0
  130. package/skills/skill-brand-voice-audit/package.json +32 -0
  131. package/skills/skill-brand-voice-audit/src/index.ts +302 -0
  132. package/skills/skill-brand-voice-audit/tsconfig.json +14 -0
  133. package/skills/skill-browse/.env.example +14 -0
  134. package/skills/skill-browse/LICENSE +21 -0
  135. package/skills/skill-browse/README.md +268 -0
  136. package/skills/skill-browse/SKILL.md +56 -0
  137. package/skills/skill-browse/install.sh +112 -0
  138. package/skills/skill-browse/package.json +45 -0
  139. package/skills/skill-browse/src/auth.ts +49 -0
  140. package/skills/skill-browse/src/client.ts +373 -0
  141. package/skills/skill-browse/src/http-client.ts +128 -0
  142. package/skills/skill-browse/src/index-http.ts +111 -0
  143. package/skills/skill-browse/src/index-local.ts +430 -0
  144. package/skills/skill-browse/src/index.ts +111 -0
  145. package/skills/skill-browse/src/installer.ts +324 -0
  146. package/skills/skill-browse/src/skill-install.ts +205 -0
  147. package/skills/skill-browse/src/sse-server.ts +919 -0
  148. package/skills/skill-browse/src/types.ts +104 -0
  149. package/skills/skill-browse/tsconfig.json +19 -0
  150. package/skills/skill-browser-agent/CLAUDE.md +19 -0
  151. package/skills/skill-browser-agent/package.json +32 -0
  152. package/skills/skill-browser-agent/src/index.ts +626 -0
  153. package/skills/skill-browser-agent/tsconfig.json +14 -0
  154. package/skills/skill-browseruse/LICENSE +21 -0
  155. package/skills/skill-browseruse/README.md +27 -0
  156. package/skills/skill-browseruse/SKILL.md +113 -0
  157. package/skills/skill-browseruse/install.sh +112 -0
  158. package/skills/skill-browseruse/package.json +31 -0
  159. package/skills/skill-browseruse/src/auth.ts +49 -0
  160. package/skills/skill-browseruse/src/installer.ts +324 -0
  161. package/skills/skill-browseruse/src/skill-install.ts +174 -0
  162. package/skills/skill-budget-variance-analyzer/CLAUDE.md +16 -0
  163. package/skills/skill-budget-variance-analyzer/SKILL.md +83 -0
  164. package/skills/skill-budget-variance-analyzer/package.json +26 -0
  165. package/skills/skill-budget-variance-analyzer/src/index.ts +298 -0
  166. package/skills/skill-budget-variance-analyzer/tsconfig.json +16 -0
  167. package/skills/skill-businessactivity/CLAUDE.md +176 -0
  168. package/skills/skill-businessactivity/LICENSE +21 -0
  169. package/skills/skill-businessactivity/README.md +287 -0
  170. package/skills/skill-businessactivity/package.json +27 -0
  171. package/skills/skill-businessactivity/scripts/publish.ts +210 -0
  172. package/skills/skill-businessactivity/src/commands/activity.ts +211 -0
  173. package/skills/skill-businessactivity/src/commands/function.ts +227 -0
  174. package/skills/skill-businessactivity/src/commands/owner.ts +193 -0
  175. package/skills/skill-businessactivity/src/commands/profile.ts +121 -0
  176. package/skills/skill-businessactivity/src/commands/responsibility.ts +264 -0
  177. package/skills/skill-businessactivity/src/commands/team.ts +244 -0
  178. package/skills/skill-businessactivity/src/commands/workflow.ts +359 -0
  179. package/skills/skill-businessactivity/src/lib/config.ts +167 -0
  180. package/skills/skill-businessactivity/src/lib/output.ts +76 -0
  181. package/skills/skill-businessactivity/src/lib/paths.ts +79 -0
  182. package/skills/skill-businessactivity/src/lib/storage.ts +95 -0
  183. package/skills/skill-businessactivity/src/types/index.ts +86 -0
  184. package/skills/skill-businessactivity/tsconfig.json +21 -0
  185. package/skills/skill-calculate/LICENSE +21 -0
  186. package/skills/skill-calculate/README.md +17 -0
  187. package/skills/skill-calculate/install.sh +112 -0
  188. package/skills/skill-calculate/package.json +31 -0
  189. package/skills/skill-calculate/src/auth.ts +49 -0
  190. package/skills/skill-calculate/src/installer.ts +324 -0
  191. package/skills/skill-calculate/src/skill-install.ts +205 -0
  192. package/skills/skill-calendar-events/CLAUDE.md +19 -0
  193. package/skills/skill-calendar-events/package.json +32 -0
  194. package/skills/skill-calendar-events/src/index.ts +918 -0
  195. package/skills/skill-calendar-events/tsconfig.json +14 -0
  196. package/skills/skill-campaign-metric-brief/CLAUDE.md +19 -0
  197. package/skills/skill-campaign-metric-brief/package.json +32 -0
  198. package/skills/skill-campaign-metric-brief/src/index.ts +307 -0
  199. package/skills/skill-campaign-metric-brief/tsconfig.json +14 -0
  200. package/skills/skill-campaign-moodboard/CLAUDE.md +19 -0
  201. package/skills/skill-campaign-moodboard/package.json +32 -0
  202. package/skills/skill-campaign-moodboard/src/index.ts +288 -0
  203. package/skills/skill-campaign-moodboard/tsconfig.json +14 -0
  204. package/skills/skill-caption-style-stylist/CLAUDE.md +19 -0
  205. package/skills/skill-caption-style-stylist/package.json +32 -0
  206. package/skills/skill-caption-style-stylist/src/index.ts +275 -0
  207. package/skills/skill-caption-style-stylist/tsconfig.json +14 -0
  208. package/skills/skill-chemistry-calculator/CLAUDE.md +19 -0
  209. package/skills/skill-chemistry-calculator/package.json +32 -0
  210. package/skills/skill-chemistry-calculator/src/index.ts +110 -0
  211. package/skills/skill-chemistry-calculator/tsconfig.json +14 -0
  212. package/skills/skill-chromedevtools/LICENSE +21 -0
  213. package/skills/skill-chromedevtools/README.md +27 -0
  214. package/skills/skill-chromedevtools/SKILL.md +110 -0
  215. package/skills/skill-chromedevtools/install.sh +112 -0
  216. package/skills/skill-chromedevtools/package.json +31 -0
  217. package/skills/skill-chromedevtools/src/auth.ts +49 -0
  218. package/skills/skill-chromedevtools/src/installer.ts +324 -0
  219. package/skills/skill-chromedevtools/src/skill-install.ts +174 -0
  220. package/skills/skill-churn-risk-notifier/CLAUDE.md +19 -0
  221. package/skills/skill-churn-risk-notifier/package.json +32 -0
  222. package/skills/skill-churn-risk-notifier/src/index.ts +308 -0
  223. package/skills/skill-churn-risk-notifier/tsconfig.json +14 -0
  224. package/skills/skill-citation-formatter/CLAUDE.md +19 -0
  225. package/skills/skill-citation-formatter/package.json +32 -0
  226. package/skills/skill-citation-formatter/src/index.ts +83 -0
  227. package/skills/skill-citation-formatter/tsconfig.json +14 -0
  228. package/skills/skill-classroom-newsletter-kit/CLAUDE.md +19 -0
  229. package/skills/skill-classroom-newsletter-kit/package.json +32 -0
  230. package/skills/skill-classroom-newsletter-kit/src/index.ts +293 -0
  231. package/skills/skill-classroom-newsletter-kit/tsconfig.json +14 -0
  232. package/skills/skill-codefix/LICENSE +21 -0
  233. package/skills/skill-codefix/README.md +232 -0
  234. package/skills/skill-codefix/SKILL.md +94 -0
  235. package/skills/skill-codefix/install.sh +112 -0
  236. package/skills/skill-codefix/package.json +25 -0
  237. package/skills/skill-codefix/src/auth.ts +49 -0
  238. package/skills/skill-codefix/src/fixers/batch.ts +213 -0
  239. package/skills/skill-codefix/src/fixers/detector.ts +160 -0
  240. package/skills/skill-codefix/src/fixers/index.ts +7 -0
  241. package/skills/skill-codefix/src/fixers/runner.ts +522 -0
  242. package/skills/skill-codefix/src/http-client.ts +128 -0
  243. package/skills/skill-codefix/src/index-http.ts +111 -0
  244. package/skills/skill-codefix/src/index-local.ts +430 -0
  245. package/skills/skill-codefix/src/index.ts +111 -0
  246. package/skills/skill-codefix/src/installer.ts +324 -0
  247. package/skills/skill-codefix/src/skill-install.ts +205 -0
  248. package/skills/skill-codefix/src/types.ts +211 -0
  249. package/skills/skill-codefix/tsconfig.json +16 -0
  250. package/skills/skill-color-palette-harmonizer/CLAUDE.md +19 -0
  251. package/skills/skill-color-palette-harmonizer/package.json +32 -0
  252. package/skills/skill-color-palette-harmonizer/src/index.ts +278 -0
  253. package/skills/skill-color-palette-harmonizer/tsconfig.json +14 -0
  254. package/skills/skill-companyguide/LICENSE +21 -0
  255. package/skills/skill-companyguide/README.md +17 -0
  256. package/skills/skill-companyguide/install.sh +112 -0
  257. package/skills/skill-companyguide/package.json +31 -0
  258. package/skills/skill-companyguide/src/auth.ts +49 -0
  259. package/skills/skill-companyguide/src/installer.ts +324 -0
  260. package/skills/skill-companyguide/src/skill-install.ts +205 -0
  261. package/skills/skill-competitor-ad-analyzer/CLAUDE.md +19 -0
  262. package/skills/skill-competitor-ad-analyzer/package.json +32 -0
  263. package/skills/skill-competitor-ad-analyzer/src/index.ts +350 -0
  264. package/skills/skill-competitor-ad-analyzer/tsconfig.json +14 -0
  265. package/skills/skill-compliance-copy-check/CLAUDE.md +19 -0
  266. package/skills/skill-compliance-copy-check/package.json +32 -0
  267. package/skills/skill-compliance-copy-check/src/index.ts +289 -0
  268. package/skills/skill-compliance-copy-check/tsconfig.json +14 -0
  269. package/skills/skill-compliance-report-pack/CLAUDE.md +19 -0
  270. package/skills/skill-compliance-report-pack/package.json +32 -0
  271. package/skills/skill-compliance-report-pack/src/index.ts +301 -0
  272. package/skills/skill-compliance-report-pack/tsconfig.json +14 -0
  273. package/skills/skill-compose-gmail/CLAUDE.md +19 -0
  274. package/skills/skill-compose-gmail/package.json +32 -0
  275. package/skills/skill-compose-gmail/src/index.ts +410 -0
  276. package/skills/skill-compose-gmail/tsconfig.json +14 -0
  277. package/skills/skill-compress-video/CLAUDE.md +9 -0
  278. package/skills/skill-compress-video/SKILL.md +79 -0
  279. package/skills/skill-compress-video/package.json +30 -0
  280. package/skills/skill-compress-video/src/index.ts +473 -0
  281. package/skills/skill-compress-video/tsconfig.json +15 -0
  282. package/skills/skill-consolelog/.env.example +19 -0
  283. package/skills/skill-consolelog/CLAUDE.md +157 -0
  284. package/skills/skill-consolelog/LICENSE +21 -0
  285. package/skills/skill-consolelog/README.md +239 -0
  286. package/skills/skill-consolelog/data/.gitkeep +0 -0
  287. package/skills/skill-consolelog/exports/products-2025-12-14T13-50-53-041Z.csv +16 -0
  288. package/skills/skill-consolelog/exports/products-2025-12-14T13-50-53-041Z.json +227 -0
  289. package/skills/skill-consolelog/package.json +47 -0
  290. package/skills/skill-consolelog/scripts/migrate.ts +26 -0
  291. package/skills/skill-consolelog/scripts/seed.ts +48 -0
  292. package/skills/skill-consolelog/src/db/index.ts +44 -0
  293. package/skills/skill-consolelog/src/db/queries.ts +348 -0
  294. package/skills/skill-consolelog/src/db/schema.ts +93 -0
  295. package/skills/skill-consolelog/src/lib/config.ts +110 -0
  296. package/skills/skill-consolelog/src/lib/installer.ts +294 -0
  297. package/skills/skill-consolelog/src/lib/monitor.ts +194 -0
  298. package/skills/skill-consolelog/src/lib/types.ts +189 -0
  299. package/skills/skill-consolelog/src/lib/watcher.ts +207 -0
  300. package/skills/skill-consolelog/src/server/index.ts +508 -0
  301. package/skills/skill-consolelog/storage/login-error.png +0 -0
  302. package/skills/skill-consolelog/storage/products-page.png +0 -0
  303. package/skills/skill-consolelog/tests/api.test.ts +154 -0
  304. package/skills/skill-consolelog/tests/config.test.ts +192 -0
  305. package/skills/skill-consolelog/tests/db.test.ts +447 -0
  306. package/skills/skill-consolelog/tests/installer.test.ts +155 -0
  307. package/skills/skill-consolelog/tsconfig.json +20 -0
  308. package/skills/skill-context7/LICENSE +21 -0
  309. package/skills/skill-context7/README.md +27 -0
  310. package/skills/skill-context7/SKILL.md +103 -0
  311. package/skills/skill-context7/install.sh +112 -0
  312. package/skills/skill-context7/package.json +31 -0
  313. package/skills/skill-context7/src/auth.ts +49 -0
  314. package/skills/skill-context7/src/installer.ts +324 -0
  315. package/skills/skill-context7/src/skill-install.ts +174 -0
  316. package/skills/skill-contract-plainlanguage/CLAUDE.md +19 -0
  317. package/skills/skill-contract-plainlanguage/package.json +32 -0
  318. package/skills/skill-contract-plainlanguage/src/index.ts +294 -0
  319. package/skills/skill-contract-plainlanguage/tsconfig.json +14 -0
  320. package/skills/skill-convert/.env.example +7 -0
  321. package/skills/skill-convert/LICENSE +21 -0
  322. package/skills/skill-convert/README.md +250 -0
  323. package/skills/skill-convert/SKILL.md +100 -0
  324. package/skills/skill-convert/install.sh +112 -0
  325. package/skills/skill-convert/package.json +41 -0
  326. package/skills/skill-convert/src/auth.ts +49 -0
  327. package/skills/skill-convert/src/converters/ai.ts +375 -0
  328. package/skills/skill-convert/src/converters/data.ts +339 -0
  329. package/skills/skill-convert/src/converters/document.ts +189 -0
  330. package/skills/skill-convert/src/converters/image.ts +227 -0
  331. package/skills/skill-convert/src/converters/index.ts +9 -0
  332. package/skills/skill-convert/src/converters/pdf.ts +255 -0
  333. package/skills/skill-convert/src/http-client.ts +128 -0
  334. package/skills/skill-convert/src/index-http.ts +111 -0
  335. package/skills/skill-convert/src/index-local.ts +569 -0
  336. package/skills/skill-convert/src/index.ts +111 -0
  337. package/skills/skill-convert/src/installer.ts +324 -0
  338. package/skills/skill-convert/src/skill-install.ts +205 -0
  339. package/skills/skill-convert/src/types.ts +192 -0
  340. package/skills/skill-convert/tsconfig.json +16 -0
  341. package/skills/skill-copytone-translator/CLAUDE.md +19 -0
  342. package/skills/skill-copytone-translator/package.json +32 -0
  343. package/skills/skill-copytone-translator/src/index.ts +295 -0
  344. package/skills/skill-copytone-translator/tsconfig.json +14 -0
  345. package/skills/skill-crawl/LICENSE +21 -0
  346. package/skills/skill-crawl/README.md +17 -0
  347. package/skills/skill-crawl/install.sh +112 -0
  348. package/skills/skill-crawl/package.json +31 -0
  349. package/skills/skill-crawl/src/auth.ts +49 -0
  350. package/skills/skill-crawl/src/installer.ts +324 -0
  351. package/skills/skill-crawl/src/skill-install.ts +205 -0
  352. package/skills/skill-create-blog-article/CLAUDE.md +19 -0
  353. package/skills/skill-create-blog-article/package.json +32 -0
  354. package/skills/skill-create-blog-article/src/index.ts +745 -0
  355. package/skills/skill-create-blog-article/tsconfig.json +14 -0
  356. package/skills/skill-create-ebook/CLAUDE.md +19 -0
  357. package/skills/skill-create-ebook/package.json +32 -0
  358. package/skills/skill-create-ebook/src/index.ts +637 -0
  359. package/skills/skill-create-ebook/tsconfig.json +14 -0
  360. package/skills/skill-crm-note-enhancer/CLAUDE.md +19 -0
  361. package/skills/skill-crm-note-enhancer/package.json +32 -0
  362. package/skills/skill-crm-note-enhancer/src/index.ts +317 -0
  363. package/skills/skill-crm-note-enhancer/tsconfig.json +14 -0
  364. package/skills/skill-csv-transformer/CLAUDE.md +19 -0
  365. package/skills/skill-csv-transformer/package.json +32 -0
  366. package/skills/skill-csv-transformer/src/index.ts +81 -0
  367. package/skills/skill-csv-transformer/tsconfig.json +14 -0
  368. package/skills/skill-customer-journey-mapper/CLAUDE.md +19 -0
  369. package/skills/skill-customer-journey-mapper/package.json +32 -0
  370. package/skills/skill-customer-journey-mapper/src/index.ts +312 -0
  371. package/skills/skill-customer-journey-mapper/tsconfig.json +14 -0
  372. package/skills/skill-dashboard-builder/CLAUDE.md +19 -0
  373. package/skills/skill-dashboard-builder/package.json +32 -0
  374. package/skills/skill-dashboard-builder/src/index.ts +150 -0
  375. package/skills/skill-dashboard-builder/tsconfig.json +14 -0
  376. package/skills/skill-dashboard-narrator/CLAUDE.md +19 -0
  377. package/skills/skill-dashboard-narrator/package.json +32 -0
  378. package/skills/skill-dashboard-narrator/src/index.ts +307 -0
  379. package/skills/skill-dashboard-narrator/tsconfig.json +14 -0
  380. package/skills/skill-data-anonymizer/CLAUDE.md +19 -0
  381. package/skills/skill-data-anonymizer/package.json +32 -0
  382. package/skills/skill-data-anonymizer/src/index.ts +183 -0
  383. package/skills/skill-data-anonymizer/tsconfig.json +14 -0
  384. package/skills/skill-database-explorer/CLAUDE.md +19 -0
  385. package/skills/skill-database-explorer/package.json +32 -0
  386. package/skills/skill-database-explorer/src/index.ts +95 -0
  387. package/skills/skill-database-explorer/tsconfig.json +14 -0
  388. package/skills/skill-dataset-health-check/CLAUDE.md +19 -0
  389. package/skills/skill-dataset-health-check/package.json +32 -0
  390. package/skills/skill-dataset-health-check/src/index.ts +323 -0
  391. package/skills/skill-dataset-health-check/tsconfig.json +14 -0
  392. package/skills/skill-debug/LICENSE +21 -0
  393. package/skills/skill-debug/README.md +17 -0
  394. package/skills/skill-debug/install.sh +112 -0
  395. package/skills/skill-debug/package.json +31 -0
  396. package/skills/skill-debug/src/auth.ts +49 -0
  397. package/skills/skill-debug/src/installer.ts +324 -0
  398. package/skills/skill-debug/src/skill-install.ts +205 -0
  399. package/skills/skill-decision-journal/CLAUDE.md +19 -0
  400. package/skills/skill-decision-journal/package.json +32 -0
  401. package/skills/skill-decision-journal/src/index.ts +313 -0
  402. package/skills/skill-decision-journal/tsconfig.json +14 -0
  403. package/skills/skill-deep-research/CLAUDE.md +19 -0
  404. package/skills/skill-deep-research/package.json +32 -0
  405. package/skills/skill-deep-research/src/index.ts +1149 -0
  406. package/skills/skill-deep-research/tsconfig.json +14 -0
  407. package/skills/skill-deepresearch/.env.example +9 -0
  408. package/skills/skill-deepresearch/CLAUDE.md +44 -0
  409. package/skills/skill-deepresearch/README.md +170 -0
  410. package/skills/skill-deepresearch/SKILL.md +50 -0
  411. package/skills/skill-deepresearch/package.json +49 -0
  412. package/skills/skill-deepresearch/src/agents/query-generator.ts +91 -0
  413. package/skills/skill-deepresearch/src/agents/synthesizer.ts +111 -0
  414. package/skills/skill-deepresearch/src/index.ts +224 -0
  415. package/skills/skill-deepresearch/src/research.ts +166 -0
  416. package/skills/skill-deepresearch/src/services/anthropic.ts +69 -0
  417. package/skills/skill-deepresearch/src/services/exa.ts +108 -0
  418. package/skills/skill-deepresearch/src/services/firecrawl.ts +88 -0
  419. package/skills/skill-deepresearch/src/services/openai.ts +81 -0
  420. package/skills/skill-deepresearch/src/types.ts +76 -0
  421. package/skills/skill-deepresearch/src/utils/file.ts +111 -0
  422. package/skills/skill-deepresearch/src/utils/logger.ts +84 -0
  423. package/skills/skill-deepresearch/tsconfig.json +27 -0
  424. package/skills/skill-delegation-brief-writer/CLAUDE.md +19 -0
  425. package/skills/skill-delegation-brief-writer/package.json +32 -0
  426. package/skills/skill-delegation-brief-writer/src/index.ts +314 -0
  427. package/skills/skill-delegation-brief-writer/tsconfig.json +14 -0
  428. package/skills/skill-deploy/LICENSE +21 -0
  429. package/skills/skill-deploy/README.md +382 -0
  430. package/skills/skill-deploy/SKILL.md +138 -0
  431. package/skills/skill-deploy/install.sh +112 -0
  432. package/skills/skill-deploy/package.json +22 -0
  433. package/skills/skill-deploy/src/auth.ts +49 -0
  434. package/skills/skill-deploy/src/deployer.ts +256 -0
  435. package/skills/skill-deploy/src/health.ts +103 -0
  436. package/skills/skill-deploy/src/hosts.ts +62 -0
  437. package/skills/skill-deploy/src/http-client.ts +128 -0
  438. package/skills/skill-deploy/src/index-http.ts +111 -0
  439. package/skills/skill-deploy/src/index-local.ts +365 -0
  440. package/skills/skill-deploy/src/index.ts +111 -0
  441. package/skills/skill-deploy/src/installer.ts +324 -0
  442. package/skills/skill-deploy/src/skill-install.ts +205 -0
  443. package/skills/skill-deploy/src/types.ts +56 -0
  444. package/skills/skill-deploy/tsconfig.json +17 -0
  445. package/skills/skill-destination-briefing/CLAUDE.md +19 -0
  446. package/skills/skill-destination-briefing/package.json +32 -0
  447. package/skills/skill-destination-briefing/src/index.ts +291 -0
  448. package/skills/skill-destination-briefing/tsconfig.json +14 -0
  449. package/skills/skill-diff-viewer/CLAUDE.md +19 -0
  450. package/skills/skill-diff-viewer/package.json +32 -0
  451. package/skills/skill-diff-viewer/src/index.ts +164 -0
  452. package/skills/skill-diff-viewer/tsconfig.json +14 -0
  453. package/skills/skill-dns-manager/CLAUDE.md +19 -0
  454. package/skills/skill-dns-manager/package.json +32 -0
  455. package/skills/skill-dns-manager/src/index.ts +92 -0
  456. package/skills/skill-dns-manager/tsconfig.json +14 -0
  457. package/skills/skill-domainpurchase/.env.example +7 -0
  458. package/skills/skill-domainpurchase/LICENSE +21 -0
  459. package/skills/skill-domainpurchase/package.json +42 -0
  460. package/skills/skill-domainpurchase/src/lib/api-client.ts +571 -0
  461. package/skills/skill-domainpurchase/src/lib/config.ts +209 -0
  462. package/skills/skill-domainpurchase/src/lib/installer.ts +165 -0
  463. package/skills/skill-domainpurchase/src/server/index.ts +332 -0
  464. package/skills/skill-domainpurchase/tsconfig.json +22 -0
  465. package/skills/skill-domainsearch/.env.example +7 -0
  466. package/skills/skill-domainsearch/LICENSE +21 -0
  467. package/skills/skill-domainsearch/package.json +41 -0
  468. package/skills/skill-domainsearch/src/lib/api-client.ts +181 -0
  469. package/skills/skill-domainsearch/src/lib/config.ts +72 -0
  470. package/skills/skill-domainsearch/src/lib/installer.ts +164 -0
  471. package/skills/skill-domainsearch/src/server/index.ts +229 -0
  472. package/skills/skill-domainsearch/tsconfig.json +22 -0
  473. package/skills/skill-download/LICENSE +21 -0
  474. package/skills/skill-download/README.md +17 -0
  475. package/skills/skill-download/install.sh +112 -0
  476. package/skills/skill-download/package.json +31 -0
  477. package/skills/skill-download/src/auth.ts +49 -0
  478. package/skills/skill-download/src/installer.ts +324 -0
  479. package/skills/skill-download/src/skill-install.ts +205 -0
  480. package/skills/skill-e2bswarm/README.md +135 -0
  481. package/skills/skill-e2bswarm/SKILL.md +118 -0
  482. package/skills/skill-e2bswarm/examples/tasks-example.json +38 -0
  483. package/skills/skill-e2bswarm/package.json +65 -0
  484. package/skills/skill-e2bswarm/src/commands/collect.ts +135 -0
  485. package/skills/skill-e2bswarm/src/commands/install.ts +164 -0
  486. package/skills/skill-e2bswarm/src/commands/kill.ts +62 -0
  487. package/skills/skill-e2bswarm/src/commands/spawn.ts +134 -0
  488. package/skills/skill-e2bswarm/src/commands/status.ts +90 -0
  489. package/skills/skill-e2bswarm/src/commands/sync.ts +208 -0
  490. package/skills/skill-e2bswarm/src/index.ts +121 -0
  491. package/skills/skill-e2bswarm/src/lib/config.ts +78 -0
  492. package/skills/skill-e2bswarm/src/lib/e2b.ts +490 -0
  493. package/skills/skill-e2bswarm/src/lib/github.ts +253 -0
  494. package/skills/skill-e2bswarm/src/lib/logger.ts +41 -0
  495. package/skills/skill-e2bswarm/src/lib/paths.ts +75 -0
  496. package/skills/skill-e2bswarm/src/lib/tasks.ts +320 -0
  497. package/skills/skill-e2bswarm/src/types/index.ts +107 -0
  498. package/skills/skill-e2bswarm/templates/codebox/e2b.Dockerfile +38 -0
  499. package/skills/skill-e2bswarm/templates/codebox/e2b.toml +3 -0
  500. package/skills/skill-e2bswarm/templates/setup.sh +21 -0
  501. package/skills/skill-e2bswarm/tsconfig.json +20 -0
  502. package/skills/skill-educational-resource-finder/CLAUDE.md +19 -0
  503. package/skills/skill-educational-resource-finder/package.json +32 -0
  504. package/skills/skill-educational-resource-finder/src/index.ts +289 -0
  505. package/skills/skill-educational-resource-finder/tsconfig.json +14 -0
  506. package/skills/skill-email-campaign/CLAUDE.md +19 -0
  507. package/skills/skill-email-campaign/package.json +32 -0
  508. package/skills/skill-email-campaign/src/index.ts +339 -0
  509. package/skills/skill-email-campaign/tsconfig.json +14 -0
  510. package/skills/skill-emoji/.env.example +7 -0
  511. package/skills/skill-emoji/QUICKSTART.md +52 -0
  512. package/skills/skill-emoji/README.md +175 -0
  513. package/skills/skill-emoji/SKILL.md +63 -0
  514. package/skills/skill-emoji/package.json +32 -0
  515. package/skills/skill-emoji/src/image-processor.ts +143 -0
  516. package/skills/skill-emoji/src/index.ts +282 -0
  517. package/skills/skill-emoji/src/prompt-generator.ts +181 -0
  518. package/skills/skill-emoji/src/providers/gemini.ts +58 -0
  519. package/skills/skill-emoji/src/providers/openai.ts +55 -0
  520. package/skills/skill-emoji/src/types.ts +72 -0
  521. package/skills/skill-emoji/tsconfig.json +18 -0
  522. package/skills/skill-exa/LICENSE +21 -0
  523. package/skills/skill-exa/README.md +26 -0
  524. package/skills/skill-exa/SKILL.md +92 -0
  525. package/skills/skill-exa/install.sh +112 -0
  526. package/skills/skill-exa/package.json +31 -0
  527. package/skills/skill-exa/src/auth.ts +49 -0
  528. package/skills/skill-exa/src/installer.ts +324 -0
  529. package/skills/skill-exa/src/skill-install.ts +174 -0
  530. package/skills/skill-exam-readiness-check/CLAUDE.md +19 -0
  531. package/skills/skill-exam-readiness-check/package.json +32 -0
  532. package/skills/skill-exam-readiness-check/src/index.ts +289 -0
  533. package/skills/skill-exam-readiness-check/tsconfig.json +14 -0
  534. package/skills/skill-experiment-power-calculator/CLAUDE.md +19 -0
  535. package/skills/skill-experiment-power-calculator/package.json +32 -0
  536. package/skills/skill-experiment-power-calculator/src/index.ts +86 -0
  537. package/skills/skill-experiment-power-calculator/tsconfig.json +14 -0
  538. package/skills/skill-extract/.env.example +3 -0
  539. package/skills/skill-extract/LICENSE +21 -0
  540. package/skills/skill-extract/README.md +61 -0
  541. package/skills/skill-extract/SKILL.md +91 -0
  542. package/skills/skill-extract/install.sh +112 -0
  543. package/skills/skill-extract/package.json +40 -0
  544. package/skills/skill-extract/src/auth.ts +49 -0
  545. package/skills/skill-extract/src/extractors/image.ts +42 -0
  546. package/skills/skill-extract/src/extractors/pdf.ts +96 -0
  547. package/skills/skill-extract/src/http-client.ts +128 -0
  548. package/skills/skill-extract/src/index-http.ts +111 -0
  549. package/skills/skill-extract/src/index-local.ts +257 -0
  550. package/skills/skill-extract/src/index.ts +111 -0
  551. package/skills/skill-extract/src/installer.ts +324 -0
  552. package/skills/skill-extract/src/providers/openai.ts +222 -0
  553. package/skills/skill-extract/src/skill-install.ts +205 -0
  554. package/skills/skill-extract/src/types.ts +61 -0
  555. package/skills/skill-extract/tsconfig.json +17 -0
  556. package/skills/skill-extract-audio/CLAUDE.md +9 -0
  557. package/skills/skill-extract-audio/SKILL.md +73 -0
  558. package/skills/skill-extract-audio/package.json +30 -0
  559. package/skills/skill-extract-audio/src/index.ts +323 -0
  560. package/skills/skill-extract-audio/tsconfig.json +15 -0
  561. package/skills/skill-extract-frames/CLAUDE.md +19 -0
  562. package/skills/skill-extract-frames/package.json +32 -0
  563. package/skills/skill-extract-frames/src/index.ts +616 -0
  564. package/skills/skill-extract-frames/tsconfig.json +14 -0
  565. package/skills/skill-extract-invoice/CLAUDE.md +19 -0
  566. package/skills/skill-extract-invoice/package.json +32 -0
  567. package/skills/skill-extract-invoice/src/index.ts +714 -0
  568. package/skills/skill-extract-invoice/tsconfig.json +14 -0
  569. package/skills/skill-family-activity-curator/CLAUDE.md +19 -0
  570. package/skills/skill-family-activity-curator/package.json +32 -0
  571. package/skills/skill-family-activity-curator/src/index.ts +293 -0
  572. package/skills/skill-family-activity-curator/tsconfig.json +14 -0
  573. package/skills/skill-faq-packager/CLAUDE.md +19 -0
  574. package/skills/skill-faq-packager/package.json +32 -0
  575. package/skills/skill-faq-packager/src/index.ts +292 -0
  576. package/skills/skill-faq-packager/tsconfig.json +14 -0
  577. package/skills/skill-feedback-survey-designer/CLAUDE.md +19 -0
  578. package/skills/skill-feedback-survey-designer/package.json +32 -0
  579. package/skills/skill-feedback-survey-designer/src/index.ts +299 -0
  580. package/skills/skill-feedback-survey-designer/tsconfig.json +14 -0
  581. package/skills/skill-field-trip-planner/CLAUDE.md +19 -0
  582. package/skills/skill-field-trip-planner/package.json +32 -0
  583. package/skills/skill-field-trip-planner/src/index.ts +289 -0
  584. package/skills/skill-field-trip-planner/tsconfig.json +14 -0
  585. package/skills/skill-file-organizer/CLAUDE.md +19 -0
  586. package/skills/skill-file-organizer/package.json +32 -0
  587. package/skills/skill-file-organizer/src/index.ts +91 -0
  588. package/skills/skill-file-organizer/tsconfig.json +14 -0
  589. package/skills/skill-filesearch/LICENSE +21 -0
  590. package/skills/skill-filesearch/README.md +17 -0
  591. package/skills/skill-filesearch/install.sh +112 -0
  592. package/skills/skill-filesearch/package.json +31 -0
  593. package/skills/skill-filesearch/src/auth.ts +49 -0
  594. package/skills/skill-filesearch/src/installer.ts +324 -0
  595. package/skills/skill-filesearch/src/skill-install.ts +205 -0
  596. package/skills/skill-fill/LICENSE +21 -0
  597. package/skills/skill-fill/README.md +17 -0
  598. package/skills/skill-fill/install.sh +112 -0
  599. package/skills/skill-fill/package.json +31 -0
  600. package/skills/skill-fill/src/auth.ts +49 -0
  601. package/skills/skill-fill/src/installer.ts +324 -0
  602. package/skills/skill-fill/src/skill-install.ts +205 -0
  603. package/skills/skill-folder-tree/CLAUDE.md +19 -0
  604. package/skills/skill-folder-tree/package.json +32 -0
  605. package/skills/skill-folder-tree/src/index.ts +568 -0
  606. package/skills/skill-folder-tree/tsconfig.json +14 -0
  607. package/skills/skill-forecast-scenario-lab/CLAUDE.md +19 -0
  608. package/skills/skill-forecast-scenario-lab/package.json +32 -0
  609. package/skills/skill-forecast-scenario-lab/src/index.ts +314 -0
  610. package/skills/skill-forecast-scenario-lab/tsconfig.json +14 -0
  611. package/skills/skill-form-filler/CLAUDE.md +19 -0
  612. package/skills/skill-form-filler/package.json +32 -0
  613. package/skills/skill-form-filler/src/index.ts +81 -0
  614. package/skills/skill-form-filler/tsconfig.json +14 -0
  615. package/skills/skill-generate-api-client/CLAUDE.md +19 -0
  616. package/skills/skill-generate-api-client/package.json +32 -0
  617. package/skills/skill-generate-api-client/src/index.ts +866 -0
  618. package/skills/skill-generate-api-client/tsconfig.json +14 -0
  619. package/skills/skill-generate-audio/CLAUDE.md +3 -0
  620. package/skills/skill-generate-audio/SKILL.md +53 -0
  621. package/skills/skill-generate-audio/package.json +30 -0
  622. package/skills/skill-generate-audio/src/index.ts +656 -0
  623. package/skills/skill-generate-audio/tsconfig.json +18 -0
  624. package/skills/skill-generate-book-cover/CLAUDE.md +19 -0
  625. package/skills/skill-generate-book-cover/package.json +32 -0
  626. package/skills/skill-generate-book-cover/src/index.ts +694 -0
  627. package/skills/skill-generate-book-cover/tsconfig.json +14 -0
  628. package/skills/skill-generate-chart/CLAUDE.md +19 -0
  629. package/skills/skill-generate-chart/package.json +32 -0
  630. package/skills/skill-generate-chart/src/index.ts +510 -0
  631. package/skills/skill-generate-chart/tsconfig.json +14 -0
  632. package/skills/skill-generate-diagram/CLAUDE.md +19 -0
  633. package/skills/skill-generate-diagram/package.json +32 -0
  634. package/skills/skill-generate-diagram/src/index.ts +514 -0
  635. package/skills/skill-generate-diagram/tsconfig.json +14 -0
  636. package/skills/skill-generate-dockerfile/CLAUDE.md +19 -0
  637. package/skills/skill-generate-dockerfile/package.json +32 -0
  638. package/skills/skill-generate-dockerfile/src/index.ts +859 -0
  639. package/skills/skill-generate-dockerfile/tsconfig.json +14 -0
  640. package/skills/skill-generate-documentation/CLAUDE.md +19 -0
  641. package/skills/skill-generate-documentation/package.json +32 -0
  642. package/skills/skill-generate-documentation/src/index.ts +805 -0
  643. package/skills/skill-generate-documentation/tsconfig.json +14 -0
  644. package/skills/skill-generate-docx/CLAUDE.md +19 -0
  645. package/skills/skill-generate-docx/SKILL.md +295 -0
  646. package/skills/skill-generate-docx/package.json +21 -0
  647. package/skills/skill-generate-docx/src/index.ts +751 -0
  648. package/skills/skill-generate-docx/tsconfig.json +16 -0
  649. package/skills/skill-generate-env/CLAUDE.md +19 -0
  650. package/skills/skill-generate-env/package.json +32 -0
  651. package/skills/skill-generate-env/src/index.ts +720 -0
  652. package/skills/skill-generate-env/tsconfig.json +14 -0
  653. package/skills/skill-generate-excel/CLAUDE.md +19 -0
  654. package/skills/skill-generate-excel/package.json +32 -0
  655. package/skills/skill-generate-excel/src/index.ts +617 -0
  656. package/skills/skill-generate-excel/tsconfig.json +14 -0
  657. package/skills/skill-generate-favicon/CLAUDE.md +19 -0
  658. package/skills/skill-generate-favicon/package.json +32 -0
  659. package/skills/skill-generate-favicon/src/index.ts +421 -0
  660. package/skills/skill-generate-favicon/tsconfig.json +14 -0
  661. package/skills/skill-generate-mock-data/CLAUDE.md +19 -0
  662. package/skills/skill-generate-mock-data/package.json +32 -0
  663. package/skills/skill-generate-mock-data/src/index.ts +902 -0
  664. package/skills/skill-generate-mock-data/tsconfig.json +14 -0
  665. package/skills/skill-generate-pdf/CLAUDE.md +19 -0
  666. package/skills/skill-generate-pdf/SKILL.md +86 -0
  667. package/skills/skill-generate-pdf/package.json +21 -0
  668. package/skills/skill-generate-pdf/src/index.ts +750 -0
  669. package/skills/skill-generate-pdf/tsconfig.json +16 -0
  670. package/skills/skill-generate-pr-description/CLAUDE.md +19 -0
  671. package/skills/skill-generate-pr-description/package.json +32 -0
  672. package/skills/skill-generate-pr-description/src/index.ts +807 -0
  673. package/skills/skill-generate-pr-description/tsconfig.json +14 -0
  674. package/skills/skill-generate-presentation/CLAUDE.md +19 -0
  675. package/skills/skill-generate-presentation/package.json +32 -0
  676. package/skills/skill-generate-presentation/src/index.ts +792 -0
  677. package/skills/skill-generate-presentation/tsconfig.json +14 -0
  678. package/skills/skill-generate-qrcode/CLAUDE.md +19 -0
  679. package/skills/skill-generate-qrcode/package.json +32 -0
  680. package/skills/skill-generate-qrcode/src/index.ts +584 -0
  681. package/skills/skill-generate-qrcode/tsconfig.json +14 -0
  682. package/skills/skill-generate-readme/CLAUDE.md +19 -0
  683. package/skills/skill-generate-readme/package.json +32 -0
  684. package/skills/skill-generate-readme/src/index.ts +867 -0
  685. package/skills/skill-generate-readme/tsconfig.json +14 -0
  686. package/skills/skill-generate-regex/CLAUDE.md +19 -0
  687. package/skills/skill-generate-regex/package.json +32 -0
  688. package/skills/skill-generate-regex/src/index.ts +669 -0
  689. package/skills/skill-generate-regex/tsconfig.json +14 -0
  690. package/skills/skill-generate-resume/CLAUDE.md +19 -0
  691. package/skills/skill-generate-resume/package.json +32 -0
  692. package/skills/skill-generate-resume/src/index.ts +1082 -0
  693. package/skills/skill-generate-resume/tsconfig.json +14 -0
  694. package/skills/skill-generate-sitemap/CLAUDE.md +19 -0
  695. package/skills/skill-generate-sitemap/package.json +32 -0
  696. package/skills/skill-generate-sitemap/src/index.ts +626 -0
  697. package/skills/skill-generate-sitemap/tsconfig.json +14 -0
  698. package/skills/skill-generate-slides/CLAUDE.md +19 -0
  699. package/skills/skill-generate-slides/package.json +32 -0
  700. package/skills/skill-generate-slides/src/ai.ts +140 -0
  701. package/skills/skill-generate-slides/src/cli.ts +161 -0
  702. package/skills/skill-generate-slides/src/export.ts +65 -0
  703. package/skills/skill-generate-slides/src/index.ts +1417 -0
  704. package/skills/skill-generate-slides/src/layout.ts +31 -0
  705. package/skills/skill-generate-slides/src/parse.ts +282 -0
  706. package/skills/skill-generate-slides/src/render.ts +711 -0
  707. package/skills/skill-generate-slides/tsconfig.json +14 -0
  708. package/skills/skill-generate-social-posts/CLAUDE.md +19 -0
  709. package/skills/skill-generate-social-posts/package.json +32 -0
  710. package/skills/skill-generate-social-posts/src/index.ts +768 -0
  711. package/skills/skill-generate-social-posts/tsconfig.json +14 -0
  712. package/skills/skill-generate-sql/CLAUDE.md +19 -0
  713. package/skills/skill-generate-sql/package.json +32 -0
  714. package/skills/skill-generate-sql/src/index.ts +636 -0
  715. package/skills/skill-generate-sql/tsconfig.json +14 -0
  716. package/skills/skill-get-api-docs/CLAUDE.md +19 -0
  717. package/skills/skill-get-api-docs/package.json +32 -0
  718. package/skills/skill-get-api-docs/src/index.ts +1176 -0
  719. package/skills/skill-get-api-docs/tsconfig.json +14 -0
  720. package/skills/skill-gif-maker/CLAUDE.md +19 -0
  721. package/skills/skill-gif-maker/package.json +32 -0
  722. package/skills/skill-gif-maker/src/index.ts +600 -0
  723. package/skills/skill-gif-maker/tsconfig.json +14 -0
  724. package/skills/skill-github-manager/CLAUDE.md +19 -0
  725. package/skills/skill-github-manager/package.json +32 -0
  726. package/skills/skill-github-manager/src/index.ts +101 -0
  727. package/skills/skill-github-manager/tsconfig.json +14 -0
  728. package/skills/skill-goal-quarterly-roadmap/CLAUDE.md +19 -0
  729. package/skills/skill-goal-quarterly-roadmap/package.json +32 -0
  730. package/skills/skill-goal-quarterly-roadmap/src/index.ts +305 -0
  731. package/skills/skill-goal-quarterly-roadmap/tsconfig.json +14 -0
  732. package/skills/skill-googledrive/LICENSE +21 -0
  733. package/skills/skill-googledrive/README.md +27 -0
  734. package/skills/skill-googledrive/SKILL.md +140 -0
  735. package/skills/skill-googledrive/install.sh +112 -0
  736. package/skills/skill-googledrive/package.json +31 -0
  737. package/skills/skill-googledrive/src/auth.ts +49 -0
  738. package/skills/skill-googledrive/src/installer.ts +324 -0
  739. package/skills/skill-googledrive/src/skill-install.ts +174 -0
  740. package/skills/skill-grant-application-drafter/CLAUDE.md +19 -0
  741. package/skills/skill-grant-application-drafter/package.json +32 -0
  742. package/skills/skill-grant-application-drafter/src/index.ts +309 -0
  743. package/skills/skill-grant-application-drafter/tsconfig.json +14 -0
  744. package/skills/skill-grant-compliance-scanner/CLAUDE.md +19 -0
  745. package/skills/skill-grant-compliance-scanner/package.json +32 -0
  746. package/skills/skill-grant-compliance-scanner/src/index.ts +94 -0
  747. package/skills/skill-grant-compliance-scanner/tsconfig.json +14 -0
  748. package/skills/skill-grocery-basket-optimizer/CLAUDE.md +19 -0
  749. package/skills/skill-grocery-basket-optimizer/package.json +32 -0
  750. package/skills/skill-grocery-basket-optimizer/src/index.ts +304 -0
  751. package/skills/skill-grocery-basket-optimizer/tsconfig.json +14 -0
  752. package/skills/skill-guest-communication-suite/CLAUDE.md +19 -0
  753. package/skills/skill-guest-communication-suite/package.json +32 -0
  754. package/skills/skill-guest-communication-suite/src/index.ts +312 -0
  755. package/skills/skill-guest-communication-suite/tsconfig.json +14 -0
  756. package/skills/skill-habit-reflection-digest/CLAUDE.md +19 -0
  757. package/skills/skill-habit-reflection-digest/package.json +32 -0
  758. package/skills/skill-habit-reflection-digest/src/index.ts +308 -0
  759. package/skills/skill-habit-reflection-digest/tsconfig.json +14 -0
  760. package/skills/skill-highlight-reel-generator/CLAUDE.md +19 -0
  761. package/skills/skill-highlight-reel-generator/package.json +32 -0
  762. package/skills/skill-highlight-reel-generator/src/index.ts +267 -0
  763. package/skills/skill-highlight-reel-generator/tsconfig.json +14 -0
  764. package/skills/skill-homework-feedback-coach/CLAUDE.md +19 -0
  765. package/skills/skill-homework-feedback-coach/package.json +32 -0
  766. package/skills/skill-homework-feedback-coach/src/index.ts +316 -0
  767. package/skills/skill-homework-feedback-coach/tsconfig.json +14 -0
  768. package/skills/skill-hook/LICENSE +21 -0
  769. package/skills/skill-hook/README.md +74 -0
  770. package/skills/skill-hook/SKILL.md +85 -0
  771. package/skills/skill-hook/bunfig.toml +5 -0
  772. package/skills/skill-hook/package.json +34 -0
  773. package/skills/skill-hook/src/commands/create.ts +937 -0
  774. package/skills/skill-hook/src/commands/events.ts +37 -0
  775. package/skills/skill-hook/src/commands/validate.ts +117 -0
  776. package/skills/skill-hook/src/index.ts +118 -0
  777. package/skills/skill-hook/tsconfig.json +18 -0
  778. package/skills/skill-household-maintenance-mgr/CLAUDE.md +19 -0
  779. package/skills/skill-household-maintenance-mgr/package.json +32 -0
  780. package/skills/skill-household-maintenance-mgr/src/index.ts +293 -0
  781. package/skills/skill-household-maintenance-mgr/tsconfig.json +14 -0
  782. package/skills/skill-http-server/CLAUDE.md +19 -0
  783. package/skills/skill-http-server/package.json +32 -0
  784. package/skills/skill-http-server/src/index.ts +51 -0
  785. package/skills/skill-http-server/tsconfig.json +14 -0
  786. package/skills/skill-hubsearch/LICENSE +21 -0
  787. package/skills/skill-hubsearch/README.md +17 -0
  788. package/skills/skill-hubsearch/install.sh +112 -0
  789. package/skills/skill-hubsearch/package.json +31 -0
  790. package/skills/skill-hubsearch/src/auth.ts +49 -0
  791. package/skills/skill-hubsearch/src/installer.ts +324 -0
  792. package/skills/skill-hubsearch/src/skill-install.ts +205 -0
  793. package/skills/skill-image/.env.example +12 -0
  794. package/skills/skill-image/LICENSE +21 -0
  795. package/skills/skill-image/PROJECT_OVERVIEW.md +216 -0
  796. package/skills/skill-image/QUICKSTART.md +111 -0
  797. package/skills/skill-image/README.md +195 -0
  798. package/skills/skill-image/SKILL.md +56 -0
  799. package/skills/skill-image/examples/google-examples.sh +37 -0
  800. package/skills/skill-image/examples/openai-examples.sh +35 -0
  801. package/skills/skill-image/examples/xai-examples.sh +33 -0
  802. package/skills/skill-image/install.sh +112 -0
  803. package/skills/skill-image/package.json +36 -0
  804. package/skills/skill-image/src/auth.ts +49 -0
  805. package/skills/skill-image/src/http-client.ts +128 -0
  806. package/skills/skill-image/src/index-http.ts +111 -0
  807. package/skills/skill-image/src/index-local.ts +204 -0
  808. package/skills/skill-image/src/index.ts +111 -0
  809. package/skills/skill-image/src/installer.ts +324 -0
  810. package/skills/skill-image/src/providers/google.ts +79 -0
  811. package/skills/skill-image/src/providers/openai.ts +80 -0
  812. package/skills/skill-image/src/providers/xai.ts +73 -0
  813. package/skills/skill-image/src/skill-install.ts +205 -0
  814. package/skills/skill-image/src/types.ts +37 -0
  815. package/skills/skill-image/tsconfig.json +17 -0
  816. package/skills/skill-implementation/LICENSE +21 -0
  817. package/skills/skill-implementation/README.md +53 -0
  818. package/skills/skill-implementation/SKILL.md +57 -0
  819. package/skills/skill-implementation/bunfig.toml +5 -0
  820. package/skills/skill-implementation/package.json +34 -0
  821. package/skills/skill-implementation/src/commands/create.ts +187 -0
  822. package/skills/skill-implementation/src/index.ts +62 -0
  823. package/skills/skill-implementation/tsconfig.json +18 -0
  824. package/skills/skill-implementation-agent/CLAUDE.md +19 -0
  825. package/skills/skill-implementation-agent/package.json +32 -0
  826. package/skills/skill-implementation-agent/src/index.ts +1565 -0
  827. package/skills/skill-implementation-agent/tsconfig.json +14 -0
  828. package/skills/skill-implementation-architecture/CLAUDE.md +19 -0
  829. package/skills/skill-implementation-architecture/package.json +32 -0
  830. package/skills/skill-implementation-architecture/src/index.ts +460 -0
  831. package/skills/skill-implementation-architecture/tsconfig.json +14 -0
  832. package/skills/skill-implementation-audit/CLAUDE.md +19 -0
  833. package/skills/skill-implementation-audit/package.json +32 -0
  834. package/skills/skill-implementation-audit/src/index.ts +502 -0
  835. package/skills/skill-implementation-audit/tsconfig.json +14 -0
  836. package/skills/skill-implementation-cost/CLAUDE.md +19 -0
  837. package/skills/skill-implementation-cost/package.json +32 -0
  838. package/skills/skill-implementation-cost/src/index.ts +873 -0
  839. package/skills/skill-implementation-cost/tsconfig.json +14 -0
  840. package/skills/skill-implementation-dispatch/CLAUDE.md +19 -0
  841. package/skills/skill-implementation-dispatch/package.json +32 -0
  842. package/skills/skill-implementation-dispatch/src/index.ts +390 -0
  843. package/skills/skill-implementation-dispatch/tsconfig.json +14 -0
  844. package/skills/skill-implementation-hook/CLAUDE.md +19 -0
  845. package/skills/skill-implementation-hook/package.json +32 -0
  846. package/skills/skill-implementation-hook/src/index.ts +787 -0
  847. package/skills/skill-implementation-hook/tsconfig.json +14 -0
  848. package/skills/skill-implementation-index/CLAUDE.md +19 -0
  849. package/skills/skill-implementation-index/package.json +32 -0
  850. package/skills/skill-implementation-index/src/index.ts +767 -0
  851. package/skills/skill-implementation-index/tsconfig.json +14 -0
  852. package/skills/skill-implementation-init/CLAUDE.md +19 -0
  853. package/skills/skill-implementation-init/package.json +32 -0
  854. package/skills/skill-implementation-init/src/index.ts +378 -0
  855. package/skills/skill-implementation-init/tsconfig.json +14 -0
  856. package/skills/skill-implementation-memento/CLAUDE.md +19 -0
  857. package/skills/skill-implementation-memento/package.json +32 -0
  858. package/skills/skill-implementation-memento/src/index.ts +442 -0
  859. package/skills/skill-implementation-memento/tsconfig.json +14 -0
  860. package/skills/skill-implementation-plan/CLAUDE.md +19 -0
  861. package/skills/skill-implementation-plan/package.json +32 -0
  862. package/skills/skill-implementation-plan/src/index.ts +520 -0
  863. package/skills/skill-implementation-plan/tsconfig.json +14 -0
  864. package/skills/skill-implementation-todo/CLAUDE.md +19 -0
  865. package/skills/skill-implementation-todo/package.json +32 -0
  866. package/skills/skill-implementation-todo/src/index.ts +429 -0
  867. package/skills/skill-implementation-todo/tsconfig.json +14 -0
  868. package/skills/skill-inbox-priority-planner/CLAUDE.md +19 -0
  869. package/skills/skill-inbox-priority-planner/package.json +32 -0
  870. package/skills/skill-inbox-priority-planner/src/index.ts +309 -0
  871. package/skills/skill-inbox-priority-planner/tsconfig.json +14 -0
  872. package/skills/skill-invoice/.env.example +3 -0
  873. package/skills/skill-invoice/CLAUDE.md +31 -0
  874. package/skills/skill-invoice/LICENSE +21 -0
  875. package/skills/skill-invoice/README.md +70 -0
  876. package/skills/skill-invoice/package.json +26 -0
  877. package/skills/skill-invoice/src/commands/companies.ts +202 -0
  878. package/skills/skill-invoice/src/commands/config.ts +132 -0
  879. package/skills/skill-invoice/src/commands/generate.ts +177 -0
  880. package/skills/skill-invoice/src/commands/invoices.ts +218 -0
  881. package/skills/skill-invoice/src/lib/api.ts +124 -0
  882. package/skills/skill-invoice/src/lib/storage.ts +171 -0
  883. package/skills/skill-invoice/src/types/index.ts +86 -0
  884. package/skills/skill-invoice/src/utils/logger.ts +33 -0
  885. package/skills/skill-invoice/src/utils/paths.ts +25 -0
  886. package/skills/skill-invoice/tsconfig.json +19 -0
  887. package/skills/skill-invoice-dispute-helper/CLAUDE.md +19 -0
  888. package/skills/skill-invoice-dispute-helper/package.json +32 -0
  889. package/skills/skill-invoice-dispute-helper/src/index.ts +304 -0
  890. package/skills/skill-invoice-dispute-helper/tsconfig.json +14 -0
  891. package/skills/skill-itinerary-architect/CLAUDE.md +19 -0
  892. package/skills/skill-itinerary-architect/package.json +32 -0
  893. package/skills/skill-itinerary-architect/src/index.ts +313 -0
  894. package/skills/skill-itinerary-architect/tsconfig.json +14 -0
  895. package/skills/skill-jingle-composer/CLAUDE.md +19 -0
  896. package/skills/skill-jingle-composer/package.json +32 -0
  897. package/skills/skill-jingle-composer/src/index.ts +250 -0
  898. package/skills/skill-jingle-composer/tsconfig.json +14 -0
  899. package/skills/skill-kpi-digest-generator/CLAUDE.md +19 -0
  900. package/skills/skill-kpi-digest-generator/package.json +32 -0
  901. package/skills/skill-kpi-digest-generator/src/index.ts +318 -0
  902. package/skills/skill-kpi-digest-generator/tsconfig.json +14 -0
  903. package/skills/skill-lab-notebook-formatter/CLAUDE.md +19 -0
  904. package/skills/skill-lab-notebook-formatter/package.json +32 -0
  905. package/skills/skill-lab-notebook-formatter/src/index.ts +88 -0
  906. package/skills/skill-lab-notebook-formatter/tsconfig.json +14 -0
  907. package/skills/skill-landing-page-copy/CLAUDE.md +19 -0
  908. package/skills/skill-landing-page-copy/package.json +32 -0
  909. package/skills/skill-landing-page-copy/src/index.ts +400 -0
  910. package/skills/skill-landing-page-copy/tsconfig.json +14 -0
  911. package/skills/skill-latex-table-generator/CLAUDE.md +19 -0
  912. package/skills/skill-latex-table-generator/package.json +32 -0
  913. package/skills/skill-latex-table-generator/src/index.ts +113 -0
  914. package/skills/skill-latex-table-generator/tsconfig.json +14 -0
  915. package/skills/skill-learning-style-profiler/CLAUDE.md +19 -0
  916. package/skills/skill-learning-style-profiler/package.json +32 -0
  917. package/skills/skill-learning-style-profiler/src/index.ts +291 -0
  918. package/skills/skill-learning-style-profiler/tsconfig.json +14 -0
  919. package/skills/skill-lesson-plan-customizer/CLAUDE.md +19 -0
  920. package/skills/skill-lesson-plan-customizer/package.json +32 -0
  921. package/skills/skill-lesson-plan-customizer/src/index.ts +303 -0
  922. package/skills/skill-lesson-plan-customizer/tsconfig.json +14 -0
  923. package/skills/skill-linear/LICENSE +21 -0
  924. package/skills/skill-linear/README.md +28 -0
  925. package/skills/skill-linear/SKILL.md +94 -0
  926. package/skills/skill-linear/install.sh +112 -0
  927. package/skills/skill-linear/package.json +31 -0
  928. package/skills/skill-linear/src/auth.ts +49 -0
  929. package/skills/skill-linear/src/installer.ts +324 -0
  930. package/skills/skill-linear/src/skill-install.ts +174 -0
  931. package/skills/skill-livestream-runofshow/CLAUDE.md +19 -0
  932. package/skills/skill-livestream-runofshow/package.json +32 -0
  933. package/skills/skill-livestream-runofshow/src/index.ts +299 -0
  934. package/skills/skill-livestream-runofshow/tsconfig.json +14 -0
  935. package/skills/skill-longform-structurer/CLAUDE.md +19 -0
  936. package/skills/skill-longform-structurer/package.json +32 -0
  937. package/skills/skill-longform-structurer/src/index.ts +293 -0
  938. package/skills/skill-longform-structurer/tsconfig.json +14 -0
  939. package/skills/skill-lorem-generator/CLAUDE.md +19 -0
  940. package/skills/skill-lorem-generator/package.json +32 -0
  941. package/skills/skill-lorem-generator/src/index.ts +46 -0
  942. package/skills/skill-lorem-generator/tsconfig.json +14 -0
  943. package/skills/skill-mail/LICENSE +21 -0
  944. package/skills/skill-mail/README.md +17 -0
  945. package/skills/skill-mail/install.sh +112 -0
  946. package/skills/skill-mail/package.json +31 -0
  947. package/skills/skill-mail/src/auth.ts +49 -0
  948. package/skills/skill-mail/src/installer.ts +324 -0
  949. package/skills/skill-mail/src/skill-install.ts +205 -0
  950. package/skills/skill-manage-gmail/CLAUDE.md +19 -0
  951. package/skills/skill-manage-gmail/package.json +32 -0
  952. package/skills/skill-manage-gmail/src/index.ts +504 -0
  953. package/skills/skill-manage-gmail/tsconfig.json +14 -0
  954. package/skills/skill-managehook/.env.example +16 -0
  955. package/skills/skill-managehook/CLAUDE.md +159 -0
  956. package/skills/skill-managehook/README.md +209 -0
  957. package/skills/skill-managehook/package.json +27 -0
  958. package/skills/skill-managehook/scripts/migrate.ts +57 -0
  959. package/skills/skill-managehook/scripts/seed.ts +58 -0
  960. package/skills/skill-managehook/src/db/index.ts +37 -0
  961. package/skills/skill-managehook/src/lib/api-client.ts +108 -0
  962. package/skills/skill-managehook/src/lib/config.ts +34 -0
  963. package/skills/skill-managehook/src/lib/installer.ts +140 -0
  964. package/skills/skill-managehook/src/lib/service-dir.ts +119 -0
  965. package/skills/skill-managehook/src/server/index.ts +108 -0
  966. package/skills/skill-managehook/tsconfig.json +21 -0
  967. package/skills/skill-managemcp/.env.example +16 -0
  968. package/skills/skill-managemcp/CLAUDE.md +159 -0
  969. package/skills/skill-managemcp/README.md +209 -0
  970. package/skills/skill-managemcp/package.json +27 -0
  971. package/skills/skill-managemcp/scripts/migrate.ts +57 -0
  972. package/skills/skill-managemcp/scripts/seed.ts +58 -0
  973. package/skills/skill-managemcp/src/db/index.ts +37 -0
  974. package/skills/skill-managemcp/src/lib/api-client.ts +108 -0
  975. package/skills/skill-managemcp/src/lib/config.ts +34 -0
  976. package/skills/skill-managemcp/src/lib/installer.ts +140 -0
  977. package/skills/skill-managemcp/src/lib/service-dir.ts +119 -0
  978. package/skills/skill-managemcp/src/server/index.ts +108 -0
  979. package/skills/skill-managemcp/tsconfig.json +21 -0
  980. package/skills/skill-manageskill/.env.example +16 -0
  981. package/skills/skill-manageskill/CLAUDE.md +159 -0
  982. package/skills/skill-manageskill/README.md +209 -0
  983. package/skills/skill-manageskill/package.json +27 -0
  984. package/skills/skill-manageskill/scripts/migrate.ts +57 -0
  985. package/skills/skill-manageskill/scripts/seed.ts +58 -0
  986. package/skills/skill-manageskill/src/db/index.ts +37 -0
  987. package/skills/skill-manageskill/src/lib/api-client.ts +108 -0
  988. package/skills/skill-manageskill/src/lib/config.ts +34 -0
  989. package/skills/skill-manageskill/src/lib/installer.ts +140 -0
  990. package/skills/skill-manageskill/src/lib/service-dir.ts +119 -0
  991. package/skills/skill-manageskill/src/server/index.ts +108 -0
  992. package/skills/skill-manageskill/tsconfig.json +21 -0
  993. package/skills/skill-markdown-validator/CLAUDE.md +19 -0
  994. package/skills/skill-markdown-validator/package.json +32 -0
  995. package/skills/skill-markdown-validator/src/index.ts +95 -0
  996. package/skills/skill-markdown-validator/tsconfig.json +14 -0
  997. package/skills/skill-mcp-builder/CLAUDE.md +19 -0
  998. package/skills/skill-mcp-builder/package.json +32 -0
  999. package/skills/skill-mcp-builder/src/index.ts +963 -0
  1000. package/skills/skill-mcp-builder/tsconfig.json +14 -0
  1001. package/skills/skill-meal-plan-designer/CLAUDE.md +19 -0
  1002. package/skills/skill-meal-plan-designer/package.json +32 -0
  1003. package/skills/skill-meal-plan-designer/src/index.ts +301 -0
  1004. package/skills/skill-meal-plan-designer/tsconfig.json +14 -0
  1005. package/skills/skill-meeting-insight-summarizer/CLAUDE.md +19 -0
  1006. package/skills/skill-meeting-insight-summarizer/package.json +32 -0
  1007. package/skills/skill-meeting-insight-summarizer/src/index.ts +316 -0
  1008. package/skills/skill-meeting-insight-summarizer/tsconfig.json +14 -0
  1009. package/skills/skill-merch-mockup-factory/CLAUDE.md +19 -0
  1010. package/skills/skill-merch-mockup-factory/package.json +32 -0
  1011. package/skills/skill-merch-mockup-factory/src/index.ts +296 -0
  1012. package/skills/skill-merch-mockup-factory/tsconfig.json +14 -0
  1013. package/skills/skill-merge-pdfs/CLAUDE.md +19 -0
  1014. package/skills/skill-merge-pdfs/package.json +32 -0
  1015. package/skills/skill-merge-pdfs/src/index.ts +427 -0
  1016. package/skills/skill-merge-pdfs/tsconfig.json +14 -0
  1017. package/skills/skill-message/LICENSE +21 -0
  1018. package/skills/skill-message/README.md +17 -0
  1019. package/skills/skill-message/install.sh +112 -0
  1020. package/skills/skill-message/package.json +31 -0
  1021. package/skills/skill-message/src/auth.ts +49 -0
  1022. package/skills/skill-message/src/installer.ts +324 -0
  1023. package/skills/skill-message/src/skill-install.ts +205 -0
  1024. package/skills/skill-microcopy-generator/CLAUDE.md +19 -0
  1025. package/skills/skill-microcopy-generator/package.json +32 -0
  1026. package/skills/skill-microcopy-generator/src/index.ts +303 -0
  1027. package/skills/skill-microcopy-generator/tsconfig.json +14 -0
  1028. package/skills/skill-mindfulness-prompt-cache/CLAUDE.md +19 -0
  1029. package/skills/skill-mindfulness-prompt-cache/package.json +32 -0
  1030. package/skills/skill-mindfulness-prompt-cache/src/index.ts +290 -0
  1031. package/skills/skill-mindfulness-prompt-cache/tsconfig.json +14 -0
  1032. package/skills/skill-newsletter-campaign-planner/CLAUDE.md +19 -0
  1033. package/skills/skill-newsletter-campaign-planner/package.json +32 -0
  1034. package/skills/skill-newsletter-campaign-planner/src/index.ts +252 -0
  1035. package/skills/skill-newsletter-campaign-planner/tsconfig.json +14 -0
  1036. package/skills/skill-notify/LICENSE +21 -0
  1037. package/skills/skill-notify/README.md +17 -0
  1038. package/skills/skill-notify/install.sh +112 -0
  1039. package/skills/skill-notify/package.json +31 -0
  1040. package/skills/skill-notify/src/auth.ts +49 -0
  1041. package/skills/skill-notify/src/installer.ts +324 -0
  1042. package/skills/skill-notify/src/skill-install.ts +205 -0
  1043. package/skills/skill-notion/LICENSE +21 -0
  1044. package/skills/skill-notion/README.md +27 -0
  1045. package/skills/skill-notion/SKILL.md +115 -0
  1046. package/skills/skill-notion/install.sh +112 -0
  1047. package/skills/skill-notion/package.json +31 -0
  1048. package/skills/skill-notion/src/auth.ts +49 -0
  1049. package/skills/skill-notion/src/installer.ts +324 -0
  1050. package/skills/skill-notion/src/skill-install.ts +174 -0
  1051. package/skills/skill-notion-manager/CLAUDE.md +19 -0
  1052. package/skills/skill-notion-manager/package.json +32 -0
  1053. package/skills/skill-notion-manager/src/index.ts +105 -0
  1054. package/skills/skill-notion-manager/tsconfig.json +14 -0
  1055. package/skills/skill-npmpublish/CLAUDE.md +33 -0
  1056. package/skills/skill-npmpublish/README.md +104 -0
  1057. package/skills/skill-npmpublish/SKILL.md +70 -0
  1058. package/skills/skill-npmpublish/package.json +46 -0
  1059. package/skills/skill-npmpublish/src/index.ts +330 -0
  1060. package/skills/skill-npmpublish/tsconfig.json +18 -0
  1061. package/skills/skill-onboarding-sequence-builder/CLAUDE.md +19 -0
  1062. package/skills/skill-onboarding-sequence-builder/package.json +32 -0
  1063. package/skills/skill-onboarding-sequence-builder/src/index.ts +321 -0
  1064. package/skills/skill-onboarding-sequence-builder/tsconfig.json +14 -0
  1065. package/skills/skill-onsite-ops-checklist/CLAUDE.md +19 -0
  1066. package/skills/skill-onsite-ops-checklist/package.json +32 -0
  1067. package/skills/skill-onsite-ops-checklist/src/index.ts +307 -0
  1068. package/skills/skill-onsite-ops-checklist/tsconfig.json +14 -0
  1069. package/skills/skill-outreach-cadence-designer/CLAUDE.md +19 -0
  1070. package/skills/skill-outreach-cadence-designer/package.json +32 -0
  1071. package/skills/skill-outreach-cadence-designer/src/index.ts +330 -0
  1072. package/skills/skill-outreach-cadence-designer/tsconfig.json +14 -0
  1073. package/skills/skill-packaging-concept-studio/CLAUDE.md +19 -0
  1074. package/skills/skill-packaging-concept-studio/package.json +32 -0
  1075. package/skills/skill-packaging-concept-studio/src/index.ts +296 -0
  1076. package/skills/skill-packaging-concept-studio/tsconfig.json +14 -0
  1077. package/skills/skill-packing-plan-pro/CLAUDE.md +19 -0
  1078. package/skills/skill-packing-plan-pro/package.json +32 -0
  1079. package/skills/skill-packing-plan-pro/src/index.ts +306 -0
  1080. package/skills/skill-packing-plan-pro/tsconfig.json +14 -0
  1081. package/skills/skill-parent-teacher-brief/CLAUDE.md +19 -0
  1082. package/skills/skill-parent-teacher-brief/package.json +32 -0
  1083. package/skills/skill-parent-teacher-brief/src/index.ts +290 -0
  1084. package/skills/skill-parent-teacher-brief/tsconfig.json +14 -0
  1085. package/skills/skill-parse-pdf/CLAUDE.md +19 -0
  1086. package/skills/skill-parse-pdf/package.json +32 -0
  1087. package/skills/skill-parse-pdf/src/index.ts +581 -0
  1088. package/skills/skill-parse-pdf/tsconfig.json +14 -0
  1089. package/skills/skill-partner-kit-assembler/CLAUDE.md +19 -0
  1090. package/skills/skill-partner-kit-assembler/package.json +32 -0
  1091. package/skills/skill-partner-kit-assembler/src/index.ts +313 -0
  1092. package/skills/skill-partner-kit-assembler/tsconfig.json +14 -0
  1093. package/skills/skill-payroll-change-prepper/CLAUDE.md +19 -0
  1094. package/skills/skill-payroll-change-prepper/package.json +32 -0
  1095. package/skills/skill-payroll-change-prepper/src/index.ts +304 -0
  1096. package/skills/skill-payroll-change-prepper/tsconfig.json +14 -0
  1097. package/skills/skill-persona-based-adwriter/CLAUDE.md +19 -0
  1098. package/skills/skill-persona-based-adwriter/package.json +32 -0
  1099. package/skills/skill-persona-based-adwriter/src/index.ts +266 -0
  1100. package/skills/skill-persona-based-adwriter/tsconfig.json +14 -0
  1101. package/skills/skill-persona-generator/CLAUDE.md +19 -0
  1102. package/skills/skill-persona-generator/package.json +32 -0
  1103. package/skills/skill-persona-generator/src/index.ts +443 -0
  1104. package/skills/skill-persona-generator/tsconfig.json +14 -0
  1105. package/skills/skill-personal-daily-ops/CLAUDE.md +19 -0
  1106. package/skills/skill-personal-daily-ops/package.json +32 -0
  1107. package/skills/skill-personal-daily-ops/src/index.ts +324 -0
  1108. package/skills/skill-personal-daily-ops/tsconfig.json +14 -0
  1109. package/skills/skill-pet-care-scheduler/CLAUDE.md +19 -0
  1110. package/skills/skill-pet-care-scheduler/package.json +32 -0
  1111. package/skills/skill-pet-care-scheduler/src/index.ts +298 -0
  1112. package/skills/skill-pet-care-scheduler/tsconfig.json +14 -0
  1113. package/skills/skill-playwright/LICENSE +21 -0
  1114. package/skills/skill-playwright/README.md +27 -0
  1115. package/skills/skill-playwright/SKILL.md +116 -0
  1116. package/skills/skill-playwright/install.sh +112 -0
  1117. package/skills/skill-playwright/package.json +31 -0
  1118. package/skills/skill-playwright/src/auth.ts +49 -0
  1119. package/skills/skill-playwright/src/installer.ts +324 -0
  1120. package/skills/skill-playwright/src/skill-install.ts +174 -0
  1121. package/skills/skill-podcast-show-notes/CLAUDE.md +19 -0
  1122. package/skills/skill-podcast-show-notes/package.json +32 -0
  1123. package/skills/skill-podcast-show-notes/src/index.ts +302 -0
  1124. package/skills/skill-podcast-show-notes/tsconfig.json +14 -0
  1125. package/skills/skill-presentation-theme-maker/CLAUDE.md +19 -0
  1126. package/skills/skill-presentation-theme-maker/package.json +32 -0
  1127. package/skills/skill-presentation-theme-maker/src/index.ts +292 -0
  1128. package/skills/skill-presentation-theme-maker/tsconfig.json +14 -0
  1129. package/skills/skill-press-release-drafter/CLAUDE.md +19 -0
  1130. package/skills/skill-press-release-drafter/package.json +32 -0
  1131. package/skills/skill-press-release-drafter/src/index.ts +291 -0
  1132. package/skills/skill-press-release-drafter/tsconfig.json +14 -0
  1133. package/skills/skill-print-collateral-designer/CLAUDE.md +19 -0
  1134. package/skills/skill-print-collateral-designer/package.json +32 -0
  1135. package/skills/skill-print-collateral-designer/src/index.ts +298 -0
  1136. package/skills/skill-print-collateral-designer/tsconfig.json +14 -0
  1137. package/skills/skill-procurement-scorecard/CLAUDE.md +19 -0
  1138. package/skills/skill-procurement-scorecard/package.json +32 -0
  1139. package/skills/skill-procurement-scorecard/src/index.ts +338 -0
  1140. package/skills/skill-procurement-scorecard/tsconfig.json +14 -0
  1141. package/skills/skill-product-demo-script/CLAUDE.md +19 -0
  1142. package/skills/skill-product-demo-script/package.json +32 -0
  1143. package/skills/skill-product-demo-script/src/index.ts +326 -0
  1144. package/skills/skill-product-demo-script/tsconfig.json +14 -0
  1145. package/skills/skill-product-mockup/CLAUDE.md +19 -0
  1146. package/skills/skill-product-mockup/package.json +32 -0
  1147. package/skills/skill-product-mockup/src/index.ts +290 -0
  1148. package/skills/skill-product-mockup/tsconfig.json +14 -0
  1149. package/skills/skill-project-retro-companion/CLAUDE.md +19 -0
  1150. package/skills/skill-project-retro-companion/package.json +32 -0
  1151. package/skills/skill-project-retro-companion/src/index.ts +279 -0
  1152. package/skills/skill-project-retro-companion/tsconfig.json +14 -0
  1153. package/skills/skill-projectbuild/LICENSE +21 -0
  1154. package/skills/skill-projectbuild/README.md +17 -0
  1155. package/skills/skill-projectbuild/install.sh +112 -0
  1156. package/skills/skill-projectbuild/package.json +31 -0
  1157. package/skills/skill-projectbuild/src/auth.ts +49 -0
  1158. package/skills/skill-projectbuild/src/installer.ts +324 -0
  1159. package/skills/skill-projectbuild/src/skill-install.ts +205 -0
  1160. package/skills/skill-proposal-redline-advisor/CLAUDE.md +19 -0
  1161. package/skills/skill-proposal-redline-advisor/package.json +32 -0
  1162. package/skills/skill-proposal-redline-advisor/src/index.ts +320 -0
  1163. package/skills/skill-proposal-redline-advisor/tsconfig.json +14 -0
  1164. package/skills/skill-read-gmail/CLAUDE.md +19 -0
  1165. package/skills/skill-read-gmail/package.json +32 -0
  1166. package/skills/skill-read-gmail/src/index.ts +343 -0
  1167. package/skills/skill-read-gmail/tsconfig.json +14 -0
  1168. package/skills/skill-regex-tester/CLAUDE.md +19 -0
  1169. package/skills/skill-regex-tester/package.json +32 -0
  1170. package/skills/skill-regex-tester/src/index.ts +183 -0
  1171. package/skills/skill-regex-tester/tsconfig.json +14 -0
  1172. package/skills/skill-remember/LICENSE +21 -0
  1173. package/skills/skill-remember/README.md +17 -0
  1174. package/skills/skill-remember/install.sh +112 -0
  1175. package/skills/skill-remember/package.json +31 -0
  1176. package/skills/skill-remember/src/auth.ts +49 -0
  1177. package/skills/skill-remember/src/installer.ts +324 -0
  1178. package/skills/skill-remember/src/skill-install.ts +205 -0
  1179. package/skills/skill-remove-background/CLAUDE.md +19 -0
  1180. package/skills/skill-remove-background/package.json +32 -0
  1181. package/skills/skill-remove-background/src/index.ts +405 -0
  1182. package/skills/skill-remove-background/tsconfig.json +14 -0
  1183. package/skills/skill-risk-disclosure-kit/CLAUDE.md +19 -0
  1184. package/skills/skill-risk-disclosure-kit/package.json +32 -0
  1185. package/skills/skill-risk-disclosure-kit/src/index.ts +307 -0
  1186. package/skills/skill-risk-disclosure-kit/tsconfig.json +14 -0
  1187. package/skills/skill-roi-comparison-tool/CLAUDE.md +19 -0
  1188. package/skills/skill-roi-comparison-tool/package.json +32 -0
  1189. package/skills/skill-roi-comparison-tool/src/index.ts +322 -0
  1190. package/skills/skill-roi-comparison-tool/tsconfig.json +14 -0
  1191. package/skills/skill-sales-call-recapper/CLAUDE.md +19 -0
  1192. package/skills/skill-sales-call-recapper/package.json +32 -0
  1193. package/skills/skill-sales-call-recapper/src/index.ts +280 -0
  1194. package/skills/skill-sales-call-recapper/tsconfig.json +14 -0
  1195. package/skills/skill-salescopy/.env.example +2 -0
  1196. package/skills/skill-salescopy/CLAUDE.md +23 -0
  1197. package/skills/skill-salescopy/LICENSE +21 -0
  1198. package/skills/skill-salescopy/README.md +72 -0
  1199. package/skills/skill-salescopy/package.json +27 -0
  1200. package/skills/skill-salescopy/src/commands/config.ts +115 -0
  1201. package/skills/skill-salescopy/src/commands/generate.ts +179 -0
  1202. package/skills/skill-salescopy/src/commands/sessions.ts +169 -0
  1203. package/skills/skill-salescopy/src/commands/templates.ts +99 -0
  1204. package/skills/skill-salescopy/src/lib/generator.ts +197 -0
  1205. package/skills/skill-salescopy/src/lib/storage.ts +191 -0
  1206. package/skills/skill-salescopy/src/types/index.ts +74 -0
  1207. package/skills/skill-salescopy/src/utils/logger.ts +33 -0
  1208. package/skills/skill-salescopy/src/utils/paths.ts +25 -0
  1209. package/skills/skill-salescopy/tsconfig.json +19 -0
  1210. package/skills/skill-scaffold-project/CLAUDE.md +19 -0
  1211. package/skills/skill-scaffold-project/package.json +32 -0
  1212. package/skills/skill-scaffold-project/src/index.ts +1223 -0
  1213. package/skills/skill-scaffold-project/tsconfig.json +14 -0
  1214. package/skills/skill-schedule/README.md +17 -0
  1215. package/skills/skill-schedule/install.sh +112 -0
  1216. package/skills/skill-schedule/src/auth.ts +49 -0
  1217. package/skills/skill-schedule/src/installer.ts +324 -0
  1218. package/skills/skill-schedule/src/skill-install.ts +205 -0
  1219. package/skills/skill-scholarship-tracker/CLAUDE.md +19 -0
  1220. package/skills/skill-scholarship-tracker/package.json +32 -0
  1221. package/skills/skill-scholarship-tracker/src/index.ts +298 -0
  1222. package/skills/skill-scholarship-tracker/tsconfig.json +14 -0
  1223. package/skills/skill-scientific-figure-check/CLAUDE.md +19 -0
  1224. package/skills/skill-scientific-figure-check/package.json +32 -0
  1225. package/skills/skill-scientific-figure-check/src/index.ts +83 -0
  1226. package/skills/skill-scientific-figure-check/tsconfig.json +14 -0
  1227. package/skills/skill-search/LICENSE +21 -0
  1228. package/skills/skill-search/README.md +17 -0
  1229. package/skills/skill-search/install.sh +112 -0
  1230. package/skills/skill-search/package.json +31 -0
  1231. package/skills/skill-search/src/auth.ts +49 -0
  1232. package/skills/skill-search/src/installer.ts +324 -0
  1233. package/skills/skill-search/src/skill-install.ts +205 -0
  1234. package/skills/skill-seating-chart-maker/CLAUDE.md +19 -0
  1235. package/skills/skill-seating-chart-maker/package.json +32 -0
  1236. package/skills/skill-seating-chart-maker/src/index.ts +312 -0
  1237. package/skills/skill-seating-chart-maker/tsconfig.json +14 -0
  1238. package/skills/skill-security-audit/CLAUDE.md +19 -0
  1239. package/skills/skill-security-audit/package.json +32 -0
  1240. package/skills/skill-security-audit/src/index.ts +126 -0
  1241. package/skills/skill-security-audit/tsconfig.json +14 -0
  1242. package/skills/skill-seo-brief-builder/CLAUDE.md +19 -0
  1243. package/skills/skill-seo-brief-builder/package.json +32 -0
  1244. package/skills/skill-seo-brief-builder/src/index.ts +288 -0
  1245. package/skills/skill-seo-brief-builder/tsconfig.json +14 -0
  1246. package/skills/skill-shadcn/LICENSE +21 -0
  1247. package/skills/skill-shadcn/README.md +27 -0
  1248. package/skills/skill-shadcn/SKILL.md +113 -0
  1249. package/skills/skill-shadcn/install.sh +112 -0
  1250. package/skills/skill-shadcn/package.json +31 -0
  1251. package/skills/skill-shadcn/src/auth.ts +49 -0
  1252. package/skills/skill-shadcn/src/installer.ts +324 -0
  1253. package/skills/skill-shadcn/src/skill-install.ts +174 -0
  1254. package/skills/skill-shadcn-theme/CLAUDE.md +19 -0
  1255. package/skills/skill-shadcn-theme/package.json +32 -0
  1256. package/skills/skill-shadcn-theme/src/index.ts +16 -0
  1257. package/skills/skill-shadcn-theme/tsconfig.json +14 -0
  1258. package/skills/skill-slack-assistant/CLAUDE.md +19 -0
  1259. package/skills/skill-slack-assistant/package.json +32 -0
  1260. package/skills/skill-slack-assistant/src/index.ts +79 -0
  1261. package/skills/skill-slack-assistant/tsconfig.json +14 -0
  1262. package/skills/skill-sleep-routine-analyzer/CLAUDE.md +19 -0
  1263. package/skills/skill-sleep-routine-analyzer/package.json +32 -0
  1264. package/skills/skill-sleep-routine-analyzer/src/index.ts +293 -0
  1265. package/skills/skill-sleep-routine-analyzer/tsconfig.json +14 -0
  1266. package/skills/skill-sms/README.md +71 -0
  1267. package/skills/skill-sms/package.json +38 -0
  1268. package/skills/skill-sms/scripts/buy-number.ts +63 -0
  1269. package/skills/skill-sms/scripts/test-send.ts +67 -0
  1270. package/skills/skill-sms/src/index.ts +320 -0
  1271. package/skills/skill-sms/src/server.ts +351 -0
  1272. package/skills/skill-sms/src/sse-server.ts +279 -0
  1273. package/skills/skill-sms/tsconfig.json +21 -0
  1274. package/skills/skill-social-media-kit/CLAUDE.md +19 -0
  1275. package/skills/skill-social-media-kit/package.json +32 -0
  1276. package/skills/skill-social-media-kit/src/index.ts +281 -0
  1277. package/skills/skill-social-media-kit/tsconfig.json +14 -0
  1278. package/skills/skill-social-template-kit/CLAUDE.md +19 -0
  1279. package/skills/skill-social-template-kit/package.json +32 -0
  1280. package/skills/skill-social-template-kit/src/index.ts +303 -0
  1281. package/skills/skill-social-template-kit/tsconfig.json +14 -0
  1282. package/skills/skill-split-pdf/CLAUDE.md +19 -0
  1283. package/skills/skill-split-pdf/package.json +32 -0
  1284. package/skills/skill-split-pdf/src/index.ts +301 -0
  1285. package/skills/skill-split-pdf/tsconfig.json +14 -0
  1286. package/skills/skill-sponsorship-proposal-lab/CLAUDE.md +19 -0
  1287. package/skills/skill-sponsorship-proposal-lab/package.json +32 -0
  1288. package/skills/skill-sponsorship-proposal-lab/src/index.ts +300 -0
  1289. package/skills/skill-sponsorship-proposal-lab/tsconfig.json +14 -0
  1290. package/skills/skill-spreadsheet-cleanroom/CLAUDE.md +19 -0
  1291. package/skills/skill-spreadsheet-cleanroom/package.json +32 -0
  1292. package/skills/skill-spreadsheet-cleanroom/src/index.ts +331 -0
  1293. package/skills/skill-spreadsheet-cleanroom/tsconfig.json +14 -0
  1294. package/skills/skill-statistical-test-selector/CLAUDE.md +19 -0
  1295. package/skills/skill-statistical-test-selector/package.json +32 -0
  1296. package/skills/skill-statistical-test-selector/src/index.ts +75 -0
  1297. package/skills/skill-statistical-test-selector/tsconfig.json +14 -0
  1298. package/skills/skill-stress-relief-playbook/CLAUDE.md +19 -0
  1299. package/skills/skill-stress-relief-playbook/package.json +32 -0
  1300. package/skills/skill-stress-relief-playbook/src/index.ts +298 -0
  1301. package/skills/skill-stress-relief-playbook/tsconfig.json +14 -0
  1302. package/skills/skill-study-guide-builder/CLAUDE.md +19 -0
  1303. package/skills/skill-study-guide-builder/package.json +32 -0
  1304. package/skills/skill-study-guide-builder/src/index.ts +298 -0
  1305. package/skills/skill-study-guide-builder/tsconfig.json +14 -0
  1306. package/skills/skill-subscription-spend-watcher/CLAUDE.md +19 -0
  1307. package/skills/skill-subscription-spend-watcher/package.json +32 -0
  1308. package/skills/skill-subscription-spend-watcher/src/index.ts +312 -0
  1309. package/skills/skill-subscription-spend-watcher/tsconfig.json +14 -0
  1310. package/skills/skill-subtitle/.env.example +2 -0
  1311. package/skills/skill-subtitle/CLAUDE.md +37 -0
  1312. package/skills/skill-subtitle/LICENSE +21 -0
  1313. package/skills/skill-subtitle/README.md +63 -0
  1314. package/skills/skill-subtitle/package.json +49 -0
  1315. package/skills/skill-subtitle/src/commands/config.ts +53 -0
  1316. package/skills/skill-subtitle/src/commands/generate.ts +61 -0
  1317. package/skills/skill-subtitle/src/lib/generator.ts +216 -0
  1318. package/skills/skill-subtitle/src/lib/storage.ts +62 -0
  1319. package/skills/skill-subtitle/src/types/index.ts +68 -0
  1320. package/skills/skill-subtitle/src/utils/logger.ts +34 -0
  1321. package/skills/skill-subtitle/src/utils/paths.ts +51 -0
  1322. package/skills/skill-subtitle/tsconfig.json +17 -0
  1323. package/skills/skill-summarize/LICENSE +21 -0
  1324. package/skills/skill-summarize/README.md +17 -0
  1325. package/skills/skill-summarize/install.sh +112 -0
  1326. package/skills/skill-summarize/package.json +31 -0
  1327. package/skills/skill-summarize/src/auth.ts +49 -0
  1328. package/skills/skill-summarize/src/installer.ts +324 -0
  1329. package/skills/skill-summarize/src/skill-install.ts +205 -0
  1330. package/skills/skill-survey-insight-extractor/CLAUDE.md +19 -0
  1331. package/skills/skill-survey-insight-extractor/package.json +32 -0
  1332. package/skills/skill-survey-insight-extractor/src/index.ts +317 -0
  1333. package/skills/skill-survey-insight-extractor/tsconfig.json +14 -0
  1334. package/skills/skill-sync/LICENSE +21 -0
  1335. package/skills/skill-sync/README.md +17 -0
  1336. package/skills/skill-sync/install.sh +112 -0
  1337. package/skills/skill-sync/package.json +31 -0
  1338. package/skills/skill-sync/src/auth.ts +49 -0
  1339. package/skills/skill-sync/src/installer.ts +324 -0
  1340. package/skills/skill-sync/src/skill-install.ts +205 -0
  1341. package/skills/skill-terraform-generator/CLAUDE.md +19 -0
  1342. package/skills/skill-terraform-generator/package.json +32 -0
  1343. package/skills/skill-terraform-generator/src/index.ts +99 -0
  1344. package/skills/skill-terraform-generator/tsconfig.json +14 -0
  1345. package/skills/skill-testimonial-graphics/CLAUDE.md +19 -0
  1346. package/skills/skill-testimonial-graphics/package.json +32 -0
  1347. package/skills/skill-testimonial-graphics/src/index.ts +303 -0
  1348. package/skills/skill-testimonial-graphics/tsconfig.json +14 -0
  1349. package/skills/skill-time-blocking-orchestrator/CLAUDE.md +19 -0
  1350. package/skills/skill-time-blocking-orchestrator/package.json +32 -0
  1351. package/skills/skill-time-blocking-orchestrator/src/index.ts +328 -0
  1352. package/skills/skill-time-blocking-orchestrator/tsconfig.json +14 -0
  1353. package/skills/skill-timesheet/.env.example +25 -0
  1354. package/skills/skill-timesheet/README.md +235 -0
  1355. package/skills/skill-timesheet/package.json +53 -0
  1356. package/skills/skill-timesheet/scripts/publish.ts +210 -0
  1357. package/skills/skill-timesheet/src/commands/employee.ts +96 -0
  1358. package/skills/skill-timesheet/src/commands/export.ts +29 -0
  1359. package/skills/skill-timesheet/src/commands/generate.ts +102 -0
  1360. package/skills/skill-timesheet/src/commands/holiday.ts +74 -0
  1361. package/skills/skill-timesheet/src/commands/profile.ts +133 -0
  1362. package/skills/skill-timesheet/src/commands/setup.ts +21 -0
  1363. package/skills/skill-timesheet/src/commands/vacation.ts +93 -0
  1364. package/skills/skill-timesheet/src/lib/employees.ts +56 -0
  1365. package/skills/skill-timesheet/src/lib/export.ts +123 -0
  1366. package/skills/skill-timesheet/src/lib/holidays.ts +79 -0
  1367. package/skills/skill-timesheet/src/lib/paths.ts +59 -0
  1368. package/skills/skill-timesheet/src/lib/profiles.ts +168 -0
  1369. package/skills/skill-timesheet/src/lib/storage.ts +83 -0
  1370. package/skills/skill-timesheet/src/lib/timesheet.ts +130 -0
  1371. package/skills/skill-timesheet/src/lib/vacations.ts +70 -0
  1372. package/skills/skill-timesheet/src/types/index.ts +96 -0
  1373. package/skills/skill-timesheet/tsconfig.json +21 -0
  1374. package/skills/skill-transcript/.env.example +10 -0
  1375. package/skills/skill-transcript/LICENSE +21 -0
  1376. package/skills/skill-transcript/README.md +17 -0
  1377. package/skills/skill-transcript/SKILL.md +105 -0
  1378. package/skills/skill-transcript/install.sh +112 -0
  1379. package/skills/skill-transcript/package.json +35 -0
  1380. package/skills/skill-transcript/src/auth.ts +49 -0
  1381. package/skills/skill-transcript/src/chunker.ts +215 -0
  1382. package/skills/skill-transcript/src/formatter.ts +134 -0
  1383. package/skills/skill-transcript/src/http-client.ts +128 -0
  1384. package/skills/skill-transcript/src/index-http.ts +111 -0
  1385. package/skills/skill-transcript/src/index-local.ts +226 -0
  1386. package/skills/skill-transcript/src/index.ts +111 -0
  1387. package/skills/skill-transcript/src/installer.ts +324 -0
  1388. package/skills/skill-transcript/src/providers/elevenlabs.ts +133 -0
  1389. package/skills/skill-transcript/src/providers/gemini.ts +192 -0
  1390. package/skills/skill-transcript/src/providers/index.ts +54 -0
  1391. package/skills/skill-transcript/src/providers/openai.ts +203 -0
  1392. package/skills/skill-transcript/src/skill-install.ts +205 -0
  1393. package/skills/skill-transcript/src/types.ts +106 -0
  1394. package/skills/skill-transcript/tsconfig.json +18 -0
  1395. package/skills/skill-transform/.env.example +2 -0
  1396. package/skills/skill-transform/LICENSE +21 -0
  1397. package/skills/skill-transform/README.md +17 -0
  1398. package/skills/skill-transform/SKILL.md +127 -0
  1399. package/skills/skill-transform/install.sh +112 -0
  1400. package/skills/skill-transform/package.json +37 -0
  1401. package/skills/skill-transform/src/auth.ts +49 -0
  1402. package/skills/skill-transform/src/http-client.ts +128 -0
  1403. package/skills/skill-transform/src/index-http.ts +111 -0
  1404. package/skills/skill-transform/src/index-local.ts +368 -0
  1405. package/skills/skill-transform/src/index.ts +111 -0
  1406. package/skills/skill-transform/src/installer.ts +324 -0
  1407. package/skills/skill-transform/src/skill-install.ts +205 -0
  1408. package/skills/skill-transform/src/transformers/ai-transformer.ts +202 -0
  1409. package/skills/skill-transform/src/transformers/format-detector.ts +147 -0
  1410. package/skills/skill-transform/src/types.ts +95 -0
  1411. package/skills/skill-transform/tsconfig.json +18 -0
  1412. package/skills/skill-translate/LICENSE +21 -0
  1413. package/skills/skill-translate/README.md +17 -0
  1414. package/skills/skill-translate/install.sh +112 -0
  1415. package/skills/skill-translate/package.json +31 -0
  1416. package/skills/skill-translate/src/auth.ts +49 -0
  1417. package/skills/skill-translate/src/installer.ts +324 -0
  1418. package/skills/skill-translate/src/skill-install.ts +205 -0
  1419. package/skills/skill-travel-budget-balancer/CLAUDE.md +19 -0
  1420. package/skills/skill-travel-budget-balancer/package.json +32 -0
  1421. package/skills/skill-travel-budget-balancer/src/index.ts +297 -0
  1422. package/skills/skill-travel-budget-balancer/tsconfig.json +14 -0
  1423. package/skills/skill-validate-config/CLAUDE.md +19 -0
  1424. package/skills/skill-validate-config/package.json +32 -0
  1425. package/skills/skill-validate-config/src/index.ts +56 -0
  1426. package/skills/skill-validate-config/tsconfig.json +14 -0
  1427. package/skills/skill-vendor-comparison-coach/CLAUDE.md +19 -0
  1428. package/skills/skill-vendor-comparison-coach/package.json +32 -0
  1429. package/skills/skill-vendor-comparison-coach/src/index.ts +337 -0
  1430. package/skills/skill-vendor-comparison-coach/tsconfig.json +14 -0
  1431. package/skills/skill-video/.env.example +14 -0
  1432. package/skills/skill-video/EXAMPLES.md +266 -0
  1433. package/skills/skill-video/LICENSE +21 -0
  1434. package/skills/skill-video/README.md +174 -0
  1435. package/skills/skill-video/SKILL.md +107 -0
  1436. package/skills/skill-video/install.sh +112 -0
  1437. package/skills/skill-video/package.json +36 -0
  1438. package/skills/skill-video/src/auth.ts +49 -0
  1439. package/skills/skill-video/src/cli.ts +155 -0
  1440. package/skills/skill-video/src/http-client.ts +128 -0
  1441. package/skills/skill-video/src/index-http.ts +111 -0
  1442. package/skills/skill-video/src/index-local.ts +148 -0
  1443. package/skills/skill-video/src/index.ts +111 -0
  1444. package/skills/skill-video/src/installer.ts +324 -0
  1445. package/skills/skill-video/src/providers/google-veo.ts +126 -0
  1446. package/skills/skill-video/src/providers/index.ts +19 -0
  1447. package/skills/skill-video/src/providers/openai-sora.ts +164 -0
  1448. package/skills/skill-video/src/providers/runway.ts +159 -0
  1449. package/skills/skill-video/src/skill-install.ts +205 -0
  1450. package/skills/skill-video/src/types.ts +35 -0
  1451. package/skills/skill-video/tsconfig.json +25 -0
  1452. package/skills/skill-video-cut-suggester/CLAUDE.md +19 -0
  1453. package/skills/skill-video-cut-suggester/package.json +32 -0
  1454. package/skills/skill-video-cut-suggester/src/index.ts +304 -0
  1455. package/skills/skill-video-cut-suggester/tsconfig.json +14 -0
  1456. package/skills/skill-video-downloader/CLAUDE.md +19 -0
  1457. package/skills/skill-video-downloader/package.json +32 -0
  1458. package/skills/skill-video-downloader/src/index.ts +561 -0
  1459. package/skills/skill-video-downloader/tsconfig.json +14 -0
  1460. package/skills/skill-video-thumbnail/CLAUDE.md +19 -0
  1461. package/skills/skill-video-thumbnail/package.json +32 -0
  1462. package/skills/skill-video-thumbnail/src/index.ts +356 -0
  1463. package/skills/skill-video-thumbnail/tsconfig.json +14 -0
  1464. package/skills/skill-videodownload/.env.example +5 -0
  1465. package/skills/skill-videodownload/CLAUDE.md +64 -0
  1466. package/skills/skill-videodownload/LICENSE +21 -0
  1467. package/skills/skill-videodownload/README.md +166 -0
  1468. package/skills/skill-videodownload/package.json +49 -0
  1469. package/skills/skill-videodownload/src/commands/config.ts +89 -0
  1470. package/skills/skill-videodownload/src/commands/download.ts +61 -0
  1471. package/skills/skill-videodownload/src/commands/info.ts +83 -0
  1472. package/skills/skill-videodownload/src/commands/list.ts +84 -0
  1473. package/skills/skill-videodownload/src/lib/downloader.ts +270 -0
  1474. package/skills/skill-videodownload/src/lib/storage.ts +167 -0
  1475. package/skills/skill-videodownload/src/types/index.ts +64 -0
  1476. package/skills/skill-videodownload/src/utils/logger.ts +49 -0
  1477. package/skills/skill-videodownload/src/utils/paths.ts +94 -0
  1478. package/skills/skill-videodownload/tsconfig.json +17 -0
  1479. package/skills/skill-voiceover/.env.example +5 -0
  1480. package/skills/skill-voiceover/CLAUDE.md +40 -0
  1481. package/skills/skill-voiceover/LICENSE +21 -0
  1482. package/skills/skill-voiceover/README.md +64 -0
  1483. package/skills/skill-voiceover/package.json +43 -0
  1484. package/skills/skill-voiceover/src/commands/config.ts +38 -0
  1485. package/skills/skill-voiceover/src/commands/generate.ts +37 -0
  1486. package/skills/skill-voiceover/src/commands/voices.ts +33 -0
  1487. package/skills/skill-voiceover/src/lib/generator.ts +159 -0
  1488. package/skills/skill-voiceover/src/lib/storage.ts +55 -0
  1489. package/skills/skill-voiceover/src/types/index.ts +55 -0
  1490. package/skills/skill-voiceover/src/utils/logger.ts +30 -0
  1491. package/skills/skill-voiceover/src/utils/paths.ts +22 -0
  1492. package/skills/skill-voiceover/tsconfig.json +17 -0
  1493. package/skills/skill-voiceover-casting-assistant/CLAUDE.md +19 -0
  1494. package/skills/skill-voiceover-casting-assistant/package.json +32 -0
  1495. package/skills/skill-voiceover-casting-assistant/src/index.ts +255 -0
  1496. package/skills/skill-voiceover-casting-assistant/tsconfig.json +14 -0
  1497. package/skills/skill-watermark/CLAUDE.md +19 -0
  1498. package/skills/skill-watermark/package.json +32 -0
  1499. package/skills/skill-watermark/src/index.ts +587 -0
  1500. package/skills/skill-watermark/tsconfig.json +14 -0
  1501. package/skills/skill-webcrawling/.env.example +2 -0
  1502. package/skills/skill-webcrawling/CLAUDE.md +22 -0
  1503. package/skills/skill-webcrawling/LICENSE +21 -0
  1504. package/skills/skill-webcrawling/README.md +77 -0
  1505. package/skills/skill-webcrawling/package.json +36 -0
  1506. package/skills/skill-webcrawling/src/commands/config.ts +34 -0
  1507. package/skills/skill-webcrawling/src/commands/crawl.ts +33 -0
  1508. package/skills/skill-webcrawling/src/commands/scrape.ts +32 -0
  1509. package/skills/skill-webcrawling/src/commands/sessions.ts +42 -0
  1510. package/skills/skill-webcrawling/src/lib/crawler.ts +174 -0
  1511. package/skills/skill-webcrawling/src/lib/storage.ts +130 -0
  1512. package/skills/skill-webcrawling/src/types/index.ts +45 -0
  1513. package/skills/skill-webcrawling/src/utils/logger.ts +30 -0
  1514. package/skills/skill-webcrawling/src/utils/paths.ts +28 -0
  1515. package/skills/skill-webcrawling/tsconfig.json +17 -0
  1516. package/skills/skill-webinar-script-coach/CLAUDE.md +19 -0
  1517. package/skills/skill-webinar-script-coach/package.json +32 -0
  1518. package/skills/skill-webinar-script-coach/src/index.ts +296 -0
  1519. package/skills/skill-webinar-script-coach/tsconfig.json +14 -0
  1520. package/skills/skill-websearch/LICENSE +21 -0
  1521. package/skills/skill-websearch/README.md +17 -0
  1522. package/skills/skill-websearch/install.sh +112 -0
  1523. package/skills/skill-websearch/package.json +31 -0
  1524. package/skills/skill-websearch/src/auth.ts +49 -0
  1525. package/skills/skill-websearch/src/installer.ts +324 -0
  1526. package/skills/skill-websearch/src/skill-install.ts +205 -0
  1527. package/skills/skill-wellness-progress-reporter/CLAUDE.md +19 -0
  1528. package/skills/skill-wellness-progress-reporter/package.json +32 -0
  1529. package/skills/skill-wellness-progress-reporter/src/index.ts +298 -0
  1530. package/skills/skill-wellness-progress-reporter/tsconfig.json +14 -0
  1531. package/skills/skill-workout-cycle-planner/CLAUDE.md +19 -0
  1532. package/skills/skill-workout-cycle-planner/package.json +32 -0
  1533. package/skills/skill-workout-cycle-planner/src/index.ts +299 -0
  1534. package/skills/skill-workout-cycle-planner/tsconfig.json +14 -0
  1535. package/skills/skill-write/.env.example +9 -0
  1536. package/skills/skill-write/LICENSE +21 -0
  1537. package/skills/skill-write/README.md +17 -0
  1538. package/skills/skill-write/SKILL.md +90 -0
  1539. package/skills/skill-write/install.sh +112 -0
  1540. package/skills/skill-write/package.json +37 -0
  1541. package/skills/skill-write/src/agents/image-generator.ts +186 -0
  1542. package/skills/skill-write/src/agents/researcher.ts +61 -0
  1543. package/skills/skill-write/src/agents/writer.ts +99 -0
  1544. package/skills/skill-write/src/auth.ts +49 -0
  1545. package/skills/skill-write/src/http-client.ts +128 -0
  1546. package/skills/skill-write/src/index-http.ts +111 -0
  1547. package/skills/skill-write/src/index-local.ts +247 -0
  1548. package/skills/skill-write/src/index.ts +111 -0
  1549. package/skills/skill-write/src/installer.ts +324 -0
  1550. package/skills/skill-write/src/orchestrator.ts +171 -0
  1551. package/skills/skill-write/src/skill-install.ts +205 -0
  1552. package/skills/skill-write/src/types.ts +65 -0
  1553. package/skills/skill-write/tsconfig.json +18 -0
  1554. package/src/cli/cli.test.ts +325 -0
  1555. package/src/cli/components/App.tsx +186 -0
  1556. package/src/cli/components/CategorySelect.tsx +38 -0
  1557. package/src/cli/components/Header.tsx +18 -0
  1558. package/src/cli/components/InstallProgress.tsx +97 -0
  1559. package/src/cli/components/SearchView.tsx +108 -0
  1560. package/src/cli/components/SkillSelect.tsx +92 -0
  1561. package/src/cli/index.tsx +559 -0
  1562. package/src/index.ts +49 -0
  1563. package/src/lib/installer.test.ts +328 -0
  1564. package/src/lib/installer.ts +297 -0
  1565. package/src/lib/registry.test.ts +147 -0
  1566. package/src/lib/registry.ts +1951 -0
  1567. package/src/lib/skillinfo.test.ts +195 -0
  1568. package/src/lib/skillinfo.ts +356 -0
  1569. package/src/mcp/index.ts +234 -0
  1570. package/src/mcp/mcp.test.ts +212 -0
  1571. package/tsconfig.json +17 -0
@@ -0,0 +1,859 @@
1
+ #!/usr/bin/env bun
2
+
3
+ import { existsSync, mkdirSync, appendFileSync, readdirSync } from "node:fs";
4
+ import { join, resolve } from "node:path";
5
+ import { parseArgs } from "util";
6
+ import { randomUUID } from "crypto";
7
+
8
+ // Skill configuration
9
+ const SKILL_NAME = "generate-dockerfile";
10
+ const SESSION_ID = randomUUID().slice(0, 8);
11
+
12
+ // Environment paths
13
+ const SKILLS_OUTPUT_DIR = process.env.SKILLS_OUTPUT_DIR || join(process.cwd(), ".skills");
14
+ const EXPORTS_DIR = join(SKILLS_OUTPUT_DIR, "exports", SKILL_NAME);
15
+ const LOGS_DIR = join(SKILLS_OUTPUT_DIR, "logs", SKILL_NAME);
16
+ const SESSION_TIMESTAMP = new Date().toISOString().replace(/[:.]/g, "_").slice(0, 19);
17
+ const LOG_FILE = join(LOGS_DIR, `log_${SESSION_TIMESTAMP}_${SESSION_ID}.log`);
18
+
19
+ // Ensure output directories exist
20
+ [EXPORTS_DIR, LOGS_DIR].forEach((dir) => {
21
+ if (!existsSync(dir)) {
22
+ mkdirSync(dir, { recursive: true });
23
+ }
24
+ });
25
+
26
+ // Logging utility
27
+ function log(message: string, level: "info" | "error" | "warn" | "success" = "info") {
28
+ const timestamp = new Date().toISOString();
29
+ const logMessage = `[${timestamp}] [${level.toUpperCase()}] ${message}\n`;
30
+ appendFileSync(LOG_FILE, logMessage);
31
+
32
+ const prefix = level === "error" ? "❌" : level === "success" ? "✅" : level === "warn" ? "⚠️" : "ℹ️";
33
+ if (level === "error") {
34
+ console.error(`${prefix} ${message}`);
35
+ } else {
36
+ console.log(`${prefix} ${message}`);
37
+ }
38
+ }
39
+
40
+ // Project type detection patterns
41
+ const PROJECT_PATTERNS = {
42
+ nodejs: ["package.json", "yarn.lock", "pnpm-lock.yaml", "bun.lockb"],
43
+ python: ["requirements.txt", "setup.py", "pyproject.toml", "Pipfile"],
44
+ go: ["go.mod", "go.sum"],
45
+ rust: ["Cargo.toml", "Cargo.lock"],
46
+ java: ["pom.xml", "build.gradle", "build.gradle.kts"],
47
+ ruby: ["Gemfile", "Gemfile.lock"],
48
+ php: ["composer.json", "composer.lock"],
49
+ static: ["index.html", "index.htm"]
50
+ };
51
+
52
+ type ProjectType = keyof typeof PROJECT_PATTERNS;
53
+ type BaseImageVariant = "alpine" | "slim" | "standard";
54
+
55
+ interface GenerateOptions {
56
+ type?: ProjectType;
57
+ base: BaseImageVariant;
58
+ dir: string;
59
+ output: string;
60
+ compose: boolean;
61
+ dockerignore: boolean;
62
+ multistage: boolean;
63
+ healthcheck: boolean;
64
+ minimal: boolean;
65
+ all: boolean;
66
+ port: number;
67
+ user: string;
68
+ workdir: string;
69
+ }
70
+
71
+ // Parse command line arguments
72
+ function parseOptions(): GenerateOptions {
73
+ const { values, positionals } = parseArgs({
74
+ args: process.argv.slice(2),
75
+ options: {
76
+ type: { type: "string" },
77
+ base: { type: "string", default: "alpine" },
78
+ dir: { type: "string" },
79
+ output: { type: "string" },
80
+ compose: { type: "boolean", default: false },
81
+ dockerignore: { type: "boolean", default: true },
82
+ "no-dockerignore": { type: "boolean", default: false },
83
+ multistage: { type: "boolean", default: true },
84
+ "no-multistage": { type: "boolean", default: false },
85
+ healthcheck: { type: "boolean", default: true },
86
+ "no-healthcheck": { type: "boolean", default: false },
87
+ minimal: { type: "boolean", default: false },
88
+ all: { type: "boolean", default: false },
89
+ port: { type: "string", default: "3000" },
90
+ user: { type: "string", default: "appuser" },
91
+ workdir: { type: "string", default: "/app" },
92
+ help: { type: "boolean", short: "h" },
93
+ },
94
+ allowPositionals: true,
95
+ });
96
+
97
+ if (values.help) {
98
+ console.log(`
99
+ Generate Dockerfile - Create Docker configuration files
100
+
101
+ Usage:
102
+ skills run generate-dockerfile -- [options]
103
+
104
+ Options:
105
+ --type <type> Project type (nodejs, python, go, rust, java, ruby, php, static)
106
+ --base <variant> Base image variant (alpine, slim, standard) [default: alpine]
107
+ --dir <path> Project directory [default: cwd]
108
+ --output <path> Output directory [default: cwd]
109
+ --compose Generate docker-compose.yml
110
+ --no-dockerignore Skip .dockerignore generation
111
+ --no-multistage Disable multi-stage build
112
+ --no-healthcheck Disable healthcheck
113
+ --minimal Minimal comments
114
+ --all Generate all files (Dockerfile, .dockerignore, docker-compose.yml)
115
+ --port <number> Application port [default: 3000]
116
+ --user <name> Non-root user name [default: appuser]
117
+ --workdir <path> Working directory [default: /app]
118
+ --help, -h Show this help
119
+ `);
120
+ process.exit(0);
121
+ }
122
+
123
+ const options: GenerateOptions = {
124
+ type: values.type as ProjectType | undefined,
125
+ base: values.base as BaseImageVariant,
126
+ dir: values.dir ? resolve(values.dir as string) : process.cwd(),
127
+ output: values.output ? resolve(values.output as string) : process.cwd(),
128
+ compose: values.compose as boolean,
129
+ dockerignore: !(values["no-dockerignore"] as boolean),
130
+ multistage: !(values["no-multistage"] as boolean),
131
+ healthcheck: !(values["no-healthcheck"] as boolean),
132
+ minimal: values.minimal as boolean,
133
+ all: values.all as boolean,
134
+ port: parseInt(values.port as string, 10),
135
+ user: values.user as string,
136
+ workdir: values.workdir as string,
137
+ };
138
+
139
+ if (values.all) {
140
+ options.compose = true;
141
+ options.dockerignore = true;
142
+ }
143
+
144
+ return options;
145
+ }
146
+
147
+ // Auto-detect project type
148
+ function detectProjectType(dir: string): ProjectType | null {
149
+ try {
150
+ const files = readdirSync(dir);
151
+
152
+ for (const [type, patterns] of Object.entries(PROJECT_PATTERNS)) {
153
+ for (const pattern of patterns) {
154
+ if (files.includes(pattern)) {
155
+ return type as ProjectType;
156
+ }
157
+ }
158
+ }
159
+ } catch (error) {
160
+ log(`Error detecting project type: ${error}`, "warn");
161
+ }
162
+
163
+ return null;
164
+ }
165
+
166
+ // Get base image for project type
167
+ function getBaseImage(type: ProjectType, variant: BaseImageVariant): string {
168
+ const images: Record<ProjectType, Record<BaseImageVariant, string>> = {
169
+ nodejs: {
170
+ alpine: "node:20-alpine",
171
+ slim: "node:20-slim",
172
+ standard: "node:20"
173
+ },
174
+ python: {
175
+ alpine: "python:3.12-alpine",
176
+ slim: "python:3.12-slim",
177
+ standard: "python:3.12"
178
+ },
179
+ go: {
180
+ alpine: "golang:1.22-alpine",
181
+ slim: "golang:1.22",
182
+ standard: "golang:1.22"
183
+ },
184
+ rust: {
185
+ alpine: "rust:1.75-alpine",
186
+ slim: "rust:1.75-slim",
187
+ standard: "rust:1.75"
188
+ },
189
+ java: {
190
+ alpine: "eclipse-temurin:21-jdk-alpine",
191
+ slim: "eclipse-temurin:21-jdk",
192
+ standard: "eclipse-temurin:21-jdk"
193
+ },
194
+ ruby: {
195
+ alpine: "ruby:3.3-alpine",
196
+ slim: "ruby:3.3-slim",
197
+ standard: "ruby:3.3"
198
+ },
199
+ php: {
200
+ alpine: "php:8.3-fpm-alpine",
201
+ slim: "php:8.3-fpm",
202
+ standard: "php:8.3-fpm"
203
+ },
204
+ static: {
205
+ alpine: "nginx:alpine",
206
+ slim: "nginx:stable",
207
+ standard: "nginx:stable"
208
+ }
209
+ };
210
+
211
+ return images[type][variant];
212
+ }
213
+
214
+ // Generate Node.js Dockerfile
215
+ function generateNodejsDockerfile(options: GenerateOptions): string {
216
+ const baseImage = getBaseImage("nodejs", options.base);
217
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
218
+
219
+ if (options.multistage) {
220
+ return `${comment("Build stage")}FROM ${baseImage} AS builder
221
+
222
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
223
+
224
+ ${comment("Copy package files")}COPY package*.json ./
225
+
226
+ ${comment("Install dependencies")}RUN npm ci --only=production && \\
227
+ npm cache clean --force
228
+
229
+ ${comment("Copy application files")}COPY . .
230
+
231
+ ${comment("Build application if needed (uncomment if using TypeScript/build step)")}# RUN npm run build
232
+
233
+ ${comment("Production stage")}FROM ${baseImage}
234
+
235
+ ${comment("Install dumb-init for proper signal handling")}RUN apk add --no-cache dumb-init
236
+
237
+ ${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
238
+ adduser -S ${options.user} -u 1001
239
+
240
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
241
+
242
+ ${comment("Copy dependencies from builder")}COPY --from=builder --chown=${options.user}:${options.user} ${options.workdir}/node_modules ./node_modules
243
+
244
+ ${comment("Copy application files")}COPY --chown=${options.user}:${options.user} . .
245
+
246
+ ${comment("Set environment variables")}ENV NODE_ENV=production \\
247
+ PORT=${options.port}
248
+
249
+ ${comment("Switch to non-root user")}USER ${options.user}
250
+
251
+ ${comment("Expose port")}EXPOSE ${options.port}
252
+
253
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
254
+ CMD node -e "require('http').get('http://localhost:${options.port}/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"
255
+
256
+ ` : ""}${comment("Start application")}ENTRYPOINT ["dumb-init", "--"]
257
+ CMD ["node", "index.js"]
258
+ `;
259
+ } else {
260
+ return `FROM ${baseImage}
261
+
262
+ ${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
263
+ adduser -S ${options.user} -u 1001
264
+
265
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
266
+
267
+ ${comment("Copy package files")}COPY package*.json ./
268
+
269
+ ${comment("Install dependencies")}RUN npm ci --only=production && \\
270
+ npm cache clean --force
271
+
272
+ ${comment("Copy application files")}COPY --chown=${options.user}:${options.user} . .
273
+
274
+ ${comment("Set environment variables")}ENV NODE_ENV=production \\
275
+ PORT=${options.port}
276
+
277
+ ${comment("Switch to non-root user")}USER ${options.user}
278
+
279
+ ${comment("Expose port")}EXPOSE ${options.port}
280
+
281
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
282
+ CMD node -e "require('http').get('http://localhost:${options.port}/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"
283
+
284
+ ` : ""}${comment("Start application")}CMD ["node", "index.js"]
285
+ `;
286
+ }
287
+ }
288
+
289
+ // Generate Python Dockerfile
290
+ function generatePythonDockerfile(options: GenerateOptions): string {
291
+ const baseImage = getBaseImage("python", options.base);
292
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
293
+
294
+ if (options.multistage) {
295
+ return `${comment("Build stage")}FROM ${baseImage} AS builder
296
+
297
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
298
+
299
+ ${comment("Install build dependencies")}${options.base === "alpine" ? `RUN apk add --no-cache gcc musl-dev libffi-dev
300
+
301
+ ` : ""}${comment("Create virtual environment")}RUN python -m venv /opt/venv
302
+ ENV PATH="/opt/venv/bin:$PATH"
303
+
304
+ ${comment("Copy requirements and install dependencies")}COPY requirements.txt .
305
+ RUN pip install --no-cache-dir -r requirements.txt
306
+
307
+ ${comment("Production stage")}FROM ${baseImage}
308
+
309
+ ${comment("Install runtime dependencies")}${options.base === "alpine" ? `RUN apk add --no-cache libffi
310
+
311
+ ` : ""}${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
312
+ adduser -S ${options.user} -u 1001
313
+
314
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
315
+
316
+ ${comment("Copy virtual environment from builder")}COPY --from=builder /opt/venv /opt/venv
317
+
318
+ ${comment("Copy application files")}COPY --chown=${options.user}:${options.user} . .
319
+
320
+ ${comment("Set environment variables")}ENV PATH="/opt/venv/bin:$PATH" \\
321
+ PYTHONUNBUFFERED=1 \\
322
+ PYTHONDONTWRITEBYTECODE=1 \\
323
+ PORT=${options.port}
324
+
325
+ ${comment("Switch to non-root user")}USER ${options.user}
326
+
327
+ ${comment("Expose port")}EXPOSE ${options.port}
328
+
329
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
330
+ CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:${options.port}/health').read()"
331
+
332
+ ` : ""}${comment("Start application")}CMD ["python", "app.py"]
333
+ `;
334
+ } else {
335
+ return `FROM ${baseImage}
336
+
337
+ ${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
338
+ adduser -S ${options.user} -u 1001
339
+
340
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
341
+
342
+ ${comment("Copy requirements and install dependencies")}COPY requirements.txt .
343
+ RUN pip install --no-cache-dir -r requirements.txt
344
+
345
+ ${comment("Copy application files")}COPY --chown=${options.user}:${options.user} . .
346
+
347
+ ${comment("Set environment variables")}ENV PYTHONUNBUFFERED=1 \\
348
+ PYTHONDONTWRITEBYTECODE=1 \\
349
+ PORT=${options.port}
350
+
351
+ ${comment("Switch to non-root user")}USER ${options.user}
352
+
353
+ ${comment("Expose port")}EXPOSE ${options.port}
354
+
355
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
356
+ CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:${options.port}/health').read()"
357
+
358
+ ` : ""}${comment("Start application")}CMD ["python", "app.py"]
359
+ `;
360
+ }
361
+ }
362
+
363
+ // Generate Go Dockerfile
364
+ function generateGoDockerfile(options: GenerateOptions): string {
365
+ const buildImage = getBaseImage("go", options.base);
366
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
367
+
368
+ return `${comment("Build stage")}FROM ${buildImage} AS builder
369
+
370
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
371
+
372
+ ${comment("Copy go mod files")}COPY go.mod go.sum ./
373
+
374
+ ${comment("Download dependencies")}RUN go mod download
375
+
376
+ ${comment("Copy source code")}COPY . .
377
+
378
+ ${comment("Build application")}RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
379
+
380
+ ${comment("Production stage - use minimal image")}FROM alpine:latest
381
+
382
+ ${comment("Install ca-certificates for HTTPS")}RUN apk --no-cache add ca-certificates
383
+
384
+ ${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
385
+ adduser -S ${options.user} -u 1001
386
+
387
+ ${comment("Set working directory")}WORKDIR /root/
388
+
389
+ ${comment("Copy binary from builder")}COPY --from=builder ${options.workdir}/main .
390
+
391
+ ${comment("Set ownership")}RUN chown ${options.user}:${options.user} main
392
+
393
+ ${comment("Switch to non-root user")}USER ${options.user}
394
+
395
+ ${comment("Expose port")}EXPOSE ${options.port}
396
+
397
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
398
+ CMD wget --no-verbose --tries=1 --spider http://localhost:${options.port}/health || exit 1
399
+
400
+ ` : ""}${comment("Start application")}CMD ["./main"]
401
+ `;
402
+ }
403
+
404
+ // Generate Rust Dockerfile
405
+ function generateRustDockerfile(options: GenerateOptions): string {
406
+ const buildImage = getBaseImage("rust", options.base);
407
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
408
+
409
+ return `${comment("Build stage")}FROM ${buildImage} AS builder
410
+
411
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
412
+
413
+ ${comment("Copy Cargo files")}COPY Cargo.toml Cargo.lock ./
414
+
415
+ ${comment("Create dummy main to cache dependencies")}RUN mkdir src && \\
416
+ echo "fn main() {}" > src/main.rs && \\
417
+ cargo build --release && \\
418
+ rm -rf src
419
+
420
+ ${comment("Copy source code")}COPY . .
421
+
422
+ ${comment("Build application")}RUN cargo build --release
423
+
424
+ ${comment("Production stage")}FROM alpine:latest
425
+
426
+ ${comment("Install runtime dependencies")}RUN apk --no-cache add ca-certificates libgcc
427
+
428
+ ${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
429
+ adduser -S ${options.user} -u 1001
430
+
431
+ ${comment("Set working directory")}WORKDIR /root/
432
+
433
+ ${comment("Copy binary from builder")}COPY --from=builder ${options.workdir}/target/release/app .
434
+
435
+ ${comment("Set ownership")}RUN chown ${options.user}:${options.user} app
436
+
437
+ ${comment("Switch to non-root user")}USER ${options.user}
438
+
439
+ ${comment("Expose port")}EXPOSE ${options.port}
440
+
441
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
442
+ CMD wget --no-verbose --tries=1 --spider http://localhost:${options.port}/health || exit 1
443
+
444
+ ` : ""}${comment("Start application")}CMD ["./app"]
445
+ `;
446
+ }
447
+
448
+ // Generate Java Dockerfile
449
+ function generateJavaDockerfile(options: GenerateOptions): string {
450
+ const buildImage = getBaseImage("java", options.base);
451
+ const runtimeImage = buildImage.replace("-jdk", "-jre");
452
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
453
+
454
+ return `${comment("Build stage")}FROM ${buildImage} AS builder
455
+
456
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
457
+
458
+ ${comment("Copy Maven/Gradle files")}COPY pom.xml ./
459
+ ${comment("Uncomment for Gradle: COPY build.gradle settings.gradle ./")}\
460
+
461
+ ${comment("Copy source code")}COPY src ./src
462
+
463
+ ${comment("Build application")}RUN ./mvnw package -DskipTests
464
+ ${comment("Uncomment for Gradle: RUN ./gradlew build -x test")}
465
+
466
+ ${comment("Production stage")}FROM ${runtimeImage}
467
+
468
+ ${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
469
+ adduser -S ${options.user} -u 1001
470
+
471
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
472
+
473
+ ${comment("Copy JAR from builder")}COPY --from=builder ${options.workdir}/target/*.jar app.jar
474
+
475
+ ${comment("Set ownership")}RUN chown ${options.user}:${options.user} app.jar
476
+
477
+ ${comment("Set environment variables")}ENV JAVA_OPTS="-Xmx512m -Xms256m" \\
478
+ PORT=${options.port}
479
+
480
+ ${comment("Switch to non-root user")}USER ${options.user}
481
+
482
+ ${comment("Expose port")}EXPOSE ${options.port}
483
+
484
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=30s --retries=3 \\
485
+ CMD wget --no-verbose --tries=1 --spider http://localhost:${options.port}/actuator/health || exit 1
486
+
487
+ ` : ""}${comment("Start application")}ENTRYPOINT ["java", "-jar", "app.jar"]
488
+ `;
489
+ }
490
+
491
+ // Generate Ruby Dockerfile
492
+ function generateRubyDockerfile(options: GenerateOptions): string {
493
+ const baseImage = getBaseImage("ruby", options.base);
494
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
495
+
496
+ return `FROM ${baseImage}
497
+
498
+ ${comment("Install dependencies")}${options.base === "alpine" ? `RUN apk add --no-cache build-base postgresql-dev
499
+
500
+ ` : ""}${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
501
+ adduser -S ${options.user} -u 1001
502
+
503
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
504
+
505
+ ${comment("Copy Gemfile")}COPY Gemfile Gemfile.lock ./
506
+
507
+ ${comment("Install gems")}RUN bundle install --without development test
508
+
509
+ ${comment("Copy application files")}COPY --chown=${options.user}:${options.user} . .
510
+
511
+ ${comment("Set environment variables")}ENV RAILS_ENV=production \\
512
+ RACK_ENV=production \\
513
+ PORT=${options.port}
514
+
515
+ ${comment("Switch to non-root user")}USER ${options.user}
516
+
517
+ ${comment("Expose port")}EXPOSE ${options.port}
518
+
519
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
520
+ CMD wget --no-verbose --tries=1 --spider http://localhost:${options.port}/health || exit 1
521
+
522
+ ` : ""}${comment("Start application")}CMD ["bundle", "exec", "rackup", "-o", "0.0.0.0", "-p", "${options.port}"]
523
+ `;
524
+ }
525
+
526
+ // Generate PHP Dockerfile
527
+ function generatePhpDockerfile(options: GenerateOptions): string {
528
+ const baseImage = getBaseImage("php", options.base);
529
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
530
+
531
+ return `FROM ${baseImage}
532
+
533
+ ${comment("Install dependencies")}${options.base === "alpine" ? `RUN apk add --no-cache nginx supervisor
534
+
535
+ ` : ""}${comment("Install composer")}COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
536
+
537
+ ${comment("Create non-root user")}RUN addgroup -g 1001 -S ${options.user} && \\
538
+ adduser -S ${options.user} -u 1001
539
+
540
+ ${comment("Set working directory")}WORKDIR ${options.workdir}
541
+
542
+ ${comment("Copy composer files")}COPY composer.json composer.lock ./
543
+
544
+ ${comment("Install PHP dependencies")}RUN composer install --no-dev --optimize-autoloader
545
+
546
+ ${comment("Copy application files")}COPY --chown=${options.user}:${options.user} . .
547
+
548
+ ${comment("Set environment variables")}ENV PHP_FPM_USER=${options.user} \\
549
+ PHP_FPM_GROUP=${options.user}
550
+
551
+ ${comment("Expose port")}EXPOSE ${options.port}
552
+
553
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
554
+ CMD wget --no-verbose --tries=1 --spider http://localhost:${options.port}/health.php || exit 1
555
+
556
+ ` : ""}${comment("Start PHP-FPM")}CMD ["php-fpm"]
557
+ `;
558
+ }
559
+
560
+ // Generate static site Dockerfile
561
+ function generateStaticDockerfile(options: GenerateOptions): string {
562
+ const baseImage = getBaseImage("static", options.base);
563
+ const comment = (text: string) => options.minimal ? "" : `# ${text}\n`;
564
+
565
+ return `FROM ${baseImage}
566
+
567
+ ${comment("Remove default nginx config")}RUN rm /etc/nginx/conf.d/default.conf
568
+
569
+ ${comment("Copy custom nginx config")}COPY nginx.conf /etc/nginx/conf.d/
570
+
571
+ ${comment("Copy static files")}COPY . /usr/share/nginx/html
572
+
573
+ ${comment("Set permissions")}RUN chown -R nginx:nginx /usr/share/nginx/html && \\
574
+ chmod -R 755 /usr/share/nginx/html
575
+
576
+ ${comment("Switch to non-root user")}USER nginx
577
+
578
+ ${comment("Expose port")}EXPOSE 80
579
+
580
+ ${comment("Add health check")}${options.healthcheck ? `HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\
581
+ CMD wget --no-verbose --tries=1 --spider http://localhost || exit 1
582
+
583
+ ` : ""}${comment("Start nginx")}CMD ["nginx", "-g", "daemon off;"]
584
+ `;
585
+ }
586
+
587
+ // Generate Dockerfile based on project type
588
+ function generateDockerfile(type: ProjectType, options: GenerateOptions): string {
589
+ switch (type) {
590
+ case "nodejs":
591
+ return generateNodejsDockerfile(options);
592
+ case "python":
593
+ return generatePythonDockerfile(options);
594
+ case "go":
595
+ return generateGoDockerfile(options);
596
+ case "rust":
597
+ return generateRustDockerfile(options);
598
+ case "java":
599
+ return generateJavaDockerfile(options);
600
+ case "ruby":
601
+ return generateRubyDockerfile(options);
602
+ case "php":
603
+ return generatePhpDockerfile(options);
604
+ case "static":
605
+ return generateStaticDockerfile(options);
606
+ default:
607
+ throw new Error(`Unsupported project type: ${type}`);
608
+ }
609
+ }
610
+
611
+ // Generate .dockerignore
612
+ function generateDockerignore(type: ProjectType): string {
613
+ const common = `# Version control
614
+ .git
615
+ .gitignore
616
+ .svn
617
+ .hg
618
+
619
+ # IDE files
620
+ .vscode
621
+ .idea
622
+ *.swp
623
+ *.swo
624
+ *~
625
+
626
+ # OS files
627
+ .DS_Store
628
+ Thumbs.db
629
+
630
+ # Environment files
631
+ .env
632
+ .env.*
633
+ !.env.example
634
+
635
+ # Logs
636
+ *.log
637
+ logs
638
+ npm-debug.log*
639
+ yarn-debug.log*
640
+ yarn-error.log*
641
+
642
+ # Temporary files
643
+ tmp
644
+ temp
645
+ *.tmp
646
+
647
+ # Documentation
648
+ README.md
649
+ CHANGELOG.md
650
+ LICENSE
651
+ docs
652
+ *.md
653
+
654
+ # CI/CD
655
+ .github
656
+ .gitlab-ci.yml
657
+ .travis.yml
658
+ Jenkinsfile
659
+
660
+ # Testing
661
+ coverage
662
+ .nyc_output
663
+ test
664
+ tests
665
+ *.test.js
666
+ *.spec.js
667
+ `;
668
+
669
+ const typeSpecific: Record<ProjectType, string> = {
670
+ nodejs: `# Node.js
671
+ node_modules
672
+ dist
673
+ build
674
+ .npm
675
+ .cache
676
+ `,
677
+ python: `# Python
678
+ __pycache__
679
+ *.py[cod]
680
+ *$py.class
681
+ venv
682
+ env
683
+ .Python
684
+ *.egg-info
685
+ dist
686
+ build
687
+ .pytest_cache
688
+ .coverage
689
+ `,
690
+ go: `# Go
691
+ vendor
692
+ *.exe
693
+ *.exe~
694
+ *.dll
695
+ *.so
696
+ *.dylib
697
+ `,
698
+ rust: `# Rust
699
+ target
700
+ Cargo.lock
701
+ *.rs.bk
702
+ `,
703
+ java: `# Java
704
+ target
705
+ *.class
706
+ *.jar
707
+ *.war
708
+ .mvn
709
+ .gradle
710
+ build
711
+ `,
712
+ ruby: `# Ruby
713
+ .bundle
714
+ vendor/bundle
715
+ *.gem
716
+ .rspec
717
+ `,
718
+ php: `# PHP
719
+ vendor
720
+ composer.phar
721
+ *.cache
722
+ storage/logs
723
+ `,
724
+ static: `# Static
725
+ node_modules
726
+ src
727
+ *.scss
728
+ *.sass
729
+ *.less
730
+ `
731
+ };
732
+
733
+ return common + (typeSpecific[type] || "");
734
+ }
735
+
736
+ // Generate docker-compose.yml
737
+ function generateDockerCompose(type: ProjectType, options: GenerateOptions): string {
738
+ const serviceName = "app";
739
+
740
+ return `version: '3.8'
741
+
742
+ services:
743
+ ${serviceName}:
744
+ build:
745
+ context: .
746
+ dockerfile: Dockerfile
747
+ ports:
748
+ - "${options.port}:${options.port}"
749
+ environment:
750
+ - NODE_ENV=production
751
+ - PORT=${options.port}
752
+ volumes:
753
+ - ./${options.workdir}:${options.workdir}
754
+ restart: unless-stopped
755
+ ${options.healthcheck ? `healthcheck:
756
+ test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:${options.port}/health"]
757
+ interval: 30s
758
+ timeout: 3s
759
+ retries: 3
760
+ start_period: 5s
761
+ ` : ""}
762
+ # Uncomment to add database service
763
+ # db:
764
+ # image: postgres:16-alpine
765
+ # environment:
766
+ # POSTGRES_DB: myapp
767
+ # POSTGRES_USER: user
768
+ # POSTGRES_PASSWORD: password
769
+ # volumes:
770
+ # - db_data:/var/lib/postgresql/data
771
+ # restart: unless-stopped
772
+
773
+ # Uncomment to add Redis cache
774
+ # redis:
775
+ # image: redis:7-alpine
776
+ # restart: unless-stopped
777
+
778
+ # volumes:
779
+ # db_data:
780
+ `;
781
+ }
782
+
783
+ // Main execution
784
+ async function main() {
785
+ try {
786
+ log(`Starting ${SKILL_NAME} skill (Session: ${SESSION_ID})`);
787
+
788
+ const options = parseOptions();
789
+
790
+ // Detect project type if not specified
791
+ let projectType = options.type;
792
+ if (!projectType) {
793
+ console.log("Detecting project type...");
794
+ projectType = detectProjectType(options.dir);
795
+
796
+ if (!projectType) {
797
+ throw new Error(
798
+ "Could not detect project type. Please specify with --type option.\n" +
799
+ "Supported types: nodejs, python, go, rust, java, ruby, php, static"
800
+ );
801
+ }
802
+
803
+ console.log(`✓ Detected: ${projectType}`);
804
+ log(`Auto-detected project type: ${projectType}`);
805
+ }
806
+
807
+ console.log("\nGenerating files...");
808
+
809
+ // Generate Dockerfile
810
+ const dockerfile = generateDockerfile(projectType, options);
811
+ const dockerfilePath = join(options.output, "Dockerfile");
812
+ await Bun.write(dockerfilePath, dockerfile);
813
+ console.log(`✓ Generated: Dockerfile (${options.multistage ? "multi-stage, " : ""}${options.base})`);
814
+ log(`Generated Dockerfile at: ${dockerfilePath}`);
815
+
816
+ // Save to exports
817
+ const exportDockerfile = join(EXPORTS_DIR, `Dockerfile_${SESSION_ID}`);
818
+ await Bun.write(exportDockerfile, dockerfile);
819
+
820
+ // Generate .dockerignore
821
+ if (options.dockerignore) {
822
+ const dockerignore = generateDockerignore(projectType);
823
+ const dockerignorePath = join(options.output, ".dockerignore");
824
+ await Bun.write(dockerignorePath, dockerignore);
825
+ console.log("✓ Generated: .dockerignore");
826
+ log(`Generated .dockerignore at: ${dockerignorePath}`);
827
+
828
+ const exportDockerignore = join(EXPORTS_DIR, `.dockerignore_${SESSION_ID}`);
829
+ await Bun.write(exportDockerignore, dockerignore);
830
+ }
831
+
832
+ // Generate docker-compose.yml
833
+ if (options.compose) {
834
+ const compose = generateDockerCompose(projectType, options);
835
+ const composePath = join(options.output, "docker-compose.yml");
836
+ await Bun.write(composePath, compose);
837
+ console.log("✓ Generated: docker-compose.yml");
838
+ log(`Generated docker-compose.yml at: ${composePath}`);
839
+
840
+ const exportCompose = join(EXPORTS_DIR, `docker-compose_${SESSION_ID}.yml`);
841
+ await Bun.write(exportCompose, compose);
842
+ }
843
+
844
+ console.log(`\nFiles created in: ${options.output}`);
845
+ console.log("\nNext steps:");
846
+ console.log("1. Review and customize Dockerfile if needed");
847
+ console.log("2. Build image: docker build -t my-app .");
848
+ console.log(options.compose ? "3. Run container: docker compose up" : "3. Run container: docker run -p 3000:3000 my-app");
849
+
850
+ log(`Successfully generated Dockerfile for ${projectType} project`, "success");
851
+ } catch (error) {
852
+ const errorMessage = error instanceof Error ? error.message : String(error);
853
+ log(`Error: ${errorMessage}`, "error");
854
+ console.error(`\nError: ${errorMessage}`);
855
+ process.exit(1);
856
+ }
857
+ }
858
+
859
+ main();