@hasna/skills 0.1.26 → 0.1.29

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 (491) hide show
  1. package/LICENSE +1 -10
  2. package/README.md +141 -39
  3. package/bin/index.js +30122 -27575
  4. package/bin/mcp.js +22112 -18593
  5. package/dist/cli/cli.test-utils.d.ts +15 -0
  6. package/dist/cli/commands/auth.d.ts +2 -0
  7. package/dist/cli/commands/install.d.ts +1 -1
  8. package/dist/cli/commands/runtime-mcp.d.ts +4 -0
  9. package/dist/index.d.ts +9 -4
  10. package/dist/index.js +11607 -597
  11. package/dist/lib/auth-store.d.ts +13 -0
  12. package/dist/lib/installer.d.ts +58 -55
  13. package/dist/lib/mcp-contracts.d.ts +86 -0
  14. package/dist/lib/project-state.d.ts +43 -0
  15. package/dist/lib/registry-data/business-marketing.d.ts +2 -0
  16. package/dist/lib/registry-data/communication.d.ts +2 -0
  17. package/dist/lib/registry-data/content-generation.d.ts +2 -0
  18. package/dist/lib/registry-data/data-analysis.d.ts +2 -0
  19. package/dist/lib/registry-data/design-branding.d.ts +2 -0
  20. package/dist/lib/registry-data/development-tools.d.ts +2 -0
  21. package/dist/lib/registry-data/education-learning.d.ts +2 -0
  22. package/dist/lib/registry-data/event-management.d.ts +2 -0
  23. package/dist/lib/registry-data/finance-compliance.d.ts +2 -0
  24. package/dist/lib/registry-data/health-wellness.d.ts +2 -0
  25. package/dist/lib/registry-data/index.d.ts +2 -0
  26. package/dist/lib/registry-data/media-processing.d.ts +2 -0
  27. package/dist/lib/registry-data/productivity-organization.d.ts +2 -0
  28. package/dist/lib/registry-data/project-management.d.ts +2 -0
  29. package/dist/lib/registry-data/research-writing.d.ts +2 -0
  30. package/dist/lib/registry-data/science-academic.d.ts +2 -0
  31. package/dist/lib/registry-data/travel-lifestyle.d.ts +2 -0
  32. package/dist/lib/registry-data/web-browser.d.ts +2 -0
  33. package/dist/lib/registry-types.d.ts +27 -0
  34. package/dist/lib/registry.d.ts +6 -18
  35. package/dist/lib/remote-registry.d.ts +3 -0
  36. package/dist/lib/run-state.d.ts +60 -0
  37. package/dist/lib/skill-aliases.d.ts +17 -0
  38. package/dist/lib/skillinfo.d.ts +5 -1
  39. package/dist/mcp/discovery-tools.d.ts +2 -0
  40. package/dist/mcp/helpers.d.ts +26 -0
  41. package/dist/mcp/http.d.ts +10 -0
  42. package/dist/mcp/index.d.ts +3 -2
  43. package/dist/mcp/operation-tools.d.ts +2 -0
  44. package/dist/mcp/resource-meta-tools.d.ts +2 -0
  45. package/dist/mcp/schedule-tools.d.ts +2 -0
  46. package/dist/mcp/server.d.ts +4 -0
  47. package/dist/types/api.d.ts +7 -4
  48. package/package.json +23 -10
  49. package/skills/_common/http-client.ts +1 -1
  50. package/skills/_common/index.ts +2 -3
  51. package/skills/_common/install.sh +5 -110
  52. package/skills/_common/installer.ts +31 -282
  53. package/skills/_common/skill-install.ts +14 -181
  54. package/skills/ad-creative-pack/SKILL.md +45 -0
  55. package/skills/ad-creative-pack/package.json +14 -0
  56. package/skills/advanced-math/package.json +3 -1
  57. package/skills/advanced-math/src/calculators.ts +118 -0
  58. package/skills/advanced-math/src/cli.ts +130 -0
  59. package/skills/advanced-math/src/conversion.ts +90 -0
  60. package/skills/advanced-math/src/finance.ts +75 -0
  61. package/skills/advanced-math/src/formatting.ts +95 -0
  62. package/skills/advanced-math/src/index.ts +24 -702
  63. package/skills/advanced-math/src/runtime.ts +49 -0
  64. package/skills/advanced-math/src/symbolic.ts +110 -0
  65. package/skills/advanced-math/src/types.ts +36 -0
  66. package/skills/analyze-data/SKILL.md +2 -2
  67. package/skills/analyze-data/src/analysis.ts +401 -0
  68. package/skills/analyze-data/src/cli.ts +66 -0
  69. package/skills/analyze-data/src/formatters.ts +235 -0
  70. package/skills/analyze-data/src/index.ts +6 -1027
  71. package/skills/analyze-data/src/logger.ts +36 -0
  72. package/skills/analyze-data/src/parsers.ts +57 -0
  73. package/skills/analyze-data/src/stats.ts +151 -0
  74. package/skills/analyze-data/src/types.ts +85 -0
  75. package/skills/api-docs-portal/SKILL.md +46 -0
  76. package/skills/api-docs-portal/package.json +9 -0
  77. package/skills/api-test-suite/src/index.ts +13 -0
  78. package/skills/apidocs/package.json +1 -1
  79. package/skills/apidocs/src/index.ts +3 -0
  80. package/skills/audio/package.json +2 -3
  81. package/skills/audio-cleanup-lab/SKILL.md +2 -2
  82. package/skills/audio-extract/CLAUDE.md +1 -1
  83. package/skills/audio-transcript-pack/SKILL.md +43 -0
  84. package/skills/audio-transcript-pack/package.json +10 -0
  85. package/skills/blog-article/CLAUDE.md +12 -0
  86. package/skills/blog-article/SKILL.md +45 -0
  87. package/skills/{create-blog-article → blog-article}/package.json +3 -3
  88. package/skills/brand-kit/SKILL.md +45 -0
  89. package/skills/brand-kit/package.json +14 -0
  90. package/skills/brand-photo-shoot/SKILL.md +28 -0
  91. package/skills/brand-photo-shoot/package.json +10 -0
  92. package/skills/brand-style-guide/SKILL.md +2 -2
  93. package/skills/brand-style-guide/src/index.ts +0 -0
  94. package/skills/budget-variance-analyzer/SKILL.md +2 -2
  95. package/skills/businessactivity/package.json +1 -1
  96. package/skills/businessactivity/src/index.ts +3 -0
  97. package/skills/calendar-events/src/ai-parser.ts +103 -0
  98. package/skills/calendar-events/src/api.ts +157 -0
  99. package/skills/calendar-events/src/auth.ts +22 -0
  100. package/skills/calendar-events/src/config.ts +6 -0
  101. package/skills/calendar-events/src/format.ts +96 -0
  102. package/skills/calendar-events/src/help.ts +54 -0
  103. package/skills/calendar-events/src/index.ts +21 -524
  104. package/skills/calendar-events/src/logger.ts +34 -0
  105. package/skills/calendar-events/src/types.ts +67 -0
  106. package/skills/compress-video/SKILL.md +2 -2
  107. package/skills/consolelog/package.json +1 -1
  108. package/skills/consolelog/src/index.ts +3 -0
  109. package/skills/contract-review-report/SKILL.md +43 -0
  110. package/skills/contract-review-report/package.json +10 -0
  111. package/skills/convert/SKILL.md +2 -3
  112. package/skills/customer-feedback-report/SKILL.md +44 -0
  113. package/skills/customer-feedback-report/package.json +10 -0
  114. package/skills/dashboard-builder/package.json +3 -1
  115. package/skills/database-explorer/package.json +3 -1
  116. package/skills/deepresearch/README.md +4 -13
  117. package/skills/deploy/src/http-client.ts +1 -1
  118. package/skills/diff-viewer/package.json +4 -1
  119. package/skills/doc-generate/package.json +0 -1
  120. package/skills/doc-generate/src/ai.ts +50 -0
  121. package/skills/doc-generate/src/cli.ts +203 -0
  122. package/skills/doc-generate/src/dependencies.ts +44 -0
  123. package/skills/doc-generate/src/document-builder.ts +299 -0
  124. package/skills/doc-generate/src/index.ts +40 -764
  125. package/skills/doc-generate/src/markdown-parser.ts +125 -0
  126. package/skills/doc-generate/src/types.ts +68 -0
  127. package/skills/domainpurchase/SKILL.md +1 -1
  128. package/skills/domainpurchase/package.json +1 -1
  129. package/skills/domainpurchase/src/index.ts +3 -0
  130. package/skills/domainsearch/SKILL.md +1 -1
  131. package/skills/domainsearch/package.json +1 -1
  132. package/skills/domainsearch/src/index.ts +3 -0
  133. package/skills/email-sequence/SKILL.md +44 -0
  134. package/skills/email-sequence/package.json +14 -0
  135. package/skills/excel/CLAUDE.md +2 -2
  136. package/skills/experiment-power-calculator/package.json +3 -1
  137. package/skills/extract-invoice/src/cli.ts +97 -0
  138. package/skills/extract-invoice/src/extractor.ts +170 -0
  139. package/skills/extract-invoice/src/file-utils.ts +46 -0
  140. package/skills/extract-invoice/src/formatters.ts +144 -0
  141. package/skills/extract-invoice/src/index.ts +44 -629
  142. package/skills/extract-invoice/src/runtime.ts +46 -0
  143. package/skills/extract-invoice/src/types.ts +88 -0
  144. package/skills/folder-tree/package.json +3 -1
  145. package/skills/form-filler/package.json +3 -1
  146. package/skills/generate-api-client/package.json +3 -1
  147. package/skills/generate-api-client/src/generator.ts +47 -0
  148. package/skills/generate-api-client/src/index.ts +3 -777
  149. package/skills/generate-api-client/src/logger.ts +34 -0
  150. package/skills/generate-api-client/src/python-generator.ts +245 -0
  151. package/skills/generate-api-client/src/spec-loader.ts +48 -0
  152. package/skills/generate-api-client/src/type-mappers.ts +79 -0
  153. package/skills/generate-api-client/src/types.ts +76 -0
  154. package/skills/generate-api-client/src/typescript-generator.ts +247 -0
  155. package/skills/generate-book-cover/package.json +3 -1
  156. package/skills/generate-dockerfile/src/cli.ts +78 -0
  157. package/skills/generate-dockerfile/src/dockerfile-templates.ts +392 -0
  158. package/skills/generate-dockerfile/src/index.ts +12 -790
  159. package/skills/generate-dockerfile/src/logger.ts +30 -0
  160. package/skills/generate-dockerfile/src/project-detection.ts +68 -0
  161. package/skills/generate-dockerfile/src/support-files.ts +171 -0
  162. package/skills/generate-dockerfile/src/types.ts +29 -0
  163. package/skills/generate-documentation/src/ai.ts +131 -0
  164. package/skills/generate-documentation/src/cli.ts +71 -0
  165. package/skills/generate-documentation/src/code-parser.ts +300 -0
  166. package/skills/generate-documentation/src/file-processing.ts +182 -0
  167. package/skills/generate-documentation/src/index.ts +13 -753
  168. package/skills/generate-documentation/src/runtime.ts +35 -0
  169. package/skills/generate-documentation/src/types.ts +30 -0
  170. package/skills/generate-env/package.json +3 -1
  171. package/skills/generate-env/src/cli.ts +85 -0
  172. package/skills/generate-env/src/detection.ts +161 -0
  173. package/skills/generate-env/src/env-data.ts +66 -0
  174. package/skills/generate-env/src/generators.ts +240 -0
  175. package/skills/generate-env/src/index.ts +76 -676
  176. package/skills/generate-env/src/runtime.ts +30 -0
  177. package/skills/generate-env/src/types.ts +32 -0
  178. package/skills/generate-favicon/package.json +3 -1
  179. package/skills/generate-mock-data/package.json +3 -1
  180. package/skills/generate-mock-data/src/ai.ts +102 -0
  181. package/skills/generate-mock-data/src/formatters.ts +84 -0
  182. package/skills/generate-mock-data/src/generator.ts +377 -0
  183. package/skills/generate-mock-data/src/index.ts +15 -716
  184. package/skills/generate-mock-data/src/logger.ts +37 -0
  185. package/skills/generate-mock-data/src/presets.ts +110 -0
  186. package/skills/generate-mock-data/src/types.ts +21 -0
  187. package/skills/generate-pr-description/src/ai.ts +144 -0
  188. package/skills/generate-pr-description/src/cli.ts +80 -0
  189. package/skills/generate-pr-description/src/clipboard.ts +30 -0
  190. package/skills/generate-pr-description/src/formatters.ts +231 -0
  191. package/skills/generate-pr-description/src/git.ts +153 -0
  192. package/skills/generate-pr-description/src/index.ts +21 -714
  193. package/skills/generate-pr-description/src/types.ts +49 -0
  194. package/skills/generate-presentation/src/ai-clients.ts +61 -0
  195. package/skills/generate-presentation/src/cli.ts +126 -0
  196. package/skills/generate-presentation/src/index.ts +3 -751
  197. package/skills/generate-presentation/src/logger.ts +67 -0
  198. package/skills/generate-presentation/src/presentation-generator.ts +425 -0
  199. package/skills/generate-presentation/src/runtime.ts +6 -0
  200. package/skills/generate-presentation/src/security.ts +12 -0
  201. package/skills/generate-presentation/src/types.ts +28 -0
  202. package/skills/generate-qrcode/package.json +4 -1
  203. package/skills/generate-regex/package.json +3 -1
  204. package/skills/generate-resume/src/cli.ts +157 -0
  205. package/skills/generate-resume/src/index.ts +13 -917
  206. package/skills/generate-resume/src/parsers.ts +95 -0
  207. package/skills/generate-resume/src/renderers.ts +538 -0
  208. package/skills/generate-resume/src/security.ts +39 -0
  209. package/skills/generate-resume/src/types.ts +86 -0
  210. package/skills/generate-social-posts/src/ai.ts +88 -0
  211. package/skills/generate-social-posts/src/cli.ts +118 -0
  212. package/skills/generate-social-posts/src/exporters.ts +126 -0
  213. package/skills/generate-social-posts/src/generator.ts +130 -0
  214. package/skills/generate-social-posts/src/index.ts +19 -709
  215. package/skills/generate-social-posts/src/platforms.ts +39 -0
  216. package/skills/generate-social-posts/src/runtime.ts +34 -0
  217. package/skills/generate-social-posts/src/source.ts +116 -0
  218. package/skills/generate-social-posts/src/types.ts +58 -0
  219. package/skills/gif-maker/package.json +4 -1
  220. package/skills/github-manager/package.json +3 -1
  221. package/skills/gmail/CLAUDE.md +1 -1
  222. package/skills/highlight-reel-generator/src/index.ts +19 -0
  223. package/skills/hook/src/commands/create.ts +20 -845
  224. package/skills/hook/src/templates/root.ts +196 -0
  225. package/skills/hook/src/templates/source.ts +647 -0
  226. package/skills/http-server/package.json +3 -1
  227. package/skills/icon-pack/README.md +28 -0
  228. package/skills/icon-pack/SKILL.md +23 -0
  229. package/skills/icon-pack/package.json +29 -0
  230. package/skills/{audio → icon-pack}/tsconfig.json +10 -12
  231. package/skills/image/package.json +1 -2
  232. package/skills/implementation-agent/package.json +3 -1
  233. package/skills/implementation-agent/src/ai-generation.ts +225 -0
  234. package/skills/implementation-agent/src/index.ts +3 -960
  235. package/skills/implementation-agent/src/minimist.d.ts +15 -0
  236. package/skills/implementation-agent/src/templates.ts +686 -0
  237. package/skills/implementation-agent/src/types.ts +53 -0
  238. package/skills/implementation-plan/package.json +3 -1
  239. package/skills/implementation-todo/package.json +3 -1
  240. package/skills/invoice/package.json +1 -1
  241. package/skills/invoice/src/index.ts +3 -0
  242. package/skills/invoice-reconciliation/SKILL.md +42 -0
  243. package/skills/invoice-reconciliation/package.json +10 -0
  244. package/skills/landing-page-pack/SKILL.md +47 -0
  245. package/skills/landing-page-pack/package.json +14 -0
  246. package/skills/latex-table-generator/package.json +3 -1
  247. package/skills/logo-design/SKILL.md +25 -44
  248. package/skills/logo-design/package.json +3 -15
  249. package/skills/lorem-generator/package.json +3 -1
  250. package/skills/lorem-generator/src/index.ts +13 -0
  251. package/skills/managehook/package.json +1 -1
  252. package/skills/managehook/src/index.ts +3 -0
  253. package/skills/managemcp/package.json +1 -1
  254. package/skills/managemcp/src/index.ts +3 -0
  255. package/skills/manageskill/package.json +1 -1
  256. package/skills/manageskill/src/index.ts +3 -0
  257. package/skills/markdown-validator/package.json +3 -1
  258. package/skills/markdown-validator/src/index.ts +1 -4
  259. package/skills/market-research-report/SKILL.md +41 -0
  260. package/skills/market-research-report/package.json +10 -0
  261. package/skills/mcp-builder/package.json +4 -1
  262. package/skills/mcp-builder/src/ai-descriptions.ts +37 -0
  263. package/skills/mcp-builder/src/generators.ts +513 -0
  264. package/skills/mcp-builder/src/index.ts +7 -908
  265. package/skills/mcp-builder/src/minimist.d.ts +15 -0
  266. package/skills/mcp-builder/src/naming.ts +12 -0
  267. package/skills/mcp-builder/src/options.ts +170 -0
  268. package/skills/mcp-builder/src/templates.ts +149 -0
  269. package/skills/mcp-builder/src/types.ts +42 -0
  270. package/skills/meeting-pack/SKILL.md +43 -0
  271. package/skills/meeting-pack/package.json +10 -0
  272. package/skills/merge-pdfs/package.json +5 -1
  273. package/skills/migration-plan-pack/SKILL.md +45 -0
  274. package/skills/migration-plan-pack/package.json +10 -0
  275. package/skills/music/package.json +2 -3
  276. package/skills/music-album/SKILL.md +37 -0
  277. package/skills/music-album/package.json +10 -0
  278. package/skills/notion-manager/package.json +3 -1
  279. package/skills/npmpublish/CLAUDE.md +5 -8
  280. package/skills/npmpublish/README.md +5 -26
  281. package/skills/npmpublish/src/index.ts +9 -147
  282. package/skills/one-page-website/SKILL.md +46 -0
  283. package/skills/one-page-website/package.json +10 -0
  284. package/skills/one-page-website/tsconfig.json +8 -0
  285. package/skills/pdf-generate/src/cli.ts +162 -0
  286. package/skills/pdf-generate/src/html.ts +84 -0
  287. package/skills/pdf-generate/src/index.ts +11 -800
  288. package/skills/pdf-generate/src/markdown.ts +27 -0
  289. package/skills/pdf-generate/src/pdf-writer.ts +78 -0
  290. package/skills/pdf-generate/src/runtime.ts +34 -0
  291. package/skills/pdf-generate/src/security.ts +37 -0
  292. package/skills/pdf-generate/src/templates.ts +311 -0
  293. package/skills/pdf-generate/src/types.ts +28 -0
  294. package/skills/pdf-read/SKILL.md +10 -10
  295. package/skills/pdf-to-dataset/SKILL.md +45 -0
  296. package/skills/pdf-to-dataset/package.json +10 -0
  297. package/skills/pdf-to-markdown/SKILL.md +49 -0
  298. package/skills/pdf-to-markdown/package.json +10 -0
  299. package/skills/pdf-to-markdown/tsconfig.json +10 -0
  300. package/skills/performance-audit-report/SKILL.md +42 -0
  301. package/skills/performance-audit-report/package.json +10 -0
  302. package/skills/persona-based-adwriter/src/index.ts +19 -0
  303. package/skills/photo-album/SKILL.md +29 -0
  304. package/skills/photo-album/package.json +9 -0
  305. package/skills/photo-album/tsconfig.json +4 -0
  306. package/skills/pitch-deck/SKILL.md +43 -0
  307. package/skills/pitch-deck/package.json +9 -0
  308. package/skills/playlist-maker/SKILL.md +33 -0
  309. package/skills/playlist-maker/package.json +9 -0
  310. package/skills/playlist-maker/tsconfig.json +4 -0
  311. package/skills/product-mockup/SKILL.md +45 -0
  312. package/skills/product-mockup/package.json +3 -20
  313. package/skills/product-mockup/tsconfig.json +3 -5
  314. package/skills/project-retro-companion/src/index.ts +19 -0
  315. package/skills/proposal-pack/SKILL.md +45 -0
  316. package/skills/proposal-pack/package.json +10 -0
  317. package/skills/read-pdf/SKILL.md +5 -4
  318. package/skills/repo-onboarding-report/SKILL.md +42 -0
  319. package/skills/repo-onboarding-report/package.json +10 -0
  320. package/skills/sales-call-recapper/src/index.ts +20 -0
  321. package/skills/salescopy/package.json +1 -1
  322. package/skills/salescopy/src/index.ts +3 -0
  323. package/skills/scaffold-project/src/ai-detect.ts +136 -0
  324. package/skills/scaffold-project/src/file-generators.ts +292 -0
  325. package/skills/scaffold-project/src/index.ts +8 -991
  326. package/skills/scaffold-project/src/project-config.ts +338 -0
  327. package/skills/scaffold-project/src/templates.ts +173 -0
  328. package/skills/scaffold-project/src/types.ts +58 -0
  329. package/skills/scientific-figure-check/package.json +3 -1
  330. package/skills/sdk-generator/SKILL.md +45 -0
  331. package/skills/sdk-generator/package.json +10 -0
  332. package/skills/sdk-generator/tsconfig.json +8 -0
  333. package/skills/security-audit/src/index.ts +25 -6
  334. package/skills/security-audit-report/SKILL.md +40 -0
  335. package/skills/security-audit-report/package.json +10 -0
  336. package/skills/seo-content-pack/SKILL.md +44 -0
  337. package/skills/seo-content-pack/package.json +9 -0
  338. package/skills/short-video-pack/SKILL.md +30 -0
  339. package/skills/short-video-pack/package.json +10 -0
  340. package/skills/slack-assistant/package.json +3 -1
  341. package/skills/slide-deck-generator/SKILL.md +44 -0
  342. package/skills/slide-deck-generator/package.json +10 -0
  343. package/skills/sms/package.json +1 -1
  344. package/skills/sms/src/index.ts +15 -0
  345. package/skills/social-content-calendar/SKILL.md +45 -0
  346. package/skills/social-content-calendar/package.json +14 -0
  347. package/skills/split-pdf/package.json +4 -1
  348. package/skills/subtitle/package.json +2 -1
  349. package/skills/subtitle/src/index.ts +3 -0
  350. package/skills/terraform-generator/package.json +3 -1
  351. package/skills/test-suite-generator/SKILL.md +41 -0
  352. package/skills/test-suite-generator/package.json +10 -0
  353. package/skills/timesheet/package.json +1 -1
  354. package/skills/timesheet/src/index.ts +3 -0
  355. package/skills/transcript/SKILL.md +1 -8
  356. package/skills/validate-config/package.json +3 -1
  357. package/skills/video/package.json +6 -4
  358. package/skills/video-downloader/package.json +3 -1
  359. package/skills/video-highlight-pack/SKILL.md +44 -0
  360. package/skills/video-highlight-pack/package.json +10 -0
  361. package/skills/voiceover-jingle-pack/SKILL.md +28 -0
  362. package/skills/voiceover-jingle-pack/package.json +10 -0
  363. package/skills/watermark/package.json +6 -1
  364. package/skills/webcrawling/package.json +2 -1
  365. package/skills/write/SKILL.md +6 -6
  366. package/dist/server/serve.d.ts +0 -11
  367. package/skills/apidocs/.claude/settings.json +0 -5
  368. package/skills/audio/.env.example +0 -14
  369. package/skills/audio/QUICKSTART.md +0 -158
  370. package/skills/audio/README.md +0 -256
  371. package/skills/audio/src/index-local.ts +0 -206
  372. package/skills/audio/src/index.ts +0 -95
  373. package/skills/audio/src/providers/elevenlabs.ts +0 -115
  374. package/skills/audio/src/providers/google.ts +0 -116
  375. package/skills/audio/src/providers/minimax.ts +0 -83
  376. package/skills/audio/src/providers/openai.ts +0 -115
  377. package/skills/audio/src/types.ts +0 -79
  378. package/skills/audiobook-chapter-proofer/CLAUDE.md +0 -19
  379. package/skills/audiobook-chapter-proofer/package.json +0 -27
  380. package/skills/audiobook-chapter-proofer/src/index.ts +0 -285
  381. package/skills/browse/src/client.ts +0 -373
  382. package/skills/browse/src/index-local.ts +0 -430
  383. package/skills/browse/src/index.ts +0 -110
  384. package/skills/browse/src/sse-server.ts +0 -919
  385. package/skills/browse/src/types.ts +0 -104
  386. package/skills/consolelog/src/server/index.ts +0 -508
  387. package/skills/create-blog-article/CLAUDE.md +0 -19
  388. package/skills/create-blog-article/src/index.ts +0 -745
  389. package/skills/create-blog-article/tsconfig.json +0 -10
  390. package/skills/deepresearch/src/agents/query-generator.ts +0 -91
  391. package/skills/deepresearch/src/agents/synthesizer.ts +0 -111
  392. package/skills/deepresearch/src/index.ts +0 -224
  393. package/skills/deepresearch/src/research.ts +0 -166
  394. package/skills/deepresearch/src/services/anthropic.ts +0 -69
  395. package/skills/deepresearch/src/services/exa.ts +0 -108
  396. package/skills/deepresearch/src/services/firecrawl.ts +0 -88
  397. package/skills/deepresearch/src/services/openai.ts +0 -81
  398. package/skills/deepresearch/src/types.ts +0 -76
  399. package/skills/deepresearch/src/utils/file.ts +0 -111
  400. package/skills/deepresearch/src/utils/logger.ts +0 -84
  401. package/skills/domainpurchase/src/server/index.ts +0 -332
  402. package/skills/domainsearch/src/server/index.ts +0 -229
  403. package/skills/e2bswarm/README.md +0 -135
  404. package/skills/e2bswarm/SKILL.md +0 -118
  405. package/skills/e2bswarm/examples/tasks-example.json +0 -38
  406. package/skills/e2bswarm/package.json +0 -59
  407. package/skills/e2bswarm/src/commands/collect.ts +0 -135
  408. package/skills/e2bswarm/src/commands/install.ts +0 -164
  409. package/skills/e2bswarm/src/commands/kill.ts +0 -62
  410. package/skills/e2bswarm/src/commands/spawn.ts +0 -134
  411. package/skills/e2bswarm/src/commands/status.ts +0 -90
  412. package/skills/e2bswarm/src/commands/sync.ts +0 -208
  413. package/skills/e2bswarm/src/index.ts +0 -121
  414. package/skills/e2bswarm/src/lib/config.ts +0 -75
  415. package/skills/e2bswarm/src/lib/e2b.ts +0 -490
  416. package/skills/e2bswarm/src/lib/github.ts +0 -253
  417. package/skills/e2bswarm/src/lib/logger.ts +0 -41
  418. package/skills/e2bswarm/src/lib/paths.ts +0 -75
  419. package/skills/e2bswarm/src/lib/tasks.ts +0 -320
  420. package/skills/e2bswarm/src/types/index.ts +0 -107
  421. package/skills/e2bswarm/templates/codebox/e2b.Dockerfile +0 -38
  422. package/skills/e2bswarm/templates/codebox/e2b.toml +0 -3
  423. package/skills/e2bswarm/templates/setup.sh +0 -21
  424. package/skills/e2bswarm/tsconfig.json +0 -19
  425. package/skills/generate-book-cover/src/index.ts +0 -694
  426. package/skills/image/src/index-local.ts +0 -206
  427. package/skills/image/src/index.ts +0 -96
  428. package/skills/image/src/providers/google.ts +0 -79
  429. package/skills/image/src/providers/minimax.ts +0 -94
  430. package/skills/image/src/providers/openai.ts +0 -80
  431. package/skills/image/src/providers/xai.ts +0 -73
  432. package/skills/image/src/types.ts +0 -37
  433. package/skills/logo-design/CLAUDE.md +0 -30
  434. package/skills/logo-design/src/index.ts +0 -322
  435. package/skills/managehook/src/server/index.ts +0 -108
  436. package/skills/managemcp/src/server/index.ts +0 -108
  437. package/skills/manageskill/src/server/index.ts +0 -108
  438. package/skills/music/CLAUDE.md +0 -9
  439. package/skills/music/src/index.ts +0 -94
  440. package/skills/music/tsconfig.json +0 -10
  441. package/skills/pdf-read/src/index.ts +0 -320
  442. package/skills/product-mockup/CLAUDE.md +0 -19
  443. package/skills/product-mockup/src/index.ts +0 -290
  444. package/skills/read-pdf/src/index.ts +0 -388
  445. package/skills/remove-background/src/index.ts +0 -405
  446. package/skills/scaffold-project/my-app/.env.example +0 -2
  447. package/skills/scaffold-project/my-app/README.md +0 -72
  448. package/skills/scaffold-project/my-app/package.json +0 -29
  449. package/skills/scaffold-project/my-app/src/index.ts +0 -23
  450. package/skills/scaffold-project/my-app/tsconfig.json +0 -33
  451. package/skills/sound-effects/SKILL.md +0 -34
  452. package/skills/sound-effects/package.json +0 -21
  453. package/skills/sound-effects/src/index.ts +0 -172
  454. package/skills/sound-effects/tsconfig.json +0 -8
  455. package/skills/transcript/src/chunker.ts +0 -215
  456. package/skills/transcript/src/formatter.ts +0 -134
  457. package/skills/transcript/src/index-local.ts +0 -226
  458. package/skills/transcript/src/index.ts +0 -110
  459. package/skills/transcript/src/providers/elevenlabs.ts +0 -133
  460. package/skills/transcript/src/providers/gemini.ts +0 -192
  461. package/skills/transcript/src/providers/index.ts +0 -54
  462. package/skills/transcript/src/providers/openai.ts +0 -203
  463. package/skills/transcript/src/types.ts +0 -106
  464. package/skills/video/.env.example +0 -14
  465. package/skills/video/EXAMPLES.md +0 -266
  466. package/skills/video/LICENSE +0 -192
  467. package/skills/video/README.md +0 -174
  468. package/skills/video/src/cli.ts +0 -155
  469. package/skills/video/src/index-local.ts +0 -148
  470. package/skills/video/src/index.ts +0 -96
  471. package/skills/video/src/providers/google-veo.ts +0 -126
  472. package/skills/video/src/providers/index.ts +0 -22
  473. package/skills/video/src/providers/minimax.ts +0 -100
  474. package/skills/video/src/providers/openai-sora.ts +0 -164
  475. package/skills/video/src/providers/runway.ts +0 -159
  476. package/skills/video/src/types.ts +0 -35
  477. package/skills/video/tsconfig.json +0 -22
  478. package/skills/voiceover-casting-assistant/CLAUDE.md +0 -19
  479. package/skills/voiceover-casting-assistant/package.json +0 -27
  480. package/skills/voiceover-casting-assistant/src/index.ts +0 -255
  481. package/skills/voiceover-casting-assistant/tsconfig.json +0 -10
  482. package/skills/webcrawling/src/commands/config.ts +0 -34
  483. package/skills/webcrawling/src/commands/crawl.ts +0 -33
  484. package/skills/webcrawling/src/commands/scrape.ts +0 -32
  485. package/skills/webcrawling/src/commands/sessions.ts +0 -42
  486. package/skills/webcrawling/src/lib/crawler.ts +0 -174
  487. package/skills/webcrawling/src/lib/storage.ts +0 -130
  488. package/skills/webcrawling/src/types/index.ts +0 -45
  489. package/skills/webcrawling/src/utils/logger.ts +0 -30
  490. package/skills/webcrawling/src/utils/paths.ts +0 -28
  491. /package/skills/{audiobook-chapter-proofer → blog-article}/tsconfig.json +0 -0
