@skillsmith/mcp-server 0.1.0

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 (306) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/src/__tests__/get-skill.test.d.ts +6 -0
  3. package/dist/src/__tests__/get-skill.test.d.ts.map +1 -0
  4. package/dist/src/__tests__/get-skill.test.js +88 -0
  5. package/dist/src/__tests__/get-skill.test.js.map +1 -0
  6. package/dist/src/__tests__/middleware/errorFormatter.test.d.ts +7 -0
  7. package/dist/src/__tests__/middleware/errorFormatter.test.d.ts.map +1 -0
  8. package/dist/src/__tests__/middleware/errorFormatter.test.js +304 -0
  9. package/dist/src/__tests__/middleware/errorFormatter.test.js.map +1 -0
  10. package/dist/src/__tests__/middleware/license.test.d.ts +7 -0
  11. package/dist/src/__tests__/middleware/license.test.d.ts.map +1 -0
  12. package/dist/src/__tests__/middleware/license.test.js +500 -0
  13. package/dist/src/__tests__/middleware/license.test.js.map +1 -0
  14. package/dist/src/__tests__/search.test.d.ts +6 -0
  15. package/dist/src/__tests__/search.test.d.ts.map +1 -0
  16. package/dist/src/__tests__/search.test.js +86 -0
  17. package/dist/src/__tests__/search.test.js.map +1 -0
  18. package/dist/src/__tests__/test-utils.d.ts +19 -0
  19. package/dist/src/__tests__/test-utils.d.ts.map +1 -0
  20. package/dist/src/__tests__/test-utils.js +87 -0
  21. package/dist/src/__tests__/test-utils.js.map +1 -0
  22. package/dist/src/context/index.d.ts +19 -0
  23. package/dist/src/context/index.d.ts.map +1 -0
  24. package/dist/src/context/index.js +25 -0
  25. package/dist/src/context/index.js.map +1 -0
  26. package/dist/src/context/project-detector.d.ts +145 -0
  27. package/dist/src/context/project-detector.d.ts.map +1 -0
  28. package/dist/src/context/project-detector.js +321 -0
  29. package/dist/src/context/project-detector.js.map +1 -0
  30. package/dist/src/context.d.ts +100 -0
  31. package/dist/src/context.d.ts.map +1 -0
  32. package/dist/src/context.js +157 -0
  33. package/dist/src/context.js.map +1 -0
  34. package/dist/src/core-shim.d.ts +7 -0
  35. package/dist/src/core-shim.d.ts.map +1 -0
  36. package/dist/src/core-shim.js +9 -0
  37. package/dist/src/core-shim.js.map +1 -0
  38. package/dist/src/health/healthCheck.d.ts +88 -0
  39. package/dist/src/health/healthCheck.d.ts.map +1 -0
  40. package/dist/src/health/healthCheck.js +117 -0
  41. package/dist/src/health/healthCheck.js.map +1 -0
  42. package/dist/src/health/index.d.ts +21 -0
  43. package/dist/src/health/index.d.ts.map +1 -0
  44. package/dist/src/health/index.js +21 -0
  45. package/dist/src/health/index.js.map +1 -0
  46. package/dist/src/health/readinessCheck.d.ts +139 -0
  47. package/dist/src/health/readinessCheck.d.ts.map +1 -0
  48. package/dist/src/health/readinessCheck.js +266 -0
  49. package/dist/src/health/readinessCheck.js.map +1 -0
  50. package/dist/src/index.d.ts +8 -0
  51. package/dist/src/index.d.ts.map +1 -0
  52. package/dist/src/index.js +178 -0
  53. package/dist/src/index.js.map +1 -0
  54. package/dist/src/index.test.d.ts +2 -0
  55. package/dist/src/index.test.d.ts.map +1 -0
  56. package/dist/src/index.test.js +43 -0
  57. package/dist/src/index.test.js.map +1 -0
  58. package/dist/src/logger.d.ts +26 -0
  59. package/dist/src/logger.d.ts.map +1 -0
  60. package/dist/src/logger.js +179 -0
  61. package/dist/src/logger.js.map +1 -0
  62. package/dist/src/middleware/__tests__/csp.test.d.ts +2 -0
  63. package/dist/src/middleware/__tests__/csp.test.d.ts.map +1 -0
  64. package/dist/src/middleware/__tests__/csp.test.js +389 -0
  65. package/dist/src/middleware/__tests__/csp.test.js.map +1 -0
  66. package/dist/src/middleware/csp.d.ts +87 -0
  67. package/dist/src/middleware/csp.d.ts.map +1 -0
  68. package/dist/src/middleware/csp.js +273 -0
  69. package/dist/src/middleware/csp.js.map +1 -0
  70. package/dist/src/middleware/degradation.d.ts +99 -0
  71. package/dist/src/middleware/degradation.d.ts.map +1 -0
  72. package/dist/src/middleware/degradation.js +315 -0
  73. package/dist/src/middleware/degradation.js.map +1 -0
  74. package/dist/src/middleware/errorFormatter.d.ts +119 -0
  75. package/dist/src/middleware/errorFormatter.d.ts.map +1 -0
  76. package/dist/src/middleware/errorFormatter.js +294 -0
  77. package/dist/src/middleware/errorFormatter.js.map +1 -0
  78. package/dist/src/middleware/index.d.ts +10 -0
  79. package/dist/src/middleware/index.d.ts.map +1 -0
  80. package/dist/src/middleware/index.js +14 -0
  81. package/dist/src/middleware/index.js.map +1 -0
  82. package/dist/src/middleware/license.d.ts +161 -0
  83. package/dist/src/middleware/license.d.ts.map +1 -0
  84. package/dist/src/middleware/license.js +281 -0
  85. package/dist/src/middleware/license.js.map +1 -0
  86. package/dist/src/middleware/toolFeatureMapping.d.ts +36 -0
  87. package/dist/src/middleware/toolFeatureMapping.d.ts.map +1 -0
  88. package/dist/src/middleware/toolFeatureMapping.js +90 -0
  89. package/dist/src/middleware/toolFeatureMapping.js.map +1 -0
  90. package/dist/src/onboarding/first-run.d.ts +64 -0
  91. package/dist/src/onboarding/first-run.d.ts.map +1 -0
  92. package/dist/src/onboarding/first-run.js +77 -0
  93. package/dist/src/onboarding/first-run.js.map +1 -0
  94. package/dist/src/onboarding/index.d.ts +7 -0
  95. package/dist/src/onboarding/index.d.ts.map +1 -0
  96. package/dist/src/onboarding/index.js +7 -0
  97. package/dist/src/onboarding/index.js.map +1 -0
  98. package/dist/src/suggestions/index.d.ts +21 -0
  99. package/dist/src/suggestions/index.d.ts.map +1 -0
  100. package/dist/src/suggestions/index.js +20 -0
  101. package/dist/src/suggestions/index.js.map +1 -0
  102. package/dist/src/suggestions/suggestion-engine.d.ts +185 -0
  103. package/dist/src/suggestions/suggestion-engine.d.ts.map +1 -0
  104. package/dist/src/suggestions/suggestion-engine.js +352 -0
  105. package/dist/src/suggestions/suggestion-engine.js.map +1 -0
  106. package/dist/src/suggestions/types.d.ts +88 -0
  107. package/dist/src/suggestions/types.d.ts.map +1 -0
  108. package/dist/src/suggestions/types.js +21 -0
  109. package/dist/src/suggestions/types.js.map +1 -0
  110. package/dist/src/tools/analyze.d.ts +151 -0
  111. package/dist/src/tools/analyze.d.ts.map +1 -0
  112. package/dist/src/tools/analyze.js +205 -0
  113. package/dist/src/tools/analyze.js.map +1 -0
  114. package/dist/src/tools/compare.d.ts +149 -0
  115. package/dist/src/tools/compare.d.ts.map +1 -0
  116. package/dist/src/tools/compare.js +464 -0
  117. package/dist/src/tools/compare.js.map +1 -0
  118. package/dist/src/tools/get-skill.d.ts +116 -0
  119. package/dist/src/tools/get-skill.d.ts.map +1 -0
  120. package/dist/src/tools/get-skill.js +224 -0
  121. package/dist/src/tools/get-skill.js.map +1 -0
  122. package/dist/src/tools/index.d.ts +20 -0
  123. package/dist/src/tools/index.d.ts.map +1 -0
  124. package/dist/src/tools/index.js +20 -0
  125. package/dist/src/tools/index.js.map +1 -0
  126. package/dist/src/tools/install.d.ts +122 -0
  127. package/dist/src/tools/install.d.ts.map +1 -0
  128. package/dist/src/tools/install.js +314 -0
  129. package/dist/src/tools/install.js.map +1 -0
  130. package/dist/src/tools/recommend.d.ts +171 -0
  131. package/dist/src/tools/recommend.d.ts.map +1 -0
  132. package/dist/src/tools/recommend.js +325 -0
  133. package/dist/src/tools/recommend.js.map +1 -0
  134. package/dist/src/tools/search.d.ts +121 -0
  135. package/dist/src/tools/search.d.ts.map +1 -0
  136. package/dist/src/tools/search.js +249 -0
  137. package/dist/src/tools/search.js.map +1 -0
  138. package/dist/src/tools/suggest.d.ts +181 -0
  139. package/dist/src/tools/suggest.d.ts.map +1 -0
  140. package/dist/src/tools/suggest.js +342 -0
  141. package/dist/src/tools/suggest.js.map +1 -0
  142. package/dist/src/tools/uninstall.d.ts +123 -0
  143. package/dist/src/tools/uninstall.d.ts.map +1 -0
  144. package/dist/src/tools/uninstall.js +250 -0
  145. package/dist/src/tools/uninstall.js.map +1 -0
  146. package/dist/src/tools/validate.d.ts +122 -0
  147. package/dist/src/tools/validate.d.ts.map +1 -0
  148. package/dist/src/tools/validate.js +497 -0
  149. package/dist/src/tools/validate.js.map +1 -0
  150. package/dist/src/utils/installed-skills.d.ts +101 -0
  151. package/dist/src/utils/installed-skills.d.ts.map +1 -0
  152. package/dist/src/utils/installed-skills.js +220 -0
  153. package/dist/src/utils/installed-skills.js.map +1 -0
  154. package/dist/src/utils/validation.d.ts +76 -0
  155. package/dist/src/utils/validation.d.ts.map +1 -0
  156. package/dist/src/utils/validation.js +153 -0
  157. package/dist/src/utils/validation.js.map +1 -0
  158. package/dist/src/webhooks/index.d.ts +8 -0
  159. package/dist/src/webhooks/index.d.ts.map +1 -0
  160. package/dist/src/webhooks/index.js +9 -0
  161. package/dist/src/webhooks/index.js.map +1 -0
  162. package/dist/src/webhooks/webhook-endpoint.d.ts +149 -0
  163. package/dist/src/webhooks/webhook-endpoint.d.ts.map +1 -0
  164. package/dist/src/webhooks/webhook-endpoint.js +339 -0
  165. package/dist/src/webhooks/webhook-endpoint.js.map +1 -0
  166. package/dist/tests/compare.test.d.ts +6 -0
  167. package/dist/tests/compare.test.d.ts.map +1 -0
  168. package/dist/tests/compare.test.js +225 -0
  169. package/dist/tests/compare.test.js.map +1 -0
  170. package/dist/tests/context/project-detector.test.d.ts +6 -0
  171. package/dist/tests/context/project-detector.test.d.ts.map +1 -0
  172. package/dist/tests/context/project-detector.test.js +719 -0
  173. package/dist/tests/context/project-detector.test.js.map +1 -0
  174. package/dist/tests/e2e/compare.e2e.test.d.ts +10 -0
  175. package/dist/tests/e2e/compare.e2e.test.d.ts.map +1 -0
  176. package/dist/tests/e2e/compare.e2e.test.js +286 -0
  177. package/dist/tests/e2e/compare.e2e.test.js.map +1 -0
  178. package/dist/tests/e2e/install-flow.e2e.test.d.ts +10 -0
  179. package/dist/tests/e2e/install-flow.e2e.test.d.ts.map +1 -0
  180. package/dist/tests/e2e/install-flow.e2e.test.js +209 -0
  181. package/dist/tests/e2e/install-flow.e2e.test.js.map +1 -0
  182. package/dist/tests/e2e/recommend.e2e.test.d.ts +12 -0
  183. package/dist/tests/e2e/recommend.e2e.test.d.ts.map +1 -0
  184. package/dist/tests/e2e/recommend.e2e.test.js +347 -0
  185. package/dist/tests/e2e/recommend.e2e.test.js.map +1 -0
  186. package/dist/tests/e2e/skill-flow.e2e.test.d.ts +10 -0
  187. package/dist/tests/e2e/skill-flow.e2e.test.d.ts.map +1 -0
  188. package/dist/tests/e2e/skill-flow.e2e.test.js +280 -0
  189. package/dist/tests/e2e/skill-flow.e2e.test.js.map +1 -0
  190. package/dist/tests/e2e/suggest.e2e.test.d.ts +13 -0
  191. package/dist/tests/e2e/suggest.e2e.test.d.ts.map +1 -0
  192. package/dist/tests/e2e/suggest.e2e.test.js +347 -0
  193. package/dist/tests/e2e/suggest.e2e.test.js.map +1 -0
  194. package/dist/tests/e2e/utils/baseline-collector.d.ts +107 -0
  195. package/dist/tests/e2e/utils/baseline-collector.d.ts.map +1 -0
  196. package/dist/tests/e2e/utils/baseline-collector.js +211 -0
  197. package/dist/tests/e2e/utils/baseline-collector.js.map +1 -0
  198. package/dist/tests/e2e/utils/hardcoded-detector.d.ts +46 -0
  199. package/dist/tests/e2e/utils/hardcoded-detector.d.ts.map +1 -0
  200. package/dist/tests/e2e/utils/hardcoded-detector.js +255 -0
  201. package/dist/tests/e2e/utils/hardcoded-detector.js.map +1 -0
  202. package/dist/tests/e2e/utils/index.d.ts +7 -0
  203. package/dist/tests/e2e/utils/index.d.ts.map +1 -0
  204. package/dist/tests/e2e/utils/index.js +7 -0
  205. package/dist/tests/e2e/utils/index.js.map +1 -0
  206. package/dist/tests/e2e/utils/linear-reporter.d.ts +60 -0
  207. package/dist/tests/e2e/utils/linear-reporter.d.ts.map +1 -0
  208. package/dist/tests/e2e/utils/linear-reporter.js +232 -0
  209. package/dist/tests/e2e/utils/linear-reporter.js.map +1 -0
  210. package/dist/tests/health.test.d.ts +9 -0
  211. package/dist/tests/health.test.d.ts.map +1 -0
  212. package/dist/tests/health.test.js +308 -0
  213. package/dist/tests/health.test.js.map +1 -0
  214. package/dist/tests/integration/analyze.integration.test.d.ts +2 -0
  215. package/dist/tests/integration/analyze.integration.test.d.ts.map +1 -0
  216. package/dist/tests/integration/analyze.integration.test.js +244 -0
  217. package/dist/tests/integration/analyze.integration.test.js.map +1 -0
  218. package/dist/tests/integration/compare.integration.test.d.ts +2 -0
  219. package/dist/tests/integration/compare.integration.test.d.ts.map +1 -0
  220. package/dist/tests/integration/compare.integration.test.js +120 -0
  221. package/dist/tests/integration/compare.integration.test.js.map +1 -0
  222. package/dist/tests/integration/fixtures/test-skills.d.ts +62 -0
  223. package/dist/tests/integration/fixtures/test-skills.d.ts.map +1 -0
  224. package/dist/tests/integration/fixtures/test-skills.js +644 -0
  225. package/dist/tests/integration/fixtures/test-skills.js.map +1 -0
  226. package/dist/tests/integration/get-skill.integration.test.d.ts +6 -0
  227. package/dist/tests/integration/get-skill.integration.test.d.ts.map +1 -0
  228. package/dist/tests/integration/get-skill.integration.test.js +203 -0
  229. package/dist/tests/integration/get-skill.integration.test.js.map +1 -0
  230. package/dist/tests/integration/github-api.integration.test.d.ts +14 -0
  231. package/dist/tests/integration/github-api.integration.test.d.ts.map +1 -0
  232. package/dist/tests/integration/github-api.integration.test.js +190 -0
  233. package/dist/tests/integration/github-api.integration.test.js.map +1 -0
  234. package/dist/tests/integration/install.integration.test.d.ts +6 -0
  235. package/dist/tests/integration/install.integration.test.d.ts.map +1 -0
  236. package/dist/tests/integration/install.integration.test.js +282 -0
  237. package/dist/tests/integration/install.integration.test.js.map +1 -0
  238. package/dist/tests/integration/recommend.integration.test.d.ts +2 -0
  239. package/dist/tests/integration/recommend.integration.test.d.ts.map +1 -0
  240. package/dist/tests/integration/recommend.integration.test.js +215 -0
  241. package/dist/tests/integration/recommend.integration.test.js.map +1 -0
  242. package/dist/tests/integration/search.integration.test.d.ts +6 -0
  243. package/dist/tests/integration/search.integration.test.d.ts.map +1 -0
  244. package/dist/tests/integration/search.integration.test.js +229 -0
  245. package/dist/tests/integration/search.integration.test.js.map +1 -0
  246. package/dist/tests/integration/setup.d.ts +71 -0
  247. package/dist/tests/integration/setup.d.ts.map +1 -0
  248. package/dist/tests/integration/setup.js +124 -0
  249. package/dist/tests/integration/setup.js.map +1 -0
  250. package/dist/tests/integration/uninstall.integration.test.d.ts +6 -0
  251. package/dist/tests/integration/uninstall.integration.test.d.ts.map +1 -0
  252. package/dist/tests/integration/uninstall.integration.test.js +296 -0
  253. package/dist/tests/integration/uninstall.integration.test.js.map +1 -0
  254. package/dist/tests/integration/validate.integration.test.d.ts +2 -0
  255. package/dist/tests/integration/validate.integration.test.d.ts.map +1 -0
  256. package/dist/tests/integration/validate.integration.test.js +181 -0
  257. package/dist/tests/integration/validate.integration.test.js.map +1 -0
  258. package/dist/tests/onboarding/first-run.test.d.ts +7 -0
  259. package/dist/tests/onboarding/first-run.test.d.ts.map +1 -0
  260. package/dist/tests/onboarding/first-run.test.js +258 -0
  261. package/dist/tests/onboarding/first-run.test.js.map +1 -0
  262. package/dist/tests/performance/search-performance.test.d.ts +10 -0
  263. package/dist/tests/performance/search-performance.test.d.ts.map +1 -0
  264. package/dist/tests/performance/search-performance.test.js +218 -0
  265. package/dist/tests/performance/search-performance.test.js.map +1 -0
  266. package/dist/tests/recommend.test.d.ts +6 -0
  267. package/dist/tests/recommend.test.d.ts.map +1 -0
  268. package/dist/tests/recommend.test.js +208 -0
  269. package/dist/tests/recommend.test.js.map +1 -0
  270. package/dist/tests/suggestions/suggestion-engine.test.d.ts +6 -0
  271. package/dist/tests/suggestions/suggestion-engine.test.d.ts.map +1 -0
  272. package/dist/tests/suggestions/suggestion-engine.test.js +448 -0
  273. package/dist/tests/suggestions/suggestion-engine.test.js.map +1 -0
  274. package/dist/tests/test-utils.d.ts +74 -0
  275. package/dist/tests/test-utils.d.ts.map +1 -0
  276. package/dist/tests/test-utils.js +98 -0
  277. package/dist/tests/test-utils.js.map +1 -0
  278. package/dist/tests/tools.test.d.ts +5 -0
  279. package/dist/tests/tools.test.d.ts.map +1 -0
  280. package/dist/tests/tools.test.js +138 -0
  281. package/dist/tests/tools.test.js.map +1 -0
  282. package/dist/tests/unit/installed-skills.test.d.ts +6 -0
  283. package/dist/tests/unit/installed-skills.test.d.ts.map +1 -0
  284. package/dist/tests/unit/installed-skills.test.js +285 -0
  285. package/dist/tests/unit/installed-skills.test.js.map +1 -0
  286. package/dist/tests/unit/logger.test.d.ts +6 -0
  287. package/dist/tests/unit/logger.test.d.ts.map +1 -0
  288. package/dist/tests/unit/logger.test.js +281 -0
  289. package/dist/tests/unit/logger.test.js.map +1 -0
  290. package/dist/tests/validate.test.d.ts +5 -0
  291. package/dist/tests/validate.test.d.ts.map +1 -0
  292. package/dist/tests/validate.test.js +303 -0
  293. package/dist/tests/validate.test.js.map +1 -0
  294. package/dist/tests/webhooks/proxy-trust.security.test.d.ts +8 -0
  295. package/dist/tests/webhooks/proxy-trust.security.test.d.ts.map +1 -0
  296. package/dist/tests/webhooks/proxy-trust.security.test.js +145 -0
  297. package/dist/tests/webhooks/proxy-trust.security.test.js.map +1 -0
  298. package/dist/tests/webhooks/rate-limiter.security.test.d.ts +8 -0
  299. package/dist/tests/webhooks/rate-limiter.security.test.d.ts.map +1 -0
  300. package/dist/tests/webhooks/rate-limiter.security.test.js +122 -0
  301. package/dist/tests/webhooks/rate-limiter.security.test.js.map +1 -0
  302. package/dist/vitest.config.d.ts +6 -0
  303. package/dist/vitest.config.d.ts.map +1 -0
  304. package/dist/vitest.config.js +13 -0
  305. package/dist/vitest.config.js.map +1 -0
  306. package/package.json +63 -0
