@hasna/skills 0.0.3 → 0.0.4

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 (582) hide show
  1. package/LICENSE +200 -0
  2. package/README.md +19 -91
  3. package/bin/index.js +804 -324
  4. package/bin/mcp.js +465 -233
  5. package/dist/cli/cli.test.d.ts +1 -0
  6. package/dist/cli/components/App.d.ts +6 -0
  7. package/dist/cli/components/CategorySelect.d.ts +6 -0
  8. package/dist/cli/components/Header.d.ts +6 -0
  9. package/dist/cli/components/InstallProgress.d.ts +8 -0
  10. package/dist/cli/components/SearchView.d.ts +8 -0
  11. package/dist/cli/components/SkillSelect.d.ts +10 -0
  12. package/dist/cli/index.d.ts +2 -0
  13. package/dist/index.d.ts +12 -0
  14. package/{src/lib/registry.ts → dist/index.js} +727 -267
  15. package/dist/index.test.d.ts +1 -0
  16. package/dist/lib/installer.d.ts +67 -0
  17. package/dist/lib/installer.test.d.ts +1 -0
  18. package/dist/lib/registry.d.ts +16 -0
  19. package/dist/lib/registry.test.d.ts +1 -0
  20. package/dist/lib/skillinfo-run.test.d.ts +1 -0
  21. package/dist/lib/skillinfo.d.ts +44 -0
  22. package/dist/lib/skillinfo.test.d.ts +1 -0
  23. package/dist/lib/utils.d.ts +4 -0
  24. package/dist/lib/utils.test.d.ts +1 -0
  25. package/dist/lib/validation.test.d.ts +1 -0
  26. package/dist/mcp/index.d.ts +10 -0
  27. package/dist/mcp/mcp.test.d.ts +1 -0
  28. package/dist/server/serve.d.ts +7 -0
  29. package/package.json +16 -5
  30. package/skills/_common/index.ts +23 -0
  31. package/skills/skill-academic-journal-matcher/package.json +9 -8
  32. package/skills/skill-academic-journal-matcher/tsconfig.json +6 -10
  33. package/skills/skill-action-item-router/package.json +9 -8
  34. package/skills/skill-action-item-router/tsconfig.json +6 -10
  35. package/skills/skill-ad-creative-generator/package.json +9 -8
  36. package/skills/skill-ad-creative-generator/tsconfig.json +6 -10
  37. package/skills/skill-advanced-math/package.json +9 -8
  38. package/skills/skill-advanced-math/tsconfig.json +6 -10
  39. package/skills/skill-analyze-data/package.json +3 -5
  40. package/skills/skill-analyze-data/tsconfig.json +12 -9
  41. package/skills/skill-anomaly-investigator/package.json +9 -8
  42. package/skills/skill-anomaly-investigator/tsconfig.json +6 -10
  43. package/skills/skill-api-test-suite/package.json +9 -8
  44. package/skills/skill-api-test-suite/tsconfig.json +6 -10
  45. package/skills/skill-apidocs/CLAUDE.md +1 -1
  46. package/skills/skill-apidocs/LICENSE +192 -21
  47. package/skills/skill-apidocs/package.json +1 -2
  48. package/skills/skill-apidocs/tsconfig.json +12 -9
  49. package/skills/skill-audio/package.json +1 -1
  50. package/skills/skill-audio/src/index-local.ts +1 -1
  51. package/skills/skill-audio/src/index.ts +1 -2
  52. package/skills/skill-audio/tsconfig.json +11 -8
  53. package/skills/skill-audio-cleanup-lab/package.json +2 -5
  54. package/skills/skill-audio-cleanup-lab/tsconfig.json +6 -10
  55. package/skills/skill-audiobook-chapter-proofer/package.json +9 -8
  56. package/skills/skill-audiobook-chapter-proofer/tsconfig.json +6 -10
  57. package/skills/skill-banner-ad-suite/package.json +9 -8
  58. package/skills/skill-banner-ad-suite/tsconfig.json +6 -10
  59. package/skills/skill-benchmark-finder/package.json +9 -8
  60. package/skills/skill-benchmark-finder/tsconfig.json +6 -10
  61. package/skills/skill-bio-sequence-tool/package.json +9 -8
  62. package/skills/skill-bio-sequence-tool/tsconfig.json +6 -10
  63. package/skills/skill-blog-topic-cluster/package.json +9 -8
  64. package/skills/skill-blog-topic-cluster/tsconfig.json +6 -10
  65. package/skills/skill-brand-style-guide/package.json +3 -4
  66. package/skills/skill-brand-style-guide/tsconfig.json +12 -9
  67. package/skills/skill-brand-voice-audit/package.json +9 -8
  68. package/skills/skill-brand-voice-audit/tsconfig.json +6 -10
  69. package/skills/skill-browse/LICENSE +192 -21
  70. package/skills/skill-browse/package.json +1 -1
  71. package/skills/skill-browse/src/index-local.ts +1 -1
  72. package/skills/skill-browse/src/index.ts +1 -2
  73. package/skills/skill-browse/tsconfig.json +11 -8
  74. package/skills/skill-budget-variance-analyzer/package.json +2 -4
  75. package/skills/skill-budget-variance-analyzer/tsconfig.json +12 -7
  76. package/skills/skill-businessactivity/LICENSE +192 -21
  77. package/skills/skill-businessactivity/package.json +1 -1
  78. package/skills/skill-businessactivity/tsconfig.json +15 -7
  79. package/skills/skill-calendar-events/package.json +9 -8
  80. package/skills/skill-calendar-events/tsconfig.json +6 -10
  81. package/skills/skill-campaign-metric-brief/package.json +9 -8
  82. package/skills/skill-campaign-metric-brief/tsconfig.json +6 -10
  83. package/skills/skill-campaign-moodboard/package.json +9 -8
  84. package/skills/skill-campaign-moodboard/tsconfig.json +6 -10
  85. package/skills/skill-caption-style-stylist/package.json +9 -8
  86. package/skills/skill-caption-style-stylist/tsconfig.json +6 -10
  87. package/skills/skill-chemistry-calculator/package.json +9 -8
  88. package/skills/skill-chemistry-calculator/tsconfig.json +6 -10
  89. package/skills/skill-churn-risk-notifier/package.json +9 -8
  90. package/skills/skill-churn-risk-notifier/tsconfig.json +6 -10
  91. package/skills/skill-citation-formatter/package.json +9 -8
  92. package/skills/skill-citation-formatter/tsconfig.json +6 -10
  93. package/skills/skill-classroom-newsletter-kit/package.json +9 -8
  94. package/skills/skill-classroom-newsletter-kit/tsconfig.json +6 -10
  95. package/skills/skill-codefix/LICENSE +192 -21
  96. package/skills/skill-codefix/src/index-local.ts +1 -1
  97. package/skills/skill-codefix/src/index.ts +1 -2
  98. package/skills/skill-codefix/tsconfig.json +9 -10
  99. package/skills/skill-color-palette-harmonizer/package.json +9 -8
  100. package/skills/skill-color-palette-harmonizer/tsconfig.json +6 -10
  101. package/skills/skill-competitor-ad-analyzer/package.json +9 -8
  102. package/skills/skill-competitor-ad-analyzer/tsconfig.json +6 -10
  103. package/skills/skill-compliance-copy-check/package.json +9 -8
  104. package/skills/skill-compliance-copy-check/tsconfig.json +6 -10
  105. package/skills/skill-compliance-report-pack/package.json +9 -8
  106. package/skills/skill-compliance-report-pack/tsconfig.json +6 -10
  107. package/skills/skill-compress-video/package.json +2 -5
  108. package/skills/skill-compress-video/tsconfig.json +6 -10
  109. package/skills/skill-consolelog/LICENSE +192 -21
  110. package/skills/skill-consolelog/package.json +1 -2
  111. package/skills/skill-consolelog/tsconfig.json +14 -10
  112. package/skills/skill-contract-plainlanguage/package.json +9 -8
  113. package/skills/skill-contract-plainlanguage/tsconfig.json +6 -10
  114. package/skills/skill-convert/LICENSE +192 -21
  115. package/skills/skill-convert/src/index-local.ts +1 -1
  116. package/skills/skill-convert/src/index.ts +1 -2
  117. package/skills/skill-convert/tsconfig.json +9 -10
  118. package/skills/skill-copytone-translator/package.json +9 -8
  119. package/skills/skill-copytone-translator/tsconfig.json +6 -10
  120. package/skills/skill-create-blog-article/package.json +9 -8
  121. package/skills/skill-create-blog-article/tsconfig.json +6 -10
  122. package/skills/skill-create-ebook/package.json +9 -8
  123. package/skills/skill-create-ebook/tsconfig.json +6 -10
  124. package/skills/skill-crm-note-enhancer/package.json +9 -8
  125. package/skills/skill-crm-note-enhancer/tsconfig.json +6 -10
  126. package/skills/skill-customer-journey-mapper/package.json +9 -8
  127. package/skills/skill-customer-journey-mapper/tsconfig.json +6 -10
  128. package/skills/skill-dashboard-builder/package.json +9 -8
  129. package/skills/skill-dashboard-builder/tsconfig.json +6 -10
  130. package/skills/skill-dashboard-narrator/package.json +9 -8
  131. package/skills/skill-dashboard-narrator/tsconfig.json +6 -10
  132. package/skills/skill-data-anonymizer/package.json +9 -8
  133. package/skills/skill-data-anonymizer/tsconfig.json +6 -10
  134. package/skills/skill-database-explorer/package.json +9 -8
  135. package/skills/skill-database-explorer/tsconfig.json +6 -10
  136. package/skills/skill-dataset-health-check/package.json +9 -8
  137. package/skills/skill-dataset-health-check/tsconfig.json +6 -10
  138. package/skills/skill-decision-journal/package.json +9 -8
  139. package/skills/skill-decision-journal/tsconfig.json +6 -10
  140. package/skills/skill-deepresearch/package.json +1 -1
  141. package/skills/skill-deepresearch/tsconfig.json +11 -9
  142. package/skills/skill-delegation-brief-writer/package.json +9 -8
  143. package/skills/skill-delegation-brief-writer/tsconfig.json +6 -10
  144. package/skills/skill-deploy/LICENSE +192 -21
  145. package/skills/skill-deploy/src/hosts.ts +9 -26
  146. package/skills/skill-deploy/src/http-client.ts +1 -1
  147. package/skills/skill-deploy/src/index-local.ts +1 -1
  148. package/skills/skill-deploy/src/index.ts +1 -1
  149. package/skills/skill-deploy/tsconfig.json +10 -9
  150. package/skills/skill-destination-briefing/package.json +9 -8
  151. package/skills/skill-destination-briefing/tsconfig.json +6 -10
  152. package/skills/skill-diff-viewer/package.json +9 -8
  153. package/skills/skill-diff-viewer/tsconfig.json +6 -10
  154. package/skills/skill-domainpurchase/.env.example +1 -1
  155. package/skills/skill-domainpurchase/LICENSE +192 -21
  156. package/skills/skill-domainpurchase/package.json +3 -4
  157. package/skills/skill-domainpurchase/src/lib/config.ts +2 -2
  158. package/skills/skill-domainpurchase/tsconfig.json +4 -5
  159. package/skills/skill-domainsearch/.env.example +1 -1
  160. package/skills/skill-domainsearch/LICENSE +192 -21
  161. package/skills/skill-domainsearch/package.json +3 -5
  162. package/skills/skill-domainsearch/tsconfig.json +4 -4
  163. package/skills/skill-e2bswarm/package.json +1 -1
  164. package/skills/skill-e2bswarm/src/lib/config.ts +3 -6
  165. package/skills/skill-e2bswarm/tsconfig.json +9 -10
  166. package/skills/skill-educational-resource-finder/package.json +9 -8
  167. package/skills/skill-educational-resource-finder/tsconfig.json +6 -10
  168. package/skills/skill-email-campaign/package.json +9 -8
  169. package/skills/skill-email-campaign/tsconfig.json +6 -10
  170. package/skills/skill-emoji/package.json +1 -1
  171. package/skills/skill-emoji/tsconfig.json +9 -9
  172. package/skills/skill-exam-readiness-check/package.json +9 -8
  173. package/skills/skill-exam-readiness-check/tsconfig.json +6 -10
  174. package/skills/skill-experiment-power-calculator/package.json +9 -8
  175. package/skills/skill-experiment-power-calculator/tsconfig.json +6 -10
  176. package/skills/skill-extract/LICENSE +192 -21
  177. package/skills/skill-extract/package.json +1 -1
  178. package/skills/skill-extract/src/index-local.ts +1 -1
  179. package/skills/skill-extract/src/index.ts +1 -2
  180. package/skills/skill-extract/tsconfig.json +11 -9
  181. package/skills/skill-extract-audio/package.json +2 -5
  182. package/skills/skill-extract-audio/tsconfig.json +6 -10
  183. package/skills/skill-extract-frames/package.json +9 -8
  184. package/skills/skill-extract-frames/tsconfig.json +6 -10
  185. package/skills/skill-extract-invoice/package.json +9 -8
  186. package/skills/skill-extract-invoice/tsconfig.json +6 -10
  187. package/skills/skill-family-activity-curator/package.json +9 -8
  188. package/skills/skill-family-activity-curator/tsconfig.json +6 -10
  189. package/skills/skill-faq-packager/package.json +9 -8
  190. package/skills/skill-faq-packager/tsconfig.json +6 -10
  191. package/skills/skill-feedback-survey-designer/package.json +9 -8
  192. package/skills/skill-feedback-survey-designer/tsconfig.json +6 -10
  193. package/skills/skill-field-trip-planner/package.json +9 -8
  194. package/skills/skill-field-trip-planner/tsconfig.json +6 -10
  195. package/skills/skill-file-organizer/package.json +9 -8
  196. package/skills/skill-file-organizer/tsconfig.json +6 -10
  197. package/skills/skill-folder-tree/package.json +9 -8
  198. package/skills/skill-folder-tree/tsconfig.json +6 -10
  199. package/skills/skill-forecast-scenario-lab/package.json +9 -8
  200. package/skills/skill-forecast-scenario-lab/tsconfig.json +6 -10
  201. package/skills/skill-form-filler/package.json +9 -8
  202. package/skills/skill-form-filler/tsconfig.json +6 -10
  203. package/skills/skill-generate-api-client/package.json +9 -8
  204. package/skills/skill-generate-api-client/tsconfig.json +6 -10
  205. package/skills/skill-generate-book-cover/package.json +9 -8
  206. package/skills/skill-generate-book-cover/tsconfig.json +6 -10
  207. package/skills/skill-generate-chart/package.json +9 -8
  208. package/skills/skill-generate-chart/tsconfig.json +6 -10
  209. package/skills/skill-generate-diagram/package.json +9 -8
  210. package/skills/skill-generate-diagram/tsconfig.json +6 -10
  211. package/skills/skill-generate-dockerfile/package.json +9 -8
  212. package/skills/skill-generate-dockerfile/tsconfig.json +6 -10
  213. package/skills/skill-generate-documentation/package.json +9 -8
  214. package/skills/skill-generate-documentation/tsconfig.json +6 -10
  215. package/skills/skill-generate-docx/package.json +3 -5
  216. package/skills/skill-generate-docx/tsconfig.json +10 -10
  217. package/skills/skill-generate-env/package.json +9 -8
  218. package/skills/skill-generate-env/tsconfig.json +6 -10
  219. package/skills/skill-generate-excel/package.json +9 -8
  220. package/skills/skill-generate-excel/tsconfig.json +6 -10
  221. package/skills/skill-generate-favicon/package.json +9 -8
  222. package/skills/skill-generate-favicon/tsconfig.json +6 -10
  223. package/skills/skill-generate-mock-data/package.json +9 -8
  224. package/skills/skill-generate-mock-data/tsconfig.json +6 -10
  225. package/skills/skill-generate-pdf/package.json +3 -5
  226. package/skills/skill-generate-pdf/tsconfig.json +10 -10
  227. package/skills/skill-generate-pr-description/package.json +9 -8
  228. package/skills/skill-generate-pr-description/tsconfig.json +6 -10
  229. package/skills/skill-generate-presentation/package.json +9 -8
  230. package/skills/skill-generate-presentation/tsconfig.json +6 -10
  231. package/skills/skill-generate-qrcode/package.json +9 -8
  232. package/skills/skill-generate-qrcode/tsconfig.json +6 -10
  233. package/skills/skill-generate-regex/package.json +9 -8
  234. package/skills/skill-generate-regex/tsconfig.json +6 -10
  235. package/skills/skill-generate-resume/package.json +9 -8
  236. package/skills/skill-generate-resume/tsconfig.json +6 -10
  237. package/skills/skill-generate-sitemap/package.json +9 -8
  238. package/skills/skill-generate-sitemap/tsconfig.json +6 -10
  239. package/skills/skill-generate-social-posts/package.json +9 -8
  240. package/skills/skill-generate-social-posts/tsconfig.json +6 -10
  241. package/skills/skill-generate-sql/package.json +9 -8
  242. package/skills/skill-generate-sql/tsconfig.json +6 -10
  243. package/skills/skill-gif-maker/package.json +9 -8
  244. package/skills/skill-gif-maker/tsconfig.json +6 -10
  245. package/skills/skill-github-manager/package.json +9 -8
  246. package/skills/skill-github-manager/tsconfig.json +6 -10
  247. package/skills/skill-gmail/package.json +9 -8
  248. package/skills/skill-gmail/tsconfig.json +6 -10
  249. package/skills/skill-goal-quarterly-roadmap/package.json +9 -8
  250. package/skills/skill-goal-quarterly-roadmap/tsconfig.json +6 -10
  251. package/skills/skill-grant-application-drafter/package.json +9 -8
  252. package/skills/skill-grant-application-drafter/tsconfig.json +6 -10
  253. package/skills/skill-grocery-basket-optimizer/package.json +9 -8
  254. package/skills/skill-grocery-basket-optimizer/tsconfig.json +6 -10
  255. package/skills/skill-guest-communication-suite/package.json +9 -8
  256. package/skills/skill-guest-communication-suite/tsconfig.json +6 -10
  257. package/skills/skill-habit-reflection-digest/package.json +9 -8
  258. package/skills/skill-habit-reflection-digest/tsconfig.json +6 -10
  259. package/skills/skill-highlight-reel-generator/package.json +9 -8
  260. package/skills/skill-highlight-reel-generator/tsconfig.json +6 -10
  261. package/skills/skill-homework-feedback-coach/package.json +9 -8
  262. package/skills/skill-homework-feedback-coach/tsconfig.json +6 -10
  263. package/skills/skill-hook/LICENSE +192 -21
  264. package/skills/skill-hook/package.json +1 -1
  265. package/skills/skill-hook/src/commands/create.ts +1 -1
  266. package/skills/skill-hook/tsconfig.json +8 -8
  267. package/skills/skill-household-maintenance-mgr/package.json +9 -8
  268. package/skills/skill-household-maintenance-mgr/tsconfig.json +6 -10
  269. package/skills/skill-http-server/package.json +9 -8
  270. package/skills/skill-http-server/tsconfig.json +6 -10
  271. package/skills/skill-image/LICENSE +192 -21
  272. package/skills/skill-image/package.json +1 -1
  273. package/skills/skill-image/src/index-local.ts +1 -1
  274. package/skills/skill-image/src/index.ts +1 -2
  275. package/skills/skill-image/tsconfig.json +11 -9
  276. package/skills/skill-implementation/LICENSE +192 -21
  277. package/skills/skill-implementation/package.json +1 -1
  278. package/skills/skill-implementation/tsconfig.json +8 -8
  279. package/skills/skill-implementation-agent/package.json +9 -8
  280. package/skills/skill-implementation-agent/tsconfig.json +6 -10
  281. package/skills/skill-implementation-plan/package.json +9 -8
  282. package/skills/skill-implementation-plan/tsconfig.json +6 -10
  283. package/skills/skill-implementation-todo/package.json +9 -8
  284. package/skills/skill-implementation-todo/tsconfig.json +6 -10
  285. package/skills/skill-inbox-priority-planner/package.json +9 -8
  286. package/skills/skill-inbox-priority-planner/tsconfig.json +6 -10
  287. package/skills/skill-invoice/LICENSE +192 -21
  288. package/skills/skill-invoice/README.md +1 -1
  289. package/skills/skill-invoice/tsconfig.json +13 -9
  290. package/skills/skill-invoice-dispute-helper/package.json +9 -8
  291. package/skills/skill-invoice-dispute-helper/tsconfig.json +6 -10
  292. package/skills/skill-itinerary-architect/package.json +9 -8
  293. package/skills/skill-itinerary-architect/tsconfig.json +6 -10
  294. package/skills/skill-jingle-composer/package.json +9 -8
  295. package/skills/skill-jingle-composer/tsconfig.json +6 -10
  296. package/skills/skill-kpi-digest-generator/package.json +9 -8
  297. package/skills/skill-kpi-digest-generator/tsconfig.json +6 -10
  298. package/skills/skill-lab-notebook-formatter/package.json +9 -8
  299. package/skills/skill-lab-notebook-formatter/tsconfig.json +6 -10
  300. package/skills/skill-landing-page-copy/package.json +9 -8
  301. package/skills/skill-landing-page-copy/tsconfig.json +6 -10
  302. package/skills/skill-latex-table-generator/package.json +9 -8
  303. package/skills/skill-latex-table-generator/tsconfig.json +6 -10
  304. package/skills/skill-learning-style-profiler/package.json +9 -8
  305. package/skills/skill-learning-style-profiler/tsconfig.json +6 -10
  306. package/skills/skill-lesson-plan-customizer/package.json +9 -8
  307. package/skills/skill-lesson-plan-customizer/tsconfig.json +6 -10
  308. package/skills/skill-livestream-runofshow/package.json +9 -8
  309. package/skills/skill-livestream-runofshow/tsconfig.json +6 -10
  310. package/skills/skill-longform-structurer/package.json +9 -8
  311. package/skills/skill-longform-structurer/tsconfig.json +6 -10
  312. package/skills/skill-lorem-generator/package.json +9 -8
  313. package/skills/skill-lorem-generator/tsconfig.json +6 -10
  314. package/skills/skill-managehook/.env.example +2 -2
  315. package/skills/skill-managehook/CLAUDE.md +23 -134
  316. package/skills/skill-managehook/README.md +28 -27
  317. package/skills/skill-managehook/package.json +5 -6
  318. package/skills/skill-managehook/src/db/index.ts +2 -2
  319. package/skills/skill-managehook/src/lib/api-client.ts +2 -2
  320. package/skills/skill-managehook/src/lib/config.ts +1 -1
  321. package/skills/skill-managehook/src/lib/service-dir.ts +2 -2
  322. package/skills/skill-managehook/src/server/index.ts +2 -2
  323. package/skills/skill-managehook/tsconfig.json +15 -7
  324. package/skills/skill-managemcp/.env.example +2 -2
  325. package/skills/skill-managemcp/CLAUDE.md +23 -134
  326. package/skills/skill-managemcp/README.md +28 -27
  327. package/skills/skill-managemcp/package.json +5 -6
  328. package/skills/skill-managemcp/src/db/index.ts +2 -2
  329. package/skills/skill-managemcp/src/lib/api-client.ts +2 -2
  330. package/skills/skill-managemcp/src/lib/config.ts +1 -1
  331. package/skills/skill-managemcp/src/lib/service-dir.ts +2 -2
  332. package/skills/skill-managemcp/src/server/index.ts +2 -2
  333. package/skills/skill-managemcp/tsconfig.json +15 -7
  334. package/skills/skill-manageskill/.env.example +2 -2
  335. package/skills/skill-manageskill/CLAUDE.md +23 -134
  336. package/skills/skill-manageskill/README.md +28 -27
  337. package/skills/skill-manageskill/package.json +5 -6
  338. package/skills/skill-manageskill/src/db/index.ts +2 -2
  339. package/skills/skill-manageskill/src/lib/api-client.ts +2 -2
  340. package/skills/skill-manageskill/src/lib/config.ts +1 -1
  341. package/skills/skill-manageskill/src/lib/service-dir.ts +2 -2
  342. package/skills/skill-manageskill/src/server/index.ts +2 -2
  343. package/skills/skill-manageskill/tsconfig.json +15 -7
  344. package/skills/skill-markdown-validator/package.json +9 -8
  345. package/skills/skill-markdown-validator/tsconfig.json +6 -10
  346. package/skills/skill-mcp-builder/package.json +9 -8
  347. package/skills/skill-mcp-builder/tsconfig.json +6 -10
  348. package/skills/skill-meal-plan-designer/package.json +9 -8
  349. package/skills/skill-meal-plan-designer/tsconfig.json +6 -10
  350. package/skills/skill-meeting-insight-summarizer/package.json +9 -8
  351. package/skills/skill-meeting-insight-summarizer/tsconfig.json +6 -10
  352. package/skills/skill-merge-pdfs/package.json +9 -8
  353. package/skills/skill-merge-pdfs/tsconfig.json +6 -10
  354. package/skills/skill-microcopy-generator/package.json +9 -8
  355. package/skills/skill-microcopy-generator/tsconfig.json +6 -10
  356. package/skills/skill-mindfulness-prompt-cache/package.json +9 -8
  357. package/skills/skill-mindfulness-prompt-cache/tsconfig.json +6 -10
  358. package/skills/skill-notion-manager/package.json +9 -8
  359. package/skills/skill-notion-manager/tsconfig.json +6 -10
  360. package/skills/skill-npmpublish/package.json +1 -1
  361. package/skills/skill-npmpublish/tsconfig.json +7 -7
  362. package/skills/skill-onboarding-sequence-builder/package.json +9 -8
  363. package/skills/skill-onboarding-sequence-builder/tsconfig.json +6 -10
  364. package/skills/skill-onsite-ops-checklist/package.json +9 -8
  365. package/skills/skill-onsite-ops-checklist/tsconfig.json +6 -10
  366. package/skills/skill-outreach-cadence-designer/package.json +9 -8
  367. package/skills/skill-outreach-cadence-designer/tsconfig.json +6 -10
  368. package/skills/skill-packaging-concept-studio/package.json +9 -8
  369. package/skills/skill-packaging-concept-studio/tsconfig.json +6 -10
  370. package/skills/skill-packing-plan-pro/package.json +9 -8
  371. package/skills/skill-packing-plan-pro/tsconfig.json +6 -10
  372. package/skills/skill-parent-teacher-brief/package.json +9 -8
  373. package/skills/skill-parent-teacher-brief/tsconfig.json +6 -10
  374. package/skills/skill-partner-kit-assembler/package.json +9 -8
  375. package/skills/skill-partner-kit-assembler/tsconfig.json +6 -10
  376. package/skills/skill-payroll-change-prepper/package.json +9 -8
  377. package/skills/skill-payroll-change-prepper/tsconfig.json +6 -10
  378. package/skills/skill-persona-based-adwriter/package.json +9 -8
  379. package/skills/skill-persona-based-adwriter/tsconfig.json +6 -10
  380. package/skills/skill-persona-generator/package.json +9 -8
  381. package/skills/skill-persona-generator/tsconfig.json +6 -10
  382. package/skills/skill-personal-daily-ops/package.json +9 -8
  383. package/skills/skill-personal-daily-ops/tsconfig.json +6 -10
  384. package/skills/skill-pet-care-scheduler/package.json +9 -8
  385. package/skills/skill-pet-care-scheduler/tsconfig.json +6 -10
  386. package/skills/skill-podcast-show-notes/package.json +9 -8
  387. package/skills/skill-podcast-show-notes/tsconfig.json +6 -10
  388. package/skills/skill-presentation-theme-maker/package.json +9 -8
  389. package/skills/skill-presentation-theme-maker/tsconfig.json +6 -10
  390. package/skills/skill-press-release-drafter/package.json +9 -8
  391. package/skills/skill-press-release-drafter/tsconfig.json +6 -10
  392. package/skills/skill-print-collateral-designer/package.json +9 -8
  393. package/skills/skill-print-collateral-designer/tsconfig.json +6 -10
  394. package/skills/skill-procurement-scorecard/package.json +9 -8
  395. package/skills/skill-procurement-scorecard/tsconfig.json +6 -10
  396. package/skills/skill-product-demo-script/package.json +9 -8
  397. package/skills/skill-product-demo-script/tsconfig.json +6 -10
  398. package/skills/skill-product-mockup/package.json +9 -8
  399. package/skills/skill-product-mockup/tsconfig.json +6 -10
  400. package/skills/skill-project-retro-companion/package.json +9 -8
  401. package/skills/skill-project-retro-companion/tsconfig.json +6 -10
  402. package/skills/skill-proposal-redline-advisor/package.json +9 -8
  403. package/skills/skill-proposal-redline-advisor/tsconfig.json +6 -10
  404. package/skills/skill-regex-tester/package.json +9 -8
  405. package/skills/skill-regex-tester/tsconfig.json +6 -10
  406. package/skills/skill-remove-background/package.json +9 -8
  407. package/skills/skill-remove-background/tsconfig.json +6 -10
  408. package/skills/skill-risk-disclosure-kit/package.json +9 -8
  409. package/skills/skill-risk-disclosure-kit/tsconfig.json +6 -10
  410. package/skills/skill-roi-comparison-tool/package.json +9 -8
  411. package/skills/skill-roi-comparison-tool/tsconfig.json +6 -10
  412. package/skills/skill-sales-call-recapper/package.json +9 -8
  413. package/skills/skill-sales-call-recapper/tsconfig.json +6 -10
  414. package/skills/skill-salescopy/LICENSE +192 -21
  415. package/skills/skill-salescopy/README.md +1 -1
  416. package/skills/skill-salescopy/tsconfig.json +13 -9
  417. package/skills/skill-scaffold-project/package.json +8 -5
  418. package/skills/skill-scaffold-project/tsconfig.json +6 -10
  419. package/skills/skill-scholarship-tracker/package.json +9 -8
  420. package/skills/skill-scholarship-tracker/tsconfig.json +6 -10
  421. package/skills/skill-scientific-figure-check/package.json +9 -8
  422. package/skills/skill-scientific-figure-check/tsconfig.json +6 -10
  423. package/skills/skill-seating-chart-maker/package.json +9 -8
  424. package/skills/skill-seating-chart-maker/tsconfig.json +6 -10
  425. package/skills/skill-security-audit/package.json +9 -8
  426. package/skills/skill-security-audit/tsconfig.json +6 -10
  427. package/skills/skill-seo-brief-builder/package.json +9 -8
  428. package/skills/skill-seo-brief-builder/tsconfig.json +6 -10
  429. package/skills/skill-slack-assistant/package.json +9 -8
  430. package/skills/skill-slack-assistant/tsconfig.json +6 -10
  431. package/skills/skill-sleep-routine-analyzer/package.json +9 -8
  432. package/skills/skill-sleep-routine-analyzer/tsconfig.json +6 -10
  433. package/skills/skill-sms/package.json +1 -1
  434. package/skills/skill-sms/tsconfig.json +10 -9
  435. package/skills/skill-social-media-kit/package.json +9 -8
  436. package/skills/skill-social-media-kit/tsconfig.json +6 -10
  437. package/skills/skill-split-pdf/package.json +9 -8
  438. package/skills/skill-split-pdf/tsconfig.json +6 -10
  439. package/skills/skill-sponsorship-proposal-lab/package.json +9 -8
  440. package/skills/skill-sponsorship-proposal-lab/tsconfig.json +6 -10
  441. package/skills/skill-spreadsheet-cleanroom/package.json +9 -8
  442. package/skills/skill-spreadsheet-cleanroom/tsconfig.json +6 -10
  443. package/skills/skill-statistical-test-selector/package.json +9 -8
  444. package/skills/skill-statistical-test-selector/tsconfig.json +6 -10
  445. package/skills/skill-stress-relief-playbook/package.json +9 -8
  446. package/skills/skill-stress-relief-playbook/tsconfig.json +6 -10
  447. package/skills/skill-study-guide-builder/package.json +9 -8
  448. package/skills/skill-study-guide-builder/tsconfig.json +6 -10
  449. package/skills/skill-subscription-spend-watcher/package.json +9 -8
  450. package/skills/skill-subscription-spend-watcher/tsconfig.json +6 -10
  451. package/skills/skill-subtitle/LICENSE +192 -21
  452. package/skills/skill-subtitle/package.json +1 -1
  453. package/skills/skill-subtitle/tsconfig.json +13 -9
  454. package/skills/skill-survey-insight-extractor/package.json +9 -8
  455. package/skills/skill-survey-insight-extractor/tsconfig.json +6 -10
  456. package/skills/skill-terraform-generator/package.json +9 -8
  457. package/skills/skill-terraform-generator/tsconfig.json +6 -10
  458. package/skills/skill-testimonial-graphics/package.json +9 -8
  459. package/skills/skill-testimonial-graphics/tsconfig.json +6 -10
  460. package/skills/skill-timesheet/package.json +1 -1
  461. package/skills/skill-timesheet/tsconfig.json +15 -7
  462. package/skills/skill-transcript/LICENSE +192 -21
  463. package/skills/skill-transcript/package.json +1 -1
  464. package/skills/skill-transcript/src/index-local.ts +1 -1
  465. package/skills/skill-transcript/src/index.ts +1 -2
  466. package/skills/skill-transcript/tsconfig.json +9 -9
  467. package/skills/skill-travel-budget-balancer/package.json +9 -8
  468. package/skills/skill-travel-budget-balancer/tsconfig.json +6 -10
  469. package/skills/skill-validate-config/package.json +9 -8
  470. package/skills/skill-validate-config/tsconfig.json +6 -10
  471. package/skills/skill-video/LICENSE +192 -21
  472. package/skills/skill-video/package.json +1 -1
  473. package/skills/skill-video/src/index-local.ts +1 -1
  474. package/skills/skill-video/src/index.ts +1 -2
  475. package/skills/skill-video/tsconfig.json +5 -8
  476. package/skills/skill-video-cut-suggester/package.json +9 -8
  477. package/skills/skill-video-cut-suggester/tsconfig.json +6 -10
  478. package/skills/skill-video-downloader/package.json +9 -8
  479. package/skills/skill-video-downloader/tsconfig.json +6 -10
  480. package/skills/skill-video-thumbnail/package.json +9 -8
  481. package/skills/skill-video-thumbnail/tsconfig.json +6 -10
  482. package/skills/skill-voiceover-casting-assistant/package.json +9 -8
  483. package/skills/skill-voiceover-casting-assistant/tsconfig.json +6 -10
  484. package/skills/skill-watermark/package.json +9 -8
  485. package/skills/skill-watermark/tsconfig.json +6 -10
  486. package/skills/skill-webcrawling/LICENSE +192 -21
  487. package/skills/skill-webcrawling/package.json +1 -1
  488. package/skills/skill-webcrawling/tsconfig.json +14 -9
  489. package/skills/skill-webinar-script-coach/package.json +9 -8
  490. package/skills/skill-webinar-script-coach/tsconfig.json +6 -10
  491. package/skills/skill-wellness-progress-reporter/package.json +9 -8
  492. package/skills/skill-wellness-progress-reporter/tsconfig.json +6 -10
  493. package/skills/skill-workout-cycle-planner/package.json +9 -8
  494. package/skills/skill-workout-cycle-planner/tsconfig.json +6 -10
  495. package/skills/skill-write/LICENSE +192 -21
  496. package/skills/skill-write/package.json +1 -1
  497. package/skills/skill-write/src/index-local.ts +1 -1
  498. package/skills/skill-write/src/index.ts +1 -2
  499. package/skills/skill-write/tsconfig.json +9 -9
  500. package/skills/tsconfig.base.json +12 -0
  501. package/.env.example +0 -18
  502. package/.npmrc.example +0 -1
  503. package/CONTRIBUTING.md +0 -32
  504. package/bunfig.toml +0 -2
  505. package/skills/skill-audio/src/index-http.ts +0 -111
  506. package/skills/skill-browse/install.sh +0 -112
  507. package/skills/skill-browse/src/auth.ts +0 -49
  508. package/skills/skill-browse/src/http-client.ts +0 -128
  509. package/skills/skill-browse/src/index-http.ts +0 -111
  510. package/skills/skill-browse/src/installer.ts +0 -324
  511. package/skills/skill-browse/src/skill-install.ts +0 -205
  512. package/skills/skill-codefix/install.sh +0 -112
  513. package/skills/skill-codefix/src/auth.ts +0 -49
  514. package/skills/skill-codefix/src/http-client.ts +0 -128
  515. package/skills/skill-codefix/src/index-http.ts +0 -111
  516. package/skills/skill-codefix/src/installer.ts +0 -324
  517. package/skills/skill-codefix/src/skill-install.ts +0 -205
  518. package/skills/skill-consolelog/storage/login-error.png +0 -0
  519. package/skills/skill-consolelog/storage/products-page.png +0 -0
  520. package/skills/skill-convert/install.sh +0 -112
  521. package/skills/skill-convert/src/auth.ts +0 -49
  522. package/skills/skill-convert/src/http-client.ts +0 -128
  523. package/skills/skill-convert/src/index-http.ts +0 -111
  524. package/skills/skill-convert/src/installer.ts +0 -324
  525. package/skills/skill-convert/src/skill-install.ts +0 -205
  526. package/skills/skill-deploy/install.sh +0 -112
  527. package/skills/skill-deploy/src/auth.ts +0 -49
  528. package/skills/skill-deploy/src/index-http.ts +0 -111
  529. package/skills/skill-deploy/src/installer.ts +0 -324
  530. package/skills/skill-deploy/src/skill-install.ts +0 -205
  531. package/skills/skill-extract/install.sh +0 -112
  532. package/skills/skill-extract/src/auth.ts +0 -49
  533. package/skills/skill-extract/src/http-client.ts +0 -128
  534. package/skills/skill-extract/src/index-http.ts +0 -111
  535. package/skills/skill-extract/src/installer.ts +0 -324
  536. package/skills/skill-extract/src/skill-install.ts +0 -205
  537. package/skills/skill-image/install.sh +0 -112
  538. package/skills/skill-image/src/auth.ts +0 -49
  539. package/skills/skill-image/src/http-client.ts +0 -128
  540. package/skills/skill-image/src/index-http.ts +0 -111
  541. package/skills/skill-image/src/installer.ts +0 -324
  542. package/skills/skill-image/src/skill-install.ts +0 -205
  543. package/skills/skill-transcript/install.sh +0 -112
  544. package/skills/skill-transcript/src/auth.ts +0 -49
  545. package/skills/skill-transcript/src/http-client.ts +0 -128
  546. package/skills/skill-transcript/src/index-http.ts +0 -111
  547. package/skills/skill-transcript/src/installer.ts +0 -324
  548. package/skills/skill-transcript/src/skill-install.ts +0 -205
  549. package/skills/skill-video/install.sh +0 -112
  550. package/skills/skill-video/src/auth.ts +0 -49
  551. package/skills/skill-video/src/http-client.ts +0 -128
  552. package/skills/skill-video/src/index-http.ts +0 -111
  553. package/skills/skill-video/src/installer.ts +0 -324
  554. package/skills/skill-video/src/skill-install.ts +0 -205
  555. package/skills/skill-write/install.sh +0 -112
  556. package/skills/skill-write/src/auth.ts +0 -49
  557. package/skills/skill-write/src/http-client.ts +0 -128
  558. package/skills/skill-write/src/index-http.ts +0 -111
  559. package/skills/skill-write/src/installer.ts +0 -324
  560. package/skills/skill-write/src/skill-install.ts +0 -205
  561. package/src/cli/cli.test.ts +0 -325
  562. package/src/cli/components/App.tsx +0 -186
  563. package/src/cli/components/CategorySelect.tsx +0 -38
  564. package/src/cli/components/Header.tsx +0 -18
  565. package/src/cli/components/InstallProgress.tsx +0 -97
  566. package/src/cli/components/SearchView.tsx +0 -108
  567. package/src/cli/components/SkillSelect.tsx +0 -92
  568. package/src/cli/index.tsx +0 -559
  569. package/src/index.ts +0 -49
  570. package/src/lib/installer.test.ts +0 -328
  571. package/src/lib/installer.ts +0 -297
  572. package/src/lib/registry.test.ts +0 -147
  573. package/src/lib/skillinfo.test.ts +0 -195
  574. package/src/lib/skillinfo.ts +0 -356
  575. package/src/mcp/index.ts +0 -234
  576. package/src/mcp/mcp.test.ts +0 -212
  577. package/tsconfig.json +0 -17
  578. /package/skills/{skill-audio/src → _common}/auth.ts +0 -0
  579. /package/skills/{skill-audio/src → _common}/http-client.ts +0 -0
  580. /package/skills/{skill-audio → _common}/install.sh +0 -0
  581. /package/skills/{skill-audio/src → _common}/installer.ts +0 -0
  582. /package/skills/{skill-audio/src → _common}/skill-install.ts +0 -0