@@ -0,0 +1,13 @@
1
+ export interface AuthConfig {
2
+ apiKey: string;
3
+ email: string;
4
+ orgId: string;
5
+ orgSlug: string;
6
+ userId: string;
7
+ }
8
+ export declare function getAuthConfig(): AuthConfig | null;
9
+ export declare function saveAuthConfig(config: AuthConfig): void;
10
+ export declare function clearAuthConfig(): void;
11
+ export declare function getApiKey(): string | null;
12
+ export declare function normalizePlatformApiOrigin(apiUrl: string): string;
13
+ export declare function getApiUrl(): string;
@@ -1,101 +1,104 @@
1
1
  /**
2
- * Skill installer - handles copying skills to user projects
2
+ * Skill setup and project preferences.
3
+ *
4
+ * Skills are discovered through the CLI/MCP registry and executed from the
5
+ * bundled package or the remote platform. This module deliberately does not
6
+ * copy skill source, SKILL.md, package.json, scripts, or runtime folders into
7
+ * projects or agent-native skill folders.
3
8
  */
9
+ import { type SkillMeta } from "./registry.js";
10
+ import { type ProjectSkillPin } from "./project-state.js";
4
11
  export interface InstallResult {
5
12
  skill: string;
6
13
  success: boolean;
7
14
  error?: string;
8
15
  path?: string;
16
+ mode?: InstallMode;
17
+ source?: InstallSource;
9
18
  }
