@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,205 +0,0 @@
1
- /**
2
- * Skill Installation Handler
3
- *
4
- * Add this code to your skill's index.ts to enable:
5
- * skill-[name] install claude
6
- * skill-[name] install codex
7
- * skill-[name] uninstall claude
8
- */
9
-
10
- import { writeFileSync, mkdirSync, existsSync } from 'fs';
11
- import { join } from 'path';
12
- import { homedir } from 'os';
13
-
14
- interface SkillMeta {
15
- name: string;
16
- description: string;
17
- version: string;
18
- commands: string; // Help text or command list
19
- requiredEnvVars?: string[];
20
- }
21
-
22
- export async function handleInstallCommand(meta: SkillMeta, args: string[]): Promise<boolean> {
23
- const command = args[0];
24
- const assistant = args[1];
25
-
26
- if (command !== 'install' && command !== 'uninstall') {
27
- return false; // Not an install command
28
- }
29
-
30
- if (!assistant || !['claude', 'codex', 'windsurf', 'cursor'].includes(assistant)) {
31
- console.error('❌ Error: Please specify an assistant');
32
- console.error('');
33
- console.error('Usage:');
34
- console.error(` ${meta.name} install [claude|codex|windsurf|cursor]`);
35
- console.error(` ${meta.name} uninstall [claude|codex|windsurf|cursor]`);
36
- console.error('');
37
- console.error('Examples:');
38
- console.error(` ${meta.name} install claude`);
39
- console.error(` ${meta.name} install codex`);
40
- process.exit(1);
41
- }
42
-
43
- if (command === 'install') {
44
- await installSkill(meta, assistant);
45
- } else {
46
- await uninstallSkill(meta, assistant);
47
- }
48
-
49
- return true;
50
- }
51
-
52
- async function installSkill(meta: SkillMeta, assistant: string): Promise<void> {
53
- console.log(`📦 Installing ${meta.name} for ${assistant}...`);
54
- console.log('');
55
-
56
- const assistantPaths: Record<string, string> = {
57
- claude: '.claude/skills',
58
- codex: '.codex/skills',
59
- windsurf: '.windsurf/skills',
60
- cursor: '.cursor/skills',
61
- };
62
-
63
- const skillDir = join(homedir(), assistantPaths[assistant], meta.name);
64
- mkdirSync(skillDir, { recursive: true });
65
- console.log(`✓ Created: ${skillDir}`);
66
-
67
- // Generate SKILL.md
68
- const skillMd = generateSkillMd(meta);
69
- writeFileSync(join(skillDir, 'SKILL.md'), skillMd);
70
- console.log(`✓ Created: SKILL.md`);
71
-
72
- // Generate README.md
73
- const readme = generateReadme(meta);
74
- writeFileSync(join(skillDir, 'README.md'), readme);
75
- console.log(`✓ Created: README.md`);
76
-
77
- // Create log file
78
- const logFile = join(skillDir, `${meta.name}.log`);
79
- if (!existsSync(logFile)) {
80
- writeFileSync(logFile, `# ${meta.name} execution log\n# Created: ${new Date().toISOString()}\n\n`);
81
- console.log(`✓ Created: ${meta.name}.log`);
82
- }
83
-
84
- console.log('');
85
- console.log(`✅ ${meta.name} installed successfully!`);
86
- console.log('');
87
- console.log('Location:', skillDir);
88
- console.log('');
89
- console.log('Files created:');
90
- console.log(' - SKILL.md (documentation)');
91
- console.log(' - README.md (quick reference)');
92
- console.log(` - ${meta.name}.log (execution logs)`);
93
- }
94
-
95
- async function uninstallSkill(meta: SkillMeta, assistant: string): Promise<void> {
96
- console.log(`🗑️ Uninstalling ${meta.name} from ${assistant}...`);
97
- console.log('');
98
-
99
- const assistantPaths: Record<string, string> = {
100
- claude: '.claude/skills',
101
- codex: '.codex/skills',
102
- windsurf: '.windsurf/skills',
103
- cursor: '.cursor/skills',
104
- };
105
-
106
- const skillDir = join(homedir(), assistantPaths[assistant], meta.name);
107
-
108
- if (existsSync(skillDir)) {
109
- console.log(`⚠️ Directory preserved: ${skillDir}`);
110
- console.log(' (contains logs and configuration)');
111
- console.log(' Delete manually if needed:');
112
- console.log(` rm -rf ${skillDir}`);
113
- } else {
114
- console.log(`✓ ${meta.name} is not installed for ${assistant}`);
115
- }
116
- }
117
-
118
- function generateSkillMd(meta: SkillMeta): string {
119
- // Extract skill type from name (e.g., "skill-audio" -> "audio")
120
- const skillType = meta.name.replace('skill-', '');
121
-
122
- // Create gerund form for description trigger (e.g., "audio" -> "generating audio")
123
- const gerundForms: Record<string, string> = {
124
- audio: 'generating audio',
125
- image: 'generating images',
126
- video: 'generating videos',
127
- browse: 'browsing websites',
128
- codefix: 'fixing code',
129
- convert: 'converting files',
130
- deploy: 'deploying applications',
131
- emoji: 'generating emojis',
132
- extract: 'extracting data',
133
- transcript: 'transcribing audio',
134
- transform: 'transforming data',
135
- write: 'writing content',
136
- };
137
-
138
- const gerund = gerundForms[skillType] || `using ${skillType}`;
139
-
140
- // Enhanced description with usage triggers
141
- const enhancedDesc = `${meta.description}. Use when ${gerund} or when the user mentions ${skillType}.`;
142
-
143
- const envSection = meta.requiredEnvVars?.length ? `
144
-
145
- ## Environment Variables
146
-
147
- ${meta.requiredEnvVars.map(v => `- \`${v}\``).join('\n')}
148
-
149
- Add to your \`~/.zshrc\` or \`~/.bashrc\`:
150
- \`\`\`bash
151
- ${meta.requiredEnvVars.map(v => `export ${v}=your_key_here`).join('\n')}
152
- \`\`\`
153
- ` : '';
154
-
155
- return `---
156
- name: ${meta.name}
157
- description: ${enhancedDesc}
158
- ---
159
-
160
- # ${meta.name.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ')}
161
-
162
- ${meta.description}
163
-
164
- ## Quick Start
165
-
166
- \`\`\`bash
167
- ${meta.commands}
168
- \`\`\`
169
-
170
- ## Version
171
-
172
- ${meta.version}${envSection}
173
-
174
- ## Installation
175
-
176
- Installed at: \`~/.claude/skills/${meta.name}/\`
177
-
178
- ## Logs
179
-
180
- Execution logs: \`~/.claude/skills/${meta.name}/${meta.name}.log\`
181
-
182
- ## Support
183
-
184
- For issues, visit: https://github.com/hasnaxyz/${meta.name}/issues
185
- `;
186
- }
187
-
188
- function generateReadme(meta: SkillMeta): string {
189
- return `# ${meta.name}
190
-
191
- ${meta.description}
192
-
193
- **Version:** ${meta.version}
194
-
195
- ## Documentation
196
-
197
- See [SKILL.md](./SKILL.md) for complete documentation.
198
-
199
- ## Quick Reference
200
-
201
- \`\`\`bash
202
- ${meta.name} --help
203
- \`\`\`
204
- `;
205
- }
@@ -1,112 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- # Install script for skills
4
- # Installs the skill either globally for Claude Code or locally in a project
5
-
6
- set -e
7
-
8
- SKILL_NAME="$(basename "$(pwd)")"
9
- SKILL_PATH="$(pwd)"
10
-
11
- echo "📦 Installing $SKILL_NAME..."
12
- echo ""
13
-
14
- # Check if Claude Code is installed
15
- if ! command -v claude &> /dev/null; then
16
- echo "⚠️ Claude Code not found in PATH"
17
- echo " Please install Claude Code first: https://claude.com/claude-code"
18
- exit 1
19
- fi
20
-
21
- # Check if we're in a git repository
22
- if git rev-parse --git-dir > /dev/null 2>&1; then
23
- IN_REPO=true
24
- REPO_ROOT="$(git rev-parse --show-toplevel)"
25
- echo "📁 Detected git repository: $REPO_ROOT"
26
- else
27
- IN_REPO=false
28
- echo "📁 Not in a git repository"
29
- fi
30
-
31
- # Ask installation type
32
- echo ""
33
- echo "Where would you like to install this skill?"
34
- if [ "$IN_REPO" = true ]; then
35
- echo " 1) Locally (this repository only)"
36
- echo " 2) Globally (all Claude Code sessions)"
37
- read -p "Choose [1/2]: " choice
38
- else
39
- echo " Installing globally (not in a git repository)"
40
- choice=2
41
- fi
42
-
43
- # Install function
44
- install_skill() {
45
- local config_dir=$1
46
- local config_file="$config_dir/claude_mcp_config.json"
47
-
48
- # Create config directory if it doesn't exist
49
- mkdir -p "$config_dir"
50
-
51
- # Create or update config file
52
- if [ ! -f "$config_file" ]; then
53
- echo "{" > "$config_file"
54
- echo ' "mcpServers": {}' >> "$config_file"
55
- echo "}" >> "$config_file"
56
- fi
57
-
58
- # Add skill to config using bun
59
- bun -e "
60
- const fs = require('fs');
61
- const config = JSON.parse(fs.readFileSync('$config_file', 'utf8'));
62
-
63
- if (!config.mcpServers) config.mcpServers = {};
64
-
65
- config.mcpServers['$SKILL_NAME'] = {
66
- command: 'bun',
67
- args: ['run', '$SKILL_PATH/src/index.ts'],
68
- env: {
69
- SKILL_API_KEY: process.env.SKILL_API_KEY || '',
70
- ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY || '',
71
- OPENAI_API_KEY: process.env.OPENAI_API_KEY || '',
72
- ELEVENLABS_API_KEY: process.env.ELEVENLABS_API_KEY || '',
73
- GEMINI_API_KEY: process.env.GEMINI_API_KEY || '',
74
- XAI_API_KEY: process.env.XAI_API_KEY || '',
75
- GOOGLE_API_KEY: process.env.GOOGLE_API_KEY || '',
76
- GOOGLE_PROJECT_ID: process.env.GOOGLE_PROJECT_ID || '',
77
- BROWSER_USE_API_KEY: process.env.BROWSER_USE_API_KEY || '',
78
- RUNWAY_API_KEY: process.env.RUNWAY_API_KEY || ''
79
- }
80
- };
81
-
82
- fs.writeFileSync('$config_file', JSON.stringify(config, null, 2));
83
- "
84
-
85
- echo "✅ Installed $SKILL_NAME to $config_file"
86
- }
87
-
88
- # Install based on choice
89
- if [ "$choice" = "1" ]; then
90
- # Local installation
91
- install_skill "$REPO_ROOT/.claude"
92
- echo ""
93
- echo "🎉 $SKILL_NAME installed locally!"
94
- echo " Config: $REPO_ROOT/.claude/claude_mcp_config.json"
95
- elif [ "$choice" = "2" ]; then
96
- # Global installation
97
- install_skill "$HOME/.config/claude-code"
98
- echo ""
99
- echo "🎉 $SKILL_NAME installed globally!"
100
- echo " Config: $HOME/.config/claude-code/claude_mcp_config.json"
101
- else
102
- echo "❌ Invalid choice"
103
- exit 1
104
- fi
105
-
106
- echo ""
107
- echo "📝 Next steps:"
108
- echo " 1. Restart Claude Code"
109
- echo " 2. The skill will be available as: $SKILL_NAME"
110
- echo ""
111
- echo " Usage: Claude Code will automatically detect and use this skill"
112
- echo " based on your prompts and task context."
@@ -1,49 +0,0 @@
1
- /**
2
- * Skill Authentication Check
3
- * Add this to the top of any skill's main function
4
- */
5
-
6
- export function checkSkillAuth(): void {
7
- const SKILL_API_KEY = process.env.SKILL_API_KEY;
8
-
9
- // Check if SKILL_API_KEY is set
10
- if (!SKILL_API_KEY) {
11
- console.error('❌ Error: SKILL_API_KEY environment variable not set');
12
- console.error('');
13
- console.error('To use this skill, you must set your SKILL_API_KEY:');
14
- console.error('');
15
- console.error(' export SKILL_API_KEY=your-api-key-here');
16
- console.error('');
17
- console.error('Contact your administrator to get your API key.');
18
- process.exit(1);
19
- }
20
-
21
- // Validate key format
22
- if (!SKILL_API_KEY.startsWith('sk-skill-')) {
23
- console.error('❌ Error: Invalid SKILL_API_KEY format');
24
- console.error('Expected format: sk-skill-xxxxxxxxxxxx');
25
- process.exit(1);
26
- }
27
-
28
- // Key is valid - skill can proceed
29
- }
30
-
31
- /**
32
- * Check if running remotely (via SSH or network)
33
- */
34
- export function isRemoteExecution(): boolean {
35
- return !!(
36
- process.env.SSH_CONNECTION ||
37
- process.env.SSH_CLIENT ||
38
- process.env.SSH_TTY
39
- );
40
- }
41
-
42
- /**
43
- * Require auth only if remote execution
44
- */
45
- export function requireAuthIfRemote(): void {
46
- if (isRemoteExecution()) {
47
- checkSkillAuth();
48
- }
49
- }
@@ -1,128 +0,0 @@
1
- /**
2
- * Skill HTTP Client
3
- *
4
- * Generic HTTP client for calling the remote skill API server
5
- * Usage: import and call executeSkill() from your skill CLI
6
- */
7
-
8
- const SKILL_API_URL = process.env.SKILL_API_URL || "https://skill.hasnaxyz.com";
9
-
10
- export interface SkillRequest {
11
- skill: string;
12
- command?: string;
13
- provider?: string;
14
- prompt?: string;
15
- text?: string;
16
- output?: string;
17
- [key: string]: unknown;
18
- }
19
-
20
- export interface SkillResponse {
21
- success: boolean;
22
- output?: string;
23
- error?: string;
24
- details?: string;
25
- }
26
-
27
- /**
28
- * Execute a skill on the remote server
29
- */
30
- export async function executeSkill(request: SkillRequest): Promise<SkillResponse | Blob> {
31
- const { skill, ...params } = request;
32
-
33
- const url = `${SKILL_API_URL}/${skill}/`;
34
-
35
- // Get API key from environment
36
- const apiKey = process.env.SKILL_API_KEY;
37
- if (!apiKey) {
38
- return {
39
- success: false,
40
- error: "Missing SKILL_API_KEY",
41
- details: "Set SKILL_API_KEY environment variable"
42
- };
43
- }
44
-
45
- try {
46
- const response = await fetch(url, {
47
- method: "POST",
48
- headers: {
49
- "Content-Type": "application/json",
50
- "User-Agent": `skill-${skill}-cli/1.0`,
51
- "X-API-Key": apiKey
52
- },
53
- body: JSON.stringify(params)
54
- });
55
-
56
- if (!response.ok) {
57
- const error = await response.json();
58
- return {
59
- success: false,
60
- error: error.error || `HTTP ${response.status}`,
61
- details: error.details || error.message
62
- };
63
- }
64
-
65
- // Check if response is a file (binary)
66
- const contentType = response.headers.get("Content-Type") || "";
67
- if (contentType.includes("image/") ||
68
- contentType.includes("audio/") ||
69
- contentType.includes("video/") ||
70
- contentType.includes("application/")) {
71
- return await response.blob();
72
- }
73
-
74
- // Otherwise JSON
75
- return await response.json();
76
-
77
- } catch (error) {
78
- return {
79
- success: false,
80
- error: "Network error",
81
- details: error instanceof Error ? error.message : String(error)
82
- };
83
- }
84
- }
85
-
86
- /**
87
- * Save a blob to a file
88
- */
89
- export async function saveBlob(blob: Blob, outputPath: string): Promise<void> {
90
- const buffer = await blob.arrayBuffer();
91
- await Bun.write(outputPath, buffer);
92
- }
93
-
94
- /**
95
- * Helper to execute a skill and save file if needed
96
- */
97
- export async function executeAndSave(request: SkillRequest): Promise<boolean> {
98
- console.log(`🔗 Connecting to ${SKILL_API_URL}...`);
99
-
100
- const result = await executeSkill(request);
101
-
102
- if (result instanceof Blob) {
103
- // File response
104
- if (!request.output) {
105
- console.error("❌ Error: No output path specified");
106
- return false;
107
- }
108
-
109
- await saveBlob(result, request.output);
110
- console.log(`✅ Saved to: ${request.output}`);
111
- return true;
112
- }
113
-
114
- // JSON response
115
- if (!result.success) {
116
- console.error(`❌ Error: ${result.error}`);
117
- if (result.details) {
118
- console.error(` ${result.details}`);
119
- }
120
- return false;
121
- }
122
-
123
- if (result.output) {
124
- console.log(result.output);
125
- }
126
-
127
- return true;
128
- }
@@ -1,111 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- /**
4
- * Skill Convert (HTTP Client)
5
- * Calls the remote skill API server
6
- */
7
-
8
- import { executeAndSave, executeSkill } from './http-client';
9
- import { handleInstallCommand } from './skill-install';
10
-
11
- // Skill metadata for install command
12
- const SKILL_META = {
13
- name: 'skill-convert',
14
- description: 'Convert skill - calls remote API',
15
- version: '1.0.0',
16
- commands: `skill-convert <command> [options]`,
17
- requiredEnvVars: ['SKILL_API_KEY'],
18
- };
19
-
20
- // Handle install/uninstall commands
21
- if (await handleInstallCommand(SKILL_META, process.argv.slice(2))) {
22
- process.exit(0);
23
- }
24
-
25
- // Parse command line arguments
26
- function parseArgs(): Record<string, string | boolean> {
27
- const args = process.argv.slice(2);
28
- const parsed: Record<string, string | boolean> = {};
29
-
30
- for (let i = 0; i < args.length; i++) {
31
- if (args[i].startsWith('--')) {
32
- const key = args[i].slice(2);
33
- const value = args[i + 1];
34
- if (value && !value.startsWith('--')) {
35
- parsed[key] = value;
36
- i++;
37
- } else {
38
- parsed[key] = true;
39
- }
40
- } else if (!parsed.command) {
41
- parsed.command = args[i];
42
- }
43
- }
44
-
45
- return parsed;
46
- }
47
-
48
- // Main logic
49
- async function main() {
50
- const args = parseArgs();
51
- const command = (args.command as string) || 'help';
52
-
53
- if (command === 'help' || args.help) {
54
- console.log(`Skill Convert CLI
55
-
56
- USAGE:
57
- skill-convert <command> [options]
58
-
59
- COMMANDS:
60
- Call with any command and it will be forwarded to the remote API server
61
-
62
- EXAMPLES:
63
- skill-convert generate --provider <provider> [options]`);
64
- return;
65
- }
66
-
67
- // Extract all parameters
68
- const { command: cmd, ...params } = args;
69
-
70
- // Check if output file is expected (for file-generating skills)
71
- const fileSkills = ['audio', 'image', 'video', 'emoji'];
72
- const isFileSkill = fileSkills.includes('convert');
73
-
74
- if (isFileSkill && params.output) {
75
- // Skill that generates files
76
- const success = await executeAndSave({
77
- skill: 'convert',
78
- command: cmd,
79
- ...params,
80
- });
81
- process.exit(success ? 0 : 1);
82
- } else {
83
- // Skill that returns JSON/text
84
- const result = await executeSkill({
85
- skill: 'convert',
86
- command: cmd,
87
- ...params,
88
- });
89
-
90
- if (result instanceof Blob) {
91
- console.error('❌ Unexpected binary response');
92
- process.exit(1);
93
- }
94
-
95
- if (result.success && result.output) {
96
- console.log(result.output);
97
- } else {
98
- console.error(`❌ Error: ${result.error}`);
99
- if (result.details) {
100
- console.error(` ${result.details}`);
101
- }
102
- process.exit(1);
103
- }
104
- }
105
- }
106
-
107
- // Run main
108
- main().catch((error) => {
109
- console.error('❌ Fatal error:', error.message);
110
- process.exit(1);
111
- });