@@ -1,16 +1,6 @@
1
- /**
2
- * Skill registry - metadata about all available skills
3
- */
4
-
5
- export interface SkillMeta {
6
- name: string;
7
- displayName: string;
8
- description: string;
9
- category: string;
10
- tags: string[];
11
- }
12
-
13
- export const CATEGORIES = [
1
+ // @bun
2
+ // src/lib/registry.ts
3
+ var CATEGORIES = [
14
4
  "Development Tools",
15
5
  "Business & Marketing",
16
6
  "Productivity & Organization",
@@ -27,1463 +17,1933 @@ export const CATEGORIES = [
27
17
  "Communication",
28
18
  "Health & Wellness",
29
19
  "Travel & Lifestyle",
30
- "Event Management",
31
- ] as const;
32
-
33
- export type Category = (typeof CATEGORIES)[number];
34
-
35
- export const SKILLS: SkillMeta[] = [
36
- // Development Tools
20
+ "Event Management"
21
+ ];
22
+ var SKILLS = [
37
23
  {
38
24
  name: "api-test-suite",
39
25
  displayName: "API Test Suite",
40
26
  description: "Generate and run API test suites with comprehensive endpoint coverage",
41
27
  category: "Development Tools",
42
- tags: ["api", "testing", "automation", "qa"],
28
+ tags: ["api", "testing", "automation", "qa"]
43
29
  },
44
30
  {
45
31
  name: "apidocs",
46
32
  displayName: "API Docs",
47
33
  description: "Agentic web crawler for API documentation indexing and semantic search",
48
34
  category: "Development Tools",
49
- tags: ["api", "documentation", "search", "indexing"],
35
+ tags: ["api", "documentation", "search", "indexing"]
50
36
  },
51
37
  {
52
38
  name: "codefix",
53
39
  displayName: "Code Fix",
54
40
  description: "Code quality CLI for auto-linting, formatting, fixing, and style enforcement",
55
41
  category: "Development Tools",
56
- tags: ["code", "linting", "formatting", "quality"],
42
+ tags: ["code", "linting", "formatting", "quality"]
57
43
  },
58
44
  {
59
45
  name: "consolelog",
60
46
  displayName: "Console Log",
61
47
  description: "Monitor console logs from web applications using Playwright headless browser",
62
48
  category: "Development Tools",
63
- tags: ["console", "monitoring", "debugging", "logs"],
49
+ tags: ["console", "monitoring", "debugging", "logs"]
64
50
  },
65
51
  {
66
52
  name: "database-explorer",
67
53
  displayName: "Database Explorer",
68
54
  description: "Explore and query databases with an interactive interface",
69
55
  category: "Development Tools",
70
- tags: ["database", "explorer", "sql", "query"],
56
+ tags: ["database", "explorer", "sql", "query"]
71
57
  },
72
58
  {
73
59
  name: "deploy",
74
60
  displayName: "Deploy",
75
61
  description: "Deployment CLI for managing EC2 deployments with automated health checks",
76
62
  category: "Development Tools",
77
- tags: ["deployment", "ec2", "aws", "ci-cd"],
63
+ tags: ["deployment", "ec2", "aws", "ci-cd"]
78
64
  },
79
65
  {
80
66
  name: "diff-viewer",
81
67
  displayName: "Diff Viewer",
82
68
  description: "View and analyze file differences with visual diff representation",
83
69
  category: "Development Tools",
84
- tags: ["diff", "comparison", "files", "code-review"],
70
+ tags: ["diff", "comparison", "files", "code-review"]
85
71
  },
86
72
  {
87
73
  name: "e2bswarm",
88
74
  displayName: "E2B Swarm",
89
75
  description: "Spawn E2B sandbox instances for parallel Claude Code task execution",
90
76
  category: "Development Tools",
91
- tags: ["e2b", "sandbox", "parallel", "execution"],
77
+ tags: ["e2b", "sandbox", "parallel", "execution"]
92
78
  },
93
79
  {
94
80
  name: "generate-api-client",
95
81
  displayName: "Generate API Client",
96
82
  description: "Generate API client libraries from OpenAPI specs and documentation",
97
83
  category: "Development Tools",
98
- tags: ["api", "client", "code-generation", "openapi"],
84
+ tags: ["api", "client", "code-generation", "openapi"]
99
85
  },
100
86
  {
101
87
  name: "generate-dockerfile",
102
88
  displayName: "Generate Dockerfile",
103
89
  description: "Generate optimized Dockerfiles for containerized applications",
104
90
  category: "Development Tools",
105
- tags: ["docker", "dockerfile", "containers", "devops"],
91
+ tags: ["docker", "dockerfile", "containers", "devops"]
106
92
  },
107
93
  {
108
94
  name: "generate-documentation",
109
95
  displayName: "Generate Documentation",
110
96
  description: "Generate project documentation including READMEs, architecture docs, and API references from codebase analysis",
111
97
  category: "Development Tools",
112
- tags: ["documentation", "generation", "code", "docs"],
98
+ tags: ["documentation", "generation", "code", "docs"]
113
99
  },
114
100
  {
115
101
  name: "generate-env",
116
102
  displayName: "Generate Env",
117
103
  description: "Generate environment variable files from templates and configurations",
118
104
  category: "Development Tools",
119
- tags: ["env", "environment", "configuration", "dotenv"],
105
+ tags: ["env", "environment", "configuration", "dotenv"]
120
106
  },
121
107
  {
122
108
  name: "generate-mock-data",
123
109
  displayName: "Generate Mock Data",
124
110
  description: "Generate realistic mock data for testing and development",
125
111
  category: "Development Tools",
126
- tags: ["mock-data", "testing", "generation", "fake-data"],
112
+ tags: ["mock-data", "testing", "generation", "fake-data"]
127
113
  },
128
114
  {
129
115
  name: "generate-pr-description",
130
116
  displayName: "Generate PR Description",
131
117
  description: "Generate pull request descriptions from code diffs and commit history",
132
118
  category: "Development Tools",
133
- tags: ["pr", "github", "description", "code-review"],
119
+ tags: ["pr", "github", "description", "code-review"]
134
120
  },
135
121
  {
136
122
  name: "generate-regex",
137
123
  displayName: "Generate Regex",
138
124
  description: "Generate regular expressions from natural language descriptions",
139
125
  category: "Development Tools",
140
- tags: ["regex", "generation", "pattern", "matching"],
126
+ tags: ["regex", "generation", "pattern", "matching"]
141
127
  },
142
128
  {
143
129
  name: "generate-sitemap",
144
130
  displayName: "Generate Sitemap",
145
131
  description: "Generate XML sitemaps for websites and web applications",
146
132
  category: "Development Tools",
147
- tags: ["sitemap", "seo", "xml", "web"],
133
+ tags: ["sitemap", "seo", "xml", "web"]
148
134
  },
149
135
  {
150
136
  name: "generate-sql",
151
137
  displayName: "Generate SQL",
152
138
  description: "Generate SQL queries and database schemas from natural language",
153
139
  category: "Development Tools",
154
- tags: ["sql", "database", "generation", "queries"],
140
+ tags: ["sql", "database", "generation", "queries"]
155
141
  },
156
142
  {
157
143
  name: "github-manager",
158
144
  displayName: "GitHub Manager",
159
145
  description: "Manage GitHub repositories, issues, PRs, and workflows",
160
146
  category: "Development Tools",
161
- tags: ["github", "repository", "management", "issues"],
147
+ tags: ["github", "repository", "management", "issues"]
162
148
  },
163
149
  {
164
150
  name: "hook",
165
151
  displayName: "Hook",
166
152
  description: "Claude Code hook creation skill - generates standardized hook scaffolds",
167
153
  category: "Development Tools",
168
- tags: ["hooks", "scaffold", "claude-code", "automation"],
154
+ tags: ["hooks", "scaffold", "claude-code", "automation"]
169
155
  },
170
156
  {
171
157
  name: "http-server",
172
158
  displayName: "HTTP Server",
173
159
  description: "Spin up local HTTP servers for development and testing",
174
160
  category: "Development Tools",
175
- tags: ["http", "server", "development", "local"],
161
+ tags: ["http", "server", "development", "local"]
176
162
  },
177
163
  {
178
164
  name: "lorem-generator",
179
165
  displayName: "Lorem Generator",
180
166
  description: "Generate placeholder text in various styles and lengths",
181
167
  category: "Development Tools",
182
- tags: ["lorem", "placeholder", "text", "mockup"],
168
+ tags: ["lorem", "placeholder", "text", "mockup"]
183
169
  },
184
170
  {
185
171
  name: "managehook",
186
172
  displayName: "Manage Hook",
187
173
  description: "Manage Claude Code hooks with install, configure, and lifecycle operations",
188
174
  category: "Development Tools",
189
- tags: ["hooks", "management", "claude-code", "configuration"],
175
+ tags: ["hooks", "management", "claude-code", "configuration"]
190
176
  },
191
177
  {
192
178
  name: "managemcp",
193
179
  displayName: "Manage MCP",
194
180
  description: "Manage MCP servers with install, configure, and lifecycle operations",
195
181
  category: "Development Tools",
196
- tags: ["mcp", "management", "servers", "configuration"],
182
+ tags: ["mcp", "management", "servers", "configuration"]
197
183
  },
198
184
  {
199
185
  name: "manageskill",
200
186
  displayName: "Manage Skill",
201
187
  description: "Manage Claude Code skills with install, configure, and lifecycle operations",
202
188
  category: "Development Tools",
203
- tags: ["skills", "management", "claude-code", "configuration"],
189
+ tags: ["skills", "management", "claude-code", "configuration"]
204
190
  },
205
191
  {
206
192
  name: "markdown-validator",
207
193
  displayName: "Markdown Validator",
208
194
  description: "Validate markdown files for syntax, links, and formatting issues",
209
195
  category: "Development Tools",
210
- tags: ["markdown", "validation", "linting", "formatting"],
196
+ tags: ["markdown", "validation", "linting", "formatting"]
211
197
  },
212
198
  {
213
199
  name: "mcp-builder",
214
200
  displayName: "MCP Builder",
215
201
  description: "Build MCP server packages with standardized structure and tooling",
216
202
  category: "Development Tools",
217
- tags: ["mcp", "builder", "scaffold", "server"],
203
+ tags: ["mcp", "builder", "scaffold", "server"]
218
204
  },
219
205
  {
220
206
  name: "npmpublish",
221
207
  displayName: "NPM Publish",
222
208
  description: "Publish npm packages with sensible defaults: private access, patch version bumps",
223
209
  category: "Development Tools",
224
- tags: ["npm", "publish", "packages", "registry"],
210
+ tags: ["npm", "publish", "packages", "registry"]
225
211
  },
226
212
  {
227
213
  name: "regex-tester",
228
214
  displayName: "Regex Tester",
229
215
  description: "Test and validate regular expressions with sample inputs",
230
216
  category: "Development Tools",
231
- tags: ["regex", "testing", "validation", "patterns"],
217
+ tags: ["regex", "testing", "validation", "patterns"]
232
218
  },
233
219
  {
234
220
  name: "scaffold-project",
235
221
  displayName: "Scaffold Project",
236
222
  description: "Scaffold new projects with standardized structure and boilerplate",
237
223
  category: "Development Tools",
238
- tags: ["scaffold", "project", "boilerplate", "template"],
224
+ tags: ["scaffold", "project", "boilerplate", "template"]
239
225
  },
240
226
  {
241
227
  name: "security-audit",
242
228
  displayName: "Security Audit",
243
229
  description: "Perform security audits on codebases and infrastructure configurations",
244
230
  category: "Development Tools",
245
- tags: ["security", "audit", "vulnerabilities", "scanning"],
231
+ tags: ["security", "audit", "vulnerabilities", "scanning"]
246
232
  },
247
233
  {
248
234
  name: "terraform-generator",
249
235
  displayName: "Terraform Generator",
250
236
  description: "Generate Terraform infrastructure-as-code configurations",
251
237
  category: "Development Tools",
252
- tags: ["terraform", "iac", "infrastructure", "devops"],
238
+ tags: ["terraform", "iac", "infrastructure", "devops"]
253
239
  },
254
240
  {
255
241
  name: "validate-config",
256
242
  displayName: "Validate Config",
257
243
  description: "Validate configuration files for syntax and schema compliance",
258
244
  category: "Development Tools",
259
- tags: ["config", "validation", "schema", "linting"],
245
+ tags: ["config", "validation", "schema", "linting"]
260
246
  },
261
-
262
- // Business & Marketing
263
247
  {
264
248
  name: "ad-creative-generator",
265
249
  displayName: "Ad Creative Generator",
266
250
  description: "Generate ad creatives with copy, visuals, and layouts for marketing campaigns",
267
251
  category: "Business & Marketing",
268
- tags: ["ads", "creative", "marketing", "design"],
252
+ tags: ["ads", "creative", "marketing", "design"]
269
253
  },
270
254
  {
271
255
  name: "banner-ad-suite",
272
256
  displayName: "Banner Ad Suite",
273
257
  description: "Create banner ad sets in multiple sizes for display advertising campaigns",
274
258
  category: "Business & Marketing",
275
- tags: ["banner", "ads", "display", "marketing"],
259
+ tags: ["banner", "ads", "display", "marketing"]
276
260
  },
277
261
  {
278
262
  name: "campaign-metric-brief",
279
263
  displayName: "Campaign Metric Brief",
280
264
  description: "Generate campaign performance metric briefs and analytics summaries",
281
265
  category: "Business & Marketing",
282
- tags: ["campaign", "metrics", "analytics", "reporting"],
266
+ tags: ["campaign", "metrics", "analytics", "reporting"]
283
267
  },
284
268
  {
285
269
  name: "campaign-moodboard",
286
270
  displayName: "Campaign Moodboard",
287
271
  description: "Create visual moodboards for marketing and creative campaigns",
288
272
  category: "Business & Marketing",
289
- tags: ["campaign", "moodboard", "creative", "visual"],
273
+ tags: ["campaign", "moodboard", "creative", "visual"]
290
274
  },
291
275
  {
292
276
  name: "caption-style-stylist",
293
277
  displayName: "Caption Style Stylist",
294
278
  description: "Style and format captions for social media and video content",
295
279
  category: "Business & Marketing",
296
- tags: ["captions", "social-media", "styling", "content"],
280
+ tags: ["captions", "social-media", "styling", "content"]
297
281
  },
298
282
  {
299
283
  name: "churn-risk-notifier",
300
284
  displayName: "Churn Risk Notifier",
301
285
  description: "Identify and notify about customer churn risk indicators",
302
286
  category: "Business & Marketing",
303
- tags: ["churn", "risk", "customer", "retention"],
287
+ tags: ["churn", "risk", "customer", "retention"]
304
288
  },
305
289
  {
306
290
  name: "competitor-ad-analyzer",
307
291
  displayName: "Competitor Ad Analyzer",
308
292
  description: "Analyze competitor advertising strategies, creatives, and messaging",
309
293
  category: "Business & Marketing",
310
- tags: ["competitor", "ads", "analysis", "marketing"],
294
+ tags: ["competitor", "ads", "analysis", "marketing"]
311
295
  },
312
296
  {
313
297
  name: "crm-note-enhancer",
314
298
  displayName: "CRM Note Enhancer",
315
299
  description: "Enhance CRM notes with structured summaries and action items",
316
300
  category: "Business & Marketing",
317
- tags: ["crm", "notes", "sales", "enhancement"],
301
+ tags: ["crm", "notes", "sales", "enhancement"]
318
302
  },
319
303
  {
320
304
  name: "customer-journey-mapper",
321
305
  displayName: "Customer Journey Mapper",
322
306
  description: "Map and visualize customer journey touchpoints and experiences",
323
307
  category: "Business & Marketing",
324
- tags: ["customer-journey", "mapping", "ux", "marketing"],
308
+ tags: ["customer-journey", "mapping", "ux", "marketing"]
325
309
  },
326
310
  {
327
311
  name: "email-campaign",
328
312
  displayName: "Email Campaign",
329
313
  description: "Design email marketing campaigns and newsletters with templates, sequences, and audience segmentation",
330
314
  category: "Business & Marketing",
331
- tags: ["email", "campaign", "marketing", "automation"],
315
+ tags: ["email", "campaign", "marketing", "automation"]
332
316
  },
333
317
  {
334
318
  name: "feedback-survey-designer",
335
319
  displayName: "Feedback Survey Designer",
336
320
  description: "Design feedback surveys with optimized questions and response formats",
337
321
  category: "Business & Marketing",
338
- tags: ["survey", "feedback", "design", "questionnaire"],
322
+ tags: ["survey", "feedback", "design", "questionnaire"]
339
323
  },
340
324
  {
341
325
  name: "generate-social-posts",
342
326
  displayName: "Generate Social Posts",
343
327
  description: "Generate social media posts optimized for different platforms",
344
328
  category: "Business & Marketing",
345
- tags: ["social-media", "posts", "marketing", "content"],
329
+ tags: ["social-media", "posts", "marketing", "content"]
346
330
  },
347
331
  {
348
332
  name: "landing-page-copy",
349
333
  displayName: "Landing Page Copy",
350
334
  description: "Write conversion-optimized landing page copy with headlines and CTAs",
351
335
  category: "Business & Marketing",
352
- tags: ["landing-page", "copywriting", "conversion", "marketing"],
336
+ tags: ["landing-page", "copywriting", "conversion", "marketing"]
353
337
  },
354
338
  {
355
339
  name: "onboarding-sequence-builder",
356
340
  displayName: "Onboarding Sequence Builder",
357
341
  description: "Build employee or customer onboarding sequences with steps and milestones",
358
342
  category: "Business & Marketing",
359
- tags: ["onboarding", "sequence", "workflow", "automation"],
343
+ tags: ["onboarding", "sequence", "workflow", "automation"]
360
344
  },
361
345
  {
362
346
  name: "outreach-cadence-designer",
363
347
  displayName: "Outreach Cadence Designer",
364
348
  description: "Design multi-touch outreach cadences for sales and marketing campaigns",
365
349
  category: "Business & Marketing",
366
- tags: ["outreach", "cadence", "sales", "marketing"],
350
+ tags: ["outreach", "cadence", "sales", "marketing"]
367
351
  },
368
352
  {
369
353
  name: "partner-kit-assembler",
370
354
  displayName: "Partner Kit Assembler",
371
355
  description: "Assemble partner kits with brand assets, guidelines, and marketing materials",
372
356
  category: "Business & Marketing",
373
- tags: ["partner", "kit", "branding", "marketing"],
357
+ tags: ["partner", "kit", "branding", "marketing"]
374
358
  },
375
359
  {
376
360
  name: "persona-based-adwriter",
377
361
  displayName: "Persona-Based Ad Writer",
378
362
  description: "Write targeted ads based on customer persona profiles",
379
363
  category: "Business & Marketing",
380
- tags: ["persona", "ads", "targeting", "copywriting"],
364
+ tags: ["persona", "ads", "targeting", "copywriting"]
381
365
  },
382
366
  {
383
367
  name: "persona-generator",
384
368
  displayName: "Persona Generator",
385
369
  description: "Generate detailed customer and user personas for marketing and UX",
386
370
  category: "Business & Marketing",
387
- tags: ["persona", "generation", "marketing", "ux"],
371
+ tags: ["persona", "generation", "marketing", "ux"]
388
372
  },
389
373
  {
390
374
  name: "product-demo-script",
391
375
  displayName: "Product Demo Script",
392
376
  description: "Write product demo scripts with talking points and flow",
393
377
  category: "Business & Marketing",
394
- tags: ["demo", "script", "product", "presentation"],
378
+ tags: ["demo", "script", "product", "presentation"]
395
379
  },
396
380
  {
397
381
  name: "sales-call-recapper",
398
382
  displayName: "Sales Call Recapper",
399
383
  description: "Recap sales calls with key points, objections, and follow-up actions",
400
384
  category: "Business & Marketing",
401
- tags: ["sales", "calls", "recap", "follow-up"],
385
+ tags: ["sales", "calls", "recap", "follow-up"]
402
386
  },
403
387
  {
404
388
  name: "salescopy",
405
389
  displayName: "Sales Copy",
406
390
  description: "Generate persuasive sales copy using AI for products and services",
407
391
  category: "Business & Marketing",
408
- tags: ["sales", "copywriting", "marketing", "persuasion"],
392
+ tags: ["sales", "copywriting", "marketing", "persuasion"]
409
393
  },
410
394
  {
411
395
  name: "seo-brief-builder",
412
396
  displayName: "SEO Brief Builder",
413
397
  description: "Build SEO content briefs with keyword research and competitive analysis",
414
398
  category: "Business & Marketing",
415
- tags: ["seo", "brief", "content", "keywords"],
399
+ tags: ["seo", "brief", "content", "keywords"]
416
400
  },
417
401
  {
418
402
  name: "social-media-kit",
419
403
  displayName: "Social Media Kit",
420
404
  description: "Create social media kits with graphics, templates, and brand guidelines",
421
405
  category: "Business & Marketing",
422
- tags: ["social-media", "kit", "branding", "templates"],
406
+ tags: ["social-media", "kit", "branding", "templates"]
423
407
  },
424
408
  {
425
409
  name: "sponsorship-proposal-lab",
426
410
  displayName: "Sponsorship Proposal Lab",
427
411
  description: "Create sponsorship proposals with packages, ROI projections, and benefits",
428
412
  category: "Business & Marketing",
429
- tags: ["sponsorship", "proposal", "marketing", "partnerships"],
413
+ tags: ["sponsorship", "proposal", "marketing", "partnerships"]
430
414
  },
431
415
  {
432
416
  name: "webinar-script-coach",
433
417
  displayName: "Webinar Script Coach",
434
418
  description: "Coach and refine webinar scripts with engagement tips and flow optimization",
435
419
  category: "Business & Marketing",
436
- tags: ["webinar", "script", "coaching", "presentation"],
420
+ tags: ["webinar", "script", "coaching", "presentation"]
437
421
  },
438
-
439
- // Productivity & Organization
440
422
  {
441
423
  name: "convert",
442
424
  displayName: "Convert",
443
425
  description: "File format conversion and transformation CLI between images, PDFs, documents, CSV, and data formats",
444
426
  category: "Productivity & Organization",
445
- tags: ["conversion", "formats", "files", "transform"],
427
+ tags: ["conversion", "formats", "files", "transform"]
446
428
  },
447
429
  {
448
430
  name: "decision-journal",
449
431
  displayName: "Decision Journal",
450
432
  description: "Track and reflect on decisions with structured journaling",
451
433
  category: "Productivity & Organization",
452
- tags: ["decisions", "journal", "reflection", "tracking"],
434
+ tags: ["decisions", "journal", "reflection", "tracking"]
453
435
  },
454
436
  {
455
437
  name: "file-organizer",
456
438
  displayName: "File Organizer",
457
439
  description: "Organize files into structured directories based on type, date, or content",
458
440
  category: "Productivity & Organization",
459
- tags: ["files", "organization", "sorting", "cleanup"],
441
+ tags: ["files", "organization", "sorting", "cleanup"]
460
442
  },
461
443
  {
462
444
  name: "folder-tree",
463
445
  displayName: "Folder Tree",
464
446
  description: "Generate and display folder tree structures for documentation",
465
447
  category: "Productivity & Organization",
466
- tags: ["folder", "tree", "structure", "visualization"],
448
+ tags: ["folder", "tree", "structure", "visualization"]
467
449
  },
468
450
  {
469
451
  name: "form-filler",
470
452
  displayName: "Form Filler",
471
453
  description: "Automatically fill out web forms and document templates",
472
454
  category: "Productivity & Organization",
473
- tags: ["forms", "automation", "filling", "data-entry"],
455
+ tags: ["forms", "automation", "filling", "data-entry"]
474
456
  },
475
457
  {
476
458
  name: "inbox-priority-planner",
477
459
  displayName: "Inbox Priority Planner",
478
460
  description: "Prioritize and organize email inbox items by importance and urgency",
479
461
  category: "Productivity & Organization",
480
- tags: ["inbox", "priority", "email", "organization"],
462
+ tags: ["inbox", "priority", "email", "organization"]
481
463
  },
482
464
  {
483
465
  name: "meeting-insight-summarizer",
484
466
  displayName: "Meeting Insight Summarizer",
485
467
  description: "Summarize meetings with key insights, decisions, and action items",
486
468
  category: "Productivity & Organization",
487
- tags: ["meeting", "summary", "insights", "action-items"],
469
+ tags: ["meeting", "summary", "insights", "action-items"]
488
470
  },
489
471
  {
490
472
  name: "merge-pdfs",
491
473
  displayName: "Merge PDFs",
492
474
  description: "Merge multiple PDF files into a single document",
493
475
  category: "Productivity & Organization",
494
- tags: ["pdf", "merge", "documents", "combining"],
476
+ tags: ["pdf", "merge", "documents", "combining"]
495
477
  },
496
478
  {
497
479
  name: "notion-manager",
498
480
  displayName: "Notion Manager",
499
481
  description: "Advanced Notion management with templates, automation, and bulk operations",
500
482
  category: "Productivity & Organization",
501
- tags: ["notion", "management", "automation", "templates"],
483
+ tags: ["notion", "management", "automation", "templates"]
502
484
  },
503
485
  {
504
486
  name: "personal-daily-ops",
505
487
  displayName: "Personal Daily Ops",
506
488
  description: "Manage personal daily operations with routines, tasks, and priorities",
507
489
  category: "Productivity & Organization",
508
- tags: ["daily", "operations", "routines", "personal"],
490
+ tags: ["daily", "operations", "routines", "personal"]
509
491
  },
510
492
  {
511
493
  name: "split-pdf",
512
494
  displayName: "Split PDF",
513
495
  description: "Split PDF documents into separate pages or sections",
514
496
  category: "Productivity & Organization",
515
- tags: ["pdf", "split", "documents", "pages"],
497
+ tags: ["pdf", "split", "documents", "pages"]
516
498
  },
517
-
518
- // Project Management
519
499
  {
520
500
  name: "action-item-router",
521
501
  displayName: "Action Item Router",
522
502
  description: "Route and assign action items from meetings or documents to appropriate owners",
523
503
  category: "Project Management",
524
- tags: ["action-items", "routing", "delegation", "tasks"],
504
+ tags: ["action-items", "routing", "delegation", "tasks"]
525
505
  },
526
506
  {
527
507
  name: "businessactivity",
528
508
  displayName: "Business Activity",
529
509
  description: "Business activity, workflow, and ownership management service",
530
510
  category: "Project Management",
531
- tags: ["business", "workflow", "activities", "management"],
511
+ tags: ["business", "workflow", "activities", "management"]
532
512
  },
533
513
  {
534
514
  name: "delegation-brief-writer",
535
515
  displayName: "Delegation Brief Writer",
536
516
  description: "Write clear delegation briefs with context, expectations, and deadlines",
537
517
  category: "Project Management",
538
- tags: ["delegation", "briefs", "management", "tasks"],
518
+ tags: ["delegation", "briefs", "management", "tasks"]
539
519
  },
540
520
  {
541
521
  name: "goal-quarterly-roadmap",
542
522
  displayName: "Goal Quarterly Roadmap",
543
523
  description: "Create quarterly goal roadmaps with milestones and tracking",
544
524
  category: "Project Management",
545
- tags: ["goals", "roadmap", "quarterly", "planning"],
525
+ tags: ["goals", "roadmap", "quarterly", "planning"]
546
526
  },
547
527
  {
548
528
  name: "implementation",
549
529
  displayName: "Implementation",
550
530
  description: "Create .implementation scaffold for project development tracking",
551
531
  category: "Project Management",
552
- tags: ["implementation", "tracking", "scaffold", "project"],
532
+ tags: ["implementation", "tracking", "scaffold", "project"]
553
533
  },
554
534
  {
555
535
  name: "implementation-agent",
556
536
  displayName: "Implementation Agent",
557
537
  description: "AI agent for managing implementation workflows and task execution",
558
538
  category: "Project Management",
559
- tags: ["implementation", "agent", "workflow", "execution"],
539
+ tags: ["implementation", "agent", "workflow", "execution"]
560
540
  },
561
541
  {
562
542
  name: "implementation-plan",
563
543
  displayName: "Implementation Plan",
564
544
  description: "Generate detailed implementation plans with phases and milestones",
565
545
  category: "Project Management",
566
- tags: ["implementation", "planning", "milestones", "phases"],
546
+ tags: ["implementation", "planning", "milestones", "phases"]
567
547
  },
568
548
  {
569
549
  name: "implementation-todo",
570
550
  displayName: "Implementation Todo",
571
551
  description: "Manage implementation task lists and todo items",
572
552
  category: "Project Management",
573
- tags: ["implementation", "todo", "tasks", "tracking"],
553
+ tags: ["implementation", "todo", "tasks", "tracking"]
574
554
  },
575
555
  {
576
556
  name: "project-retro-companion",
577
557
  displayName: "Project Retro Companion",
578
558
  description: "Facilitate project retrospectives with structured reflection and action items",
579
559
  category: "Project Management",
580
- tags: ["retrospective", "project", "feedback", "improvement"],
560
+ tags: ["retrospective", "project", "feedback", "improvement"]
581
561
  },
582
-
583
- // Content Generation
584
562
  {
585
563
  name: "audio",
586
564
  displayName: "Audio",
587
565
  description: "Generate audio, voiceovers, and speech using AI-powered TTS APIs (ElevenLabs, OpenAI)",
588
566
  category: "Content Generation",
589
- tags: ["audio", "tts", "speech", "ai"],
567
+ tags: ["audio", "tts", "speech", "ai"]
590
568
  },
591
569
  {
592
570
  name: "audiobook-chapter-proofer",
593
571
  displayName: "Audiobook Chapter Proofer",
594
572
  description: "Proofread and validate audiobook chapters for consistency and quality",
595
573
  category: "Content Generation",
596
- tags: ["audiobook", "proofreading", "quality", "publishing"],
574
+ tags: ["audiobook", "proofreading", "quality", "publishing"]
597
575
  },
598
576
  {
599
577
  name: "emoji",
600
578
  displayName: "Emoji",
601
579
  description: "Generate complete emoji packs using AI with DALL-E 3 or Gemini",
602
580
  category: "Content Generation",
603
- tags: ["emoji", "generation", "ai", "design"],
581
+ tags: ["emoji", "generation", "ai", "design"]
604
582
  },
605
583
  {
606
584
  name: "generate-diagram",
607
585
  displayName: "Generate Diagram",
608
586
  description: "Generate diagrams including flowcharts, sequence diagrams, and system architecture",
609
587
  category: "Content Generation",
610
- tags: ["diagrams", "flowcharts", "visualization", "architecture"],
588
+ tags: ["diagrams", "flowcharts", "visualization", "architecture"]
611
589
  },
612
590
  {
613
591
  name: "generate-docx",
614
592
  displayName: "Generate DOCX",
615
593
  description: "Generate DOCX documents with formatted content and styling",
616
594
  category: "Content Generation",
617
- tags: ["docx", "document", "word", "generation"],
595
+ tags: ["docx", "document", "word", "generation"]
618
596
  },
619
597
  {
620
598
  name: "generate-excel",
621
599
  displayName: "Generate Excel",
622
600
  description: "Generate Excel spreadsheets with formatted data, formulas, and charts",
623
601
  category: "Content Generation",
624
- tags: ["excel", "spreadsheet", "generation", "data"],
602
+ tags: ["excel", "spreadsheet", "generation", "data"]
625
603
  },
626
604
  {
627
605
  name: "generate-pdf",
628
606
  displayName: "Generate PDF",
629
607
  description: "Generate PDF documents with rich formatting and layouts",
630
608
  category: "Content Generation",
631
- tags: ["pdf", "document", "generation", "formatting"],
609
+ tags: ["pdf", "document", "generation", "formatting"]
632
610
  },
633
611
  {
634
612
  name: "generate-presentation",
635
613
  displayName: "Generate Presentation",
636
614
  description: "Generate presentation decks with slides, content, and visuals",
637
615
  category: "Content Generation",
638
- tags: ["presentation", "slides", "deck", "generation"],
616
+ tags: ["presentation", "slides", "deck", "generation"]
639
617
  },
640
618
  {
641
619
  name: "generate-qrcode",
642
620
  displayName: "Generate QR Code",
643
621
  description: "Generate QR codes with custom styling and embedded data",
644
622
  category: "Content Generation",
645
- tags: ["qrcode", "generation", "encoding", "visual"],
623
+ tags: ["qrcode", "generation", "encoding", "visual"]
646
624
  },
647
625
  {
648
626
  name: "generate-resume",
649
627
  displayName: "Generate Resume",
650
628
  description: "Generate professional resumes with formatting and content optimization",
651
629
  category: "Content Generation",
652
- tags: ["resume", "cv", "career", "generation"],
630
+ tags: ["resume", "cv", "career", "generation"]
653
631
  },
654
632
  {
655
633
  name: "image",
656
634
  displayName: "Image",
657
635
  description: "Generate images using multiple AI providers: DALL-E 3, Imagen 3, and Aurora",
658
636
  category: "Content Generation",
659
- tags: ["image", "generation", "ai", "dalle"],
637
+ tags: ["image", "generation", "ai", "dalle"]
660
638
  },
661
639
  {
662
640
  name: "jingle-composer",
663
641
  displayName: "Jingle Composer",
664
642
  description: "Compose advertising jingles and short musical pieces for brands",
665
643
  category: "Content Generation",
666
- tags: ["jingle", "music", "composition", "advertising"],
644
+ tags: ["jingle", "music", "composition", "advertising"]
667
645
  },
668
646
  {
669
647
  name: "video",
670
648
  displayName: "Video",
671
649
  description: "Generate videos using AI models from Google Veo, OpenAI Sora, and Runway",
672
650
  category: "Content Generation",
673
- tags: ["video", "generation", "ai", "sora"],
651
+ tags: ["video", "generation", "ai", "sora"]
674
652
  },
675
653
  {
676
654
  name: "voiceover-casting-assistant",
677
655
  displayName: "Voiceover Casting Assistant",
678
656
  description: "Assist with voiceover casting by matching voice profiles to project needs",
679
657
  category: "Content Generation",
680
- tags: ["voiceover", "casting", "voice", "selection"],
658
+ tags: ["voiceover", "casting", "voice", "selection"]
681
659
  },
682
-
683
- // Finance & Compliance
684
660
  {
685
661
  name: "budget-variance-analyzer",
686
662
  displayName: "Budget Variance Analyzer",
687
663
  description: "Analyze budget versus actual spending with variance reporting",
688
664
  category: "Finance & Compliance",
689
- tags: ["budget", "variance", "analysis", "finance"],
665
+ tags: ["budget", "variance", "analysis", "finance"]
690
666
  },
691
667
  {
692
668
  name: "compliance-copy-check",
693
669
  displayName: "Compliance Copy Check",
694
670
  description: "Check marketing copy for regulatory compliance and legal requirements",
695
671
  category: "Finance & Compliance",
696
- tags: ["compliance", "copy", "legal", "regulatory"],
672
+ tags: ["compliance", "copy", "legal", "regulatory"]
697
673
  },
698
674
  {
699
675
  name: "compliance-report-pack",
700
676
  displayName: "Compliance Report Pack",
701
677
  description: "Generate compliance report packages for regulatory submissions",
702
678
  category: "Finance & Compliance",
703
- tags: ["compliance", "reporting", "regulatory", "audit"],
679
+ tags: ["compliance", "reporting", "regulatory", "audit"]
704
680
  },
705
681
  {
706
682
  name: "contract-plainlanguage",
707
683
  displayName: "Contract Plain Language",
708
684
  description: "Convert legal contracts into plain language summaries for easy understanding",
709
685
  category: "Finance & Compliance",
710
- tags: ["contract", "legal", "plain-language", "summary"],
686
+ tags: ["contract", "legal", "plain-language", "summary"]
711
687
  },
712
688
  {
713
689
  name: "extract-invoice",
714
690
  displayName: "Extract Invoice",
715
691
  description: "Extract structured data from invoice documents using AI",
716
692
  category: "Finance & Compliance",
717
- tags: ["invoice", "extraction", "ocr", "finance"],
693
+ tags: ["invoice", "extraction", "ocr", "finance"]
718
694
  },
719
695
  {
720
696
  name: "forecast-scenario-lab",
721
697
  displayName: "Forecast Scenario Lab",
722
698
  description: "Model business forecast scenarios with multiple variable assumptions",
723
699
  category: "Finance & Compliance",
724
- tags: ["forecast", "scenarios", "modeling", "planning"],
700
+ tags: ["forecast", "scenarios", "modeling", "planning"]
725
701
  },
726
702
  {
727
703
  name: "grant-application-drafter",
728
704
  displayName: "Grant Application Drafter",
729
705
  description: "Draft grant applications with structured proposals and budgets",
730
706
  category: "Finance & Compliance",
731
- tags: ["grants", "application", "drafting", "funding"],
707
+ tags: ["grants", "application", "drafting", "funding"]
732
708
  },
733
709
  {
734
710
  name: "invoice",
735
711
  displayName: "Invoice",
736
712
  description: "Generate professional invoices with company management and PDF export",
737
713
  category: "Finance & Compliance",
738
- tags: ["invoice", "billing", "pdf", "finance"],
714
+ tags: ["invoice", "billing", "pdf", "finance"]
739
715
  },
740
716
  {
741
717
  name: "invoice-dispute-helper",
742
718
  displayName: "Invoice Dispute Helper",
743
719
  description: "Assist with invoice disputes by analyzing charges and generating responses",
744
720
  category: "Finance & Compliance",
745
- tags: ["invoice", "dispute", "resolution", "billing"],
721
+ tags: ["invoice", "dispute", "resolution", "billing"]
746
722
  },
747
723
  {
748
724
  name: "payroll-change-prepper",
749
725
  displayName: "Payroll Change Prepper",
750
726
  description: "Prepare payroll change documentation and calculations",
751
727
  category: "Finance & Compliance",
752
- tags: ["payroll", "changes", "hr", "finance"],
728
+ tags: ["payroll", "changes", "hr", "finance"]
753
729
  },
754
730
  {
755
731
  name: "procurement-scorecard",
756
732
  displayName: "Procurement Scorecard",
757
733
  description: "Generate procurement scorecards for vendor evaluation and comparison",
758
734
  category: "Finance & Compliance",
759
- tags: ["procurement", "scorecard", "vendor", "evaluation"],
735
+ tags: ["procurement", "scorecard", "vendor", "evaluation"]
760
736
  },
761
737
  {
762
738
  name: "proposal-redline-advisor",
763
739
  displayName: "Proposal Redline Advisor",
764
740
  description: "Review and redline proposals with suggested edits and negotiations",
765
741
  category: "Finance & Compliance",
766
- tags: ["proposal", "redline", "review", "negotiation"],
742
+ tags: ["proposal", "redline", "review", "negotiation"]
767
743
  },
768
744
  {
769
745
  name: "risk-disclosure-kit",
770
746
  displayName: "Risk Disclosure Kit",
771
747
  description: "Generate risk disclosure documents and compliance statements",
772
748
  category: "Finance & Compliance",
773
- tags: ["risk", "disclosure", "compliance", "legal"],
749
+ tags: ["risk", "disclosure", "compliance", "legal"]
774
750
  },
775
751
  {
776
752
  name: "roi-comparison-tool",
777
753
  displayName: "ROI Comparison Tool",
778
754
  description: "Compare return on investment across different options and scenarios",
779
755
  category: "Finance & Compliance",
780
- tags: ["roi", "comparison", "investment", "analysis"],
756
+ tags: ["roi", "comparison", "investment", "analysis"]
781
757
  },
782
758
  {
783
759
  name: "subscription-spend-watcher",
784
760
  displayName: "Subscription Spend Watcher",
785
761
  description: "Track and analyze subscription spending with alerts and optimization tips",
786
762
  category: "Finance & Compliance",
787
- tags: ["subscription", "spending", "tracking", "optimization"],
763
+ tags: ["subscription", "spending", "tracking", "optimization"]
788
764
  },
789
765
  {
790
766
  name: "timesheet",
791
767
  displayName: "Timesheet",
792
768
  description: "Generate employee timesheets with multi-profile support",
793
769
  category: "Finance & Compliance",
794
- tags: ["timesheet", "hours", "tracking", "payroll"],
770
+ tags: ["timesheet", "hours", "tracking", "payroll"]
795
771
  },
796
-
797
- // Data & Analysis
798
772
  {
799
773
  name: "analyze-data",
800
774
  displayName: "Analyze Data",
801
775
  description: "Data science insights for CSV and JSON datasets with statistical analysis",
802
776
  category: "Data & Analysis",
803
- tags: ["data", "analysis", "csv", "json", "statistics"],
777
+ tags: ["data", "analysis", "csv", "json", "statistics"]
804
778
  },
805
779
  {
806
780
  name: "anomaly-investigator",
807
781
  displayName: "Anomaly Investigator",
808
782
  description: "Investigate and diagnose anomalies in data, logs, and system metrics",
809
783
  category: "Data & Analysis",
810
- tags: ["anomaly", "investigation", "monitoring", "diagnostics"],
784
+ tags: ["anomaly", "investigation", "monitoring", "diagnostics"]
811
785
  },
812
786
  {
813
787
  name: "benchmark-finder",
814
788
  displayName: "Benchmark Finder",
815
789
  description: "Find industry benchmarks and performance metrics for comparison analysis",
816
790
  category: "Data & Analysis",
817
- tags: ["benchmark", "metrics", "industry", "comparison"],
791
+ tags: ["benchmark", "metrics", "industry", "comparison"]
818
792
  },
819
793
  {
820
794
  name: "dashboard-builder",
821
795
  displayName: "Dashboard Builder",
822
796
  description: "Build data dashboards with charts, metrics, and visualizations",
823
797
  category: "Data & Analysis",
824
- tags: ["dashboard", "visualization", "charts", "metrics"],
798
+ tags: ["dashboard", "visualization", "charts", "metrics"]
825
799
  },
826
800
  {
827
801
  name: "dashboard-narrator",
828
802
  displayName: "Dashboard Narrator",
829
803
  description: "Generate narrative summaries from dashboard data and metrics",
830
804
  category: "Data & Analysis",
831
- tags: ["dashboard", "narrative", "reporting", "insights"],
805
+ tags: ["dashboard", "narrative", "reporting", "insights"]
832
806
  },
833
807
  {
834
808
  name: "data-anonymizer",
835
809
  displayName: "Data Anonymizer",
836
810
  description: "Anonymize sensitive data in datasets for privacy compliance",
837
811
  category: "Data & Analysis",
838
- tags: ["anonymization", "privacy", "data", "compliance"],
812
+ tags: ["anonymization", "privacy", "data", "compliance"]
839
813
  },
840
814
  {
841
815
  name: "dataset-health-check",
842
816
  displayName: "Dataset Health Check",
843
817
  description: "Validate dataset quality with completeness, consistency, and accuracy checks",
844
818
  category: "Data & Analysis",
845
- tags: ["dataset", "quality", "validation", "health-check"],
819
+ tags: ["dataset", "quality", "validation", "health-check"]
846
820
  },
847
821
  {
848
822
  name: "extract",
849
823
  displayName: "Extract",
850
824
  description: "Extract text and structured data from images, PDFs, and documents using AI",
851
825
  category: "Data & Analysis",
852
- tags: ["extraction", "ocr", "vision", "pdf"],
826
+ tags: ["extraction", "ocr", "vision", "pdf"]
853
827
  },
854
828
  {
855
829
  name: "generate-chart",
856
830
  displayName: "Generate Chart",
857
831
  description: "Generate data charts and visualizations from datasets",
858
832
  category: "Data & Analysis",
859
- tags: ["charts", "visualization", "data", "graphs"],
833
+ tags: ["charts", "visualization", "data", "graphs"]
860
834
  },
861
835
  {
862
836
  name: "kpi-digest-generator",
863
837
  displayName: "KPI Digest Generator",
864
838
  description: "Generate KPI digest reports with trends, alerts, and performance summaries",
865
839
  category: "Data & Analysis",
866
- tags: ["kpi", "digest", "metrics", "reporting"],
840
+ tags: ["kpi", "digest", "metrics", "reporting"]
867
841
  },
868
842
  {
869
843
  name: "spreadsheet-cleanroom",
870
844
  displayName: "Spreadsheet Cleanroom",
871
845
  description: "Clean and sanitize spreadsheet data for analysis readiness",
872
846
  category: "Data & Analysis",
873
- tags: ["spreadsheet", "cleaning", "data", "sanitization"],
847
+ tags: ["spreadsheet", "cleaning", "data", "sanitization"]
874
848
  },
875
849
  {
876
850
  name: "survey-insight-extractor",
877
851
  displayName: "Survey Insight Extractor",
878
852
  description: "Extract actionable insights and trends from survey response data",
879
853
  category: "Data & Analysis",
880
- tags: ["survey", "insights", "analysis", "data"],
854
+ tags: ["survey", "insights", "analysis", "data"]
881
855
  },
882
-
883
- // Media Processing
884
856
  {
885
857
  name: "audio-cleanup-lab",
886
858
  displayName: "Audio Cleanup Lab",
887
859
  description: "Professional audio cleanup recipes with structured workflows for processing audio files",
888
860
  category: "Media Processing",
889
- tags: ["audio", "cleanup", "processing", "restoration"],
861
+ tags: ["audio", "cleanup", "processing", "restoration"]
890
862
  },
891
863
  {
892
864
  name: "compress-video",
893
865
  displayName: "Compress Video",
894
866
  description: "Compress video files while preserving visual quality using ffmpeg",
895
867
  category: "Media Processing",
896
- tags: ["video", "compression", "ffmpeg", "optimization"],
868
+ tags: ["video", "compression", "ffmpeg", "optimization"]
897
869
  },
898
870
  {
899
871
  name: "extract-audio",
900
872
  displayName: "Extract Audio",
901
873
  description: "Extract audio tracks from video files with multiple format support",
902
874
  category: "Media Processing",
903
- tags: ["audio", "extraction", "video", "conversion"],
875
+ tags: ["audio", "extraction", "video", "conversion"]
904
876
  },
905
877
  {
906
878
  name: "extract-frames",
907
879
  displayName: "Extract Frames",
908
880
  description: "Extract frames from video files at specified intervals or timestamps",
909
881
  category: "Media Processing",
910
- tags: ["frames", "video", "extraction", "images"],
882
+ tags: ["frames", "video", "extraction", "images"]
911
883
  },
912
884
  {
913
885
  name: "gif-maker",
914
886
  displayName: "GIF Maker",
915
887
  description: "Create animated GIFs from images, videos, or screen recordings",
916
888
  category: "Media Processing",
917
- tags: ["gif", "animation", "images", "video"],
889
+ tags: ["gif", "animation", "images", "video"]
918
890
  },
919
891
  {
920
892
  name: "highlight-reel-generator",
921
893
  displayName: "Highlight Reel Generator",
922
894
  description: "Generate video highlight reels from longer content with key moments",
923
895
  category: "Media Processing",
924
- tags: ["highlights", "video", "editing", "content"],
896
+ tags: ["highlights", "video", "editing", "content"]
925
897
  },
926
898
  {
927
899
  name: "remove-background",
928
900
  displayName: "Remove Background",
929
901
  description: "Remove backgrounds from images using AI segmentation",
930
902
  category: "Media Processing",
931
- tags: ["background-removal", "image", "ai", "editing"],
903
+ tags: ["background-removal", "image", "ai", "editing"]
932
904
  },
933
905
  {
934
906
  name: "subtitle",
935
907
  displayName: "Subtitle",
936
908
  description: "Generate styled subtitles from audio using OpenAI Whisper",
937
909
  category: "Media Processing",
938
- tags: ["subtitles", "transcription", "whisper", "video"],
910
+ tags: ["subtitles", "transcription", "whisper", "video"]
939
911
  },
940
912
  {
941
913
  name: "transcript",
942
914
  displayName: "Transcript",
943
915
  description: "Generate transcripts from audio and video files with timestamps",
944
916
  category: "Media Processing",
945
- tags: ["transcript", "audio", "video", "speech-to-text"],
917
+ tags: ["transcript", "audio", "video", "speech-to-text"]
946
918
  },
947
919
  {
948
920
  name: "video-cut-suggester",
949
921
  displayName: "Video Cut Suggester",
950
922
  description: "Suggest video cuts and edits based on content analysis and pacing",
951
923
  category: "Media Processing",
952
- tags: ["video", "editing", "cuts", "suggestions"],
924
+ tags: ["video", "editing", "cuts", "suggestions"]
953
925
  },
954
926
  {
955
927
  name: "video-downloader",
956
928
  displayName: "Video Downloader",
957
929
  description: "Download videos from various online platforms and services",
958
930
  category: "Media Processing",
959
- tags: ["video", "download", "platforms", "media"],
931
+ tags: ["video", "download", "platforms", "media"]
960
932
  },
961
933
  {
962
934
  name: "video-thumbnail",
963
935
  displayName: "Video Thumbnail",
964
936
  description: "Generate eye-catching video thumbnails with text overlays",
965
937
  category: "Media Processing",
966
- tags: ["video", "thumbnail", "design", "youtube"],
938
+ tags: ["video", "thumbnail", "design", "youtube"]
967
939
  },
968
940
  {
969
941
  name: "watermark",
970
942
  displayName: "Watermark",
971
943
  description: "Add watermarks to images and documents for copyright protection",
972
944
  category: "Media Processing",
973
- tags: ["watermark", "protection", "copyright", "images"],
945
+ tags: ["watermark", "protection", "copyright", "images"]
974
946
  },
975
-
976
- // Design & Branding
977
947
  {
978
948
  name: "brand-style-guide",
979
949
  displayName: "Brand Style Guide",
980
950
  description: "Generate comprehensive brand style guides with visual identity guidelines",
981
951
  category: "Design & Branding",
982
- tags: ["brand", "style-guide", "identity", "design"],
952
+ tags: ["brand", "style-guide", "identity", "design"]
983
953
  },
984
954
  {
985
955
  name: "brand-voice-audit",
986
956
  displayName: "Brand Voice Audit",
987
957
  description: "Audit content for brand voice consistency and tone alignment",
988
958
  category: "Design & Branding",
989
- tags: ["brand", "voice", "audit", "tone"],
959
+ tags: ["brand", "voice", "audit", "tone"]
990
960
  },
991
961
  {
992
962
  name: "color-palette-harmonizer",
993
963
  displayName: "Color Palette Harmonizer",
994
964
  description: "Generate harmonious color palettes for design and branding projects",
995
965
  category: "Design & Branding",
996
- tags: ["color", "palette", "design", "harmony"],
966
+ tags: ["color", "palette", "design", "harmony"]
997
967
  },
998
968
  {
999
969
  name: "generate-book-cover",
1000
970
  displayName: "Generate Book Cover",
1001
971
  description: "Generate professional book cover designs with AI",
1002
972
  category: "Design & Branding",
1003
- tags: ["book-cover", "design", "generation", "publishing"],
973
+ tags: ["book-cover", "design", "generation", "publishing"]
1004
974
  },
1005
975
  {
1006
976
  name: "generate-favicon",
1007
977
  displayName: "Generate Favicon",
1008
978
  description: "Generate favicons in multiple sizes and formats for websites",
1009
979
  category: "Design & Branding",
1010
- tags: ["favicon", "icon", "design", "web"],
980
+ tags: ["favicon", "icon", "design", "web"]
1011
981
  },
1012
982
  {
1013
983
  name: "microcopy-generator",
1014
984
  displayName: "Microcopy Generator",
1015
985
  description: "Generate UI microcopy including button text, tooltips, and error messages",
1016
986
  category: "Design & Branding",
1017
- tags: ["microcopy", "ux", "ui-text", "writing"],
987
+ tags: ["microcopy", "ux", "ui-text", "writing"]
1018
988
  },
1019
989
  {
1020
990
  name: "packaging-concept-studio",
1021
991
  displayName: "Packaging Concept Studio",
1022
992
  description: "Design product packaging concepts with mockups and specifications",
1023
993
  category: "Design & Branding",
1024
- tags: ["packaging", "design", "product", "concept"],
994
+ tags: ["packaging", "design", "product", "concept"]
1025
995
  },
1026
996
  {
1027
997
  name: "presentation-theme-maker",
1028
998
  displayName: "Presentation Theme Maker",
1029
999
  description: "Create custom presentation themes with color schemes and layouts",
1030
1000
  category: "Design & Branding",
1031
- tags: ["presentation", "theme", "design", "templates"],
1001
+ tags: ["presentation", "theme", "design", "templates"]
1032
1002
  },
1033
1003
  {
1034
1004
  name: "print-collateral-designer",
1035
1005
  displayName: "Print Collateral Designer",
1036
1006
  description: "Design print collateral including brochures, flyers, and business cards",
1037
1007
  category: "Design & Branding",
1038
- tags: ["print", "collateral", "brochures", "design"],
1008
+ tags: ["print", "collateral", "brochures", "design"]
1039
1009
  },
1040
1010
  {
1041
1011
  name: "product-mockup",
1042
1012
  displayName: "Product Mockup",
1043
1013
  description: "Generate product mockups for visualization and marketing materials",
1044
1014
  category: "Design & Branding",
1045
- tags: ["product", "mockup", "visualization", "marketing"],
1015
+ tags: ["product", "mockup", "visualization", "marketing"]
1046
1016
  },
1047
1017
  {
1048
1018
  name: "testimonial-graphics",
1049
1019
  displayName: "Testimonial Graphics",
1050
1020
  description: "Create visual testimonial graphics for social proof and marketing",
1051
1021
  category: "Design & Branding",
1052
- tags: ["testimonials", "graphics", "social-proof", "marketing"],
1022
+ tags: ["testimonials", "graphics", "social-proof", "marketing"]
1053
1023
  },
1054
-
1055
- // Web & Browser
1056
1024
  {
1057
1025
  name: "browse",
1058
1026
  displayName: "Browse",
1059
1027
  description: "Browser automation using Browser-Use Cloud API for AI agents",
1060
1028
  category: "Web & Browser",
1061
- tags: ["browser", "automation", "scraping", "web"],
1029
+ tags: ["browser", "automation", "scraping", "web"]
1062
1030
  },
1063
1031
  {
1064
1032
  name: "domainpurchase",
1065
1033
  displayName: "Domain Purchase",
1066
1034
  description: "Purchase and manage domains via registrar connectors",
1067
1035
  category: "Web & Browser",
1068
- tags: ["domain", "purchase", "registrar", "management"],
1036
+ tags: ["domain", "purchase", "registrar", "management"]
1069
1037
  },
1070
1038
  {
1071
1039
  name: "domainsearch",
1072
1040
  displayName: "Domain Search",
1073
1041
  description: "Search domain availability and suggestions via registrar connectors",
1074
1042
  category: "Web & Browser",
1075
- tags: ["domain", "search", "availability", "registration"],
1043
+ tags: ["domain", "search", "availability", "registration"]
1076
1044
  },
1077
1045
  {
1078
1046
  name: "webcrawling",
1079
1047
  displayName: "Web Crawling",
1080
1048
  description: "Web crawling service using Firecrawl API for content extraction",
1081
1049
  category: "Web & Browser",
1082
- tags: ["crawling", "web", "firecrawl", "extraction"],
1050
+ tags: ["crawling", "web", "firecrawl", "extraction"]
1083
1051
  },
1084
-
1085
- // Research & Writing
1086
1052
  {
1087
1053
  name: "blog-topic-cluster",
1088
1054
  displayName: "Blog Topic Cluster",
1089
1055
  description: "Generate topic clusters and content strategies for blog SEO planning",
1090
1056
  category: "Research & Writing",
1091
- tags: ["blog", "seo", "topics", "content-strategy"],
1057
+ tags: ["blog", "seo", "topics", "content-strategy"]
1092
1058
  },
1093
1059
  {
1094
1060
  name: "copytone-translator",
1095
1061
  displayName: "Copy Tone Translator",
1096
1062
  description: "Translate copy between different tones and writing styles",
1097
1063
  category: "Research & Writing",
1098
- tags: ["copywriting", "tone", "translation", "style"],
1064
+ tags: ["copywriting", "tone", "translation", "style"]
1099
1065
  },
1100
1066
  {
1101
1067
  name: "create-blog-article",
1102
1068
  displayName: "Create Blog Article",
1103
1069
  description: "Create SEO-optimized blog articles with structured content",
1104
1070
  category: "Research & Writing",
1105
- tags: ["blog", "article", "writing", "seo"],
1071
+ tags: ["blog", "article", "writing", "seo"]
1106
1072
  },
1107
1073
  {
1108
1074
  name: "create-ebook",
1109
1075
  displayName: "Create eBook",
1110
1076
  description: "Create complete eBooks with chapters, formatting, and cover design",
1111
1077
  category: "Research & Writing",
1112
- tags: ["ebook", "writing", "publishing", "content"],
1078
+ tags: ["ebook", "writing", "publishing", "content"]
1113
1079
  },
1114
1080
  {
1115
1081
  name: "deepresearch",
1116
1082
  displayName: "Deep Research (Agentic)",
1117
1083
  description: "Agentic deep research using Exa.ai for parallel semantic search and LLM synthesis",
1118
1084
  category: "Research & Writing",
1119
- tags: ["research", "exa", "semantic-search", "synthesis"],
1085
+ tags: ["research", "exa", "semantic-search", "synthesis"]
1120
1086
  },
1121
1087
  {
1122
1088
  name: "faq-packager",
1123
1089
  displayName: "FAQ Packager",
1124
1090
  description: "Package and organize frequently asked questions into structured documents",
1125
1091
  category: "Research & Writing",
1126
- tags: ["faq", "documentation", "knowledge-base", "content"],
1092
+ tags: ["faq", "documentation", "knowledge-base", "content"]
1127
1093
  },
1128
1094
  {
1129
1095
  name: "longform-structurer",
1130
1096
  displayName: "Longform Structurer",
1131
1097
  description: "Structure long-form content with outlines, chapters, and sections",
1132
1098
  category: "Research & Writing",
1133
- tags: ["longform", "structure", "outline", "writing"],
1099
+ tags: ["longform", "structure", "outline", "writing"]
1134
1100
  },
1135
1101
  {
1136
1102
  name: "podcast-show-notes",
1137
1103
  displayName: "Podcast Show Notes",
1138
1104
  description: "Generate podcast show notes with timestamps, summaries, and links",
1139
1105
  category: "Research & Writing",
1140
- tags: ["podcast", "show-notes", "summary", "content"],
1106
+ tags: ["podcast", "show-notes", "summary", "content"]
1141
1107
  },
1142
1108
  {
1143
1109
  name: "press-release-drafter",
1144
1110
  displayName: "Press Release Drafter",
1145
1111
  description: "Draft professional press releases for announcements and media distribution",
1146
1112
  category: "Research & Writing",
1147
- tags: ["press-release", "pr", "media", "writing"],
1113
+ tags: ["press-release", "pr", "media", "writing"]
1148
1114
  },
1149
1115
  {
1150
1116
  name: "write",
1151
1117
  displayName: "Write",
1152
1118
  description: "Write short or long-form content - articles, books, documentation at scale",
1153
1119
  category: "Research & Writing",
1154
- tags: ["writing", "content", "articles", "documentation"],
1120
+ tags: ["writing", "content", "articles", "documentation"]
1155
1121
  },
1156
-
1157
- // Science & Academic
1158
1122
  {
1159
1123
  name: "academic-journal-matcher",
1160
1124
  displayName: "Academic Journal Matcher",
1161
1125
  description: "Match research papers to appropriate academic journals for submission",
1162
1126
  category: "Science & Academic",
1163
- tags: ["academic", "journal", "research", "publishing"],
1127
+ tags: ["academic", "journal", "research", "publishing"]
1164
1128
  },
1165
1129
  {
1166
1130
  name: "advanced-math",
1167
1131
  displayName: "Advanced Math",
1168
1132
  description: "Solve advanced mathematical problems including calculus, algebra, and statistics",
1169
1133
  category: "Science & Academic",
1170
- tags: ["math", "calculus", "algebra", "computation"],
1134
+ tags: ["math", "calculus", "algebra", "computation"]
1171
1135
  },
1172
1136
  {
1173
1137
  name: "bio-sequence-tool",
1174
1138
  displayName: "Bio Sequence Tool",
1175
1139
  description: "Analyze and manipulate biological sequences including DNA, RNA, and protein data",
1176
1140
  category: "Science & Academic",
1177
- tags: ["biology", "dna", "sequence", "bioinformatics"],
1141
+ tags: ["biology", "dna", "sequence", "bioinformatics"]
1178
1142
  },
1179
1143
  {
1180
1144
  name: "chemistry-calculator",
1181
1145
  displayName: "Chemistry Calculator",
1182
1146
  description: "Perform chemistry calculations including molecular weights, reactions, and stoichiometry",
1183
1147
  category: "Science & Academic",
1184
- tags: ["chemistry", "calculations", "molecular", "science"],
1148
+ tags: ["chemistry", "calculations", "molecular", "science"]
1185
1149
  },
1186
1150
  {
1187
1151
  name: "citation-formatter",
1188
1152
  displayName: "Citation Formatter",
1189
1153
  description: "Format academic citations in APA, MLA, Chicago, and other styles",
1190
1154
  category: "Science & Academic",
1191
- tags: ["citation", "formatting", "academic", "references"],
1155
+ tags: ["citation", "formatting", "academic", "references"]
1192
1156
  },
1193
1157
  {
1194
1158
  name: "experiment-power-calculator",
1195
1159
  displayName: "Experiment Power Calculator",
1196
1160
  description: "Calculate statistical power and sample size for experiments",
1197
1161
  category: "Science & Academic",
1198
- tags: ["experiment", "statistics", "power-analysis", "sample-size"],
1162
+ tags: ["experiment", "statistics", "power-analysis", "sample-size"]
1199
1163
  },
1200
1164
  {
1201
1165
  name: "lab-notebook-formatter",
1202
1166
  displayName: "Lab Notebook Formatter",
1203
1167
  description: "Format laboratory notebook entries with structured scientific records",
1204
1168
  category: "Science & Academic",
1205
- tags: ["lab", "notebook", "formatting", "science"],
1169
+ tags: ["lab", "notebook", "formatting", "science"]
1206
1170
  },
1207
1171
  {
1208
1172
  name: "latex-table-generator",
1209
1173
  displayName: "LaTeX Table Generator",
1210
1174
  description: "Generate formatted LaTeX tables from data for academic papers",
1211
1175
  category: "Science & Academic",
1212
- tags: ["latex", "tables", "academic", "formatting"],
1176
+ tags: ["latex", "tables", "academic", "formatting"]
1213
1177
  },
1214
1178
  {
1215
1179
  name: "scientific-figure-check",
1216
1180
  displayName: "Scientific Figure Check",
1217
1181
  description: "Validate scientific figures for accuracy, formatting, and publication standards",
1218
1182
  category: "Science & Academic",
1219
- tags: ["scientific", "figures", "validation", "publishing"],
1183
+ tags: ["scientific", "figures", "validation", "publishing"]
1220
1184
  },
1221
1185
  {
1222
1186
  name: "statistical-test-selector",
1223
1187
  displayName: "Statistical Test Selector",
1224
1188
  description: "Recommend appropriate statistical tests based on data and research questions",
1225
1189
  category: "Science & Academic",
1226
- tags: ["statistics", "test-selection", "research", "analysis"],
1190
+ tags: ["statistics", "test-selection", "research", "analysis"]
1227
1191
  },
1228
-
1229
- // Education & Learning
1230
1192
  {
1231
1193
  name: "classroom-newsletter-kit",
1232
1194
  displayName: "Classroom Newsletter Kit",
1233
1195
  description: "Create classroom newsletters with templates for teachers and educators",
1234
1196
  category: "Education & Learning",
1235
- tags: ["classroom", "newsletter", "education", "teachers"],
1197
+ tags: ["classroom", "newsletter", "education", "teachers"]
1236
1198
  },
1237
1199
  {
1238
1200
  name: "educational-resource-finder",
1239
1201
  displayName: "Educational Resource Finder",
1240
1202
  description: "Find educational resources, courses, and learning materials by topic",
1241
1203
  category: "Education & Learning",
1242
- tags: ["education", "resources", "learning", "courses"],
1204
+ tags: ["education", "resources", "learning", "courses"]
1243
1205
  },
1244
1206
  {
1245
1207
  name: "exam-readiness-check",
1246
1208
  displayName: "Exam Readiness Check",
1247
1209
  description: "Assess exam readiness with practice questions and gap analysis",
1248
1210
  category: "Education & Learning",
1249
- tags: ["exam", "readiness", "assessment", "preparation"],
1211
+ tags: ["exam", "readiness", "assessment", "preparation"]
1250
1212
  },
1251
1213
  {
1252
1214
  name: "field-trip-planner",
1253
1215
  displayName: "Field Trip Planner",
1254
1216
  description: "Plan educational field trips with logistics, safety, and learning objectives",
1255
1217
  category: "Education & Learning",
1256
- tags: ["field-trip", "education", "planning", "logistics"],
1218
+ tags: ["field-trip", "education", "planning", "logistics"]
1257
1219
  },
1258
1220
  {
1259
1221
  name: "homework-feedback-coach",
1260
1222
  displayName: "Homework Feedback Coach",
1261
1223
  description: "Provide constructive feedback on homework assignments with improvement suggestions",
1262
1224
  category: "Education & Learning",
1263
- tags: ["homework", "feedback", "coaching", "education"],
1225
+ tags: ["homework", "feedback", "coaching", "education"]
1264
1226
  },
1265
1227
  {
1266
1228
  name: "learning-style-profiler",
1267
1229
  displayName: "Learning Style Profiler",
1268
1230
  description: "Profile individual learning styles and recommend personalized study strategies",
1269
1231
  category: "Education & Learning",
1270
- tags: ["learning", "profiling", "personalization", "education"],
1232
+ tags: ["learning", "profiling", "personalization", "education"]
1271
1233
  },
1272
1234
  {
1273
1235
  name: "lesson-plan-customizer",
1274
1236
  displayName: "Lesson Plan Customizer",
1275
1237
  description: "Customize lesson plans for different age groups, subjects, and learning objectives",
1276
1238
  category: "Education & Learning",
1277
- tags: ["lesson-plan", "customization", "teaching", "education"],
1239
+ tags: ["lesson-plan", "customization", "teaching", "education"]
1278
1240
  },
1279
1241
  {
1280
1242
  name: "parent-teacher-brief",
1281
1243
  displayName: "Parent Teacher Brief",
1282
1244
  description: "Generate parent-teacher conference briefs with student progress summaries",
1283
1245
  category: "Education & Learning",
1284
- tags: ["parent-teacher", "conference", "education", "progress"],
1246
+ tags: ["parent-teacher", "conference", "education", "progress"]
1285
1247
  },
1286
1248
  {
1287
1249
  name: "scholarship-tracker",
1288
1250
  displayName: "Scholarship Tracker",
1289
1251
  description: "Track scholarship applications, deadlines, and requirements",
1290
1252
  category: "Education & Learning",
1291
- tags: ["scholarship", "tracking", "education", "applications"],
1253
+ tags: ["scholarship", "tracking", "education", "applications"]
1292
1254
  },
1293
1255
  {
1294
1256
  name: "study-guide-builder",
1295
1257
  displayName: "Study Guide Builder",
1296
1258
  description: "Build comprehensive study guides with summaries, key concepts, and practice questions",
1297
1259
  category: "Education & Learning",
1298
- tags: ["study-guide", "learning", "education", "review"],
1260
+ tags: ["study-guide", "learning", "education", "review"]
1299
1261
  },
1300
-
1301
- // Communication
1302
1262
  {
1303
1263
  name: "calendar-events",
1304
1264
  displayName: "Calendar Events",
1305
1265
  description: "Create, manage, and organize calendar events and scheduling",
1306
1266
  category: "Communication",
1307
- tags: ["calendar", "events", "scheduling", "organization"],
1267
+ tags: ["calendar", "events", "scheduling", "organization"]
1308
1268
  },
1309
1269
  {
1310
1270
  name: "gmail",
1311
1271
  displayName: "Gmail",
1312
1272
  description: "Compose, read, and manage Gmail messages with AI assistance",
1313
1273
  category: "Communication",
1314
- tags: ["email", "gmail", "compose", "management"],
1274
+ tags: ["email", "gmail", "compose", "management"]
1315
1275
  },
1316
1276
  {
1317
1277
  name: "slack-assistant",
1318
1278
  displayName: "Slack Assistant",
1319
1279
  description: "Automate Slack interactions with message management and channel operations",
1320
1280
  category: "Communication",
1321
- tags: ["slack", "assistant", "automation", "messaging"],
1281
+ tags: ["slack", "assistant", "automation", "messaging"]
1322
1282
  },
1323
1283
  {
1324
1284
  name: "sms",
1325
1285
  displayName: "SMS",
1326
1286
  description: "Send and receive SMS messages via Twilio",
1327
1287
  category: "Communication",
1328
- tags: ["sms", "twilio", "messaging", "text"],
1288
+ tags: ["sms", "twilio", "messaging", "text"]
1329
1289
  },
1330
-
1331
- // Health & Wellness
1332
1290
  {
1333
1291
  name: "grocery-basket-optimizer",
1334
1292
  displayName: "Grocery Basket Optimizer",
1335
1293
  description: "Optimize grocery shopping lists for budget, nutrition, and preferences",
1336
1294
  category: "Health & Wellness",
1337
- tags: ["grocery", "shopping", "optimization", "meal-planning"],
1295
+ tags: ["grocery", "shopping", "optimization", "meal-planning"]
1338
1296
  },
1339
1297
  {
1340
1298
  name: "habit-reflection-digest",
1341
1299
  displayName: "Habit Reflection Digest",
1342
1300
  description: "Generate habit tracking digests with reflection prompts and insights",
1343
1301
  category: "Health & Wellness",
1344
- tags: ["habits", "reflection", "tracking", "wellness"],
1302
+ tags: ["habits", "reflection", "tracking", "wellness"]
1345
1303
  },
1346
1304
  {
1347
1305
  name: "meal-plan-designer",
1348
1306
  displayName: "Meal Plan Designer",
1349
1307
  description: "Design weekly meal plans with nutrition, recipes, and shopping lists",
1350
1308
  category: "Health & Wellness",
1351
- tags: ["meal-plan", "nutrition", "recipes", "health"],
1309
+ tags: ["meal-plan", "nutrition", "recipes", "health"]
1352
1310
  },
1353
1311
  {
1354
1312
  name: "mindfulness-prompt-cache",
1355
1313
  displayName: "Mindfulness Prompt Cache",
1356
1314
  description: "Curate and deliver mindfulness prompts for meditation and relaxation",
1357
1315
  category: "Health & Wellness",
1358
- tags: ["mindfulness", "meditation", "prompts", "wellness"],
1316
+ tags: ["mindfulness", "meditation", "prompts", "wellness"]
1359
1317
  },
1360
1318
  {
1361
1319
  name: "sleep-routine-analyzer",
1362
1320
  displayName: "Sleep Routine Analyzer",
1363
1321
  description: "Analyze sleep patterns and provide improvement recommendations",
1364
1322
  category: "Health & Wellness",
1365
- tags: ["sleep", "analysis", "routine", "wellness"],
1323
+ tags: ["sleep", "analysis", "routine", "wellness"]
1366
1324
  },
1367
1325
  {
1368
1326
  name: "stress-relief-playbook",
1369
1327
  displayName: "Stress Relief Playbook",
1370
1328
  description: "Generate personalized stress relief strategies and relaxation techniques",
1371
1329
  category: "Health & Wellness",
1372
- tags: ["stress", "relief", "wellness", "relaxation"],
1330
+ tags: ["stress", "relief", "wellness", "relaxation"]
1373
1331
  },
1374
1332
  {
1375
1333
  name: "wellness-progress-reporter",
1376
1334
  displayName: "Wellness Progress Reporter",
1377
1335
  description: "Generate wellness progress reports with health metrics and trends",
1378
1336
  category: "Health & Wellness",
1379
- tags: ["wellness", "progress", "reporting", "health"],
1337
+ tags: ["wellness", "progress", "reporting", "health"]
1380
1338
  },
1381
1339
  {
1382
1340
  name: "workout-cycle-planner",
1383
1341
  displayName: "Workout Cycle Planner",
1384
1342
  description: "Plan workout cycles with periodization, exercises, and progression",
1385
1343
  category: "Health & Wellness",
1386
- tags: ["workout", "planning", "fitness", "exercise"],
1344
+ tags: ["workout", "planning", "fitness", "exercise"]
1387
1345
  },
1388
-
1389
- // Travel & Lifestyle
1390
1346
  {
1391
1347
  name: "destination-briefing",
1392
1348
  displayName: "Destination Briefing",
1393
1349
  description: "Create travel destination briefings with local info, tips, and logistics",
1394
1350
  category: "Travel & Lifestyle",
1395
- tags: ["travel", "destination", "briefing", "tourism"],
1351
+ tags: ["travel", "destination", "briefing", "tourism"]
1396
1352
  },
1397
1353
  {
1398
1354
  name: "family-activity-curator",
1399
1355
  displayName: "Family Activity Curator",
1400
1356
  description: "Curate family-friendly activities based on age, interests, and location",
1401
1357
  category: "Travel & Lifestyle",
1402
- tags: ["family", "activities", "kids", "recreation"],
1358
+ tags: ["family", "activities", "kids", "recreation"]
1403
1359
  },
1404
1360
  {
1405
1361
  name: "household-maintenance-mgr",
1406
1362
  displayName: "Household Maintenance Manager",
1407
1363
  description: "Track and schedule household maintenance tasks and reminders",
1408
1364
  category: "Travel & Lifestyle",
1409
- tags: ["household", "maintenance", "scheduling", "home"],
1365
+ tags: ["household", "maintenance", "scheduling", "home"]
1410
1366
  },
1411
1367
  {
1412
1368
  name: "itinerary-architect",
1413
1369
  displayName: "Itinerary Architect",
1414
1370
  description: "Design detailed travel itineraries with activities, timing, and logistics",
1415
1371
  category: "Travel & Lifestyle",
1416
- tags: ["itinerary", "travel", "planning", "logistics"],
1372
+ tags: ["itinerary", "travel", "planning", "logistics"]
1417
1373
  },
1418
1374
  {
1419
1375
  name: "packing-plan-pro",
1420
1376
  displayName: "Packing Plan Pro",
1421
1377
  description: "Create detailed packing plans for trips with weather-based recommendations",
1422
1378
  category: "Travel & Lifestyle",
1423
- tags: ["packing", "travel", "planning", "checklist"],
1379
+ tags: ["packing", "travel", "planning", "checklist"]
1424
1380
  },
1425
1381
  {
1426
1382
  name: "pet-care-scheduler",
1427
1383
  displayName: "Pet Care Scheduler",
1428
1384
  description: "Schedule and track pet care activities including feeding, walks, and vet visits",
1429
1385
  category: "Travel & Lifestyle",
1430
- tags: ["pets", "care", "scheduling", "reminders"],
1386
+ tags: ["pets", "care", "scheduling", "reminders"]
1431
1387
  },
1432
1388
  {
1433
1389
  name: "travel-budget-balancer",
1434
1390
  displayName: "Travel Budget Balancer",
1435
1391
  description: "Balance travel budgets across categories with optimization suggestions",
1436
1392
  category: "Travel & Lifestyle",
1437
- tags: ["travel", "budget", "planning", "optimization"],
1393
+ tags: ["travel", "budget", "planning", "optimization"]
1438
1394
  },
1439
-
1440
- // Event Management
1441
1395
  {
1442
1396
  name: "guest-communication-suite",
1443
1397
  displayName: "Guest Communication Suite",
1444
1398
  description: "Manage guest communications for events, hospitality, and venues",
1445
1399
  category: "Event Management",
1446
- tags: ["guest", "communication", "hospitality", "events"],
1400
+ tags: ["guest", "communication", "hospitality", "events"]
1447
1401
  },
1448
1402
  {
1449
1403
  name: "livestream-runofshow",
1450
1404
  displayName: "Livestream Run of Show",
1451
1405
  description: "Create run-of-show documents for livestream events with timing and cues",
1452
1406
  category: "Event Management",
1453
- tags: ["livestream", "run-of-show", "scheduling", "production"],
1407
+ tags: ["livestream", "run-of-show", "scheduling", "production"]
1454
1408
  },
1455
1409
  {
1456
1410
  name: "onsite-ops-checklist",
1457
1411
  displayName: "Onsite Ops Checklist",
1458
1412
  description: "Create operational checklists for on-site events and activities",
1459
1413
  category: "Event Management",
1460
- tags: ["onsite", "operations", "checklist", "events"],
1414
+ tags: ["onsite", "operations", "checklist", "events"]
1461
1415
  },
1462
1416
  {
1463
1417
  name: "seating-chart-maker",
1464
1418
  displayName: "Seating Chart Maker",
1465
1419
  description: "Create seating charts for events, classrooms, and venues",
1466
1420
  category: "Event Management",
1467
- tags: ["seating", "chart", "events", "venues"],
1468
- },
1469
-
1421
+ tags: ["seating", "chart", "events", "venues"]
1422
+ }
1470
1423
  ];
1471
-
1472
- export function getSkillsByCategory(category: Category): SkillMeta[] {
1424
+ function getSkillsByCategory(category) {
1473
1425
  return SKILLS.filter((s) => s.category === category);
1474
1426
  }
1427
+ function searchSkills(query) {
1428
+ const words = query.toLowerCase().split(/\s+/).filter(Boolean);
1429
+ if (words.length === 0)
1430
+ return [];
1431
+ const scored = [];
1432
+ for (const skill of SKILLS) {
1433
+ const nameLower = skill.name.toLowerCase();
1434
+ const displayNameLower = skill.displayName.toLowerCase();
1435
+ const descriptionLower = skill.description.toLowerCase();
1436
+ const tagsLower = skill.tags.map((t) => t.toLowerCase());
1437
+ let score = 0;
1438
+ let allWordsMatch = true;
1439
+ for (const word of words) {
1440
+ let wordMatched = false;
1441
+ if (nameLower.includes(word)) {
1442
+ score += 10;
1443
+ wordMatched = true;
1444
+ }
1445
+ if (displayNameLower.includes(word)) {
1446
+ score += 7;
1447
+ wordMatched = true;
1448
+ }
1449
+ if (tagsLower.some((t) => t.includes(word))) {
1450
+ score += 5;
1451
+ wordMatched = true;
1452
+ }
1453
+ if (descriptionLower.includes(word)) {
1454
+ score += 2;
1455
+ wordMatched = true;
1456
+ }
1457
+ if (!wordMatched) {
1458
+ allWordsMatch = false;
1459
+ break;
1460
+ }
1461
+ }
1462
+ if (allWordsMatch && score > 0) {
1463
+ scored.push({ skill, score });
1464
+ }
1465
+ }
1466
+ scored.sort((a, b) => b.score - a.score);
1467
+ return scored.map((s) => s.skill);
1468
+ }
1469
+ function getSkill(name) {
1470
+ return SKILLS.find((s) => s.name === name);
1471
+ }
1472
+ // src/lib/installer.ts
1473
+ import { existsSync, cpSync, mkdirSync, writeFileSync, rmSync, readdirSync, statSync, readFileSync } from "fs";
1474
+ import { join, dirname } from "path";
1475
+ import { homedir } from "os";
1476
+ import { fileURLToPath } from "url";
1475
1477
 
1476
- export function searchSkills(query: string): SkillMeta[] {
1477
- const q = query.toLowerCase();
1478
- return SKILLS.filter(
1479
- (s) =>
1480
- s.name.toLowerCase().includes(q) ||
1481
- s.displayName.toLowerCase().includes(q) ||
1482
- s.description.toLowerCase().includes(q) ||
1483
- s.tags.some((t) => t.includes(q))
1484
- );
1478
+ // src/lib/utils.ts
1479
+ function normalizeSkillName(name) {
1480
+ return name.startsWith("skill-") ? name : `skill-${name}`;
1485
1481
  }
1486
1482
 
1487
- export function getSkill(name: string): SkillMeta | undefined {
1488
- return SKILLS.find((s) => s.name === name);
1483
+ // src/lib/installer.ts
1484
+ var __dirname2 = dirname(fileURLToPath(import.meta.url));
1485
+ function findSkillsDir() {
1486
+ let dir = __dirname2;
1487
+ for (let i = 0;i < 5; i++) {
1488
+ const candidate = join(dir, "skills");
1489
+ if (existsSync(candidate)) {
1490
+ return candidate;
1491
+ }
1492
+ dir = dirname(dir);
1493
+ }
1494
+ return join(__dirname2, "..", "skills");
1495
+ }
1496
+ var SKILLS_DIR = findSkillsDir();
1497
+ function getSkillPath(name) {
1498
+ const skillName = normalizeSkillName(name);
1499
+ return join(SKILLS_DIR, skillName);
1500
+ }
1501
+ function skillExists(name) {
1502
+ return existsSync(getSkillPath(name));
1503
+ }
1504
+ function installSkill(name, options = {}) {
1505
+ const { targetDir = process.cwd(), overwrite = false } = options;
1506
+ const skillName = normalizeSkillName(name);
1507
+ const sourcePath = getSkillPath(name);
1508
+ const destDir = join(targetDir, ".skills");
1509
+ const destPath = join(destDir, skillName);
1510
+ if (!existsSync(sourcePath)) {
1511
+ return {
1512
+ skill: name,
1513
+ success: false,
1514
+ error: `Skill '${name}' not found`
1515
+ };
1516
+ }
1517
+ if (existsSync(destPath) && !overwrite) {
1518
+ return {
1519
+ skill: name,
1520
+ success: false,
1521
+ error: `Already installed. Use --overwrite to replace.`,
1522
+ path: destPath
1523
+ };
1524
+ }
1525
+ try {
1526
+ if (!existsSync(destDir)) {
1527
+ mkdirSync(destDir, { recursive: true });
1528
+ }
1529
+ if (existsSync(destPath) && overwrite) {
1530
+ rmSync(destPath, { recursive: true, force: true });
1531
+ }
1532
+ cpSync(sourcePath, destPath, {
1533
+ recursive: true,
1534
+ filter: (src) => {
1535
+ const rel = src.slice(sourcePath.length);
1536
+ return !rel.includes("/.git") && !rel.includes("/node_modules");
1537
+ }
1538
+ });
1539
+ updateSkillsIndex(destDir);
1540
+ return {
1541
+ skill: name,
1542
+ success: true,
1543
+ path: destPath
1544
+ };
1545
+ } catch (error) {
1546
+ return {
1547
+ skill: name,
1548
+ success: false,
1549
+ error: error instanceof Error ? error.message : "Unknown error"
1550
+ };
1551
+ }
1552
+ }
1553
+ function installSkills(names, options = {}) {
1554
+ return names.map((name) => installSkill(name, options));
1555
+ }
1556
+ function updateSkillsIndex(skillsDir) {
1557
+ const indexPath = join(skillsDir, "index.ts");
1558
+ const skills = readdirSync(skillsDir).filter((f) => f.startsWith("skill-") && !f.includes("."));
1559
+ const exports = skills.map((s) => {
1560
+ const name = s.replace("skill-", "").replace(/-/g, "_");
1561
+ return `export * as ${name} from './${s}/src/index.js';`;
1562
+ }).join(`
1563
+ `);
1564
+ const content = `/**
1565
+ * Auto-generated index of installed skills
1566
+ * Do not edit manually - run 'skills install' to update
1567
+ */
1568
+
1569
+ ${exports}
1570
+ `;
1571
+ writeFileSync(indexPath, content);
1572
+ }
1573
+ function getInstalledSkills(targetDir = process.cwd()) {
1574
+ const skillsDir = join(targetDir, ".skills");
1575
+ if (!existsSync(skillsDir)) {
1576
+ return [];
1577
+ }
1578
+ return readdirSync(skillsDir).filter((f) => {
1579
+ const fullPath = join(skillsDir, f);
1580
+ return f.startsWith("skill-") && statSync(fullPath).isDirectory();
1581
+ }).map((f) => f.replace("skill-", ""));
1582
+ }
1583
+ function removeSkill(name, targetDir = process.cwd()) {
1584
+ const skillName = normalizeSkillName(name);
1585
+ const skillsDir = join(targetDir, ".skills");
1586
+ const skillPath = join(skillsDir, skillName);
1587
+ if (!existsSync(skillPath)) {
1588
+ return false;
1589
+ }
1590
+ rmSync(skillPath, { recursive: true, force: true });
1591
+ updateSkillsIndex(skillsDir);
1592
+ return true;
1593
+ }
1594
+ var AGENT_TARGETS = ["claude", "codex", "gemini"];
1595
+ function getAgentSkillsDir(agent, scope = "global", projectDir) {
1596
+ const agentDir = `.${agent}`;
1597
+ if (scope === "project") {
1598
+ return join(projectDir || process.cwd(), agentDir, "skills");
1599
+ }
1600
+ return join(homedir(), agentDir, "skills");
1601
+ }
1602
+ function getAgentSkillPath(name, agent, scope = "global", projectDir) {
1603
+ const skillName = normalizeSkillName(name);
1604
+ return join(getAgentSkillsDir(agent, scope, projectDir), skillName);
1605
+ }
1606
+ function installSkillForAgent(name, options, generateSkillMd) {
1607
+ const { agent, scope = "global", projectDir } = options;
1608
+ const skillName = normalizeSkillName(name);
1609
+ const sourcePath = getSkillPath(name);
1610
+ if (!existsSync(sourcePath)) {
1611
+ return { skill: name, success: false, error: `Skill '${name}' not found` };
1612
+ }
1613
+ let skillMdContent = null;
1614
+ const skillMdPath = join(sourcePath, "SKILL.md");
1615
+ if (existsSync(skillMdPath)) {
1616
+ skillMdContent = readFileSync(skillMdPath, "utf-8");
1617
+ } else if (generateSkillMd) {
1618
+ skillMdContent = generateSkillMd(name);
1619
+ }
1620
+ if (!skillMdContent) {
1621
+ return { skill: name, success: false, error: `No SKILL.md found and could not generate one for '${name}'` };
1622
+ }
1623
+ const destDir = getAgentSkillPath(name, agent, scope, projectDir);
1624
+ try {
1625
+ mkdirSync(destDir, { recursive: true });
1626
+ writeFileSync(join(destDir, "SKILL.md"), skillMdContent);
1627
+ return { skill: name, success: true, path: destDir };
1628
+ } catch (error) {
1629
+ return {
1630
+ skill: name,
1631
+ success: false,
1632
+ error: error instanceof Error ? error.message : "Unknown error"
1633
+ };
1634
+ }
1635
+ }
1636
+ function removeSkillForAgent(name, options) {
1637
+ const { agent, scope = "global", projectDir } = options;
1638
+ const destDir = getAgentSkillPath(name, agent, scope, projectDir);
1639
+ if (!existsSync(destDir)) {
1640
+ return false;
1641
+ }
1642
+ rmSync(destDir, { recursive: true, force: true });
1643
+ return true;
1644
+ }
1645
+ // src/lib/skillinfo.ts
1646
+ import { existsSync as existsSync2, readFileSync as readFileSync2, readdirSync as readdirSync2 } from "fs";
1647
+ import { join as join2 } from "path";
1648
+ function getSkillDocs(name) {
1649
+ const skillPath = getSkillPath(name);
1650
+ if (!existsSync2(skillPath))
1651
+ return null;
1652
+ return {
1653
+ skillMd: readIfExists(join2(skillPath, "SKILL.md")),
1654
+ readme: readIfExists(join2(skillPath, "README.md")),
1655
+ claudeMd: readIfExists(join2(skillPath, "CLAUDE.md"))
1656
+ };
1657
+ }
1658
+ function getSkillBestDoc(name) {
1659
+ const docs = getSkillDocs(name);
1660
+ if (!docs)
1661
+ return null;
1662
+ return docs.skillMd || docs.readme || docs.claudeMd || null;
1663
+ }
1664
+ function getSkillRequirements(name) {
1665
+ const skillPath = getSkillPath(name);
1666
+ if (!existsSync2(skillPath))
1667
+ return null;
1668
+ const texts = [];
1669
+ for (const file of ["SKILL.md", "README.md", "CLAUDE.md", ".env.example", ".env.local.example"]) {
1670
+ const content = readIfExists(join2(skillPath, file));
1671
+ if (content)
1672
+ texts.push(content);
1673
+ }
1674
+ const allText = texts.join(`
1675
+ `);
1676
+ const envVars = extractEnvVars(allText);
1677
+ const systemDeps = new Set;
1678
+ const depPatterns = [
1679
+ [/\bffmpeg\b/i, "ffmpeg"],
1680
+ [/\bplaywright\b/i, "playwright"],
1681
+ [/\bchromium\b/i, "chromium"],
1682
+ [/\bpuppeteer\b/i, "puppeteer"],
1683
+ [/\bpython3?\b/i, "python"],
1684
+ [/\bdocker\b/i, "docker"],
1685
+ [/\bpandoc\b/i, "pandoc"],
1686
+ [/\bimageMagick\b|imagemagick|\bconvert\b.*image/i, "imagemagick"],
1687
+ [/\bwkhtmltopdf\b/i, "wkhtmltopdf"],
1688
+ [/\bgit\b(?! ?(hub|lab|ignore))/i, "git"]
1689
+ ];
1690
+ for (const [pattern, dep] of depPatterns) {
1691
+ if (pattern.test(allText)) {
1692
+ systemDeps.add(dep);
1693
+ }
1694
+ }
1695
+ let cliCommand = null;
1696
+ let dependencies = {};
1697
+ const pkgPath = join2(skillPath, "package.json");
1698
+ if (existsSync2(pkgPath)) {
1699
+ try {
1700
+ const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
1701
+ if (pkg.bin) {
1702
+ const binKeys = Object.keys(pkg.bin);
1703
+ if (binKeys.length > 0)
1704
+ cliCommand = binKeys[0];
1705
+ }
1706
+ dependencies = pkg.dependencies || {};
1707
+ } catch {}
1708
+ }
1709
+ return {
1710
+ envVars: Array.from(envVars).sort(),
1711
+ systemDeps: Array.from(systemDeps).sort(),
1712
+ cliCommand,
1713
+ dependencies
1714
+ };
1715
+ }
1716
+ async function runSkill(name, args, options = {}) {
1717
+ const skillName = normalizeSkillName(name);
1718
+ let skillPath;
1719
+ if (options.installed) {
1720
+ skillPath = join2(process.cwd(), ".skills", skillName);
1721
+ } else {
1722
+ const installedPath = join2(process.cwd(), ".skills", skillName);
1723
+ if (existsSync2(installedPath)) {
1724
+ skillPath = installedPath;
1725
+ } else {
1726
+ skillPath = getSkillPath(name);
1727
+ }
1728
+ }
1729
+ if (!existsSync2(skillPath)) {
1730
+ return { exitCode: 1, error: `Skill '${name}' not found` };
1731
+ }
1732
+ const pkgPath = join2(skillPath, "package.json");
1733
+ if (!existsSync2(pkgPath)) {
1734
+ return { exitCode: 1, error: `No package.json in skill '${name}'` };
1735
+ }
1736
+ let entryPoint;
1737
+ try {
1738
+ const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
1739
+ if (pkg.bin) {
1740
+ const binValues = Object.values(pkg.bin);
1741
+ entryPoint = binValues[0];
1742
+ } else if (pkg.scripts?.dev) {
1743
+ const devScript = pkg.scripts.dev;
1744
+ const match = devScript.match(/(?:bun\s+run\s+)(.+)/);
1745
+ entryPoint = match ? match[1] : "bin/cli.ts";
1746
+ } else {
1747
+ entryPoint = "bin/cli.ts";
1748
+ }
1749
+ } catch {
1750
+ return { exitCode: 1, error: `Failed to parse package.json for skill '${name}'` };
1751
+ }
1752
+ const entryPath = join2(skillPath, entryPoint);
1753
+ if (!existsSync2(entryPath)) {
1754
+ return { exitCode: 1, error: `Entry point '${entryPoint}' not found in skill '${name}'` };
1755
+ }
1756
+ const nodeModules = join2(skillPath, "node_modules");
1757
+ if (!existsSync2(nodeModules)) {
1758
+ const install = Bun.spawn(["bun", "install", "--no-save"], {
1759
+ cwd: skillPath,
1760
+ stdout: "pipe",
1761
+ stderr: "pipe"
1762
+ });
1763
+ await install.exited;
1764
+ }
1765
+ const proc = Bun.spawn(["bun", "run", entryPath, ...args], {
1766
+ cwd: skillPath,
1767
+ stdout: "inherit",
1768
+ stderr: "inherit",
1769
+ stdin: "inherit"
1770
+ });
1771
+ const exitCode = await proc.exited;
1772
+ return { exitCode };
1773
+ }
1774
+ function generateEnvExample(targetDir = process.cwd()) {
1775
+ const skillsDir = join2(targetDir, ".skills");
1776
+ if (!existsSync2(skillsDir))
1777
+ return "";
1778
+ const dirs = readdirSync2(skillsDir).filter((f) => f.startsWith("skill-") && existsSync2(join2(skillsDir, f, "package.json")));
1779
+ const envMap = new Map;
1780
+ for (const dir of dirs) {
1781
+ const skillName = dir.replace("skill-", "");
1782
+ const skillPath = join2(skillsDir, dir);
1783
+ const texts = [];
1784
+ for (const file of ["SKILL.md", "README.md", "CLAUDE.md", ".env.example"]) {
1785
+ const content = readIfExists(join2(skillPath, file));
1786
+ if (content)
1787
+ texts.push(content);
1788
+ }
1789
+ const allText = texts.join(`
1790
+ `);
1791
+ const foundVars = extractEnvVars(allText);
1792
+ for (const envVar of foundVars) {
1793
+ if (!envMap.has(envVar)) {
1794
+ envMap.set(envVar, []);
1795
+ }
1796
+ if (!envMap.get(envVar).includes(skillName)) {
1797
+ envMap.get(envVar).push(skillName);
1798
+ }
1799
+ }
1800
+ }
1801
+ if (envMap.size === 0)
1802
+ return "";
1803
+ const lines = [
1804
+ "# Environment variables for installed skills",
1805
+ "# Auto-generated by: skills init",
1806
+ ""
1807
+ ];
1808
+ const sorted = Array.from(envMap.entries()).sort(([a], [b]) => a.localeCompare(b));
1809
+ let lastPrefix = "";
1810
+ for (const [envVar, skills] of sorted) {
1811
+ const prefix = envVar.split("_")[0];
1812
+ if (prefix !== lastPrefix) {
1813
+ if (lastPrefix)
1814
+ lines.push("");
1815
+ lines.push(`# ${prefix}`);
1816
+ lastPrefix = prefix;
1817
+ }
1818
+ lines.push(`# Used by: ${skills.join(", ")}`);
1819
+ lines.push(`${envVar}=`);
1820
+ }
1821
+ return lines.join(`
1822
+ `) + `
1823
+ `;
1824
+ }
1825
+ function generateSkillMd(name) {
1826
+ const meta = getSkill(name);
1827
+ if (!meta)
1828
+ return null;
1829
+ const skillPath = getSkillPath(name);
1830
+ if (!existsSync2(skillPath))
1831
+ return null;
1832
+ const frontmatter = [
1833
+ "---",
1834
+ `name: ${meta.name}`,
1835
+ `description: ${meta.description}`,
1836
+ "---"
1837
+ ].join(`
1838
+ `);
1839
+ const readme = readIfExists(join2(skillPath, "README.md"));
1840
+ const claudeMd = readIfExists(join2(skillPath, "CLAUDE.md"));
1841
+ let cliCommand = null;
1842
+ const pkgPath = join2(skillPath, "package.json");
1843
+ if (existsSync2(pkgPath)) {
1844
+ try {
1845
+ const pkg = JSON.parse(readFileSync2(pkgPath, "utf-8"));
1846
+ if (pkg.bin) {
1847
+ const binKeys = Object.keys(pkg.bin);
1848
+ if (binKeys.length > 0)
1849
+ cliCommand = binKeys[0];
1850
+ }
1851
+ } catch {}
1852
+ }
1853
+ const sections = [];
1854
+ sections.push(`# ${meta.displayName}`);
1855
+ sections.push("");
1856
+ sections.push(meta.description);
1857
+ if (readme) {
1858
+ const lines = readme.split(`
1859
+ `);
1860
+ let startIdx = 0;
1861
+ if (lines[0]?.startsWith("# ")) {
1862
+ startIdx = 1;
1863
+ if (lines[1]?.trim() === "")
1864
+ startIdx = 2;
1865
+ }
1866
+ const body = lines.slice(startIdx).join(`
1867
+ `).trim();
1868
+ if (body) {
1869
+ sections.push("");
1870
+ sections.push(body);
1871
+ }
1872
+ } else if (claudeMd) {
1873
+ const lines = claudeMd.split(`
1874
+ `);
1875
+ let startIdx = 0;
1876
+ if (lines[0]?.startsWith("# ")) {
1877
+ startIdx = 1;
1878
+ if (lines[1]?.trim() === "")
1879
+ startIdx = 2;
1880
+ }
1881
+ const body = lines.slice(startIdx).join(`
1882
+ `).trim();
1883
+ if (body) {
1884
+ sections.push("");
1885
+ sections.push(body);
1886
+ }
1887
+ }
1888
+ if (cliCommand) {
1889
+ sections.push("");
1890
+ sections.push("## CLI");
1891
+ sections.push("");
1892
+ sections.push("```bash");
1893
+ sections.push(`skills run ${meta.name}`);
1894
+ sections.push("```");
1895
+ }
1896
+ sections.push("");
1897
+ sections.push(`Category: ${meta.category}`);
1898
+ sections.push(`Tags: ${meta.tags.join(", ")}`);
1899
+ return frontmatter + `
1900
+
1901
+ ` + sections.join(`
1902
+ `) + `
1903
+ `;
1904
+ }
1905
+ var ENV_VAR_PATTERN = /\b([A-Z][A-Z0-9_]{2,}(?:_API_KEY|_KEY|_TOKEN|_SECRET|_URL|_ID|_PASSWORD|_ENDPOINT|_REGION|_BUCKET))\b/g;
1906
+ var GENERIC_ENV_PATTERN = /\b((?:OPENAI|ANTHROPIC|GEMINI|XAI|ELEVENLABS|DEEPGRAM|REPLICATE|FAL|STABILITY|EXA|FIRECRAWL|TWILIO|SENDGRID|RESEND|SLACK|DISCORD|NOTION|LINEAR|GITHUB|AWS|GOOGLE|CLOUDFLARE|VERCEL|SUPABASE|STRIPE)_[A-Z_]+)\b/g;
1907
+ function extractEnvVars(text) {
1908
+ const envVars = new Set;
1909
+ for (const pattern of [ENV_VAR_PATTERN, GENERIC_ENV_PATTERN]) {
1910
+ pattern.lastIndex = 0;
1911
+ let match;
1912
+ while ((match = pattern.exec(text)) !== null) {
1913
+ envVars.add(match[1]);
1914
+ }
1915
+ }
1916
+ return envVars;
1917
+ }
1918
+ function readIfExists(path) {
1919
+ try {
1920
+ if (existsSync2(path)) {
1921
+ return readFileSync2(path, "utf-8");
1922
+ }
1923
+ } catch {}
1924
+ return null;
1489
1925
  }
1926
+ export {
1927
+ skillExists,
1928
+ searchSkills,
1929
+ runSkill,
1930
+ removeSkillForAgent,
1931
+ removeSkill,
1932
+ installSkills,
1933
+ installSkillForAgent,
1934
+ installSkill,
1935
+ getSkillsByCategory,
1936
+ getSkillRequirements,
1937
+ getSkillPath,
1938
+ getSkillDocs,
1939
+ getSkillBestDoc,
1940
+ getSkill,
1941
+ getInstalledSkills,
1942
+ getAgentSkillsDir,
1943
+ getAgentSkillPath,
1944
+ generateSkillMd,
1945
+ generateEnvExample,
1946
+ SKILLS,
1947
+ CATEGORIES,
1948
+ AGENT_TARGETS
1949
+ };