10
19
  export interface InstallOptions {
11
20
  targetDir?: string;
12
21
  overwrite?: boolean;
13
22
  }
23
+ export type InstallMode = "pin" | "source" | "manifest";
24
+ export type InstallSource = ProjectSkillPin["source"];
25
+ export interface SkillInstallManifest {
26
+ name: string;
27
+ skillMd: string;
28
+ version?: string;
29
+ source?: InstallSource;
30
+ metadata?: Record<string, unknown>;
31
+ }
32
+ export interface ManifestInstallOptions extends InstallOptions {
33
+ source?: InstallSource;
34
+ createRuntimeDirs?: boolean;
35
+ writeManifestFile?: boolean;
36
+ }
37
+ interface InstallMetaEntry {
38
+ installedAt: string;
39
+ version: string;
40
+ mode?: InstallMode;
41
+ source?: InstallSource;
42
+ }
43
+ interface MetaFile {
44
+ skills: Record<string, InstallMetaEntry>;
45
+ disabled?: string[];
46
+ }
14
47
  /**
15
- * Get the path to a skill in the package
48
+ * Get the path to a bundled skill in the package.
16
49
  */
17
50
  export declare function getSkillPath(name: string): string;
18
51
  /**
19
- * Check if a skill exists in the package
52
+ * Check if a skill exists in the bundled/registered catalog.
20
53
  */
