@hasna/skills 0.0.2 → 0.0.3

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 (387) hide show
  1. package/bin/index.js +253 -715
  2. package/bin/mcp.js +221 -683
  3. package/package.json +1 -1
  4. package/src/cli/cli.test.ts +14 -14
  5. package/src/cli/index.tsx +1 -1
  6. package/src/lib/installer.test.ts +41 -41
  7. package/src/lib/registry.test.ts +10 -10
  8. package/src/lib/registry.ts +10 -472
  9. package/src/lib/skillinfo.test.ts +12 -12
  10. package/src/mcp/index.ts +1 -1
  11. package/skills/skill-architecture-docs/CLAUDE.md +0 -19
  12. package/skills/skill-architecture-docs/package.json +0 -32
  13. package/skills/skill-architecture-docs/src/index.ts +0 -543
  14. package/skills/skill-auto-format/CLAUDE.md +0 -19
  15. package/skills/skill-auto-format/package.json +0 -32
  16. package/skills/skill-auto-format/src/index.ts +0 -103
  17. package/skills/skill-auto-format/tsconfig.json +0 -14
  18. package/skills/skill-brainstorm/README.md +0 -17
  19. package/skills/skill-brainstorm/install.sh +0 -112
  20. package/skills/skill-brainstorm/src/auth.ts +0 -49
  21. package/skills/skill-brainstorm/src/installer.ts +0 -324
  22. package/skills/skill-brainstorm/src/skill-install.ts +0 -205
  23. package/skills/skill-browser-agent/CLAUDE.md +0 -19
  24. package/skills/skill-browser-agent/package.json +0 -32
  25. package/skills/skill-browser-agent/src/index.ts +0 -626
  26. package/skills/skill-browser-agent/tsconfig.json +0 -14
  27. package/skills/skill-browseruse/LICENSE +0 -21
  28. package/skills/skill-browseruse/README.md +0 -27
  29. package/skills/skill-browseruse/SKILL.md +0 -113
  30. package/skills/skill-browseruse/install.sh +0 -112
  31. package/skills/skill-browseruse/package.json +0 -31
  32. package/skills/skill-browseruse/src/auth.ts +0 -49
  33. package/skills/skill-browseruse/src/installer.ts +0 -324
  34. package/skills/skill-browseruse/src/skill-install.ts +0 -174
  35. package/skills/skill-calculate/LICENSE +0 -21
  36. package/skills/skill-calculate/README.md +0 -17
  37. package/skills/skill-calculate/install.sh +0 -112
  38. package/skills/skill-calculate/package.json +0 -31
  39. package/skills/skill-calculate/src/auth.ts +0 -49
  40. package/skills/skill-calculate/src/installer.ts +0 -324
  41. package/skills/skill-calculate/src/skill-install.ts +0 -205
  42. package/skills/skill-chromedevtools/LICENSE +0 -21
  43. package/skills/skill-chromedevtools/README.md +0 -27
  44. package/skills/skill-chromedevtools/SKILL.md +0 -110
  45. package/skills/skill-chromedevtools/install.sh +0 -112
  46. package/skills/skill-chromedevtools/package.json +0 -31
  47. package/skills/skill-chromedevtools/src/auth.ts +0 -49
  48. package/skills/skill-chromedevtools/src/installer.ts +0 -324
  49. package/skills/skill-chromedevtools/src/skill-install.ts +0 -174
  50. package/skills/skill-companyguide/LICENSE +0 -21
  51. package/skills/skill-companyguide/README.md +0 -17
  52. package/skills/skill-companyguide/install.sh +0 -112
  53. package/skills/skill-companyguide/package.json +0 -31
  54. package/skills/skill-companyguide/src/auth.ts +0 -49
  55. package/skills/skill-companyguide/src/installer.ts +0 -324
  56. package/skills/skill-companyguide/src/skill-install.ts +0 -205
  57. package/skills/skill-compose-gmail/tsconfig.json +0 -14
  58. package/skills/skill-context7/LICENSE +0 -21
  59. package/skills/skill-context7/README.md +0 -27
  60. package/skills/skill-context7/SKILL.md +0 -103
  61. package/skills/skill-context7/install.sh +0 -112
  62. package/skills/skill-context7/package.json +0 -31
  63. package/skills/skill-context7/src/auth.ts +0 -49
  64. package/skills/skill-context7/src/installer.ts +0 -324
  65. package/skills/skill-context7/src/skill-install.ts +0 -174
  66. package/skills/skill-crawl/LICENSE +0 -21
  67. package/skills/skill-crawl/README.md +0 -17
  68. package/skills/skill-crawl/install.sh +0 -112
  69. package/skills/skill-crawl/package.json +0 -31
  70. package/skills/skill-crawl/src/auth.ts +0 -49
  71. package/skills/skill-crawl/src/installer.ts +0 -324
  72. package/skills/skill-crawl/src/skill-install.ts +0 -205
  73. package/skills/skill-csv-transformer/CLAUDE.md +0 -19
  74. package/skills/skill-csv-transformer/package.json +0 -32
  75. package/skills/skill-csv-transformer/src/index.ts +0 -81
  76. package/skills/skill-csv-transformer/tsconfig.json +0 -14
  77. package/skills/skill-debug/LICENSE +0 -21
  78. package/skills/skill-debug/README.md +0 -17
  79. package/skills/skill-debug/install.sh +0 -112
  80. package/skills/skill-debug/package.json +0 -31
  81. package/skills/skill-debug/src/auth.ts +0 -49
  82. package/skills/skill-debug/src/installer.ts +0 -324
  83. package/skills/skill-debug/src/skill-install.ts +0 -205
  84. package/skills/skill-deep-research/CLAUDE.md +0 -19
  85. package/skills/skill-deep-research/package.json +0 -32
  86. package/skills/skill-deep-research/src/index.ts +0 -1149
  87. package/skills/skill-deep-research/tsconfig.json +0 -14
  88. package/skills/skill-dns-manager/CLAUDE.md +0 -19
  89. package/skills/skill-dns-manager/package.json +0 -32
  90. package/skills/skill-dns-manager/src/index.ts +0 -92
  91. package/skills/skill-dns-manager/tsconfig.json +0 -14
  92. package/skills/skill-download/LICENSE +0 -21
  93. package/skills/skill-download/README.md +0 -17
  94. package/skills/skill-download/install.sh +0 -112
  95. package/skills/skill-download/package.json +0 -31
  96. package/skills/skill-download/src/auth.ts +0 -49
  97. package/skills/skill-download/src/installer.ts +0 -324
  98. package/skills/skill-download/src/skill-install.ts +0 -205
  99. package/skills/skill-exa/LICENSE +0 -21
  100. package/skills/skill-exa/README.md +0 -26
  101. package/skills/skill-exa/SKILL.md +0 -92
  102. package/skills/skill-exa/install.sh +0 -112
  103. package/skills/skill-exa/package.json +0 -31
  104. package/skills/skill-exa/src/auth.ts +0 -49
  105. package/skills/skill-exa/src/installer.ts +0 -324
  106. package/skills/skill-exa/src/skill-install.ts +0 -174
  107. package/skills/skill-filesearch/LICENSE +0 -21
  108. package/skills/skill-filesearch/README.md +0 -17
  109. package/skills/skill-filesearch/install.sh +0 -112
  110. package/skills/skill-filesearch/package.json +0 -31
  111. package/skills/skill-filesearch/src/auth.ts +0 -49
  112. package/skills/skill-filesearch/src/installer.ts +0 -324
  113. package/skills/skill-filesearch/src/skill-install.ts +0 -205
  114. package/skills/skill-fill/LICENSE +0 -21
  115. package/skills/skill-fill/README.md +0 -17
  116. package/skills/skill-fill/install.sh +0 -112
  117. package/skills/skill-fill/package.json +0 -31
  118. package/skills/skill-fill/src/auth.ts +0 -49
  119. package/skills/skill-fill/src/installer.ts +0 -324
  120. package/skills/skill-fill/src/skill-install.ts +0 -205
  121. package/skills/skill-generate-audio/CLAUDE.md +0 -3
  122. package/skills/skill-generate-audio/SKILL.md +0 -53
  123. package/skills/skill-generate-audio/package.json +0 -30
  124. package/skills/skill-generate-audio/src/index.ts +0 -656
  125. package/skills/skill-generate-audio/tsconfig.json +0 -18
  126. package/skills/skill-generate-readme/CLAUDE.md +0 -19
  127. package/skills/skill-generate-readme/package.json +0 -32
  128. package/skills/skill-generate-readme/src/index.ts +0 -867
  129. package/skills/skill-generate-readme/tsconfig.json +0 -14
  130. package/skills/skill-generate-slides/CLAUDE.md +0 -19
  131. package/skills/skill-generate-slides/package.json +0 -32
  132. package/skills/skill-generate-slides/src/ai.ts +0 -140
  133. package/skills/skill-generate-slides/src/cli.ts +0 -161
  134. package/skills/skill-generate-slides/src/export.ts +0 -65
  135. package/skills/skill-generate-slides/src/index.ts +0 -1417
  136. package/skills/skill-generate-slides/src/layout.ts +0 -31
  137. package/skills/skill-generate-slides/src/parse.ts +0 -282
  138. package/skills/skill-generate-slides/src/render.ts +0 -711
  139. package/skills/skill-generate-slides/tsconfig.json +0 -14
  140. package/skills/skill-get-api-docs/CLAUDE.md +0 -19
  141. package/skills/skill-get-api-docs/package.json +0 -32
  142. package/skills/skill-get-api-docs/src/index.ts +0 -1176
  143. package/skills/skill-get-api-docs/tsconfig.json +0 -14
  144. package/skills/skill-googledrive/LICENSE +0 -21
  145. package/skills/skill-googledrive/README.md +0 -27
  146. package/skills/skill-googledrive/SKILL.md +0 -140
  147. package/skills/skill-googledrive/install.sh +0 -112
  148. package/skills/skill-googledrive/package.json +0 -31
  149. package/skills/skill-googledrive/src/auth.ts +0 -49
  150. package/skills/skill-googledrive/src/installer.ts +0 -324
  151. package/skills/skill-googledrive/src/skill-install.ts +0 -174
  152. package/skills/skill-grant-compliance-scanner/CLAUDE.md +0 -19
  153. package/skills/skill-grant-compliance-scanner/package.json +0 -32
  154. package/skills/skill-grant-compliance-scanner/src/index.ts +0 -94
  155. package/skills/skill-grant-compliance-scanner/tsconfig.json +0 -14
  156. package/skills/skill-hubsearch/LICENSE +0 -21
  157. package/skills/skill-hubsearch/README.md +0 -17
  158. package/skills/skill-hubsearch/install.sh +0 -112
  159. package/skills/skill-hubsearch/package.json +0 -31
  160. package/skills/skill-hubsearch/src/auth.ts +0 -49
  161. package/skills/skill-hubsearch/src/installer.ts +0 -324
  162. package/skills/skill-hubsearch/src/skill-install.ts +0 -205
  163. package/skills/skill-implementation-architecture/CLAUDE.md +0 -19
  164. package/skills/skill-implementation-architecture/package.json +0 -32
  165. package/skills/skill-implementation-architecture/src/index.ts +0 -460
  166. package/skills/skill-implementation-architecture/tsconfig.json +0 -14
  167. package/skills/skill-implementation-audit/CLAUDE.md +0 -19
  168. package/skills/skill-implementation-audit/package.json +0 -32
  169. package/skills/skill-implementation-audit/src/index.ts +0 -502
  170. package/skills/skill-implementation-audit/tsconfig.json +0 -14
  171. package/skills/skill-implementation-cost/CLAUDE.md +0 -19
  172. package/skills/skill-implementation-cost/package.json +0 -32
  173. package/skills/skill-implementation-cost/src/index.ts +0 -873
  174. package/skills/skill-implementation-cost/tsconfig.json +0 -14
  175. package/skills/skill-implementation-dispatch/CLAUDE.md +0 -19
  176. package/skills/skill-implementation-dispatch/package.json +0 -32
  177. package/skills/skill-implementation-dispatch/src/index.ts +0 -390
  178. package/skills/skill-implementation-dispatch/tsconfig.json +0 -14
  179. package/skills/skill-implementation-hook/CLAUDE.md +0 -19
  180. package/skills/skill-implementation-hook/package.json +0 -32
  181. package/skills/skill-implementation-hook/src/index.ts +0 -787
  182. package/skills/skill-implementation-hook/tsconfig.json +0 -14
  183. package/skills/skill-implementation-index/CLAUDE.md +0 -19
  184. package/skills/skill-implementation-index/package.json +0 -32
  185. package/skills/skill-implementation-index/src/index.ts +0 -767
  186. package/skills/skill-implementation-index/tsconfig.json +0 -14
  187. package/skills/skill-implementation-init/CLAUDE.md +0 -19
  188. package/skills/skill-implementation-init/package.json +0 -32
  189. package/skills/skill-implementation-init/src/index.ts +0 -378
  190. package/skills/skill-implementation-init/tsconfig.json +0 -14
  191. package/skills/skill-implementation-memento/CLAUDE.md +0 -19
  192. package/skills/skill-implementation-memento/package.json +0 -32
  193. package/skills/skill-implementation-memento/src/index.ts +0 -442
  194. package/skills/skill-implementation-memento/tsconfig.json +0 -14
  195. package/skills/skill-linear/LICENSE +0 -21
  196. package/skills/skill-linear/README.md +0 -28
  197. package/skills/skill-linear/SKILL.md +0 -94
  198. package/skills/skill-linear/install.sh +0 -112
  199. package/skills/skill-linear/package.json +0 -31
  200. package/skills/skill-linear/src/auth.ts +0 -49
  201. package/skills/skill-linear/src/installer.ts +0 -324
  202. package/skills/skill-linear/src/skill-install.ts +0 -174
  203. package/skills/skill-mail/LICENSE +0 -21
  204. package/skills/skill-mail/README.md +0 -17
  205. package/skills/skill-mail/install.sh +0 -112
  206. package/skills/skill-mail/package.json +0 -31
  207. package/skills/skill-mail/src/auth.ts +0 -49
  208. package/skills/skill-mail/src/installer.ts +0 -324
  209. package/skills/skill-mail/src/skill-install.ts +0 -205
  210. package/skills/skill-manage-gmail/CLAUDE.md +0 -19
  211. package/skills/skill-manage-gmail/package.json +0 -32
  212. package/skills/skill-manage-gmail/src/index.ts +0 -504
  213. package/skills/skill-manage-gmail/tsconfig.json +0 -14
  214. package/skills/skill-merch-mockup-factory/CLAUDE.md +0 -19
  215. package/skills/skill-merch-mockup-factory/package.json +0 -32
  216. package/skills/skill-merch-mockup-factory/src/index.ts +0 -296
  217. package/skills/skill-merch-mockup-factory/tsconfig.json +0 -14
  218. package/skills/skill-message/LICENSE +0 -21
  219. package/skills/skill-message/README.md +0 -17
  220. package/skills/skill-message/install.sh +0 -112
  221. package/skills/skill-message/package.json +0 -31
  222. package/skills/skill-message/src/auth.ts +0 -49
  223. package/skills/skill-message/src/installer.ts +0 -324
  224. package/skills/skill-message/src/skill-install.ts +0 -205
  225. package/skills/skill-newsletter-campaign-planner/CLAUDE.md +0 -19
  226. package/skills/skill-newsletter-campaign-planner/package.json +0 -32
  227. package/skills/skill-newsletter-campaign-planner/src/index.ts +0 -252
  228. package/skills/skill-newsletter-campaign-planner/tsconfig.json +0 -14
  229. package/skills/skill-notify/LICENSE +0 -21
  230. package/skills/skill-notify/README.md +0 -17
  231. package/skills/skill-notify/install.sh +0 -112
  232. package/skills/skill-notify/package.json +0 -31
  233. package/skills/skill-notify/src/auth.ts +0 -49
  234. package/skills/skill-notify/src/installer.ts +0 -324
  235. package/skills/skill-notify/src/skill-install.ts +0 -205
  236. package/skills/skill-notion/LICENSE +0 -21
  237. package/skills/skill-notion/README.md +0 -27
  238. package/skills/skill-notion/SKILL.md +0 -115
  239. package/skills/skill-notion/install.sh +0 -112
  240. package/skills/skill-notion/package.json +0 -31
  241. package/skills/skill-notion/src/auth.ts +0 -49
  242. package/skills/skill-notion/src/installer.ts +0 -324
  243. package/skills/skill-notion/src/skill-install.ts +0 -174
  244. package/skills/skill-parse-pdf/CLAUDE.md +0 -19
  245. package/skills/skill-parse-pdf/package.json +0 -32
  246. package/skills/skill-parse-pdf/src/index.ts +0 -581
  247. package/skills/skill-parse-pdf/tsconfig.json +0 -14
  248. package/skills/skill-playwright/LICENSE +0 -21
  249. package/skills/skill-playwright/README.md +0 -27
  250. package/skills/skill-playwright/SKILL.md +0 -116
  251. package/skills/skill-playwright/install.sh +0 -112
  252. package/skills/skill-playwright/package.json +0 -31
  253. package/skills/skill-playwright/src/auth.ts +0 -49
  254. package/skills/skill-playwright/src/installer.ts +0 -324
  255. package/skills/skill-playwright/src/skill-install.ts +0 -174
  256. package/skills/skill-projectbuild/LICENSE +0 -21
  257. package/skills/skill-projectbuild/README.md +0 -17
  258. package/skills/skill-projectbuild/install.sh +0 -112
  259. package/skills/skill-projectbuild/package.json +0 -31
  260. package/skills/skill-projectbuild/src/auth.ts +0 -49
  261. package/skills/skill-projectbuild/src/installer.ts +0 -324
  262. package/skills/skill-projectbuild/src/skill-install.ts +0 -205
  263. package/skills/skill-read-gmail/CLAUDE.md +0 -19
  264. package/skills/skill-read-gmail/package.json +0 -32
  265. package/skills/skill-read-gmail/src/index.ts +0 -343
  266. package/skills/skill-read-gmail/tsconfig.json +0 -14
  267. package/skills/skill-remember/LICENSE +0 -21
  268. package/skills/skill-remember/README.md +0 -17
  269. package/skills/skill-remember/install.sh +0 -112
  270. package/skills/skill-remember/package.json +0 -31
  271. package/skills/skill-remember/src/auth.ts +0 -49
  272. package/skills/skill-remember/src/installer.ts +0 -324
  273. package/skills/skill-remember/src/skill-install.ts +0 -205
  274. package/skills/skill-schedule/README.md +0 -17
  275. package/skills/skill-schedule/install.sh +0 -112
  276. package/skills/skill-schedule/src/auth.ts +0 -49
  277. package/skills/skill-schedule/src/installer.ts +0 -324
  278. package/skills/skill-schedule/src/skill-install.ts +0 -205
  279. package/skills/skill-search/LICENSE +0 -21
  280. package/skills/skill-search/README.md +0 -17
  281. package/skills/skill-search/install.sh +0 -112
  282. package/skills/skill-search/package.json +0 -31
  283. package/skills/skill-search/src/auth.ts +0 -49
  284. package/skills/skill-search/src/installer.ts +0 -324
  285. package/skills/skill-search/src/skill-install.ts +0 -205
  286. package/skills/skill-shadcn/LICENSE +0 -21
  287. package/skills/skill-shadcn/README.md +0 -27
  288. package/skills/skill-shadcn/SKILL.md +0 -113
  289. package/skills/skill-shadcn/install.sh +0 -112
  290. package/skills/skill-shadcn/package.json +0 -31
  291. package/skills/skill-shadcn/src/auth.ts +0 -49
  292. package/skills/skill-shadcn/src/installer.ts +0 -324
  293. package/skills/skill-shadcn/src/skill-install.ts +0 -174
  294. package/skills/skill-shadcn-theme/CLAUDE.md +0 -19
  295. package/skills/skill-shadcn-theme/package.json +0 -32
  296. package/skills/skill-shadcn-theme/src/index.ts +0 -16
  297. package/skills/skill-shadcn-theme/tsconfig.json +0 -14
  298. package/skills/skill-social-template-kit/CLAUDE.md +0 -19
  299. package/skills/skill-social-template-kit/package.json +0 -32
  300. package/skills/skill-social-template-kit/src/index.ts +0 -303
  301. package/skills/skill-social-template-kit/tsconfig.json +0 -14
  302. package/skills/skill-summarize/LICENSE +0 -21
  303. package/skills/skill-summarize/README.md +0 -17
  304. package/skills/skill-summarize/install.sh +0 -112
  305. package/skills/skill-summarize/package.json +0 -31
  306. package/skills/skill-summarize/src/auth.ts +0 -49
  307. package/skills/skill-summarize/src/installer.ts +0 -324
  308. package/skills/skill-summarize/src/skill-install.ts +0 -205
  309. package/skills/skill-sync/LICENSE +0 -21
  310. package/skills/skill-sync/README.md +0 -17
  311. package/skills/skill-sync/install.sh +0 -112
  312. package/skills/skill-sync/package.json +0 -31
  313. package/skills/skill-sync/src/auth.ts +0 -49
  314. package/skills/skill-sync/src/installer.ts +0 -324
  315. package/skills/skill-sync/src/skill-install.ts +0 -205
  316. package/skills/skill-time-blocking-orchestrator/CLAUDE.md +0 -19
  317. package/skills/skill-time-blocking-orchestrator/package.json +0 -32
  318. package/skills/skill-time-blocking-orchestrator/src/index.ts +0 -328
  319. package/skills/skill-time-blocking-orchestrator/tsconfig.json +0 -14
  320. package/skills/skill-transform/.env.example +0 -2
  321. package/skills/skill-transform/LICENSE +0 -21
  322. package/skills/skill-transform/README.md +0 -17
  323. package/skills/skill-transform/SKILL.md +0 -127
  324. package/skills/skill-transform/install.sh +0 -112
  325. package/skills/skill-transform/package.json +0 -37
  326. package/skills/skill-transform/src/auth.ts +0 -49
  327. package/skills/skill-transform/src/http-client.ts +0 -128
  328. package/skills/skill-transform/src/index-http.ts +0 -111
  329. package/skills/skill-transform/src/index-local.ts +0 -368
  330. package/skills/skill-transform/src/index.ts +0 -111
  331. package/skills/skill-transform/src/installer.ts +0 -324
  332. package/skills/skill-transform/src/skill-install.ts +0 -205
  333. package/skills/skill-transform/src/transformers/ai-transformer.ts +0 -202
  334. package/skills/skill-transform/src/transformers/format-detector.ts +0 -147
  335. package/skills/skill-transform/src/types.ts +0 -95
  336. package/skills/skill-transform/tsconfig.json +0 -18
  337. package/skills/skill-translate/LICENSE +0 -21
  338. package/skills/skill-translate/README.md +0 -17
  339. package/skills/skill-translate/install.sh +0 -112
  340. package/skills/skill-translate/package.json +0 -31
  341. package/skills/skill-translate/src/auth.ts +0 -49
  342. package/skills/skill-translate/src/installer.ts +0 -324
  343. package/skills/skill-translate/src/skill-install.ts +0 -205
  344. package/skills/skill-vendor-comparison-coach/CLAUDE.md +0 -19
  345. package/skills/skill-vendor-comparison-coach/package.json +0 -32
  346. package/skills/skill-vendor-comparison-coach/src/index.ts +0 -337
  347. package/skills/skill-vendor-comparison-coach/tsconfig.json +0 -14
  348. package/skills/skill-videodownload/.env.example +0 -5
  349. package/skills/skill-videodownload/CLAUDE.md +0 -64
  350. package/skills/skill-videodownload/LICENSE +0 -21
  351. package/skills/skill-videodownload/README.md +0 -166
  352. package/skills/skill-videodownload/package.json +0 -49
  353. package/skills/skill-videodownload/src/commands/config.ts +0 -89
  354. package/skills/skill-videodownload/src/commands/download.ts +0 -61
  355. package/skills/skill-videodownload/src/commands/info.ts +0 -83
  356. package/skills/skill-videodownload/src/commands/list.ts +0 -84
  357. package/skills/skill-videodownload/src/lib/downloader.ts +0 -270
  358. package/skills/skill-videodownload/src/lib/storage.ts +0 -167
  359. package/skills/skill-videodownload/src/types/index.ts +0 -64
  360. package/skills/skill-videodownload/src/utils/logger.ts +0 -49
  361. package/skills/skill-videodownload/src/utils/paths.ts +0 -94
  362. package/skills/skill-videodownload/tsconfig.json +0 -17
  363. package/skills/skill-voiceover/.env.example +0 -5
  364. package/skills/skill-voiceover/CLAUDE.md +0 -40
  365. package/skills/skill-voiceover/LICENSE +0 -21
  366. package/skills/skill-voiceover/README.md +0 -64
  367. package/skills/skill-voiceover/package.json +0 -43
  368. package/skills/skill-voiceover/src/commands/config.ts +0 -38
  369. package/skills/skill-voiceover/src/commands/generate.ts +0 -37
  370. package/skills/skill-voiceover/src/commands/voices.ts +0 -33
  371. package/skills/skill-voiceover/src/lib/generator.ts +0 -159
  372. package/skills/skill-voiceover/src/lib/storage.ts +0 -55
  373. package/skills/skill-voiceover/src/types/index.ts +0 -55
  374. package/skills/skill-voiceover/src/utils/logger.ts +0 -30
  375. package/skills/skill-voiceover/src/utils/paths.ts +0 -22
  376. package/skills/skill-voiceover/tsconfig.json +0 -17
  377. package/skills/skill-websearch/LICENSE +0 -21
  378. package/skills/skill-websearch/README.md +0 -17
  379. package/skills/skill-websearch/install.sh +0 -112
  380. package/skills/skill-websearch/package.json +0 -31
  381. package/skills/skill-websearch/src/auth.ts +0 -49
  382. package/skills/skill-websearch/src/installer.ts +0 -324
  383. package/skills/skill-websearch/src/skill-install.ts +0 -205
  384. /package/skills/{skill-compose-gmail → skill-gmail}/CLAUDE.md +0 -0
  385. /package/skills/{skill-compose-gmail → skill-gmail}/package.json +0 -0
  386. /package/skills/{skill-compose-gmail → skill-gmail}/src/index.ts +0 -0
  387. /package/skills/{skill-architecture-docs → skill-gmail}/tsconfig.json +0 -0
