@skillsmith/core 0.4.16 → 0.5.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 (285) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +57 -2
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/src/api/client.d.ts +21 -21
  5. package/dist/src/api/client.d.ts.map +1 -1
  6. package/dist/src/api/client.events.d.ts +39 -0
  7. package/dist/src/api/client.events.d.ts.map +1 -0
  8. package/dist/src/api/client.events.js +77 -0
  9. package/dist/src/api/client.events.js.map +1 -0
  10. package/dist/src/api/client.js +39 -33
  11. package/dist/src/api/client.js.map +1 -1
  12. package/dist/src/api/event-batcher.d.ts +81 -0
  13. package/dist/src/api/event-batcher.d.ts.map +1 -0
  14. package/dist/src/api/event-batcher.js +191 -0
  15. package/dist/src/api/event-batcher.js.map +1 -0
  16. package/dist/src/api/index.d.ts +1 -0
  17. package/dist/src/api/index.d.ts.map +1 -1
  18. package/dist/src/api/index.js +2 -0
  19. package/dist/src/api/index.js.map +1 -1
  20. package/dist/src/api/schemas.d.ts +62 -4
  21. package/dist/src/api/schemas.d.ts.map +1 -1
  22. package/dist/src/api/schemas.js +45 -0
  23. package/dist/src/api/schemas.js.map +1 -1
  24. package/dist/src/db/migration-runner.d.ts +44 -0
  25. package/dist/src/db/migration-runner.d.ts.map +1 -0
  26. package/dist/src/db/migration-runner.js +175 -0
  27. package/dist/src/db/migration-runner.js.map +1 -0
  28. package/dist/src/db/migration.d.ts.map +1 -1
  29. package/dist/src/db/migration.js +2 -1
  30. package/dist/src/db/migration.js.map +1 -1
  31. package/dist/src/db/migrations/v12-risk-score-history.d.ts +10 -0
  32. package/dist/src/db/migrations/v12-risk-score-history.d.ts.map +1 -0
  33. package/dist/src/db/migrations/v12-risk-score-history.js +25 -0
  34. package/dist/src/db/migrations/v12-risk-score-history.js.map +1 -0
  35. package/dist/src/db/migrations/v13-team-tables.d.ts +11 -0
  36. package/dist/src/db/migrations/v13-team-tables.d.ts.map +1 -0
  37. package/dist/src/db/migrations/v13-team-tables.js +14 -0
  38. package/dist/src/db/migrations/v13-team-tables.js.map +1 -0
  39. package/dist/src/db/schema-sql.d.ts +16 -0
  40. package/dist/src/db/schema-sql.d.ts.map +1 -0
  41. package/dist/src/db/schema-sql.js +161 -0
  42. package/dist/src/db/schema-sql.js.map +1 -0
  43. package/dist/src/db/schema.d.ts +7 -32
  44. package/dist/src/db/schema.d.ts.map +1 -1
  45. package/dist/src/db/schema.js +14 -298
  46. package/dist/src/db/schema.js.map +1 -1
  47. package/dist/src/embeddings/hnsw-store.d.ts +1 -1
  48. package/dist/src/embeddings/hnsw-store.d.ts.map +1 -1
  49. package/dist/src/embeddings/hnsw-store.js +4 -34
  50. package/dist/src/embeddings/hnsw-store.js.map +1 -1
  51. package/dist/src/embeddings/hnsw-store.types.d.ts +18 -0
  52. package/dist/src/embeddings/hnsw-store.types.d.ts.map +1 -1
  53. package/dist/src/embeddings/hnsw-store.types.js.map +1 -1
  54. package/dist/src/exports/repositories.d.ts +1 -0
  55. package/dist/src/exports/repositories.d.ts.map +1 -1
  56. package/dist/src/exports/repositories.js +4 -0
  57. package/dist/src/exports/repositories.js.map +1 -1
  58. package/dist/src/exports/services.d.ts +4 -0
  59. package/dist/src/exports/services.d.ts.map +1 -1
  60. package/dist/src/exports/services.js +7 -0
  61. package/dist/src/exports/services.js.map +1 -1
  62. package/dist/src/index.d.ts +1 -1
  63. package/dist/src/index.js +1 -1
  64. package/dist/src/learning/PatternStore.d.ts.map +1 -1
  65. package/dist/src/learning/PatternStore.js +2 -9
  66. package/dist/src/learning/PatternStore.js.map +1 -1
  67. package/dist/src/repositories/RiskScoreHistoryRepository.d.ts +37 -0
  68. package/dist/src/repositories/RiskScoreHistoryRepository.d.ts.map +1 -0
  69. package/dist/src/repositories/RiskScoreHistoryRepository.js +66 -0
  70. package/dist/src/repositories/RiskScoreHistoryRepository.js.map +1 -0
  71. package/dist/src/routing/SONARouter.d.ts.map +1 -1
  72. package/dist/src/routing/SONARouter.js +4 -15
  73. package/dist/src/routing/SONARouter.js.map +1 -1
  74. package/dist/src/scoring/index.d.ts +1 -0
  75. package/dist/src/scoring/index.d.ts.map +1 -1
  76. package/dist/src/scoring/index.js +1 -0
  77. package/dist/src/scoring/index.js.map +1 -1
  78. package/dist/src/scoring/quality-score.d.ts +49 -0
  79. package/dist/src/scoring/quality-score.d.ts.map +1 -0
  80. package/dist/src/scoring/quality-score.js +73 -0
  81. package/dist/src/scoring/quality-score.js.map +1 -0
  82. package/dist/src/scripts/__tests__/scan-imported-skills.test.js +10 -0
  83. package/dist/src/scripts/__tests__/scan-imported-skills.test.js.map +1 -1
  84. package/dist/src/scripts/validation/types.d.ts +2 -2
  85. package/dist/src/security/index.d.ts +2 -0
  86. package/dist/src/security/index.d.ts.map +1 -1
  87. package/dist/src/security/index.js +2 -0
  88. package/dist/src/security/index.js.map +1 -1
  89. package/dist/src/security/risk-trend.d.ts +21 -0
  90. package/dist/src/security/risk-trend.d.ts.map +1 -0
  91. package/dist/src/security/risk-trend.js +81 -0
  92. package/dist/src/security/risk-trend.js.map +1 -0
  93. package/dist/src/security/scanner/SecurityScanner.d.ts +6 -2
  94. package/dist/src/security/scanner/SecurityScanner.d.ts.map +1 -1
  95. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts +24 -2
  96. package/dist/src/security/scanner/SecurityScanner.helpers.d.ts.map +1 -1
  97. package/dist/src/security/scanner/SecurityScanner.helpers.js +111 -9
  98. package/dist/src/security/scanner/SecurityScanner.helpers.js.map +1 -1
  99. package/dist/src/security/scanner/SecurityScanner.js +64 -71
  100. package/dist/src/security/scanner/SecurityScanner.js.map +1 -1
  101. package/dist/src/security/scanner/SecurityScanner.ssrf.d.ts +15 -0
  102. package/dist/src/security/scanner/SecurityScanner.ssrf.d.ts.map +1 -0
  103. package/dist/src/security/scanner/SecurityScanner.ssrf.js +76 -0
  104. package/dist/src/security/scanner/SecurityScanner.ssrf.js.map +1 -0
  105. package/dist/src/security/scanner/index.d.ts +1 -1
  106. package/dist/src/security/scanner/index.d.ts.map +1 -1
  107. package/dist/src/security/scanner/index.js +1 -1
  108. package/dist/src/security/scanner/index.js.map +1 -1
  109. package/dist/src/security/scanner/patterns.d.ts +12 -0
  110. package/dist/src/security/scanner/patterns.d.ts.map +1 -1
  111. package/dist/src/security/scanner/patterns.js +57 -0
  112. package/dist/src/security/scanner/patterns.js.map +1 -1
  113. package/dist/src/security/scanner/types.d.ts +3 -1
  114. package/dist/src/security/scanner/types.d.ts.map +1 -1
  115. package/dist/src/security/scanner/weights.d.ts.map +1 -1
  116. package/dist/src/security/scanner/weights.js +2 -0
  117. package/dist/src/security/scanner/weights.js.map +1 -1
  118. package/dist/src/services/skill-config-schema.d.ts +36 -0
  119. package/dist/src/services/skill-config-schema.d.ts.map +1 -0
  120. package/dist/src/services/skill-config-schema.js +76 -0
  121. package/dist/src/services/skill-config-schema.js.map +1 -0
  122. package/dist/src/services/skill-installation.feedback.d.ts +24 -0
  123. package/dist/src/services/skill-installation.feedback.d.ts.map +1 -0
  124. package/dist/src/services/skill-installation.feedback.js +37 -0
  125. package/dist/src/services/skill-installation.feedback.js.map +1 -0
  126. package/dist/src/services/skill-installation.helpers.d.ts +88 -0
  127. package/dist/src/services/skill-installation.helpers.d.ts.map +1 -0
  128. package/dist/src/services/skill-installation.helpers.js +377 -0
  129. package/dist/src/services/skill-installation.helpers.js.map +1 -0
  130. package/dist/src/services/skill-installation.service.d.ts +37 -0
  131. package/dist/src/services/skill-installation.service.d.ts.map +1 -0
  132. package/dist/src/services/skill-installation.service.js +432 -0
  133. package/dist/src/services/skill-installation.service.js.map +1 -0
  134. package/dist/src/services/skill-installation.types.d.ts +166 -0
  135. package/dist/src/services/skill-installation.types.d.ts.map +1 -0
  136. package/dist/src/services/skill-installation.types.js +38 -0
  137. package/dist/src/services/skill-installation.types.js.map +1 -0
  138. package/dist/src/services/skill-manifest.d.ts +20 -0
  139. package/dist/src/services/skill-manifest.d.ts.map +1 -0
  140. package/dist/src/services/skill-manifest.js +84 -0
  141. package/dist/src/services/skill-manifest.js.map +1 -0
  142. package/dist/src/session/SessionManager.helpers.d.ts +1 -27
  143. package/dist/src/session/SessionManager.helpers.d.ts.map +1 -1
  144. package/dist/src/session/SessionManager.helpers.js +0 -64
  145. package/dist/src/session/SessionManager.helpers.js.map +1 -1
  146. package/dist/src/session/SessionManager.memory.d.ts +12 -11
  147. package/dist/src/session/SessionManager.memory.d.ts.map +1 -1
  148. package/dist/src/session/SessionManager.memory.js +23 -115
  149. package/dist/src/session/SessionManager.memory.js.map +1 -1
  150. package/dist/src/session/SessionManager.types.d.ts +0 -37
  151. package/dist/src/session/SessionManager.types.d.ts.map +1 -1
  152. package/dist/src/session/SessionManager.types.js.map +1 -1
  153. package/dist/src/session/SessionRecovery.js +4 -4
  154. package/dist/src/session/SessionRecovery.js.map +1 -1
  155. package/dist/src/testing/MultiLLMProvider.d.ts.map +1 -1
  156. package/dist/src/testing/MultiLLMProvider.js +5 -19
  157. package/dist/src/testing/MultiLLMProvider.js.map +1 -1
  158. package/dist/src/types.d.ts +2 -0
  159. package/dist/src/types.d.ts.map +1 -1
  160. package/dist/tests/SecurityScanner.ai-defence.test.d.ts +6 -0
  161. package/dist/tests/SecurityScanner.ai-defence.test.d.ts.map +1 -0
  162. package/dist/tests/SecurityScanner.ai-defence.test.js +221 -0
  163. package/dist/tests/SecurityScanner.ai-defence.test.js.map +1 -0
  164. package/dist/tests/SecurityScanner.performance.test.d.ts +6 -0
  165. package/dist/tests/SecurityScanner.performance.test.d.ts.map +1 -0
  166. package/dist/tests/SecurityScanner.performance.test.js +132 -0
  167. package/dist/tests/SecurityScanner.performance.test.js.map +1 -0
  168. package/dist/tests/SecurityScanner.scoring.test.d.ts +6 -0
  169. package/dist/tests/SecurityScanner.scoring.test.d.ts.map +1 -0
  170. package/dist/tests/SecurityScanner.scoring.test.js +197 -0
  171. package/dist/tests/SecurityScanner.scoring.test.js.map +1 -0
  172. package/dist/tests/SecurityScanner.test.d.ts +2 -2
  173. package/dist/tests/SecurityScanner.test.js +2 -520
  174. package/dist/tests/SecurityScanner.test.js.map +1 -1
  175. package/dist/tests/SkillMatcher.test.js +5 -5
  176. package/dist/tests/SkillMatcher.test.js.map +1 -1
  177. package/dist/tests/billing/StripeClient.test.d.ts +18 -0
  178. package/dist/tests/billing/StripeClient.test.d.ts.map +1 -0
  179. package/dist/tests/billing/StripeClient.test.js +566 -0
  180. package/dist/tests/billing/StripeClient.test.js.map +1 -0
  181. package/dist/tests/billing/StripeWebhookHandler.test.d.ts +16 -0
  182. package/dist/tests/billing/StripeWebhookHandler.test.d.ts.map +1 -0
  183. package/dist/tests/billing/StripeWebhookHandler.test.js +240 -0
  184. package/dist/tests/billing/StripeWebhookHandler.test.js.map +1 -0
  185. package/dist/tests/billing/stripe-helpers.test.d.ts +7 -0
  186. package/dist/tests/billing/stripe-helpers.test.d.ts.map +1 -0
  187. package/dist/tests/billing/stripe-helpers.test.js +91 -0
  188. package/dist/tests/billing/stripe-helpers.test.js.map +1 -0
  189. package/dist/tests/billing/webhook-handlers.test.d.ts +16 -0
  190. package/dist/tests/billing/webhook-handlers.test.d.ts.map +1 -0
  191. package/dist/tests/billing/webhook-handlers.test.js +519 -0
  192. package/dist/tests/billing/webhook-handlers.test.js.map +1 -0
  193. package/dist/tests/db/migration.test.d.ts +11 -0
  194. package/dist/tests/db/migration.test.d.ts.map +1 -0
  195. package/dist/tests/db/migration.test.js +265 -0
  196. package/dist/tests/db/migration.test.js.map +1 -0
  197. package/dist/tests/db/schema-migrations.test.js +8 -6
  198. package/dist/tests/db/schema-migrations.test.js.map +1 -1
  199. package/dist/tests/integration/events-batch-contract.test.d.ts +12 -0
  200. package/dist/tests/integration/events-batch-contract.test.d.ts.map +1 -0
  201. package/dist/tests/integration/events-batch-contract.test.js +69 -0
  202. package/dist/tests/integration/events-batch-contract.test.js.map +1 -0
  203. package/dist/tests/scoring/quality-score.test.d.ts +7 -0
  204. package/dist/tests/scoring/quality-score.test.d.ts.map +1 -0
  205. package/dist/tests/scoring/quality-score.test.js +78 -0
  206. package/dist/tests/scoring/quality-score.test.js.map +1 -0
  207. package/dist/tests/security/ContinuousSecurity.false-positives.test.d.ts +6 -0
  208. package/dist/tests/security/ContinuousSecurity.false-positives.test.d.ts.map +1 -0
  209. package/dist/tests/security/ContinuousSecurity.false-positives.test.js +89 -0
  210. package/dist/tests/security/ContinuousSecurity.false-positives.test.js.map +1 -0
  211. package/dist/tests/security/ContinuousSecurity.performance.test.d.ts +6 -0
  212. package/dist/tests/security/ContinuousSecurity.performance.test.d.ts.map +1 -0
  213. package/dist/tests/security/ContinuousSecurity.performance.test.js +177 -0
  214. package/dist/tests/security/ContinuousSecurity.performance.test.js.map +1 -0
  215. package/dist/tests/security/ContinuousSecurity.reporting.test.d.ts +6 -0
  216. package/dist/tests/security/ContinuousSecurity.reporting.test.d.ts.map +1 -0
  217. package/dist/tests/security/ContinuousSecurity.reporting.test.js +106 -0
  218. package/dist/tests/security/ContinuousSecurity.reporting.test.js.map +1 -0
  219. package/dist/tests/security/ContinuousSecurity.test.d.ts +9 -2
  220. package/dist/tests/security/ContinuousSecurity.test.d.ts.map +1 -1
  221. package/dist/tests/security/ContinuousSecurity.test.js +9 -336
  222. package/dist/tests/security/ContinuousSecurity.test.js.map +1 -1
  223. package/dist/tests/security/pii-detection.test.d.ts +7 -0
  224. package/dist/tests/security/pii-detection.test.d.ts.map +1 -0
  225. package/dist/tests/security/pii-detection.test.js +91 -0
  226. package/dist/tests/security/pii-detection.test.js.map +1 -0
  227. package/dist/tests/security/risk-trend.test.d.ts +6 -0
  228. package/dist/tests/security/risk-trend.test.d.ts.map +1 -0
  229. package/dist/tests/security/risk-trend.test.js +68 -0
  230. package/dist/tests/security/risk-trend.test.js.map +1 -0
  231. package/dist/tests/security/scanner-regression-guard.test.d.ts +12 -0
  232. package/dist/tests/security/scanner-regression-guard.test.d.ts.map +1 -0
  233. package/dist/tests/security/scanner-regression-guard.test.js +111 -0
  234. package/dist/tests/security/scanner-regression-guard.test.js.map +1 -0
  235. package/dist/tests/security.test.js +200 -0
  236. package/dist/tests/security.test.js.map +1 -1
  237. package/dist/tests/services/aidefence-feedback.test.d.ts +6 -0
  238. package/dist/tests/services/aidefence-feedback.test.d.ts.map +1 -0
  239. package/dist/tests/services/aidefence-feedback.test.js +115 -0
  240. package/dist/tests/services/aidefence-feedback.test.js.map +1 -0
  241. package/dist/tests/services/dep-quarantine-check.test.d.ts +5 -0
  242. package/dist/tests/services/dep-quarantine-check.test.d.ts.map +1 -0
  243. package/dist/tests/services/dep-quarantine-check.test.js +92 -0
  244. package/dist/tests/services/dep-quarantine-check.test.js.map +1 -0
  245. package/dist/tests/services/skill-config-schema.test.d.ts +5 -0
  246. package/dist/tests/services/skill-config-schema.test.d.ts.map +1 -0
  247. package/dist/tests/services/skill-config-schema.test.js +98 -0
  248. package/dist/tests/services/skill-config-schema.test.js.map +1 -0
  249. package/dist/tests/session/SessionManager.helpers.test.js +1 -9
  250. package/dist/tests/session/SessionManager.helpers.test.js.map +1 -1
  251. package/dist/tests/session/SessionManager.memory.test.d.ts +3 -4
  252. package/dist/tests/session/SessionManager.memory.test.d.ts.map +1 -1
  253. package/dist/tests/session/SessionManager.memory.test.js +41 -123
  254. package/dist/tests/session/SessionManager.memory.test.js.map +1 -1
  255. package/dist/tests/sync/BackgroundSyncService.test.d.ts +13 -0
  256. package/dist/tests/sync/BackgroundSyncService.test.d.ts.map +1 -0
  257. package/dist/tests/sync/BackgroundSyncService.test.js +259 -0
  258. package/dist/tests/sync/BackgroundSyncService.test.js.map +1 -0
  259. package/dist/tests/testkit.d.ts +14 -0
  260. package/dist/tests/testkit.d.ts.map +1 -0
  261. package/dist/tests/testkit.js +14 -0
  262. package/dist/tests/testkit.js.map +1 -0
  263. package/dist/tests/unit/api-client-events.test.d.ts +10 -0
  264. package/dist/tests/unit/api-client-events.test.d.ts.map +1 -0
  265. package/dist/tests/unit/api-client-events.test.js +73 -0
  266. package/dist/tests/unit/api-client-events.test.js.map +1 -0
  267. package/dist/tests/unit/event-batcher.test.d.ts +13 -0
  268. package/dist/tests/unit/event-batcher.test.d.ts.map +1 -0
  269. package/dist/tests/unit/event-batcher.test.js +155 -0
  270. package/dist/tests/unit/event-batcher.test.js.map +1 -0
  271. package/dist/tests/unit/migrations/v10-dependencies.test.js +3 -3
  272. package/dist/tests/unit/migrations/v10-dependencies.test.js.map +1 -1
  273. package/dist/tests/unit/services/skill-installation-extended.test.d.ts +8 -0
  274. package/dist/tests/unit/services/skill-installation-extended.test.d.ts.map +1 -0
  275. package/dist/tests/unit/services/skill-installation-extended.test.js +423 -0
  276. package/dist/tests/unit/services/skill-installation-extended.test.js.map +1 -0
  277. package/dist/tests/unit/services/skill-installation.service.test.d.ts +8 -0
  278. package/dist/tests/unit/services/skill-installation.service.test.d.ts.map +1 -0
  279. package/dist/tests/unit/services/skill-installation.service.test.js +342 -0
  280. package/dist/tests/unit/services/skill-installation.service.test.js.map +1 -0
  281. package/package.json +22 -10
  282. package/dist/vitest.config.d.ts +0 -3
  283. package/dist/vitest.config.d.ts.map +0 -1
  284. package/dist/vitest.config.js +0 -13
  285. package/dist/vitest.config.js.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,34 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@skillsmith/core` are documented here.
4
+
5
+ ## v0.5.0
6
+
7
+ - **Feature**: SMI-4119 client-side event batching + dual-shape /events (#500)
8
+
9
+ ## v0.4.17
10
+
11
+ - **PII Detection**: New PII detection module with configurable pattern matching for emails, phone numbers, API keys, and credentials.
12
+ - **Quality Scoring with Risk Trends**: Quality scoring service with risk trend tracking and anomaly detection thresholds (20pt warning, 35pt critical, 40pt boundary crossing).
13
+ - **Risk Score History**: `RiskScoreHistoryRepository` for tracking risk score changes over time with `RiskScoreSnapshot` type.
14
+ - **Skill Config Validation**: Schema validation for skill configuration files using Zod.
15
+ - **AIDefence Feedback**: Security feedback integration for AIDefence threat assessment.
16
+ - **Dependency Quarantine Checks**: Enhanced dependency quarantine validation.
17
+ - **Pre-Install Security Gate**: `SkillInstallationService` enhanced with security confirmation flow — skills with high-severity findings require user approval.
18
+
19
+ ## v0.4.16
20
+
21
+ - **Skill Dependency Intelligence**: `DependencyDeclaration` type for declaring skill dependencies.
22
+ - **Dependency Repository**: `SkillDependencyRepository` for dependency graph queries.
23
+ - **Database Migration v10**: Schema version 10 with dependency tracking tables.
24
+
25
+ ## v0.4.15
26
+
27
+ - **Co-install recommendations**: `CoInstallRepository` and `AlsoInstalledSkill` types for tracking skills frequently installed together.
28
+ - **Compatibility tags**: Skills can declare compatibility frontmatter (LLMs, IDEs, platforms).
29
+ - **Repository and homepage links**: New `repository_url` and `homepage_url` fields on skill records.
30
+ - **Database migration v9**: SCHEMA_VERSION 9 with migrations for co-install and compatibility features.
31
+
32
+ ## v0.4.7
33
+
34
+ - **Multi-language support**: Analyze TypeScript, JavaScript, Python, Go, Rust, and Java codebases with improved dependency management.
package/README.md CHANGED
@@ -2,9 +2,21 @@
2
2
 
3
3
  Core library for Skillsmith - provides database operations, search services, caching, security, analytics, and **multi-language codebase analysis** for agent skill discovery.
4
4
 
5
- **v0.4.15** adds co-install recommendations (`CoInstallRepository`, `AlsoInstalledSkill`), compatibility tags on skills, repository/homepage link fields, and SCHEMA_VERSION 9 with migrations for both.
5
+ ## Contents
6
6
 
7
- **v0.4.7** includes multi-language support for analyzing TypeScript, JavaScript, Python, Go, Rust, and Java codebases, with improved dependency management.
7
+ - [What's New](#whats-new-in-v0416)
8
+ - [Installation](#installation)
9
+ - [Quick Start](#quick-start)
10
+ - [Features](#features)
11
+ - [Exports](#exports)
12
+
13
+ ## What's New in v0.4.16
14
+
15
+ - **Skill Dependency Intelligence**: New `SkillDependencyRepository` for querying skill dependency graphs, `extractMcpReferences()` for inferring MCP server dependencies from SKILL.md content, `mergeDependencies()` for combining declared + inferred dependencies.
16
+ - **`DependencyDeclaration` type**: Replaces `string[]` in `SkillFrontmatter.dependencies` — structured dependency declarations with type, source, and confidence.
17
+ - **Database migration v10**: `skill_dependencies` table (SCHEMA_VERSION 10).
18
+
19
+ See [CHANGELOG.md](./CHANGELOG.md) for previous releases.
8
20
 
9
21
  ## Installation
10
22
 
@@ -83,6 +95,7 @@ await runMigrations(db)
83
95
  - **SkillRepository** - CRUD operations for skills
84
96
  - **CacheRepository** - Persistent cache storage
85
97
  - **IndexerRepository** - Batch indexing operations
98
+ - **SkillDependencyRepository** - Skill dependency graph queries
86
99
 
87
100
  ```typescript