21
54
  export declare function skillExists(name: string): boolean;
22
55
  /**
23
- * Install a single skill to the target directory
56
+ * Pin a skill in .skills/project.json.
57
+ *
58
+ * This intentionally does not write .skills/skills or any SKILL.md/source files.
24
59
  */
25
60
  export declare function installSkill(name: string, options?: InstallOptions): InstallResult;
61
+ export declare function installRemoteSkill(skill: SkillMeta, options?: InstallOptions): InstallResult;
26
62
  /**
27
- * Install multiple skills
63
+ * Source installs are disabled by design. Runtime source stays in the package
64
+ * or on the platform, never in a user project.
28
65
  */
29
- export declare function installSkills(names: string[], options?: InstallOptions): InstallResult[];
30
- interface SkillMeta {
31
- installedAt: string;
32
- version: string;
33
- }
34
- interface MetaFile {
35
- skills: Record<string, SkillMeta>;
36
- disabled?: string[];
37
- }
66
+ export declare function installSkillSource(name: string, _options?: InstallOptions): InstallResult;
38
67
  /**
39
- * Get installation metadata for installed skills
68
+ * SKILL.md manifest installs are disabled. Docs are served by the remote or
69
+ * bundled registry and must not be cached into project skill folders.
40
70
  */
41
- export declare function getInstallMeta(targetDir?: string): MetaFile;
71
+ export declare function installSkillManifest(manifest: SkillInstallManifest, _options?: ManifestInstallOptions): InstallResult;
42
72
  /**
43
- * Disable a skill (exclude from .skills/index.ts without removing files)
73
+ * Build an in-memory manifest from a bundled local skill.
44
74
  */
