@skillsmith/mcp-server 0.2.3 → 0.3.1

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 (315) hide show
  1. package/package.json +3 -2
  2. package/src/assets/docs/USER_GUIDE.md +192 -0
  3. package/src/assets/skills/skillsmith/SKILL.md +147 -0
  4. package/src/assets/skills/skillsmith/docs/QUOTAS.md +182 -0
  5. package/src/assets/skills/skillsmith/docs/SECURITY.md +174 -0
  6. package/src/assets/skills/skillsmith/docs/TRUST_TIERS.md +142 -0
  7. package/dist/.tsbuildinfo +0 -1
  8. package/dist/src/__tests__/get-skill.test.d.ts +0 -6
  9. package/dist/src/__tests__/get-skill.test.d.ts.map +0 -1
  10. package/dist/src/__tests__/get-skill.test.js +0 -88
  11. package/dist/src/__tests__/get-skill.test.js.map +0 -1
  12. package/dist/src/__tests__/middleware/errorFormatter.test.d.ts +0 -7
  13. package/dist/src/__tests__/middleware/errorFormatter.test.d.ts.map +0 -1
  14. package/dist/src/__tests__/middleware/errorFormatter.test.js +0 -304
  15. package/dist/src/__tests__/middleware/errorFormatter.test.js.map +0 -1
  16. package/dist/src/__tests__/middleware/license.test.d.ts +0 -7
  17. package/dist/src/__tests__/middleware/license.test.d.ts.map +0 -1
  18. package/dist/src/__tests__/middleware/license.test.js +0 -500
  19. package/dist/src/__tests__/middleware/license.test.js.map +0 -1
  20. package/dist/src/__tests__/search.test.d.ts +0 -6
  21. package/dist/src/__tests__/search.test.d.ts.map +0 -1
  22. package/dist/src/__tests__/search.test.js +0 -86
  23. package/dist/src/__tests__/search.test.js.map +0 -1
  24. package/dist/src/__tests__/test-utils.d.ts +0 -20
  25. package/dist/src/__tests__/test-utils.d.ts.map +0 -1
  26. package/dist/src/__tests__/test-utils.js +0 -91
  27. package/dist/src/__tests__/test-utils.js.map +0 -1
  28. package/dist/src/context/index.d.ts +0 -19
  29. package/dist/src/context/index.d.ts.map +0 -1
  30. package/dist/src/context/index.js +0 -25
  31. package/dist/src/context/index.js.map +0 -1
  32. package/dist/src/context/project-detector.d.ts +0 -145
  33. package/dist/src/context/project-detector.d.ts.map +0 -1
  34. package/dist/src/context/project-detector.js +0 -321
  35. package/dist/src/context/project-detector.js.map +0 -1
  36. package/dist/src/context.d.ts +0 -135
  37. package/dist/src/context.d.ts.map +0 -1
  38. package/dist/src/context.js +0 -191
  39. package/dist/src/context.js.map +0 -1
  40. package/dist/src/core-shim.d.ts +0 -7
  41. package/dist/src/core-shim.d.ts.map +0 -1
  42. package/dist/src/core-shim.js +0 -9
  43. package/dist/src/core-shim.js.map +0 -1
  44. package/dist/src/health/healthCheck.d.ts +0 -88
  45. package/dist/src/health/healthCheck.d.ts.map +0 -1
  46. package/dist/src/health/healthCheck.js +0 -117
  47. package/dist/src/health/healthCheck.js.map +0 -1
  48. package/dist/src/health/index.d.ts +0 -21
  49. package/dist/src/health/index.d.ts.map +0 -1
  50. package/dist/src/health/index.js +0 -21
  51. package/dist/src/health/index.js.map +0 -1
  52. package/dist/src/health/readinessCheck.d.ts +0 -139
  53. package/dist/src/health/readinessCheck.d.ts.map +0 -1
  54. package/dist/src/health/readinessCheck.js +0 -266
  55. package/dist/src/health/readinessCheck.js.map +0 -1
  56. package/dist/src/index.d.ts +0 -8
  57. package/dist/src/index.d.ts.map +0 -1
  58. package/dist/src/index.js +0 -178
  59. package/dist/src/index.js.map +0 -1
  60. package/dist/src/index.test.d.ts +0 -2
  61. package/dist/src/index.test.d.ts.map +0 -1
  62. package/dist/src/index.test.js +0 -43
  63. package/dist/src/index.test.js.map +0 -1
  64. package/dist/src/logger.d.ts +0 -26
  65. package/dist/src/logger.d.ts.map +0 -1
  66. package/dist/src/logger.js +0 -179
  67. package/dist/src/logger.js.map +0 -1
  68. package/dist/src/middleware/__tests__/csp.test.d.ts +0 -2
  69. package/dist/src/middleware/__tests__/csp.test.d.ts.map +0 -1
  70. package/dist/src/middleware/__tests__/csp.test.js +0 -390
  71. package/dist/src/middleware/__tests__/csp.test.js.map +0 -1
  72. package/dist/src/middleware/csp.d.ts +0 -103
  73. package/dist/src/middleware/csp.d.ts.map +0 -1
  74. package/dist/src/middleware/csp.js +0 -273
  75. package/dist/src/middleware/csp.js.map +0 -1
  76. package/dist/src/middleware/degradation.d.ts +0 -105
  77. package/dist/src/middleware/degradation.d.ts.map +0 -1
  78. package/dist/src/middleware/degradation.js +0 -319
  79. package/dist/src/middleware/degradation.js.map +0 -1
  80. package/dist/src/middleware/errorFormatter.d.ts +0 -119
  81. package/dist/src/middleware/errorFormatter.d.ts.map +0 -1
  82. package/dist/src/middleware/errorFormatter.js +0 -294
  83. package/dist/src/middleware/errorFormatter.js.map +0 -1
  84. package/dist/src/middleware/index.d.ts +0 -11
  85. package/dist/src/middleware/index.d.ts.map +0 -1
  86. package/dist/src/middleware/index.js +0 -16
  87. package/dist/src/middleware/index.js.map +0 -1
  88. package/dist/src/middleware/license.d.ts +0 -169
  89. package/dist/src/middleware/license.d.ts.map +0 -1
  90. package/dist/src/middleware/license.js +0 -292
  91. package/dist/src/middleware/license.js.map +0 -1
  92. package/dist/src/middleware/quota.d.ts +0 -182
  93. package/dist/src/middleware/quota.d.ts.map +0 -1
  94. package/dist/src/middleware/quota.js +0 -309
  95. package/dist/src/middleware/quota.js.map +0 -1
  96. package/dist/src/middleware/toolFeatureMapping.d.ts +0 -36
  97. package/dist/src/middleware/toolFeatureMapping.d.ts.map +0 -1
  98. package/dist/src/middleware/toolFeatureMapping.js +0 -96
  99. package/dist/src/middleware/toolFeatureMapping.js.map +0 -1
  100. package/dist/src/onboarding/first-run.d.ts +0 -64
  101. package/dist/src/onboarding/first-run.d.ts.map +0 -1
  102. package/dist/src/onboarding/first-run.js +0 -77
  103. package/dist/src/onboarding/first-run.js.map +0 -1
  104. package/dist/src/onboarding/index.d.ts +0 -7
  105. package/dist/src/onboarding/index.d.ts.map +0 -1
  106. package/dist/src/onboarding/index.js +0 -7
  107. package/dist/src/onboarding/index.js.map +0 -1
  108. package/dist/src/suggestions/index.d.ts +0 -21
  109. package/dist/src/suggestions/index.d.ts.map +0 -1
  110. package/dist/src/suggestions/index.js +0 -20
  111. package/dist/src/suggestions/index.js.map +0 -1
  112. package/dist/src/suggestions/suggestion-engine.d.ts +0 -185
  113. package/dist/src/suggestions/suggestion-engine.d.ts.map +0 -1
  114. package/dist/src/suggestions/suggestion-engine.js +0 -352
  115. package/dist/src/suggestions/suggestion-engine.js.map +0 -1
  116. package/dist/src/suggestions/types.d.ts +0 -88
  117. package/dist/src/suggestions/types.d.ts.map +0 -1
  118. package/dist/src/suggestions/types.js +0 -21
  119. package/dist/src/suggestions/types.js.map +0 -1
  120. package/dist/src/tools/analyze.d.ts +0 -151
  121. package/dist/src/tools/analyze.d.ts.map +0 -1
  122. package/dist/src/tools/analyze.js +0 -205
  123. package/dist/src/tools/analyze.js.map +0 -1
  124. package/dist/src/tools/compare.d.ts +0 -149
  125. package/dist/src/tools/compare.d.ts.map +0 -1
  126. package/dist/src/tools/compare.js +0 -464
  127. package/dist/src/tools/compare.js.map +0 -1
  128. package/dist/src/tools/get-skill.d.ts +0 -107
  129. package/dist/src/tools/get-skill.d.ts.map +0 -1
  130. package/dist/src/tools/get-skill.js +0 -260
  131. package/dist/src/tools/get-skill.js.map +0 -1
  132. package/dist/src/tools/index.d.ts +0 -20
  133. package/dist/src/tools/index.d.ts.map +0 -1
  134. package/dist/src/tools/index.js +0 -20
  135. package/dist/src/tools/index.js.map +0 -1
  136. package/dist/src/tools/install.d.ts +0 -122
  137. package/dist/src/tools/install.d.ts.map +0 -1
  138. package/dist/src/tools/install.js +0 -326
  139. package/dist/src/tools/install.js.map +0 -1
  140. package/dist/src/tools/recommend.d.ts +0 -169
  141. package/dist/src/tools/recommend.d.ts.map +0 -1
  142. package/dist/src/tools/recommend.js +0 -357
  143. package/dist/src/tools/recommend.js.map +0 -1
  144. package/dist/src/tools/search.d.ts +0 -114
  145. package/dist/src/tools/search.d.ts.map +0 -1
  146. package/dist/src/tools/search.js +0 -247
  147. package/dist/src/tools/search.js.map +0 -1
  148. package/dist/src/tools/suggest.d.ts +0 -181
  149. package/dist/src/tools/suggest.d.ts.map +0 -1
  150. package/dist/src/tools/suggest.js +0 -310
  151. package/dist/src/tools/suggest.js.map +0 -1
  152. package/dist/src/tools/uninstall.d.ts +0 -123
  153. package/dist/src/tools/uninstall.d.ts.map +0 -1
  154. package/dist/src/tools/uninstall.js +0 -250
  155. package/dist/src/tools/uninstall.js.map +0 -1
  156. package/dist/src/tools/validate.d.ts +0 -122
  157. package/dist/src/tools/validate.d.ts.map +0 -1
  158. package/dist/src/tools/validate.js +0 -497
  159. package/dist/src/tools/validate.js.map +0 -1
  160. package/dist/src/utils/installed-skills.d.ts +0 -101
  161. package/dist/src/utils/installed-skills.d.ts.map +0 -1
  162. package/dist/src/utils/installed-skills.js +0 -220
  163. package/dist/src/utils/installed-skills.js.map +0 -1
  164. package/dist/src/utils/validation.d.ts +0 -95
  165. package/dist/src/utils/validation.d.ts.map +0 -1
  166. package/dist/src/utils/validation.js +0 -186
  167. package/dist/src/utils/validation.js.map +0 -1
  168. package/dist/src/webhooks/index.d.ts +0 -8
  169. package/dist/src/webhooks/index.d.ts.map +0 -1
  170. package/dist/src/webhooks/index.js +0 -9
  171. package/dist/src/webhooks/index.js.map +0 -1
  172. package/dist/src/webhooks/webhook-endpoint.d.ts +0 -149
  173. package/dist/src/webhooks/webhook-endpoint.d.ts.map +0 -1
  174. package/dist/src/webhooks/webhook-endpoint.js +0 -339
  175. package/dist/src/webhooks/webhook-endpoint.js.map +0 -1
  176. package/dist/tests/compare.test.d.ts +0 -6
  177. package/dist/tests/compare.test.d.ts.map +0 -1
  178. package/dist/tests/compare.test.js +0 -225
  179. package/dist/tests/compare.test.js.map +0 -1
  180. package/dist/tests/context/project-detector.test.d.ts +0 -6
  181. package/dist/tests/context/project-detector.test.d.ts.map +0 -1
  182. package/dist/tests/context/project-detector.test.js +0 -719
  183. package/dist/tests/context/project-detector.test.js.map +0 -1
  184. package/dist/tests/e2e/compare.e2e.test.d.ts +0 -10
  185. package/dist/tests/e2e/compare.e2e.test.d.ts.map +0 -1
  186. package/dist/tests/e2e/compare.e2e.test.js +0 -296
  187. package/dist/tests/e2e/compare.e2e.test.js.map +0 -1
  188. package/dist/tests/e2e/install-flow.e2e.test.d.ts +0 -10
  189. package/dist/tests/e2e/install-flow.e2e.test.d.ts.map +0 -1
  190. package/dist/tests/e2e/install-flow.e2e.test.js +0 -229
  191. package/dist/tests/e2e/install-flow.e2e.test.js.map +0 -1
  192. package/dist/tests/e2e/recommend.e2e.test.d.ts +0 -12
  193. package/dist/tests/e2e/recommend.e2e.test.d.ts.map +0 -1
  194. package/dist/tests/e2e/recommend.e2e.test.js +0 -357
  195. package/dist/tests/e2e/recommend.e2e.test.js.map +0 -1
  196. package/dist/tests/e2e/skill-flow.e2e.test.d.ts +0 -10
  197. package/dist/tests/e2e/skill-flow.e2e.test.d.ts.map +0 -1
  198. package/dist/tests/e2e/skill-flow.e2e.test.js +0 -311
  199. package/dist/tests/e2e/skill-flow.e2e.test.js.map +0 -1
  200. package/dist/tests/e2e/suggest.e2e.test.d.ts +0 -13
  201. package/dist/tests/e2e/suggest.e2e.test.d.ts.map +0 -1
  202. package/dist/tests/e2e/suggest.e2e.test.js +0 -367
  203. package/dist/tests/e2e/suggest.e2e.test.js.map +0 -1
  204. package/dist/tests/e2e/utils/baseline-collector.d.ts +0 -107
  205. package/dist/tests/e2e/utils/baseline-collector.d.ts.map +0 -1
  206. package/dist/tests/e2e/utils/baseline-collector.js +0 -211
  207. package/dist/tests/e2e/utils/baseline-collector.js.map +0 -1
  208. package/dist/tests/e2e/utils/hardcoded-detector.d.ts +0 -46
  209. package/dist/tests/e2e/utils/hardcoded-detector.d.ts.map +0 -1
  210. package/dist/tests/e2e/utils/hardcoded-detector.js +0 -255
  211. package/dist/tests/e2e/utils/hardcoded-detector.js.map +0 -1
  212. package/dist/tests/e2e/utils/index.d.ts +0 -7
  213. package/dist/tests/e2e/utils/index.d.ts.map +0 -1
  214. package/dist/tests/e2e/utils/index.js +0 -7
  215. package/dist/tests/e2e/utils/index.js.map +0 -1
  216. package/dist/tests/e2e/utils/linear-reporter.d.ts +0 -60
  217. package/dist/tests/e2e/utils/linear-reporter.d.ts.map +0 -1
  218. package/dist/tests/e2e/utils/linear-reporter.js +0 -232
  219. package/dist/tests/e2e/utils/linear-reporter.js.map +0 -1
  220. package/dist/tests/health.test.d.ts +0 -9
  221. package/dist/tests/health.test.d.ts.map +0 -1
  222. package/dist/tests/health.test.js +0 -308
  223. package/dist/tests/health.test.js.map +0 -1
  224. package/dist/tests/integration/analyze.integration.test.d.ts +0 -2
  225. package/dist/tests/integration/analyze.integration.test.d.ts.map +0 -1
  226. package/dist/tests/integration/analyze.integration.test.js +0 -244
  227. package/dist/tests/integration/analyze.integration.test.js.map +0 -1
  228. package/dist/tests/integration/compare.integration.test.d.ts +0 -2
  229. package/dist/tests/integration/compare.integration.test.d.ts.map +0 -1
  230. package/dist/tests/integration/compare.integration.test.js +0 -120
  231. package/dist/tests/integration/compare.integration.test.js.map +0 -1
  232. package/dist/tests/integration/fixtures/test-skills.d.ts +0 -62
  233. package/dist/tests/integration/fixtures/test-skills.d.ts.map +0 -1
  234. package/dist/tests/integration/fixtures/test-skills.js +0 -644
  235. package/dist/tests/integration/fixtures/test-skills.js.map +0 -1
  236. package/dist/tests/integration/get-skill.integration.test.d.ts +0 -6
  237. package/dist/tests/integration/get-skill.integration.test.d.ts.map +0 -1
  238. package/dist/tests/integration/get-skill.integration.test.js +0 -203
  239. package/dist/tests/integration/get-skill.integration.test.js.map +0 -1
  240. package/dist/tests/integration/github-api.integration.test.d.ts +0 -14
  241. package/dist/tests/integration/github-api.integration.test.d.ts.map +0 -1
  242. package/dist/tests/integration/github-api.integration.test.js +0 -190
  243. package/dist/tests/integration/github-api.integration.test.js.map +0 -1
  244. package/dist/tests/integration/install.integration.test.d.ts +0 -6
  245. package/dist/tests/integration/install.integration.test.d.ts.map +0 -1
  246. package/dist/tests/integration/install.integration.test.js +0 -282
  247. package/dist/tests/integration/install.integration.test.js.map +0 -1
  248. package/dist/tests/integration/recommend.integration.test.d.ts +0 -2
  249. package/dist/tests/integration/recommend.integration.test.d.ts.map +0 -1
  250. package/dist/tests/integration/recommend.integration.test.js +0 -217
  251. package/dist/tests/integration/recommend.integration.test.js.map +0 -1
  252. package/dist/tests/integration/search.integration.test.d.ts +0 -6
  253. package/dist/tests/integration/search.integration.test.d.ts.map +0 -1
  254. package/dist/tests/integration/search.integration.test.js +0 -229
  255. package/dist/tests/integration/search.integration.test.js.map +0 -1
  256. package/dist/tests/integration/setup.d.ts +0 -74
  257. package/dist/tests/integration/setup.d.ts.map +0 -1
  258. package/dist/tests/integration/setup.js +0 -131
  259. package/dist/tests/integration/setup.js.map +0 -1
  260. package/dist/tests/integration/uninstall.integration.test.d.ts +0 -6
  261. package/dist/tests/integration/uninstall.integration.test.d.ts.map +0 -1
  262. package/dist/tests/integration/uninstall.integration.test.js +0 -296
  263. package/dist/tests/integration/uninstall.integration.test.js.map +0 -1
  264. package/dist/tests/integration/validate.integration.test.d.ts +0 -2
  265. package/dist/tests/integration/validate.integration.test.d.ts.map +0 -1
  266. package/dist/tests/integration/validate.integration.test.js +0 -181
  267. package/dist/tests/integration/validate.integration.test.js.map +0 -1
  268. package/dist/tests/onboarding/first-run.test.d.ts +0 -7
  269. package/dist/tests/onboarding/first-run.test.d.ts.map +0 -1
  270. package/dist/tests/onboarding/first-run.test.js +0 -258
  271. package/dist/tests/onboarding/first-run.test.js.map +0 -1
  272. package/dist/tests/performance/search-performance.test.d.ts +0 -10
  273. package/dist/tests/performance/search-performance.test.d.ts.map +0 -1
  274. package/dist/tests/performance/search-performance.test.js +0 -222
  275. package/dist/tests/performance/search-performance.test.js.map +0 -1
  276. package/dist/tests/recommend.test.d.ts +0 -6
  277. package/dist/tests/recommend.test.d.ts.map +0 -1
  278. package/dist/tests/recommend.test.js +0 -210
  279. package/dist/tests/recommend.test.js.map +0 -1
  280. package/dist/tests/suggestions/suggestion-engine.test.d.ts +0 -6
  281. package/dist/tests/suggestions/suggestion-engine.test.d.ts.map +0 -1
  282. package/dist/tests/suggestions/suggestion-engine.test.js +0 -448
  283. package/dist/tests/suggestions/suggestion-engine.test.js.map +0 -1
  284. package/dist/tests/test-utils.d.ts +0 -74
  285. package/dist/tests/test-utils.d.ts.map +0 -1
  286. package/dist/tests/test-utils.js +0 -98
  287. package/dist/tests/test-utils.js.map +0 -1
  288. package/dist/tests/tools.test.d.ts +0 -5
  289. package/dist/tests/tools.test.d.ts.map +0 -1
  290. package/dist/tests/tools.test.js +0 -138
  291. package/dist/tests/tools.test.js.map +0 -1
  292. package/dist/tests/unit/installed-skills.test.d.ts +0 -6
  293. package/dist/tests/unit/installed-skills.test.d.ts.map +0 -1
  294. package/dist/tests/unit/installed-skills.test.js +0 -285
  295. package/dist/tests/unit/installed-skills.test.js.map +0 -1
  296. package/dist/tests/unit/logger.test.d.ts +0 -6
  297. package/dist/tests/unit/logger.test.d.ts.map +0 -1
  298. package/dist/tests/unit/logger.test.js +0 -281
  299. package/dist/tests/unit/logger.test.js.map +0 -1
  300. package/dist/tests/validate.test.d.ts +0 -5
  301. package/dist/tests/validate.test.d.ts.map +0 -1
  302. package/dist/tests/validate.test.js +0 -303
  303. package/dist/tests/validate.test.js.map +0 -1
  304. package/dist/tests/webhooks/proxy-trust.security.test.d.ts +0 -8
  305. package/dist/tests/webhooks/proxy-trust.security.test.d.ts.map +0 -1
  306. package/dist/tests/webhooks/proxy-trust.security.test.js +0 -145
  307. package/dist/tests/webhooks/proxy-trust.security.test.js.map +0 -1
  308. package/dist/tests/webhooks/rate-limiter.security.test.d.ts +0 -8
  309. package/dist/tests/webhooks/rate-limiter.security.test.d.ts.map +0 -1
  310. package/dist/tests/webhooks/rate-limiter.security.test.js +0 -122
  311. package/dist/tests/webhooks/rate-limiter.security.test.js.map +0 -1
  312. package/dist/vitest.config.d.ts +0 -6
  313. package/dist/vitest.config.d.ts.map +0 -1
  314. package/dist/vitest.config.js +0 -13
  315. package/dist/vitest.config.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skillsmith/mcp-server",