@@ -1,442 +0,0 @@
1
- #!/usr/bin/env bun
2
-
3
- import * as fs from "fs";
4
- import * as path from "path";
5
- import minimist from "minimist";
6
-
7
- // Types
8
- interface MementoSection {
9
- heading: string;
10
- content: string;
11
- }
12
-
13
- interface MementoJsonData {
14
- context?: string;
15
- sections?: MementoSection[];
16
- codeSnippets?: { language?: string; filename?: string; code: string }[];
17
- keyPoints?: string[];
18
- decisions?: { decision: string; rationale?: string }[];
19
- links?: string[];
20
- nextSteps?: string[];
21
- notes?: string;
22
- }
23
-
24
- interface MementoData {
25
- id: string;
26
- slug: string;
27
- title: string;
28
- content: string;
29
- category: "code" | "decision" | "context" | "note" | "research";
30
- tags: string[];
31
- related: string[];
32
- created: string;
33
- updated: string;
34
- jsonData?: MementoJsonData;
35
- }
36
-
37
- // Parse command line arguments
38
- const args = minimist(process.argv.slice(2), {
39
- string: ["slug", "category", "content", "tags", "related", "data"],
40
- boolean: ["no-index", "help"],
41
- default: {
42
- category: "note",
43
- "no-index": false,
44
- },
45
- alias: {
46
- s: "slug",
47
- c: "content",
48
- t: "tags",
49
- r: "related",
50
- d: "data",
51
- h: "help",
52
- },
53
- });
54
-
55
- // Show help
56
- if (args.help) {
57
- console.log(`
58
- Implementation Memento - Create memento files for capturing notes and context
59
-
60
- Usage:
61
- skills run implementation-memento -- "<title>" [options]
62
-
63
- Options:
64
- -s, --slug <name> Slug name for the memento file (required)
65
- --category <type> Category: code, decision, context, note, research (default: note)
66
- -c, --content <text> Additional content/body for the memento
67
- -t, --tags <tags> Comma-separated tags
68
- -r, --related <ids> Related memento/todo/plan IDs (comma-separated)
69
- -d, --data <json> JSON data with sections, code snippets, etc.
70
- --no-index Skip updating MEMENTOS.md index
71
- -h, --help Show this help
72
-
73
- JSON Data Format (--data):
74
- {
75
- "context": "Background context for this memento",
76
- "sections": [
77
- { "heading": "Overview", "content": "Section content here" },
78
- { "heading": "Details", "content": "More details" }
79
- ],
80
- "codeSnippets": [
81
- { "language": "typescript", "filename": "src/index.ts", "code": "const x = 1;" }
82
- ],
83
- "keyPoints": ["Important point 1", "Important point 2"],
84
- "decisions": [
85
- { "decision": "Use PostgreSQL", "rationale": "Better JSON support" }
86
- ],
87
- "links": ["https://docs.example.com"],
88
- "nextSteps": ["Review with team", "Create follow-up tasks"],
89
- "notes": "Additional notes"
90
- }
91
-
92
- Examples:
93
- skills run implementation-memento -- "API endpoint found" --slug api-discovery
94
- skills run implementation-memento -- "DB choice" --slug db-decision --category decision
95
- skills run implementation-memento -- "Discovery" --slug discovery --data '{"keyPoints":["Found useful pattern"],"links":["https://example.com"]}'
96
- `);
97
- process.exit(0);
98
- }
99
-
100
- // Get title
101
- const title = args._[0] as string;
102
-
103
- if (!title) {
104
- console.error("Error: Title is required");
105
- console.error('Usage: skills run implementation-memento -- "<title>" --slug <slug>');
106
- process.exit(1);
107
- }
108
-
109
- // Get slug
110
- const rawSlug = args.slug as string;
111
-
112
- if (!rawSlug) {
113
- console.error("Error: --slug is required");
114
- console.error('Usage: skills run implementation-memento -- "<title>" --slug <slug>');
115
- process.exit(1);
116
- }
117
-
118
- // Normalize slug (replace spaces and dashes with underscores)
119
- const slug = rawSlug.toLowerCase().replace(/[\s-]+/g, "_").replace(/[^a-z0-9_]/g, "");
120
-
121
- // Sanitize content for safe inclusion (handle quotes and special chars)
122
- function sanitizeContent(text: string): string {
123
- if (!text) return "";
124
- // Normalize line endings and trim
125
- return text
126
- .replace(/\\n/g, "\n") // Handle escaped newlines from CLI
127
- .replace(/\\t/g, "\t") // Handle escaped tabs from CLI
128
- .trim();
129
- }
130
-
131
- // Get content if provided
132
- const userContent = args.content ? sanitizeContent(args.content as string) : "";
133
-
134
- // Find .implementation directory
135
- function findImplementationDir(): string | null {
136
- // Use SKILLS_CWD if available (user's working directory from remote execution)
137
- let currentDir = process.env.SKILLS_CWD || process.cwd();
138
-
139
- while (currentDir !== path.dirname(currentDir)) {
140
- const implDir = path.join(currentDir, ".implementation");
141
- if (fs.existsSync(implDir)) {
142
- return implDir;
143
- }
144
- currentDir = path.dirname(currentDir);
145
- }
146
-
147
- return null;
148
- }
149
-
150
- const implDir = findImplementationDir();
151
-
152
- if (!implDir) {
153
- console.error("Error: .implementation directory not found");
154
- console.error("Run 'skills run implementation-init' first to create the folder structure");
155
- process.exit(1);
156
- }
157
-
158
- // Output directory
159
- const outputDir = path.join(implDir, "data", "mementos");
160
-
161
- if (!fs.existsSync(outputDir)) {
162
- fs.mkdirSync(outputDir, { recursive: true });
163
- }
164
-
165
- // Get next sequence number
166
- function getNextSequence(): number {
167
- if (!fs.existsSync(outputDir)) return 1;
168
-
169
- const files = fs.readdirSync(outputDir);
170
- let maxSeq = 0;
171
-
172
- for (const file of files) {
173
- const match = file.match(/^memento_(\d{5})_/);
174
- if (match) {
175
- const seq = parseInt(match[1], 10);
176
- if (seq > maxSeq) maxSeq = seq;
177
- }
178
- }
179
-
180
- return maxSeq + 1;
181
- }
182
-
183
- const sequence = getNextSequence();
184
- const mementoId = `memento_${String(sequence).padStart(5, "0")}`;
185
- const timestamp = new Date().toISOString().split("T")[0];
186
-
187
- // Parse JSON data if provided
188
- let jsonData: MementoJsonData | undefined;
189
- if (args.data) {
190
- try {
191
- jsonData = JSON.parse(args.data as string);
192
- } catch (e) {
193
- console.error("Error: Invalid JSON data provided");
194
- console.error("Make sure to escape quotes properly in the shell");
195
- process.exit(1);
196
- }
197
- }
198
-
199
- // Parse tags
200
- const tags = args.tags ? (args.tags as string).split(",").map((t: string) => t.trim()) : [];
201
-
202
- // Parse related
203
- const related = args.related ? (args.related as string).split(",").map((r: string) => r.trim()) : [];
204
-
205
- // Validate category
206
- const validCategories = ["code", "decision", "context", "note", "research"];
207
- const category = validCategories.includes(args.category) ? args.category : "note";
208
-
209
- // Build memento data
210
- const mementoData: MementoData = {
211
- id: mementoId,
212
- slug,
213
- title,
214
- content: userContent || title,
215
- category: category as MementoData["category"],
216
- tags,
217
- related,
218
- created: timestamp,
219
- updated: timestamp,
220
- jsonData,
221
- };
222
-
223
- // Get category description
224
- function getCategoryDescription(cat: string): string {
225
- const descriptions: Record<string, string> = {
226
- code: "Code snippets, functions, patterns discovered during development",
227
- decision: "Architecture decisions, library choices, implementation approaches",
228
- context: "Current state, progress updates, situational information",
229
- note: "General notes, observations, reminders",
230
- research: "Research findings, comparisons, evaluations",
231
- };
232
- return descriptions[cat] || descriptions.note;
233
- }
234
-
235
- // Generate markdown content
236
- function generateMarkdown(data: MementoData): string {
237
- const json = data.jsonData;
238
- let content = `# Memento: ${data.title}\n\n`;
239
-
240
- // Metadata
241
- content += `- **ID**: ${data.id}\n`;
242
- content += `- **Slug**: ${data.slug}\n`;
243
- content += `- **Category**: ${data.category}\n`;
244
-
245
- if (data.tags.length > 0) {
246
- content += `- **Tags**: ${data.tags.join(", ")}\n`;
247
- }
248
-
249
- if (data.related.length > 0) {
250
- content += `- **Related**: ${data.related.join(", ")}\n`;
251
- }
252
-
253
- content += `- **Created**: ${data.created}\n`;
254
- content += `- **Updated**: ${data.updated}\n`;
255
-
256
- // Context section
257
- content += `\n## Context\n\n`;
258
- if (json?.context) {
259
- content += `${json.context}\n`;
260
- } else if (userContent) {
261
- content += `${userContent}\n`;
262
- } else {
263
- content += `<!-- ${getCategoryDescription(data.category)} -->\n`;
264
- }
265
-
266
- // Custom sections (if provided)
267
- if (json?.sections && json.sections.length > 0) {
268
- for (const section of json.sections) {
269
- content += `\n## ${section.heading}\n\n`;
270
- content += `${section.content}\n`;
271
- }
272
- }
273
-
274
- // Key Points (if provided)
275
- if (json?.keyPoints && json.keyPoints.length > 0) {
276
- content += `\n## Key Points\n\n`;
277
- for (const point of json.keyPoints) {
278
- content += `- ${point}\n`;
279
- }
280
- }
281
-
282
- // Decisions (if provided - especially for decision category)
283
- if (json?.decisions && json.decisions.length > 0) {
284
- content += `\n## Decisions\n\n`;
285
- for (const dec of json.decisions) {
286
- content += `### ${dec.decision}\n\n`;
287
- if (dec.rationale) {
288
- content += `**Rationale:** ${dec.rationale}\n\n`;
289
- }
290
- }
291
- }
292
-
293
- // Code Snippets (if provided - especially for code category)
294
- if (json?.codeSnippets && json.codeSnippets.length > 0) {
295
- content += `\n## Code Snippets\n`;
296
- for (const snippet of json.codeSnippets) {
297
- if (snippet.filename) {
298
- content += `\n### ${snippet.filename}\n\n`;
299
- } else {
300
- content += `\n`;
301
- }
302
- const lang = snippet.language || "";
303
- content += `\`\`\`${lang}\n${snippet.code}\n\`\`\`\n`;
304
- }
305
- }
306
-
307
- // Links (if provided)
308
- if (json?.links && json.links.length > 0) {
309
- content += `\n## Links\n\n`;
310
- for (const link of json.links) {
311
- content += `- ${link}\n`;
312
- }
313
- }
314
-
315
- // Next Steps (if provided)
316
- if (json?.nextSteps && json.nextSteps.length > 0) {
317
- content += `\n## Next Steps\n\n`;
318
- for (const step of json.nextSteps) {
319
- content += `- [ ] ${step}\n`;
320
- }
321
- }
322
-
323
- // Related Items
324
- content += `\n## Related Items\n\n`;
325
- if (data.related.length > 0) {
326
- for (const rel of data.related) {
327
- content += `- ${rel}\n`;
328
- }
329
- } else {
330
- content += `<!-- Add related mementos, todos, or plans -->\n`;
331
- }
332
-
333
- // Notes section
334
- content += `\n## Notes\n\n`;
335
- if (json?.notes) {
336
- content += `${json.notes}\n`;
337
- } else {
338
- content += `<!-- Additional notes and observations -->\n`;
339
- }
340
-
341
- // History
342
- content += `\n## History\n\n`;
343
- content += `| Date | Action |\n`;
344
- content += `|------|--------|\n`;
345
- content += `| ${data.created} | Created |\n`;
346
-
347
- return content;
348
- }
349
-
350
- // Update index file
351
- function updateIndex(data: MementoData, filename: string): void {
352
- const indexPath = path.join(implDir, "data", "indexes", "MEMENTOS.md");
353
-
354
- // Create index file if it doesn't exist
355
- if (!fs.existsSync(indexPath)) {
356
- const initialContent = `# Mementos Index
357
-
358
- Project: ${path.basename(path.dirname(implDir))}
359
- Created: ${timestamp}
360
-
361
- ## Overview
362
-
363
- This file indexes all mementos in this implementation.
364
-
365
- ## Recent Mementos
366
-
367
- | ID | Slug | Title | Category | Created |
368
- |----|------|-------|----------|---------|
369
- | ${data.id} | ${data.slug} | ${data.title} | ${data.category} | ${data.created} |
370
-
371
- ---
372
-
373
- *Updated: ${timestamp}*
374
- `;
375
- fs.writeFileSync(indexPath, initialContent);
376
- return;
377
- }
378
-
379
- let content = fs.readFileSync(indexPath, "utf-8");
380
-
381
- // Add new row to table
382
- const newRow = `| ${data.id} | ${data.slug} | ${data.title} | ${data.category} | ${data.created} |`;
383
-
384
- // Find the table and add new row after header
385
- const tableMatch = content.match(/(## Recent Mementos[\s\S]*?\|[-|]+\|[-|]+\|[-|]+\|[-|]+\|[-|]+\|)/);
386
- if (tableMatch) {
387
- const insertPoint = tableMatch.index! + tableMatch[0].length;
388
- content = content.slice(0, insertPoint) + "\n" + newRow + content.slice(insertPoint);
389
- }
390
-
391
- // Update timestamp
392
- content = content.replace(/\*Updated:.*\*/, `*Updated: ${timestamp}*`);
393
-
394
- fs.writeFileSync(indexPath, content);
395
- }
396
-
397
- // Main execution
398
- async function main(): Promise<void> {
399
- console.log(`\nImplementation Memento`);
400
- console.log(`======================\n`);
401
-
402
- // Generate filename
403
- const filename = `${mementoId}_${slug}.md`;
404
- const outputPath = path.join(outputDir, filename);
405
-
406
- // Generate content
407
- const content = generateMarkdown(mementoData);
408
-
409
- // Write file
410
- fs.writeFileSync(outputPath, content);
411
-
412
- console.log(`Created: ${outputPath}`);
413
- console.log(`\nMemento Details:`);
414
- console.log(` ID: ${mementoData.id}`);
415
- console.log(` Title: ${mementoData.title}`);
416
- console.log(` Slug: ${mementoData.slug}`);
417
- console.log(` Category: ${mementoData.category}`);
418
-
419
- if (mementoData.tags.length > 0) {
420
- console.log(` Tags: ${mementoData.tags.join(", ")}`);
421
- }
422
-
423
- if (mementoData.related.length > 0) {
424
- console.log(` Related: ${mementoData.related.join(", ")}`);
425
- }
426
-
427
- // Update index
428
- if (!args["no-index"]) {
429
- console.log(`\nUpdating MEMENTOS.md index...`);
430
- updateIndex(mementoData, filename);
431
- console.log(`Index updated.`);
432
- }
433
-
434
- console.log(`\n${"=".repeat(40)}`);
435
- console.log(`\nMemento created successfully!`);
436
- console.log(`File: .implementation/data/mementos/${filename}`);
437
- }
438
-
439
- main().catch((error) => {
440
- console.error(`Error: ${error.message}`);
441
- process.exit(1);
442
- });
@@ -1,14 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ES2022",
5
- "moduleResolution": "bundler",
6
- "esModuleInterop": true,
7
- "strict": true,
8
- "skipLibCheck": true,
9
- "outDir": "dist",
10
- "declaration": true,
11
- "types": ["bun-types"]
12
- },
13
- "include": ["src/**/*", "bin/**/*"]
14
- }
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Hasna
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,28 +0,0 @@
1
- # skill-linear
2
-
3
- Work with Linear issues, projects, and workflows
4
-
5
- ## Overview
6
-
7
- This Skill provides capabilities for managing Linear project management tasks including creating issues, updating status, searching across projects, and managing teams and cycles.
8
-
9
- ## MCP Server
10
-
11
- Uses the Linear MCP server for API access.
12
-
13
- Connection options:
14
- - Remote SSE: `https://mcp.linear.app/sse`
15
- - NPM package: `linear-mcp-server`
16
-
17
- ## Usage
18
-
19
- This Skill is automatically invoked by Claude Code when working with Linear-related tasks.
20
-
21
- Example requests:
22
- - "Create a Linear issue for the authentication bug"
23
- - "Find all high-priority issues in the backend project"
24
- - "Update LIN-123 to In Progress"
25
-
26
- ## Setup
27
-
28
- Get your Linear API key from: Linear Settings → API → Personal API Keys
@@ -1,94 +0,0 @@
1
- ---
2
- name: skill-linear
3
- description: Work with Linear issues, projects, and workflows. Create, update, search issues, manage projects, cycles, and teams. Use when working with Linear project management tasks.
4
- ---
5
-
6
- # Linear Project Management Skill
7
-
8
- ## What this Skill does
9
-
10
- This Skill helps you interact with Linear for project management tasks using the Linear MCP server tools.
11
-
12
- ## When to use this Skill
13
-
14
- Use this Skill when you need to:
15
- - Create or update Linear issues
16
- - Search for issues across projects
17
- - Manage projects, milestones, and cycles
18
- - Work with teams and assignments
19
- - Track issue status and progress
20
- - Comment on issues or discussions
21
-
22
- ## MCP Server Connection
23
-
24
- The Linear MCP server provides access to Linear's API. To connect:
25
-
26
- ### Option 1: Remote SSE Connection (Recommended)
27
- ```json
28
- {
29
- "linear": {
30
- "url": "https://mcp.linear.app/sse"
31
- }
32
- }
33
- ```
34
-
35
- ### Option 2: NPM Package
36
- ```json
37
- {
38
- "linear": {
39
- "command": "npx",
40
- "args": ["-y", "linear-mcp-server"],
41
- "env": {
42
- "LINEAR_API_KEY": "${LINEAR_API_KEY}"
43
- }
44
- }
45
- }
46
- ```
47
-
48
- **Setup**: Get your API key from Linear Settings → API → Personal API Keys
49
-
50
- ## Available Operations
51
-
52
- The Linear MCP server provides tools for:
53
-
54
- - **Issue Management**: Create, update, search, and manage issues
55
- - **Projects**: List and manage projects and roadmaps
56
- - **Teams**: Work with team structures and assignments
57
- - **Cycles**: Manage sprint cycles and iterations
58
- - **Comments**: Add comments and discussions to issues
59
- - **Labels**: Organize issues with labels and tags
60
- - **Status**: Track and update issue states
61
-
62
- ## Examples
63
-
64
- ### Example 1: Create an issue
65
- "Create a Linear issue for implementing the new authentication system"
66
- → Claude uses Linear MCP tools to create an issue with details
67
-
68
- ### Example 2: Search issues
69
- "Find all high-priority bugs in the backend project"
70
- → Claude searches Linear and provides filtered results
71
-
72
- ### Example 3: Update issue status
73
- "Move issue LIN-123 to In Progress"
74
- → Claude updates the issue status using Linear tools
75
-
76
- ### Example 4: List project issues
77
- "Show me all issues in the Q1 Roadmap project"
78
- → Claude fetches and displays project issues
79
-
80
- ## Best practices
81
-
82
- - Reference specific issue IDs when updating (e.g., "LIN-123")
83
- - Include priority, labels, and assignees when creating issues
84
- - Use clear descriptions for better issue tracking
85
- - Leverage Linear's project hierarchy for organization
86
- - Set appropriate due dates and cycles
87
-
88
- ## Integration Notes
89
-
90
- The Linear MCP server automatically handles:
91
- - Authentication via API key
92
- - Rate limiting and retries
93
- - Issue state transitions
94
- - Team and project resolution