75
+ export declare function createLocalSkillManifest(name: string, generateSkillMd?: (name: string) => string | null): SkillInstallManifest | null;
76
+ export declare function installSkills(names: string[], options?: InstallOptions): InstallResult[];
77
+ export declare function getInstallMeta(targetDir?: string): MetaFile;
45
78
  export declare function disableSkill(name: string, targetDir?: string): boolean;
46
- /**
47
- * Enable a previously disabled skill (re-add to .skills/index.ts)
48
- */
49
79
  export declare function enableSkill(name: string, targetDir?: string): boolean;
50
- /**
51
- * Get list of disabled skills
52
- */
53
80
  export declare function getDisabledSkills(targetDir?: string): string[];
54
81
  /**
55
- * Get list of installed skills in a directory
82
+ * Project-pinned skills. Historically this represented copied installs; it now
83
+ * reads .skills/project.json only.
56
84
  */
57
85
  export declare function getInstalledSkills(targetDir?: string): string[];
58
- /**
59
- * Remove an installed skill
60
- */
61
86
  export declare function removeSkill(name: string, targetDir?: string): boolean;
62
- export type AgentTarget = "claude" | "codex" | "gemini" | "pi" | "opencode";
87
+ export declare function pinSkill(name: string, options?: InstallOptions): InstallResult;
88
+ export declare function unpinSkill(name: string, targetDir?: string): boolean;
89
+ export declare function getPinnedSkills(targetDir?: string): string[];
90
+ export type AgentTarget = "claude" | "codex" | "gemini" | "pi" | "opencode" | "cursor" | "windsurf";
63
91
  export type AgentScope = "global" | "project";