@@ -0,0 +1,644 @@
1
+ /**
2
+ * SMI-903: Comprehensive test skill fixtures
3
+ * Provides 50+ skills across all categories and trust tiers for realistic testing
4
+ */
5
+ /**
6
+ * Comprehensive test skills covering all categories and trust tiers
7
+ * Total: 58 skills (updated for SMI-907)
8
+ * - Categories: development, testing, documentation, devops, database, security, productivity, integration, ai-ml, other
9
+ * - Trust tiers: verified (8), community (26), experimental (16), unknown (8)
10
+ */
11
+ export const TEST_SKILLS = [
12
+ // ============ VERIFIED SKILLS (8) ============
13
+ // These represent official/trusted skills with highest quality
14
+ {
15
+ id: 'anthropic/commit',
16
+ name: 'commit',
17
+ description: 'Generate semantic commit messages following conventional commits specification',
18
+ author: 'anthropic',
19
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/commit',
20
+ qualityScore: 0.95,
21
+ trustTier: 'verified',
22
+ tags: ['git', 'commit', 'conventional-commits', 'automation', 'development'],
23
+ },
24
+ {
25
+ id: 'anthropic/review-pr',
26
+ name: 'review-pr',
27
+ description: 'Review pull requests with detailed code analysis and security checks',
28
+ author: 'anthropic',
29
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/review-pr',
30
+ qualityScore: 0.93,
31
+ trustTier: 'verified',
32
+ tags: ['git', 'pull-request', 'code-review', 'quality', 'development'],
33
+ },
34
+ {
35
+ id: 'anthropic/debug',
36
+ name: 'debug',
37
+ description: 'Advanced debugging assistance with stack trace analysis and fix suggestions',
38
+ author: 'anthropic',
39
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/debug',
40
+ qualityScore: 0.91,
41
+ trustTier: 'verified',
42
+ tags: ['debugging', 'error-handling', 'troubleshooting', 'development'],
43
+ },
44
+ {
45
+ id: 'anthropic/refactor',
46
+ name: 'refactor',
47
+ description: 'Intelligent code refactoring with pattern detection and best practices',
48
+ author: 'anthropic',
49
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/refactor',
50
+ qualityScore: 0.9,
51
+ trustTier: 'verified',
52
+ tags: ['refactoring', 'code-quality', 'patterns', 'development'],
53
+ },
54
+ {
55
+ id: 'anthropic/explain',
56
+ name: 'explain',
57
+ description: 'Explain complex code with detailed documentation and examples',
58
+ author: 'anthropic',
59
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/explain',
60
+ qualityScore: 0.92,
61
+ trustTier: 'verified',
62
+ tags: ['documentation', 'explanation', 'learning', 'education'],
63
+ },
64
+ {
65
+ id: 'anthropic/security-audit',
66
+ name: 'security-audit',
67
+ description: 'Comprehensive security auditing for vulnerabilities and best practices',
68
+ author: 'anthropic',
69
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/security-audit',
70
+ qualityScore: 0.94,
71
+ trustTier: 'verified',
72
+ tags: ['security', 'audit', 'vulnerabilities', 'owasp', 'security'],
73
+ },
74
+ {
75
+ id: 'anthropic/test-gen',
76
+ name: 'test-gen',
77
+ description: 'Generate comprehensive test suites with high coverage',
78
+ author: 'anthropic',
79
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/test-gen',
80
+ qualityScore: 0.89,
81
+ trustTier: 'verified',
82
+ tags: ['testing', 'test-generation', 'coverage', 'testing'],
83
+ },
84
+ {
85
+ id: 'anthropic/perf-optimize',
86
+ name: 'perf-optimize',
87
+ description: 'Performance optimization with profiling and bottleneck detection',
88
+ author: 'anthropic',
89
+ repoUrl: 'https://github.com/anthropics/claude-code-skills/perf-optimize',
90
+ qualityScore: 0.88,
91
+ trustTier: 'verified',
92
+ tags: ['performance', 'optimization', 'profiling', 'development'],
93
+ },
94
+ // ============ COMMUNITY SKILLS - TESTING (6) ============
95
+ {
96
+ id: 'community/jest-helper',
97
+ name: 'jest-helper',
98
+ description: 'Generate Jest test cases for React components with comprehensive coverage',
99
+ author: 'community',
100
+ repoUrl: 'https://github.com/skillsmith-community/jest-helper',
101
+ qualityScore: 0.87,
102
+ trustTier: 'community',
103
+ tags: ['jest', 'testing', 'react', 'unit-tests', 'testing'],
104
+ },
105
+ {
106
+ id: 'community/vitest-helper',
107
+ name: 'vitest-helper',
108
+ description: 'Generate Vitest test cases with modern testing patterns',
109
+ author: 'community',
110
+ repoUrl: 'https://github.com/skillsmith-community/vitest-helper',
111
+ qualityScore: 0.85,
112
+ trustTier: 'community',
113
+ tags: ['vitest', 'testing', 'typescript', 'unit-tests', 'testing'],
114
+ },
115
+ {
116
+ id: 'community/playwright-e2e',
117
+ name: 'playwright-e2e',
118
+ description: 'End-to-end testing with Playwright for web applications',
119
+ author: 'community',
120
+ repoUrl: 'https://github.com/skillsmith-community/playwright-e2e',
121
+ qualityScore: 0.84,
122
+ trustTier: 'community',
123
+ tags: ['playwright', 'e2e', 'testing', 'browser', 'testing'],
124
+ },
125
+ {
126
+ id: 'community/cypress-helper',
127
+ name: 'cypress-helper',
128
+ description: 'Cypress test generation and best practices for web testing',
129
+ author: 'community',
130
+ repoUrl: 'https://github.com/skillsmith-community/cypress-helper',
131
+ qualityScore: 0.82,
132
+ trustTier: 'community',
133
+ tags: ['cypress', 'e2e', 'testing', 'web', 'testing'],
134
+ },
135
+ {
136
+ id: 'community/mocha-chai',
137
+ name: 'mocha-chai',
138
+ description: 'Mocha and Chai test generation for Node.js applications',
139
+ author: 'community',
140
+ repoUrl: 'https://github.com/skillsmith-community/mocha-chai',
141
+ qualityScore: 0.78,
142
+ trustTier: 'community',
143
+ tags: ['mocha', 'chai', 'testing', 'nodejs', 'testing'],
144
+ },
145
+ {
146
+ id: 'community/testing-library',
147
+ name: 'testing-library',
148
+ description: 'React Testing Library patterns and component testing',
149
+ author: 'community',
150
+ repoUrl: 'https://github.com/skillsmith-community/testing-library',
151
+ qualityScore: 0.86,
152
+ trustTier: 'community',
153
+ tags: ['testing-library', 'react', 'testing', 'components', 'testing'],
154
+ },
155
+ // ============ COMMUNITY SKILLS - DEVOPS (6) ============
156
+ {
157
+ id: 'community/docker-compose',
158
+ name: 'docker-compose',
159
+ description: 'Generate and manage Docker Compose configurations for development',
160
+ author: 'community',
161
+ repoUrl: 'https://github.com/skillsmith-community/docker-compose',
162
+ qualityScore: 0.84,
163
+ trustTier: 'community',
164
+ tags: ['docker', 'devops', 'containers', 'compose', 'devops'],
165
+ },
166
+ {
167
+ id: 'community/kubernetes-helper',
168
+ name: 'kubernetes-helper',
169
+ description: 'Kubernetes manifest generation and cluster management',
170
+ author: 'community',
171
+ repoUrl: 'https://github.com/skillsmith-community/kubernetes-helper',
172
+ qualityScore: 0.81,
173
+ trustTier: 'community',
174
+ tags: ['kubernetes', 'k8s', 'devops', 'containers', 'devops'],
175
+ },
176
+ {
177
+ id: 'community/github-actions',
178
+ name: 'github-actions',
179
+ description: 'GitHub Actions workflow generation and CI/CD pipelines',
180
+ author: 'community',
181
+ repoUrl: 'https://github.com/skillsmith-community/github-actions',
182
+ qualityScore: 0.86,
183
+ trustTier: 'community',
184
+ tags: ['github-actions', 'ci-cd', 'automation', 'devops', 'devops'],
185
+ },
186
+ {
187
+ id: 'community/terraform-helper',
188
+ name: 'terraform-helper',
189
+ description: 'Terraform infrastructure as code generation and best practices',
190
+ author: 'community',
191
+ repoUrl: 'https://github.com/skillsmith-community/terraform-helper',
192
+ qualityScore: 0.79,
193
+ trustTier: 'community',
194
+ tags: ['terraform', 'iac', 'infrastructure', 'cloud', 'devops'],
195
+ },
196
+ {
197
+ id: 'community/nginx-config',
198
+ name: 'nginx-config',
199
+ description: 'Nginx configuration generation for web servers and proxies',
200
+ author: 'community',
201
+ repoUrl: 'https://github.com/skillsmith-community/nginx-config',
202
+ qualityScore: 0.75,
203
+ trustTier: 'community',
204
+ tags: ['nginx', 'webserver', 'proxy', 'devops', 'devops'],
205
+ },
206
+ {
207
+ id: 'community/aws-helper',
208
+ name: 'aws-helper',
209
+ description: 'AWS service configuration and CloudFormation templates',
210
+ author: 'community',
211
+ repoUrl: 'https://github.com/skillsmith-community/aws-helper',
212
+ qualityScore: 0.8,
213
+ trustTier: 'community',
214
+ tags: ['aws', 'cloud', 'cloudformation', 'infrastructure', 'devops'],
215
+ },
216
+ // ============ COMMUNITY SKILLS - DEVELOPMENT (6) ============
217
+ {
218
+ id: 'community/typescript-helper',
219
+ name: 'typescript-helper',
220
+ description: 'TypeScript development utilities for type generation and refactoring',
221
+ author: 'community',
222
+ repoUrl: 'https://github.com/skillsmith-community/typescript-helper',
223
+ qualityScore: 0.83,
224
+ trustTier: 'community',
225
+ tags: ['typescript', 'development', 'types', 'development'],
226
+ },
227
+ {
228
+ id: 'community/react-patterns',
229
+ name: 'react-patterns',
230
+ description: 'React component patterns and hooks best practices',
231
+ author: 'community',
232
+ repoUrl: 'https://github.com/skillsmith-community/react-patterns',
233
+ qualityScore: 0.85,
234
+ trustTier: 'community',
235
+ tags: ['react', 'patterns', 'hooks', 'frontend', 'development'],
236
+ },
237
+ {
238
+ id: 'community/nextjs-helper',
239
+ name: 'nextjs-helper',
240
+ description: 'Next.js application development with App Router and Server Components',
241
+ author: 'community',
242
+ repoUrl: 'https://github.com/skillsmith-community/nextjs-helper',
243
+ qualityScore: 0.84,
244
+ trustTier: 'community',
245
+ tags: ['nextjs', 'react', 'ssr', 'frontend', 'development'],
246
+ },
247
+ {
248
+ id: 'community/nodejs-helper',
249
+ name: 'nodejs-helper',
250
+ description: 'Node.js backend development patterns and utilities',
251
+ author: 'community',
252
+ repoUrl: 'https://github.com/skillsmith-community/nodejs-helper',
253
+ qualityScore: 0.82,
254
+ trustTier: 'community',
255
+ tags: ['nodejs', 'backend', 'express', 'api', 'development'],
256
+ },
257
+ {
258
+ id: 'community/python-helper',
259
+ name: 'python-helper',
260
+ description: 'Python development utilities and best practices',
261
+ author: 'community',
262
+ repoUrl: 'https://github.com/skillsmith-community/python-helper',
263
+ qualityScore: 0.81,
264
+ trustTier: 'community',
265
+ tags: ['python', 'development', 'scripting', 'development'],
266
+ },
267
+ {
268
+ id: 'community/rust-helper',
269
+ name: 'rust-helper',
270
+ description: 'Rust development patterns and memory safety guidance',
271
+ author: 'community',
272
+ repoUrl: 'https://github.com/skillsmith-community/rust-helper',
273
+ qualityScore: 0.77,
274
+ trustTier: 'community',
275
+ tags: ['rust', 'systems', 'memory-safety', 'development'],
276
+ },
277
+ // ============ COMMUNITY SKILLS - DOCUMENTATION (3) ============
278
+ {
279
+ id: 'community/api-docs',
280
+ name: 'api-docs',
281
+ description: 'Generate OpenAPI documentation from code with automatic schema detection',
282
+ author: 'community',
283
+ repoUrl: 'https://github.com/skillsmith-community/api-docs',
284
+ qualityScore: 0.78,
285
+ trustTier: 'community',
286
+ tags: ['openapi', 'documentation', 'api', 'swagger', 'documentation'],
287
+ },
288
+ {
289
+ id: 'community/readme-gen',
290
+ name: 'readme-gen',
291
+ description: 'Generate comprehensive README files from project analysis',
292
+ author: 'community',
293
+ repoUrl: 'https://github.com/skillsmith-community/readme-gen',
294
+ qualityScore: 0.76,
295
+ trustTier: 'community',
296
+ tags: ['readme', 'documentation', 'markdown', 'documentation'],
297
+ },
298
+ {
299
+ id: 'community/jsdoc-helper',
300
+ name: 'jsdoc-helper',
301
+ description: 'JSDoc documentation generation for JavaScript and TypeScript',
302
+ author: 'community',
303
+ repoUrl: 'https://github.com/skillsmith-community/jsdoc-helper',
304
+ qualityScore: 0.74,
305
+ trustTier: 'community',
306
+ tags: ['jsdoc', 'documentation', 'typescript', 'javascript', 'documentation'],
307
+ },
308
+ // ============ COMMUNITY SKILLS - DATABASE (3) ============
309
+ {
310
+ id: 'community/prisma-helper',
311
+ name: 'prisma-helper',
312
+ description: 'Prisma schema design and database migrations',
313
+ author: 'community',
314
+ repoUrl: 'https://github.com/skillsmith-community/prisma-helper',
315
+ qualityScore: 0.83,
316
+ trustTier: 'community',
317
+ tags: ['prisma', 'database', 'orm', 'migrations', 'database'],
318
+ },
319
+ {
320
+ id: 'community/sql-helper',
321
+ name: 'sql-helper',
322
+ description: 'SQL query optimization and schema design',
323
+ author: 'community',
324
+ repoUrl: 'https://github.com/skillsmith-community/sql-helper',
325
+ qualityScore: 0.79,
326
+ trustTier: 'community',
327
+ tags: ['sql', 'database', 'queries', 'optimization', 'database'],
328
+ },
329
+ {
330
+ id: 'community/mongodb-helper',
331
+ name: 'mongodb-helper',
332
+ description: 'MongoDB schema design and aggregation pipelines',
333
+ author: 'community',
334
+ repoUrl: 'https://github.com/skillsmith-community/mongodb-helper',
335
+ qualityScore: 0.77,
336
+ trustTier: 'community',
337
+ tags: ['mongodb', 'nosql', 'database', 'aggregation', 'database'],
338
+ },
339
+ // ============ EXPERIMENTAL SKILLS (16) ============
340
+ {
341
+ id: 'experimental/ai-code-review',
342
+ name: 'ai-code-review',
343
+ description: 'AI-powered code review with ML-based pattern detection',
344
+ author: 'experimental',
345
+ repoUrl: 'https://github.com/skillsmith-experimental/ai-code-review',
346
+ qualityScore: 0.72,
347
+ trustTier: 'experimental',
348
+ tags: ['ai', 'code-review', 'ml', 'patterns', 'ai-ml'],
349
+ },
350
+ {
351
+ id: 'experimental/llm-prompt-helper',
352
+ name: 'llm-prompt-helper',
353
+ description: 'LLM prompt engineering and optimization techniques',
354
+ author: 'experimental',
355
+ repoUrl: 'https://github.com/skillsmith-experimental/llm-prompt-helper',
356
+ qualityScore: 0.7,
357
+ trustTier: 'experimental',
358
+ tags: ['llm', 'prompts', 'ai', 'engineering', 'ai-ml'],
359
+ },
360
+ {
361
+ id: 'experimental/embedding-search',
362
+ name: 'embedding-search',
363
+ description: 'Semantic search using embeddings and vector databases',
364
+ author: 'experimental',
365
+ repoUrl: 'https://github.com/skillsmith-experimental/embedding-search',
366
+ qualityScore: 0.68,
367
+ trustTier: 'experimental',
368
+ tags: ['embeddings', 'vector', 'search', 'semantic', 'ai-ml'],
369
+ },
370
+ {
371
+ id: 'experimental/ml-pipeline',
372
+ name: 'ml-pipeline',
373
+ description: 'Machine learning pipeline setup and training workflows',
374
+ author: 'experimental',
375
+ repoUrl: 'https://github.com/skillsmith-experimental/ml-pipeline',
376
+ qualityScore: 0.65,
377
+ trustTier: 'experimental',
378
+ tags: ['ml', 'pipeline', 'training', 'ai', 'ai-ml'],
379
+ },
380
+ {
381
+ id: 'experimental/graphql-helper',
382
+ name: 'graphql-helper',
383
+ description: 'GraphQL schema design and resolver generation',
384
+ author: 'experimental',
385
+ repoUrl: 'https://github.com/skillsmith-experimental/graphql-helper',
386
+ qualityScore: 0.71,
387
+ trustTier: 'experimental',
388
+ tags: ['graphql', 'api', 'schema', 'resolvers', 'development'],
389
+ },
390
+ {
391
+ id: 'experimental/grpc-helper',
392
+ name: 'grpc-helper',
393
+ description: 'gRPC service definition and protobuf generation',
394
+ author: 'experimental',
395
+ repoUrl: 'https://github.com/skillsmith-experimental/grpc-helper',
396
+ qualityScore: 0.67,
397
+ trustTier: 'experimental',
398
+ tags: ['grpc', 'protobuf', 'api', 'services', 'integration'],
399
+ },
400
+ {
401
+ id: 'experimental/websocket-helper',
402
+ name: 'websocket-helper',
403
+ description: 'WebSocket implementation patterns and real-time communication',
404
+ author: 'experimental',
405
+ repoUrl: 'https://github.com/skillsmith-experimental/websocket-helper',
406
+ qualityScore: 0.69,
407
+ trustTier: 'experimental',
408
+ tags: ['websocket', 'realtime', 'communication', 'integration'],
409
+ },
410
+ {
411
+ id: 'experimental/oauth-helper',
412
+ name: 'oauth-helper',
413
+ description: 'OAuth 2.0 implementation and authentication flows',
414
+ author: 'experimental',
415
+ repoUrl: 'https://github.com/skillsmith-experimental/oauth-helper',
416
+ qualityScore: 0.73,
417
+ trustTier: 'experimental',
418
+ tags: ['oauth', 'authentication', 'security', 'identity', 'security'],
419
+ },
420
+ {
421
+ id: 'experimental/jwt-helper',
422
+ name: 'jwt-helper',
423
+ description: 'JWT token generation and validation patterns',
424
+ author: 'experimental',
425
+ repoUrl: 'https://github.com/skillsmith-experimental/jwt-helper',
426
+ qualityScore: 0.74,
427
+ trustTier: 'experimental',
428
+ tags: ['jwt', 'tokens', 'authentication', 'security', 'security'],
429
+ },
430
+ {
431
+ id: 'experimental/encryption-helper',
432
+ name: 'encryption-helper',
433
+ description: 'Encryption utilities and secure data handling',
434
+ author: 'experimental',
435
+ repoUrl: 'https://github.com/skillsmith-experimental/encryption-helper',
436
+ qualityScore: 0.71,
437
+ trustTier: 'experimental',
438
+ tags: ['encryption', 'security', 'crypto', 'data-protection', 'security'],
439
+ },
440
+ {
441
+ id: 'experimental/monitoring-helper',
442
+ name: 'monitoring-helper',
443
+ description: 'Application monitoring and observability setup',
444
+ author: 'experimental',
445
+ repoUrl: 'https://github.com/skillsmith-experimental/monitoring-helper',
446
+ qualityScore: 0.66,
447
+ trustTier: 'experimental',
448
+ tags: ['monitoring', 'observability', 'metrics', 'logging', 'devops'],
449
+ },
450
+ {
451
+ id: 'experimental/caching-helper',
452
+ name: 'caching-helper',
453
+ description: 'Caching strategies and Redis/Memcached patterns',
454
+ author: 'experimental',
455
+ repoUrl: 'https://github.com/skillsmith-experimental/caching-helper',
456
+ qualityScore: 0.68,
457
+ trustTier: 'experimental',
458
+ tags: ['caching', 'redis', 'performance', 'optimization', 'database'],
459
+ },
460
+ {
461
+ id: 'experimental/queue-helper',
462
+ name: 'queue-helper',
463
+ description: 'Message queue patterns with RabbitMQ and SQS',
464
+ author: 'experimental',
465
+ repoUrl: 'https://github.com/skillsmith-experimental/queue-helper',
466
+ qualityScore: 0.64,
467
+ trustTier: 'experimental',
468
+ tags: ['queues', 'rabbitmq', 'sqs', 'messaging', 'integration'],
469
+ },
470
+ {
471
+ id: 'experimental/microservices-helper',
472
+ name: 'microservices-helper',
473
+ description: 'Microservices architecture patterns and service mesh',
474
+ author: 'experimental',
475
+ repoUrl: 'https://github.com/skillsmith-experimental/microservices-helper',
476
+ qualityScore: 0.63,
477
+ trustTier: 'experimental',
478
+ tags: ['microservices', 'architecture', 'distributed', 'development'],
479
+ },
480
+ {
481
+ id: 'experimental/event-sourcing',
482
+ name: 'event-sourcing',
483
+ description: 'Event sourcing and CQRS pattern implementation',
484
+ author: 'experimental',
485
+ repoUrl: 'https://github.com/skillsmith-experimental/event-sourcing',
486
+ qualityScore: 0.61,
487
+ trustTier: 'experimental',
488
+ tags: ['event-sourcing', 'cqrs', 'patterns', 'architecture', 'development'],
489
+ },
490
+ {
491
+ id: 'experimental/serverless-helper',
492
+ name: 'serverless-helper',
493
+ description: 'Serverless function development with AWS Lambda and Vercel',
494
+ author: 'experimental',
495
+ repoUrl: 'https://github.com/skillsmith-experimental/serverless-helper',
496
+ qualityScore: 0.7,
497
+ trustTier: 'experimental',
498
+ tags: ['serverless', 'lambda', 'vercel', 'functions', 'devops'],
499
+ },
500
+ // ============ SMI-907: Additional skills for overlap detection testing ============
501
+ {
502
+ id: 'community/docker',
503
+ name: 'docker',
504
+ description: 'Docker container management and Dockerfile generation',
505
+ author: 'community',
506
+ repoUrl: 'https://github.com/skillsmith-community/docker',
507
+ qualityScore: 0.85,
508
+ trustTier: 'community',
509
+ tags: ['docker', 'containers', 'devops', 'devops'],
510
+ },
511
+ {
512
+ id: 'community/git-commit-helper',
513
+ name: 'git-commit-helper',
514
+ description: 'Git commit message generation with conventional commits support',
515
+ author: 'community',
516
+ repoUrl: 'https://github.com/skillsmith-community/git-commit-helper',
517
+ qualityScore: 0.82,
518
+ trustTier: 'community',
519
+ tags: ['git', 'commit', 'conventional-commits', 'development'],
520
+ },
521
+ // ============ UNKNOWN TRUST SKILLS (8) ============
522
+ {
523
+ id: 'user123/custom-linter',
524
+ name: 'custom-linter',
525
+ description: 'Custom ESLint rules for project-specific conventions',
526
+ author: 'user123',
527
+ repoUrl: 'https://github.com/user123/custom-linter',
528
+ qualityScore: 0.55,
529
+ trustTier: 'unknown',
530
+ tags: ['eslint', 'linting', 'code-quality', 'productivity'],
531
+ },
532
+ {
533
+ id: 'devuser/quick-deploy',
534
+ name: 'quick-deploy',
535
+ description: 'Quick deployment scripts for small projects',
536
+ author: 'devuser',
537
+ repoUrl: 'https://github.com/devuser/quick-deploy',
538
+ qualityScore: 0.52,
539
+ trustTier: 'unknown',
540
+ tags: ['deployment', 'scripts', 'automation', 'devops'],
541
+ },
542
+ {
543
+ id: 'coder99/regex-helper',
544
+ name: 'regex-helper',
545
+ description: 'Regular expression generation and testing',
546
+ author: 'coder99',
547
+ repoUrl: 'https://github.com/coder99/regex-helper',
548
+ qualityScore: 0.58,
549
+ trustTier: 'unknown',
550
+ tags: ['regex', 'patterns', 'utilities', 'productivity'],
551
+ },
552
+ {
553
+ id: 'newdev/git-workflow',
554
+ name: 'git-workflow',
555
+ description: 'Git workflow automation and branch management',
556
+ author: 'newdev',
557
+ repoUrl: 'https://github.com/newdev/git-workflow',
558
+ qualityScore: 0.5,
559
+ trustTier: 'unknown',
560
+ tags: ['git', 'workflow', 'branches', 'productivity'],
561
+ },
562
+ {
563
+ id: 'hackdev/snippet-manager',
564
+ name: 'snippet-manager',
565
+ description: 'Code snippet organization and insertion',
566
+ author: 'hackdev',
567
+ repoUrl: 'https://github.com/hackdev/snippet-manager',
568
+ qualityScore: 0.48,
569
+ trustTier: 'unknown',
570
+ tags: ['snippets', 'templates', 'productivity', 'productivity'],
571
+ },
572
+ {
573
+ id: 'testuser/mock-data',
574
+ name: 'mock-data',
575
+ description: 'Generate realistic mock data for testing',
576
+ author: 'testuser',
577
+ repoUrl: 'https://github.com/testuser/mock-data',
578
+ qualityScore: 0.54,
579
+ trustTier: 'unknown',
580
+ tags: ['mock', 'data', 'testing', 'fixtures', 'testing'],
581
+ },
582
+ {
583
+ id: 'random/env-manager',
584
+ name: 'env-manager',
585
+ description: 'Environment variable management and validation',
586
+ author: 'random',
587
+ repoUrl: 'https://github.com/random/env-manager',
588
+ qualityScore: 0.51,
589
+ trustTier: 'unknown',
590
+ tags: ['env', 'config', 'environment', 'productivity'],
591
+ },
592
+ {
593
+ id: 'indie/cli-builder',
594
+ name: 'cli-builder',
595
+ description: 'CLI application scaffolding and argument parsing',
596
+ author: 'indie',
597
+ repoUrl: 'https://github.com/indie/cli-builder',
598
+ qualityScore: 0.56,
599
+ trustTier: 'unknown',
600
+ tags: ['cli', 'commands', 'tools', 'development'],
601
+ },
602
+ ];
603
+ /**
604
+ * Seed all test skills into the repository
605
+ */
606
+ export function seedTestSkills(repo) {
607
+ repo.createBatch(TEST_SKILLS);
608
+ }
609
+ /**
610
+ * Get skills by category for targeted testing
611
+ */
612
+ export function getSkillsByCategory(category) {
613
+ return TEST_SKILLS.filter((skill) => skill.tags.includes(category));
614
+ }
615
+ /**
616
+ * Get skills by trust tier for targeted testing
617
+ */
618
+ export function getSkillsByTrustTier(tier) {
619
+ return TEST_SKILLS.filter((skill) => skill.trustTier === tier);
620
+ }
621
+ /**
622
+ * Summary statistics for test data validation
623
+ */
624
+ export const TEST_SKILLS_STATS = {
625
+ total: TEST_SKILLS.length,
626
+ byTrustTier: {
627
+ verified: TEST_SKILLS.filter((s) => s.trustTier === 'verified').length,
628
+ community: TEST_SKILLS.filter((s) => s.trustTier === 'community').length,
629
+ experimental: TEST_SKILLS.filter((s) => s.trustTier === 'experimental').length,
630
+ unknown: TEST_SKILLS.filter((s) => s.trustTier === 'unknown').length,
631
+ },
632
+ byCategory: {
633
+ development: TEST_SKILLS.filter((s) => s.tags.includes('development')).length,
634
+ testing: TEST_SKILLS.filter((s) => s.tags.includes('testing')).length,
635
+ documentation: TEST_SKILLS.filter((s) => s.tags.includes('documentation')).length,
636
+ devops: TEST_SKILLS.filter((s) => s.tags.includes('devops')).length,
637
+ database: TEST_SKILLS.filter((s) => s.tags.includes('database')).length,
638
+ security: TEST_SKILLS.filter((s) => s.tags.includes('security')).length,
639
+ productivity: TEST_SKILLS.filter((s) => s.tags.includes('productivity')).length,
640
+ integration: TEST_SKILLS.filter((s) => s.tags.includes('integration')).length,
641
+ 'ai-ml': TEST_SKILLS.filter((s) => s.tags.includes('ai-ml')).length,
642
+ },
643
+ };
644
+ //# sourceMappingURL=test-skills.js.map