88
101
  import { SkillRepository } from '@skillsmith/core'
@@ -184,6 +197,33 @@ const score = await scorer.score(skill)
184
197
  const quick = quickScore(skillMetadata)
185
198
  ```
186
199
 
200
+ ### Dependency Intelligence
201
+
202
+ Infer and manage skill dependencies from SKILL.md content.
203
+
204
+ ```typescript
205
+ import {
206
+ extractMcpReferences,
207
+ mergeDependencies,
208
+ SkillDependencyRepository,
209
+ } from '@skillsmith/core'
210
+
211
+ // Extract MCP server references from SKILL.md content
212
+ const refs = extractMcpReferences(skillMdContent)
213
+ // [{ server: 'github', tool: 'create_issue', confidence: 0.9 }, ...]
214
+
215
+ // Merge declared frontmatter deps with inferred MCP refs
216
+ const merged = mergeDependencies(declaredDeps, refs)
217
+ // [{ depType: 'mcp_server', target: 'github', source: 'inferred_static', confidence: 0.9 }]
218
+
219
+ // Persist to database
220
+ const depRepo = new SkillDependencyRepository(db)
221
+ await depRepo.upsert('author/skill', merged)
222
+
223
+ // Query dependency graph
224
+ const deps = depRepo.findBySkillId('author/skill')
225
+ ```
226
+
187
227
  ### Analytics
188
228
 
189
229
  Track skill usage and generate insights.
@@ -444,6 +484,21 @@ import {
444
484
  type FunctionInfo,
445
485
  type CodebaseContext,
446
486
  } from '@skillsmith/core'
487
+
488
+ // Dependency intelligence (v0.4.16)
489
+ import {
490
+ extractMcpReferences,
491
+ mergeDependencies,
492
+ SkillDependencyRepository,
493
+ // Types
494
+ type DependencyDeclaration,
495
+ type SkillDependencyRow,
496
+ type DepType,
497
+ type DepSource,
498
+ type McpReference,
499
+ type McpExtractionResult,
500
+ type MergedDependency,
501
+ } from '@skillsmith/core'
447
502
  ```
448
503
 
449
504
  ## Requirements