64
92
  export declare const AGENT_TARGETS: AgentTarget[];
65
- /** Human-readable labels for each agent */
66
93
  export declare const AGENT_LABELS: Record<AgentTarget, string>;
67
- /**
68
- * Resolve an agent argument ("all" or a specific agent name) to a list of AgentTarget values.
69
- * Throws if the agent name is not recognized.
70
- */
71
94
  export declare function resolveAgents(agentArg: string): AgentTarget[];
72
95
  export interface AgentInstallOptions {
73
96
  agent: AgentTarget;
74
97
  scope?: AgentScope;
75
98
  projectDir?: string;
76
99
  }
77
- /**
78
- * Get the skills directory for a given agent and scope.
79
- *
80
- * Agent config dir conventions:
81
- * claude — ~/.claude/skills/ | .claude/skills/
82
- * codex — ~/.codex/skills/ | .codex/skills/
83
- * gemini — ~/.gemini/skills/ | .gemini/skills/
84
- * pi — ~/.pi/agent/skills/ | .pi/skills/
85
- * opencode — ~/.opencode/skills/ | .opencode/skills/
86
- */
87
100
  export declare function getAgentSkillsDir(agent: AgentTarget, scope?: AgentScope, projectDir?: string): string;
88
- /**
89
- * Get the full path where a skill's SKILL.md would be installed for an agent
90
- */
91
101
  export declare function getAgentSkillPath(name: string, agent: AgentTarget, scope?: AgentScope, projectDir?: string): string;
92
- /**
93
- * Install a skill's SKILL.md for a specific agent
94
- * If the skill has no SKILL.md, one will be generated using the provided generator function
95
- */
96
- export declare function installSkillForAgent(name: string, options: AgentInstallOptions, generateSkillMd?: (name: string) => string | null): InstallResult;
97
- /**
98
- * Remove a skill from an agent's skill directory
99
- */
100
- export declare function removeSkillForAgent(name: string, options: AgentInstallOptions): boolean;
102
+ export declare function installSkillForAgent(name: string, options: AgentInstallOptions, _generateSkillMd?: (name: string) => string | null): InstallResult;
103
+ export declare function removeSkillForAgent(_name: string, _options: AgentInstallOptions): boolean;
101
104
  export {};