3
- "version": "0.2.3",
3
+ "version": "0.3.1",
4
4
  "description": "MCP server for Skillsmith skill discovery",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -36,7 +36,8 @@
36
36
  }
37
37
  },
38
38
  "files": [
39
- "dist"
39
+ "dist",
40
+ "src/assets"
40
41
  ],
41
42
  "license": "Elastic-2.0",
42
43
  "repository": {
@@ -0,0 +1,192 @@
1
+ # Skillsmith User Guide
2
+
3
+ Welcome to Skillsmith, the skill discovery and management system for Claude Code.
4
+
5
+ ## Quick Start
6
+
7
+ ### 1. Configure MCP Server
8
+
9
+ Add to `~/.claude/settings.json`:
10
+
11
+ ```json
12
+ {
13
+ "mcpServers": {
14
+ "skillsmith": {
15
+ "command": "npx",
16
+ "args": ["-y", "@skillsmith/mcp-server"]
17
+ }
18
+ }
19
+ }
20
+ ```
21
+
22
+ ### 2. Restart Claude Code
23
+
24
+ Close and reopen your Claude Code session.
25
+
26
+ ### 3. Start Using
27
+
28
+ Ask Claude:
29
+ - "Search for testing skills"
30
+ - "Install the commit skill"
31
+ - "What skills do I have installed?"
32
+
33
+ ## What Gets Installed
34
+
35
+ On first run, Skillsmith automatically installs essential skills:
36
+
37
+ | Skill | Purpose |
38
+ |-------|---------|
39
+ | **varlock** | Secure environment variable management |
40
+ | **commit** | Git commit message generation |
41
+ | **governance** | Code quality enforcement |
42
+ | **skill-builder** | Create custom skills |
43
+ | **skillsmith** | This documentation |
44
+
45
+ ## Trust Tiers
46
+
47
+ Always check the trust tier before installing skills:
48
+
49
+ | Tier | Safety | Action |
50
+ |------|--------|--------|
51
+ | **Official** (Green) | Highest | Install freely |
52
+ | **Verified** (Blue) | High | Install freely |
53
+ | **Community** (Yellow) | Medium | Review first |
54
+ | **Unverified** (Red) | Unknown | Careful review |
55
+
56
+ ### Quick Trust Check
57
+
58
+ ```
59
+ "Show details for community/some-skill"
60
+ ```
61
+
62
+ Look for:
63
+ - Trust tier badge
64
+ - Quality score (aim for 70+)
65
+ - Number of stars
66
+ - Days since published
67
+
68
+ ## Common Tasks
69
+
70
+ ### Search for Skills
71
+
72
+ ```
73
+ "Find testing skills"
74
+ "Search for devops skills with score above 80"
75
+ "Find verified git workflow skills"
76
+ ```
77
+
78
+ ### Install a Skill
79
+
80
+ ```
81
+ "Install community/jest-helper"
82
+ "Install the commit skill"
83
+ ```
84
+
85
+ ### Compare Skills
86
+
87
+ ```
88
+ "Compare jest-helper and vitest-helper"
89
+ ```
90
+
91
+ ### Get Recommendations
92
+
93
+ ```
94
+ "Recommend skills for my React project"
95
+ "What skills would help with this codebase?"
96
+ ```
97
+
98
+ ### Create a Custom Skill
99
+
100
+ ```
101
+ "Create a skill for generating changelogs"
102
+ ```
103
+
104
+ ## Quota Limits
105
+
106
+ | Tier | API Calls/Month | Price |
107
+ |------|-----------------|-------|
108
+ | Community | 1,000 | Free |
109
+ | Individual | 10,000 | $9.99/mo |
110
+ | Team | 100,000 | $25/user/mo |
111
+ | Enterprise | Unlimited | $55/user/mo |
112
+
113
+ Check your usage:
114
+ ```
115
+ "What's my Skillsmith quota?"
116
+ ```
117
+
118
+ Upgrade at: https://skillsmith.app/upgrade
119
+
120
+ ## Security Best Practices
121
+
122
+ 1. **Prefer Verified or Official skills** for important projects
123
+ 2. **Review Community skills** before installing
124
+ 3. **Never install Unverified skills** without manual review
125
+ 4. **Check the quality score** - aim for 70+
126
+ 5. **Report suspicious skills** to security@skillsmith.app
127
+
128
+ ## Where Skills Are Installed
129
+
130
+ Skills install to: `~/.claude/skills/<skill-name>/`
131
+
132
+ Each skill contains:
133
+ - `SKILL.md` - Main skill file (Claude reads this)
134
+ - Optional: `docs/`, `scripts/`, `templates/`
135
+
136
+ ## Troubleshooting
137
+
138
+ ### "Skill not found"
139
+
140
+ The skill may not exist in the registry. Try:
141
+ ```
142
+ "Search for similar-name"
143
+ ```
144
+
145
+ ### "Installation failed"
146
+
147
+ Check:
148
+ 1. Internet connection
149
+ 2. Quota remaining
150
+ 3. Skill hasn't been blocklisted
151
+
152
+ ### "Security scan failed"
153
+
154
+ The skill was blocked for security reasons. Try a different skill or contact support if you believe this is an error.
155
+
156
+ ### Quota Exceeded
157
+
158
+ You've hit your monthly limit. Options:
159
+ 1. Wait until quota resets (1st of month)
160
+ 2. Upgrade your tier
161
+
162
+ ## Offline Usage
163
+
164
+ Installed skills work offline. Only these operations require internet:
165
+ - Searching for new skills
166
+ - Installing skills
167
+ - Getting recommendations
168
+
169
+ ## Updating Skillsmith
170
+
171
+ ```bash
172
+ npx @skillsmith/mcp-server@latest
173
+ ```
174
+
175
+ Or let it auto-update via npx.
176
+
177
+ ## Getting Help
178
+
179
+ - **Documentation**: `npx @skillsmith/mcp-server --docs`
180
+ - **Issues**: https://github.com/smith-horn/skillsmith/issues
181
+ - **Support**: support@skillsmith.app
182
+ - **Security**: security@skillsmith.app
183
+
184
+ ## License
185
+
186
+ Skillsmith is licensed under **Elastic License 2.0**:
187
+ - Self-hosting for internal use: Allowed
188
+ - Modification for own use: Allowed
189
+ - Offering as managed service: Not allowed
190
+ - Circumventing license keys: Not allowed
191
+
192
+ Full license: https://www.elastic.co/licensing/elastic-license
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: "Skillsmith"
3
+ description: "Discover, install, compare, and manage Claude Code skills. Use when searching for skills, evaluating quality, understanding trust tiers, checking quotas, or creating custom skills. Triggers: 'find skill', 'search skills', 'install skill', 'trust tier', 'create skill', 'skill quality', 'skill quota'."
4
+ ---
5
+
6
+ # Skillsmith
7
+
8
+ Skillsmith is your skill discovery and management system for Claude Code. It provides access to 500+ community skills with trust verification, quality scoring, and security scanning.
9
+
10
+ ## Quick Reference: MCP Tools
11
+
12
+ | Tool | Use When | Example |
13
+ |------|----------|---------|
14
+ | `search` | Finding skills by keyword, category, or trust tier | "Find testing skills" |
15
+ | `get_skill` | Getting full details about a specific skill | "Show details for community/jest-helper" |
16
+ | `install_skill` | Installing a skill to ~/.claude/skills/ | "Install the commit skill" |
17
+ | `uninstall_skill` | Removing an installed skill | "Uninstall jest-helper" |
18
+ | `skill_recommend` | Getting contextual recommendations | "Recommend skills for my React project" |
19
+ | `skill_validate` | Checking skill structure before manual install | "Validate this skill" |
20
+ | `skill_compare` | Comparing 2-5 skills side-by-side | "Compare jest-helper and vitest-helper" |
21
+ | `skill_suggest` | Getting suggestions based on current work | Automatic based on context |
22
+
23
+ ## Trust Tiers
24
+
25
+ Skills are categorized by verification level:
26
+
27
+ | Tier | Badge | Meaning | When to Trust |
28
+ |------|-------|---------|---------------|
29
+ | **Official** | Green checkmark | Published by Anthropic, fully reviewed | Always safe |
30
+ | **Verified** | Blue checkmark | Verified publisher, 10+ stars, 30+ days old | Generally safe |
31
+ | **Community** | Yellow | Passed security scan, has required metadata | Review before install |
32
+ | **Unverified** | Red warning | No verification | Only if you trust the author |
33
+
34
+ For detailed criteria, see [TRUST_TIERS.md](docs/TRUST_TIERS.md).
35
+
36
+ ## Quota System
37
+
38
+ API calls are limited by tier:
39
+
40
+ | Tier | API Calls/Month | Price |
41
+ |------|-----------------|-------|
42
+ | **Community** | 1,000 | Free |
43
+ | **Individual** | 10,000 | $9.99/mo |
44
+ | **Team** | 100,000 | $25/user/mo |
45
+ | **Enterprise** | Unlimited | $55/user/mo |
46
+
47
+ Warnings are shown at 80% and 90% usage. Upgrade at https://skillsmith.app/upgrade
48
+
49
+ For details, see [QUOTAS.md](docs/QUOTAS.md).
50
+
51
+ ## Security Model
52
+
53
+ Skillsmith operates as a security boundary between untrusted skill sources and your Claude Code environment.
54
+
55
+ ### What Skillsmith Validates
56
+
57
+ Before any skill is installed, Skillsmith performs:
58
+
59
+ 1. **SKILL.md validation** - Must have valid YAML frontmatter with name and description
60
+ 2. **Security scan** - Checks for jailbreak patterns, suspicious URLs, sensitive file access
61
+ 3. **Typosquatting detection** - Warns if skill name is similar to known skills
62
+ 4. **Blocklist check** - Rejects known-malicious skills
63
+
64
+ ### What Skillsmith Cannot Prevent
65
+
66
+ - Novel attack patterns not in our detection database
67
+ - Social engineering in legitimate-looking instructions
68
+ - Runtime behavior (skills execute with your permissions)
69
+
70
+ **Recommendation**: Always review skill content before installation, especially for unverified skills.
71
+
72
+ For the complete security model, see [SECURITY.md](docs/SECURITY.md).
73
+
74
+ ## Creating Skills
75
+
76
+ The **skill-builder** skill (auto-installed) helps you create custom skills:
77
+
78
+ ```
79
+ "Create a skill for generating API documentation"
80
+ "Build a skill to automate code reviews"
81
+ ```
82
+
83
+ The skill-builder guides you through:
84
+ - YAML frontmatter (name ≤64 chars, description ≤1024 chars)
85
+ - Progressive disclosure structure (4 levels)
86
+ - Directory organization
87
+ - Validation checklist
88
+
89
+ ## Search Examples
90
+
91
+ ```
92
+ # Find all testing skills
93
+ "Search for testing skills"
94
+
95
+ # Find verified skills only
96
+ "Find verified skills for git workflows"
97
+
98
+ # Filter by quality score
99
+ "Search for devops skills with score above 80"
100
+
101
+ # Compare options
102
+ "Compare jest-helper, vitest-helper, and mocha-helper"
103
+ ```
104
+
105
+ ## Common Tasks
106
+
107
+ ### Install a Skill
108
+ ```
109
+ "Install the commit skill"
110
+ ```
111
+ Skillsmith downloads the skill, runs security scan, and installs to ~/.claude/skills/.
112
+
113
+ ### Check What's Installed
114
+ ```
115
+ "What skills do I have installed?"
116
+ ```
117
+
118
+ ### Remove a Skill
119
+ ```
120
+ "Uninstall the old-skill"
121
+ ```
122
+
123
+ ### Get Recommendations
124
+ ```
125
+ "Recommend skills for my TypeScript project"
126
+ ```
127
+ Skillsmith analyzes your project context and suggests relevant skills.
128
+
129
+ ## License
130
+
131
+ Skillsmith uses **Elastic License 2.0**:
132
+ - You can self-host for internal use
133
+ - You can modify for your own use
134
+ - You cannot offer Skillsmith as a managed service to others
135
+ - You cannot circumvent license key functionality
136
+
137
+ ## Related Documentation
138
+
139
+ - [Security Deep-Dive](docs/SECURITY.md)
140
+ - [Trust Tiers](docs/TRUST_TIERS.md)
141
+ - [Quota System](docs/QUOTAS.md)
142
+
143
+ ## Getting Help
144
+
145
+ - Docs: `npx @skillsmith/mcp-server --docs`
146
+ - Issues: https://github.com/smith-horn/skillsmith/issues
147
+ - Email: support@skillsmith.app
@@ -0,0 +1,182 @@
1
+ # Quota System
2
+
3
+ Skillsmith uses a usage-based quota system to ensure fair access and sustainable service.
4
+
5
+ ## Tier Limits
6
+
7
+ | Tier | API Calls/Month | Price | Best For |
8
+ |------|-----------------|-------|----------|
9
+ | **Community** | 1,000 | Free | Individual hobbyists |
10
+ | **Individual** | 10,000 | $9.99/mo | Active developers |
11
+ | **Team** | 100,000 | $25/user/mo | Development teams |
12
+ | **Enterprise** | Unlimited | $55/user/mo | Large organizations |
13
+
14
+ ## What Counts as an API Call
15
+
16
+ Each of these operations counts as 1 API call:
17
+ - `search` - Searching for skills
18
+ - `get_skill` - Getting skill details
19
+ - `install_skill` - Installing a skill
20
+ - `uninstall_skill` - Removing a skill
21
+ - `skill_recommend` - Getting recommendations
22
+ - `skill_validate` - Validating a skill
23
+ - `skill_compare` - Comparing skills
24
+ - `skill_suggest` - Getting suggestions
25
+
26
+ **Free operations** (don't count):
27
+ - Viewing already-installed skills
28
+ - Reading local skill files
29
+ - Using installed skills
30
+
31
+ ## Quota Warnings
32
+
33
+ Skillsmith provides progressive warnings as you approach your limit:
34
+
35
+ | Usage | Level | What Happens |
36
+ |-------|-------|--------------|
37
+ | 80% | Info | Warning in tool response |
38
+ | 90% | Warning | Warning + optional email |
39
+ | 100% | Error | Operations blocked |
40
+
41
+ ### Example Warning at 80%
42
+
43
+ ```json
44
+ {
45
+ "results": [...],
46
+ "_meta": {
47
+ "quota": {
48
+ "remaining": 200,
49
+ "limit": 1000,
50
+ "resetAt": "2026-02-01T00:00:00Z",
51
+ "warning": "80% of monthly quota used (200 remaining)"
52
+ }
53
+ }
54
+ }
55
+ ```
56
+
57
+ ### At 100% (Blocked)
58
+
59
+ ```json
60
+ {
61
+ "error": "QUOTA_EXCEEDED",
62
+ "message": "Monthly quota exceeded. Upgrade at skillsmith.app/upgrade",
63
+ "resetAt": "2026-02-01T00:00:00Z"
64
+ }
65
+ ```
66
+
67
+ ## Checking Your Quota
68
+
69
+ Ask Claude:
70
+ ```
71
+ "What's my Skillsmith quota?"
72
+ "How many API calls do I have left?"
73
+ ```
74
+
75
+ Or check programmatically via the quota metadata in any response.
76
+
77
+ ## Quota Resets
78
+
79
+ Quotas reset on the **first of each month** at 00:00 UTC.
80
+
81
+ Example:
82
+ - January 15: 800/1000 used
83
+ - February 1: 0/1000 used (reset)
84
+
85
+ Unused quota does not roll over.
86
+
87
+ ## Upgrading Your Tier
88
+
89
+ ### From Community to Individual ($9.99/mo)
90
+ - 10x more API calls (10,000/month)
91
+ - Priority support
92
+ - Basic analytics dashboard
93
+
94
+ ```
95
+ Upgrade at: https://skillsmith.app/upgrade?from=community&to=individual
96
+ ```
97
+
98
+ ### From Individual to Team ($25/user/mo)
99
+ - 10x more API calls (100,000/month)
100
+ - Team workspaces
101
+ - Private skills
102
+ - Usage analytics
103
+
104
+ ```
105
+ Upgrade at: https://skillsmith.app/upgrade?from=individual&to=team
106
+ ```
107
+
108
+ ### From Team to Enterprise ($55/user/mo)
109
+ - Unlimited API calls
110
+ - SSO (SAML 2.0)
111
+ - Role-based access control (RBAC)
112
+ - Audit logging
113
+ - SIEM integration
114
+ - Dedicated support
115
+
116
+ ```
117
+ Contact: sales@skillsmith.app
118
+ ```
119
+
120
+ ## Optimizing Quota Usage
121
+
122
+ ### Do
123
+ - Cache search results when browsing
124
+ - Use `get_skill` only for skills you're considering
125
+ - Batch installations when possible
126
+
127
+ ### Don't
128
+ - Run repeated searches for the same query
129
+ - Call `skill_validate` multiple times on the same skill
130
+ - Use `search` with overly broad queries
131
+
132
+ ### Efficient Patterns
133
+
134
+ Instead of:
135
+ ```
136
+ search("testing") # 1 call
137
+ search("testing jest") # 2 calls
138
+ search("testing vitest") # 3 calls
139
+ ```
140
+
141
+ Do:
142
+ ```
143
+ search("testing", limit=20) # 1 call, get more results
144
+ ```
145
+
146
+ ## Enterprise Considerations
147
+
148
+ ### Shared Quota (Team/Enterprise)
149
+ - Quota is shared across all team members
150
+ - Individual usage tracking available in dashboard
151
+ - Admins can set per-user soft limits
152
+
153
+ ### Overage Protection
154
+ - Hard block at 100% by default
155
+ - Enterprise can enable overage billing
156
+ - Overage rate: $0.001 per additional call
157
+
158
+ ### Audit Trail
159
+ Enterprise tier includes full audit logging:
160
+ - Who made each call
161
+ - What skill was accessed
162
+ - Timestamp and result
163
+
164
+ ## FAQ
165
+
166
+ **Q: What happens if I hit my limit mid-project?**
167
+ A: You can upgrade immediately. New quota applies instantly.
168
+
169
+ **Q: Can I pre-pay for higher limits?**
170
+ A: Contact sales@skillsmith.app for custom plans.
171
+
172
+ **Q: Do local operations use quota?**
173
+ A: No. Only Skillsmith API calls (search, install, etc.) use quota.
174
+
175
+ **Q: Can I see my historical usage?**
176
+ A: Individual+ tiers have a usage dashboard at skillsmith.app/usage.
177
+
178
+ ## Support
179
+
180
+ - Billing questions: billing@skillsmith.app
181
+ - Quota issues: support@skillsmith.app
182
+ - Enterprise sales: sales@skillsmith.app
@@ -0,0 +1,174 @@
1
+ # Skillsmith Security Model
2
+
3
+ This document provides detailed security information about how Skillsmith protects your Claude Code environment.
4
+
5
+ ## Security Boundaries
6
+
7
+ ```
8
+ TRUSTED ZONE
9
+ ├── Claude model safety guardrails
10
+ ├── Claude Code runtime
11
+ └── OS-level file access controls
12
+
13
+ SEMI-TRUSTED ZONE (Skillsmith)
14
+ ├── Skill index (curated)
15
+ ├── Quality scoring
16
+ ├── Static analysis
17
+ ├── Trust tier verification
18
+ └── Conflict detection
19
+
20
+ UNTRUSTED ZONE
21
+ ├── GitHub repositories
22
+ ├── Third-party skill authors
23
+ └── Community registries
24
+ ```
25
+
26
+ ## What Skillsmith Scans For
27
+
28
+ ### Critical Severity (Blocks Installation)
29
+
30
+ **Jailbreak Patterns**
31
+ - "ignore previous instructions"
32
+ - "developer mode" / "DAN mode"
33
+ - "bypass safety" / "bypass security"
34
+ - "system: override"
35
+ - "act as an AI without restrictions"
36
+
37
+ **Malicious URLs**
38
+ - Non-allowlisted external domains
39
+ - Allowlist includes: github.com, githubusercontent.com, anthropic.com, claude.ai
40
+
41
+ ### High Severity (Requires Confirmation)
42
+
43
+ **Suspicious URLs**
44
+ - `file://` protocol (local file access)
45
+ - `gopher://`, `dict://`, `ldap://` protocols
46
+ - localhost / 127.0.0.x references
47
+ - Private IP ranges (10.x.x.x, 192.168.x.x, 172.16-31.x.x)
48
+
49
+ **Sensitive File Access Patterns**
50
+ - `*.env*` files
51
+ - `*.pem`, `*.key`, `*.p12` certificates
52
+ - `*credentials*`, `*secrets*`, `*password*`
53
+ - AWS credentials patterns
54
+
55
+ **Dangerous Commands**
56
+ - `rm -rf`, `format`, `delete`
57
+ - `curl`, `wget` to unknown domains
58
+ - `eval`, `exec` with dynamic input
59
+
60
+ ### Medium Severity (Warning)
61
+
62
+ **Obfuscation Detection**
63
+ - High entropy content (Shannon entropy > 4.5)
64
+ - Possible base64 encoded payloads
65
+ - Unusual character sequences
66
+
67
+ **Permission Keywords**
68
+ - References to sudo, root, admin
69
+ - System modification commands
70
+
71
+ ## Threat Model
72
+
73
+ | Threat | Severity | Mitigation | Status |
74
+ |--------|----------|------------|--------|
75
+ | Malicious SKILL.md | Critical | Pattern scanning, trust tiers | Active |
76
+ | Prompt injection | Critical | Pattern detection, entropy analysis | Active |
77
+ | Typosquatting | High | Levenshtein distance, char substitution | Active |
78
+ | Dependency hijacking | Medium | URL allowlist | Active |
79
+ | Author key compromise | Medium | Anomaly detection | Planned |
80
+ | Supply chain attack | High | Registry signing | Planned |
81
+
82
+ ## Validation Patterns (Technical Detail)
83
+
84
+ ### SSRF Detection
85
+ ```
86
+ file://, gopher://, dict://, ldap://
87
+ localhost, 127.0.0.x
88
+ 10.x.x.x, 192.168.x.x, 172.16-31.x.x
89
+ 169.254.x.x (link-local)
90
+ ```
91
+
92
+ ### Path Traversal Detection
93
+ ```
94
+ ../, ..\
95
+ ..%2f, ..%5c (URL encoded)
96
+ %2e%2e (double-encoded)
97
+ ```
98
+
99
+ ### Typosquatting Detection
100
+ - Levenshtein distance ≤ 2 from known skill names
101
+ - Character substitution (l/1, o/0, rn/m)
102
+ - Homograph attacks (unicode lookalikes)
103
+
104
+ ## Best Practices
105
+
106
+ ### For Skill Users
107
+
108
+ 1. **Always check trust tier** before installing
109
+ - Official/Verified: Generally safe
110
+ - Community: Review skill content first
111
+ - Unverified: Only install if you trust the author personally
112
+
113
+ 2. **Review skill content** for unverified skills
114
+ - Read the SKILL.md body
115
+ - Check for suspicious URLs or commands
116
+ - Look for overly broad permissions
117
+
118
+ 3. **Use `skill_validate`** for manual installations
119
+ - Runs security scan before install
120
+ - Shows warnings and requires confirmation
121
+
122
+ 4. **Report suspicious skills**
123
+ - GitHub: https://github.com/smith-horn/skillsmith/security/advisories
124
+ - Email: security@skillsmith.app
125
+
126
+ 5. **Keep Skillsmith updated**
127
+ - New security patterns added regularly
128
+ - `npx @skillsmith/mcp-server@latest`
129
+
130
+ ### For Skill Authors
131
+
132
+ 1. **Avoid external URLs** unless necessary
133
+ - Prefer documented APIs (github.com, npm registry)
134
+ - Never reference internal/private URLs
135
+
136
+ 2. **Don't request sensitive file access**
137
+ - Never read .env files
138
+ - Never access credential stores
139
+
140
+ 3. **Be explicit about permissions**
141
+ - Document what files you read/write
142
+ - Document what commands you execute
143
+
144
+ 4. **Submit for verification**
145
+ - Verified skills get more installs
146
+ - Process documented at skillsmith.app/verify
147
+
148
+ ## Privacy Considerations
149
+
150
+ Skillsmith respects your privacy:
151
+
152
+ **Never sent to backend:**
153
+ - Your codebase content
154
+ - File paths or names
155
+ - Environment variables
156
+ - Credentials
157
+ - Conversation content
158
+
159
+ **Sent only with opt-in telemetry:**
160
+ - Anonymized search queries
161
+ - Skill install/uninstall events
162
+ - Error rates (stack traces only)
163
+ - Feature usage statistics
164
+
165
+ ## Reporting Security Issues
166
+
167
+ **For vulnerabilities in Skillsmith itself:**
168
+ - Email: security@skillsmith.app
169
+ - GitHub Security Advisories: https://github.com/smith-horn/skillsmith/security/advisories
170
+
171
+ **For malicious skills:**
172
+ - Report via GitHub Issues
173
+ - Include skill ID and specific concern
174
+ - We investigate and blocklist within 24 hours