@@ -0,0 +1,86 @@
1
+ import type { SkillMeta } from "./registry.js";
2
+ export declare const MCP_CONTRACT_SCHEMA_VERSION: 1;
3
+ export interface JsonSchemaObject {
4
+ type?: string;
5
+ title?: string;
6
+ description?: string;
7
+ enum?: unknown[];
8
+ const?: unknown;
9
+ default?: unknown;
10
+ format?: string;
11
+ minimum?: number;
12
+ items?: JsonSchemaObject;
13
+ properties?: Record<string, JsonSchemaObject>;
14
+ required?: string[];
15
+ additionalProperties?: boolean | JsonSchemaObject;
16
+ oneOf?: JsonSchemaObject[];
17
+ }
18
+ export type McpToolCategory = "agent-session" | "discovery" | "execution" | "feedback" | "metadata" | "pinning" | "scheduling" | "validation";
19
+ export type McpToolSideEffect = "filesystem" | "local-process-or-remote-run" | "none" | "schedule-state";
20
+ export interface McpToolContract {
21
+ name: string;
22
+ title: string;
23
+ description: string;
24
+ params: string[];
25
+ category: McpToolCategory;
26
+ sideEffects: McpToolSideEffect;
27
+ stable: true;
28
+ inputSchema: JsonSchemaObject;
29
+ outputSchema: JsonSchemaObject;
30
+ }
31
+ export interface UnknownMcpToolContract {
32
+ name: string;
33
+ known: false;
34
+ description: "Unknown tool";
35
+ params: [];
36
+ }
37
+ export type DescribedMcpToolContract = (McpToolContract & {
38
+ known: true;
39
+ }) | UnknownMcpToolContract;
40
+ export interface McpResourceContract {
41
+ uri: string;
42
+ name: string;
43
+ description: string;
44
+ mimeType: "application/json";
45
+ schema: JsonSchemaObject;
46
+ }
47
+ export interface McpContractManifest {
48
+ schemaVersion: typeof MCP_CONTRACT_SCHEMA_VERSION;
49
+ tools: McpToolContract[];
50
+ resources: McpResourceContract[];
51
+ }
52
+ export interface SkillMcpSchemaContract {
53
+ tool: string;
54
+ inputSchema: JsonSchemaObject;
55
+ outputSchema: JsonSchemaObject;
56
+ }
57
+ export interface SkillMcpMetadata {
58
+ schemaVersion: typeof MCP_CONTRACT_SCHEMA_VERSION;
59
+ name: string;
60
+ slug: string;
61
+ displayName: string;
62
+ description: string;
63
+ category: string;
64
+ tags: string[];
65
+ source: SkillMeta["source"] | "official";
66
+ cliCommand: string;
67
+ schemas: {
68
+ install: SkillMcpSchemaContract;
69
+ run: SkillMcpSchemaContract;
70
+ validate: SkillMcpSchemaContract;
71
+ };
72
+ }
73
+ export declare function listMcpToolContracts(query?: string): McpToolContract[];
74
+ export declare function describeMcpToolContracts(names: string[]): DescribedMcpToolContract[];
75
+ export declare function summarizeMcpToolContract(contract: McpToolContract): Pick<McpToolContract, "name" | "title" | "description" | "params" | "category" | "sideEffects">;
76
+ export declare function getMcpResourceContracts(): McpResourceContract[];
77
+ export declare function createMcpContractManifest(options?: {
78
+ names?: string[];
79
+ includeResources?: boolean;
80
+ }): McpContractManifest;
81
+ export declare function createSkillMcpMetadata(skill: SkillMeta): SkillMcpMetadata;
82
+ export declare function getMcpToolDescriptions(): Record<string, {
83
+ description: string;
84
+ params: string[];
85
+ }>;
86
+ export declare const MCP_ERROR_RESPONSE_SCHEMA: JsonSchemaObject;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Project-local Skills state.
3
+ *
4
+ * `.skills/` is runtime/output state plus optional project preferences. It is
5
+ * not a skill source directory and must never contain copied skill definitions.
6
+ */
7
+ export declare const SKILLS_PROJECT_DIR = ".skills";
8
+ export declare const PROJECT_CONFIG_FILE = "project.json";
9
+ export declare const DEFAULT_EXPORT_DIR = ".skills/exports";
10
+ export interface ProjectSkillPin {
11
+ name: string;
12
+ pinnedAt: string;
13
+ version: string;
14
+ source: "official" | "custom" | "remote" | "local";
15
+ }
16
+ export interface SkillsProjectConfig {
17
+ version: 1;
18
+ defaultExportDir: string;
19
+ pinnedSkills: string[];
20
+ pins: Record<string, ProjectSkillPin>;
21
+ disabledSkills?: string[];
22
+ createdAt: string;
23
+ updatedAt: string;
24
+ }
25
+ export declare function getProjectStateDir(targetDir?: string): string;
26
+ export declare function getProjectConfigPath(targetDir?: string): string;
27
+ export declare function loadProjectConfig(targetDir?: string): SkillsProjectConfig | null;
28
+ export declare function ensureProjectConfig(targetDir?: string): SkillsProjectConfig;
29
+ export declare function saveProjectConfig(config: SkillsProjectConfig, targetDir?: string): void;
30
+ export declare function pinProjectSkill(name: string, details?: {
31
+ version?: string;
32
+ source?: ProjectSkillPin["source"];
33
+ }, targetDir?: string): {
34
+ pinned: boolean;
35
+ config: SkillsProjectConfig;
36
+ };
37
+ export declare function unpinProjectSkill(name: string, targetDir?: string): {
38
+ unpinned: boolean;
39
+ config: SkillsProjectConfig | null;
40
+ };
41
+ export declare function listPinnedSkills(targetDir?: string): string[];
42
+ export declare function setSkillDisabled(name: string, disabled: boolean, targetDir?: string): boolean;
43
+ export declare function getDisabledProjectSkills(targetDir?: string): string[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const BUSINESS_MARKETING_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const COMMUNICATION_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const CONTENT_GENERATION_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const DATA_ANALYSIS_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const DESIGN_BRANDING_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const DEVELOPMENT_TOOLS_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const EDUCATION_LEARNING_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const EVENT_MANAGEMENT_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const FINANCE_COMPLIANCE_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const HEALTH_WELLNESS_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const MEDIA_PROCESSING_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const PRODUCTIVITY_ORGANIZATION_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const PROJECT_MANAGEMENT_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const RESEARCH_WRITING_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const SCIENCE_ACADEMIC_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const TRAVEL_LIFESTYLE_SKILLS: SkillMeta[];
@@ -0,0 +1,2 @@
1
+ import type { SkillMeta } from "../registry-types.js";
2
+ export declare const WEB_BROWSER_SKILLS: SkillMeta[];
@@ -0,0 +1,27 @@
1
+ export interface SkillMeta {
2
+ name: string;
3
+ displayName: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ dependencies?: string[];
8
+ version?: string;
9
+ pricing?: SkillPricingMetadata;
10
+ source?: "official" | "custom" | "remote";
11
+ }
12
+ export interface SkillPricingMetadata {
13
+ tier?: "free" | "premium" | string;
14
+ billingUnit?: string;
15
+ costCents?: number;
16
+ formattedCost: string;
17
+ formattedUnitCost?: string;
18
+ unitCount?: number;
19
+ estimated?: boolean;
20
+ quoteDependsOnInput?: boolean;
21
+ quoteRequired?: boolean;
22
+ description?: string;
23
+ }
24
+ export declare const CATEGORIES: readonly ["Development Tools", "Business & Marketing", "Productivity & Organization", "Project Management", "Content Generation", "Finance & Compliance", "Data & Analysis", "Media Processing", "Design & Branding", "Web & Browser", "Research & Writing", "Science & Academic", "Education & Learning", "Communication", "Health & Wellness", "Travel & Lifestyle", "Event Management"];
25
+ export type Category = (typeof CATEGORIES)[number];
26
+ export declare const BASIC_SKILL_NAMES: readonly ["image", "video", "audio", "music", "transcript", "audio-extract", "read-image", "read-pdf", "pdf-read", "pdf-to-markdown", "doc-read", "pdf-generate", "doc-generate", "read-csv", "read-excel", "excel", "convert"];
27
+ export type SkillRegistryProfile = "basic" | "all";
@@ -1,26 +1,14 @@
1
1
  /**
2
2
  * Skill registry - metadata about all available skills
3
3
  */
4
- export interface SkillMeta {
5
- name: string;
6
- displayName: string;
7
- description: string;
8
- category: string;
9
- tags: string[];
10
- dependencies?: string[];
11
- source?: "official" | "custom" | "remote";
12
- }
13
- export declare const CATEGORIES: readonly ["Development Tools", "Business & Marketing", "Productivity & Organization", "Project Management", "Content Generation", "Finance & Compliance", "Data & Analysis", "Media Processing", "Design & Branding", "Web & Browser", "Research & Writing", "Science & Academic", "Education & Learning", "Communication", "Health & Wellness", "Travel & Lifestyle", "Event Management"];
14
- export type Category = (typeof CATEGORIES)[number];
15
- export declare const BASIC_SKILL_NAMES: readonly ["image", "video", "audio", "music", "sound-effects", "transcript", "audio-extract", "read-image", "read-pdf", "pdf-read", "doc-read", "pdf-generate", "doc-generate", "read-csv", "read-excel", "excel", "convert"];
16
- export type SkillRegistryProfile = "basic" | "all";
4
+ import { SKILLS } from "./registry-data/index.js";
5
+ import { BASIC_SKILL_NAMES, CATEGORIES, type Category, type SkillMeta, type SkillRegistryProfile } from "./registry-types.js";
6
+ export { BASIC_SKILL_NAMES, CATEGORIES, SKILLS };
7
+ export type { Category, SkillMeta, SkillRegistryProfile };
17
8
  export declare function isBasicSkillName(name: string): boolean;
18
- export declare const SKILLS: SkillMeta[];
19
9
  /**
20
- * Load the full registry: official skills merged with custom skills from:
21
- * - ~/.hasna/skills/custom/ (global custom, new path)
22
- * - ~/.skills/ (global custom, legacy path)
23
- * - ./.custom-skills/ (project-level custom, relative to cwd)
10
+ * Load the full registry: official skills merged with global custom skills
11
+ * from ~/.hasna/skills/custom/.
24
12
  *
25
13
  * Custom skills with the same name as official skills take precedence.
26
14
  * Results are cached for 5 seconds.
@@ -11,9 +11,12 @@ export interface RemoteRegistryOptions {
11
11
  apiUrl?: string;
12
12
  endpoint?: string;
13
13
  timeoutMs?: number;
14
+ authToken?: string | null;
14
15
  fetchImpl?: (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
15
16
  }
16
17
  export declare function getConfiguredApiUrl(config?: SkillsConfig, env?: Record<string, string | undefined>): string | undefined;
17
18
  export declare function buildSkillsApiUrl(apiUrl: string, endpoint?: string): string;
18
19
  export declare function parseRemoteRegistryPayload(payload: unknown): SkillMeta[];
20
+ export declare function parseRemoteSkillPayload(payload: unknown): SkillMeta;
19
21
  export declare function loadRemoteRegistry(options?: RemoteRegistryOptions): Promise<SkillMeta[]>;
22
+ export declare function loadRemoteSkill(name: string, options?: RemoteRegistryOptions): Promise<SkillMeta>;
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Runtime records for skill executions.
3
+ *
4
+ * `.skills/runs` and `.skills/exports` hold what skills produced, not what
5
+ * skills are. Source files and SKILL.md documents are never written here.
6
+ */
7
+ export type SkillRunStatus = "queued" | "running" | "completed" | "failed";
8
+ export interface SkillRunArtifact {
9
+ path: string;
10
+ mime: string;
11
+ sha256: string;
12
+ sizeBytes: number;
13
+ }
14
+ export interface SkillRunRecord {
15
+ id: string;
16
+ skill: string;
17
+ status: SkillRunStatus;
18
+ prompt?: string;
19
+ args: string[];
20
+ startedAt: string;
21
+ completedAt?: string;
22
+ remote: boolean;
23
+ remoteRunId?: string;
24
+ costCents?: number;
25
+ error?: string;
26
+ artifacts: SkillRunArtifact[];
27
+ paths: {
28
+ runDir: string;
29
+ exportDir: string;
30
+ logsDir: string;
31
+ };
32
+ }
33
+ export interface SkillRunContext {
34
+ targetDir: string;
35
+ runDir: string;
36
+ exportDir: string;
37
+ logsDir: string;
38
+ record: SkillRunRecord;
39
+ }
40
+ export declare function createSkillRun(params: {
41
+ skill: string;
42
+ args?: string[];
43
+ prompt?: string;
44
+ remote?: boolean;
45
+ remoteRunId?: string;
46
+ costCents?: number;
47
+ status?: SkillRunStatus;
48
+ }, targetDir?: string): SkillRunContext;
49
+ export declare function completeSkillRun(context: SkillRunContext, patch: {
50
+ status: SkillRunStatus;
51
+ error?: string;
52
+ remoteRunId?: string;
53
+ costCents?: number;
54
+ }): SkillRunRecord;
55
+ export declare function updateSkillRun(context: SkillRunContext, patch: Partial<SkillRunRecord>): SkillRunRecord;
56
+ export declare function writeRunLogs(context: SkillRunContext, stdout?: string, stderr?: string): void;
57
+ export declare function appendRunEvent(context: SkillRunContext, event: string, data?: Record<string, unknown>): void;
58
+ export declare function listSkillRuns(targetDir?: string, limit?: number): SkillRunRecord[];
59
+ export declare function findSkillRun(runId: string, targetDir?: string): SkillRunRecord | null;
60
+ export declare function getRunExportDir(runId: string, skill: string, targetDir?: string): string;
@@ -0,0 +1,17 @@
1
+ export declare const SKILL_ALIASES: {
2
+ readonly transcribe: "transcript";
3
+ readonly "speech-to-text": "transcript";
4
+ readonly "generate-pdf": "pdf-generate";
5
+ readonly "create-pdf": "pdf-generate";
6
+ readonly "generate-doc": "doc-generate";
7
+ readonly "generate-document": "doc-generate";
8
+ readonly "read-document": "doc-read";
9
+ readonly "document-read": "doc-read";
10
+ readonly "pdf-reader": "read-pdf";
11
+ readonly "generate-image": "image";
12
+ readonly "image-generator": "image";
13
+ readonly "create-blog-article": "blog-article";
14
+ };
15
+ export type SkillAlias = keyof typeof SKILL_ALIASES;
16
+ export declare function normalizeSkillSlug(name: string): string;
17
+ export declare function resolveSkillAlias(name: string): string;
@@ -30,9 +30,13 @@ export declare function getSkillRequirements(name: string): SkillRequirements |
30
30
  */
31
31
  export declare function runSkill(name: string, args: string[], options?: {
32
32
  installed?: boolean;
33
+ stdio?: "inherit" | "pipe";
34
+ env?: Record<string, string>;
33
35
  }): Promise<{
34
36
  exitCode: number;
35
37
  error?: string;
38
+ stdout?: string;
39
+ stderr?: string;
36
40
  }>;
37
41
  export interface DetectedProjectSkills {
38
42
  detected: string[];
@@ -43,7 +47,7 @@ export interface DetectedProjectSkills {
43
47
  */
44
48
  export declare function detectProjectSkills(cwd?: string): DetectedProjectSkills;
45
49
  /**
46
- * Generate a .env.example from installed skills
50
+ * Generate a .env.example from pinned skills
47
51
  */
48
52
  export declare function generateEnvExample(targetDir?: string): string;
49
53
  /**
@@ -0,0 +1,2 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerDiscoveryTools(server: McpServer): void;
@@ -0,0 +1,26 @@
1
+ export declare function stripNulls(obj: Record<string, unknown>): Record<string, unknown>;
2
+ export declare function cacheGet(key: string): unknown | undefined;
3
+ export declare function cacheSet(key: string, value: unknown): void;
4
+ export declare function cacheClear(): void;
5
+ /** Structured MCP error response */
6
+ export declare function mcpError(code: string, message: string, suggestions?: string[]): {
7
+ content: {
8
+ type: "text";
9
+ text: string;
10
+ }[];
11
+ isError: boolean;
12
+ };
13
+ export declare function mcpJson(payload: unknown, pretty?: boolean): {
14
+ content: {
15
+ type: "text";
16
+ text: string;
17
+ }[];
18
+ };
19
+ export declare function remoteRunNextActions(runId: string | undefined): {
20
+ poll: string;
21
+ download: string;
22
+ } | undefined;
23
+ export declare const TOOL_DESCRIPTIONS: Record<string, {
24
+ description: string;
25
+ params: string[];
26
+ }>;
@@ -0,0 +1,10 @@
1
+ import { createServer, type IncomingMessage, type ServerResponse } from "node:http";
2
+ export declare const MCP_HTTP_DEFAULT_PORT = 8836;
3
+ export declare const MCP_HTTP_SERVICE_NAME = "skills";
4
+ export declare function isMcpHttpMode(argv?: string[]): boolean;
5
+ export declare function parseMcpHttpPort(argv: string[], defaultPort?: number): number;
6
+ export declare function handleMcpHttpNodeRequest(req: IncomingMessage, res: ServerResponse): Promise<boolean>;
7
+ export declare function startSkillsMcpHttpServer(options?: {
8
+ port?: number;
9
+ hostname?: string;
10
+ }): Promise<ReturnType<typeof createServer>>;
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env bun
2
2
  /**
3
3
  * MCP server for the skills library.
4
- * Exposes tools for listing, searching, and installing skills.
4
+ * Exposes tools for listing, searching, pinning, and running skills.
5
5
  *
6
6
  * Usage:
7
7
  * skills mcp # Start MCP server on stdio
8
8
  * skills-mcp # Direct binary
9
+ * skills-mcp --http # Streamable HTTP on 127.0.0.1:8836
9
10
  */
10
- export {};
11
+ export { buildServer } from "./server.js";
@@ -0,0 +1,2 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerOperationTools(server: McpServer): void;
@@ -0,0 +1,2 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerResourceMetaTools(server: McpServer): void;
@@ -0,0 +1,2 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerScheduleTools(server: McpServer): void;
@@ -0,0 +1,4 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function buildServer(): McpServer;
3
+ /** @deprecated Use buildServer() — kept for internal imports during migration */
4
+ export declare const server: McpServer;