@skill-graph/cli 0.5.6

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 (330) hide show
  1. package/CHANGELOG.md +247 -0
  2. package/LICENSE +200 -0
  3. package/NOTICE +62 -0
  4. package/README.md +398 -0
  5. package/SKILL_GRAPH.md +443 -0
  6. package/bin/skill-graph.js +374 -0
  7. package/docs/ADOPTION.md +117 -0
  8. package/docs/CONFORMANCE.md +66 -0
  9. package/docs/PRIMER.md +384 -0
  10. package/docs/QUICKSTART-30MIN.md +333 -0
  11. package/docs/ROUTING-METRICS.md +120 -0
  12. package/docs/SKILL-MD-FORMAT-COMPATIBILITY.md +127 -0
  13. package/docs/SKILL_AUDIT_CHECKLIST.md +199 -0
  14. package/docs/SKILL_AUDIT_LOOP.md +195 -0
  15. package/docs/SKILL_METADATA_PROTOCOL.md +609 -0
  16. package/docs/_archived/marketplace-publication-priority-2026-05-18.md +239 -0
  17. package/docs/adr/0001-predicate-set.md +69 -0
  18. package/docs/adr/0002-json-ld-context.md +82 -0
  19. package/docs/adr/0003-ontoclean-rigidity-tags.md +65 -0
  20. package/docs/adr/0004-persistent-identifiers.md +74 -0
  21. package/docs/adr/0005-freshness-consolidation.md +70 -0
  22. package/docs/adr/0006-revise-predicate-rename.md +105 -0
  23. package/docs/adr/0007-audit-loop-cadence.md +99 -0
  24. package/docs/adr/0008-skill-surface-split-and-curation-policy.md +93 -0
  25. package/docs/category-consumers.md +168 -0
  26. package/docs/concept-map.md +194 -0
  27. package/docs/diagrams/drift-states.mmd +21 -0
  28. package/docs/diagrams/manifest-pipeline.mmd +25 -0
  29. package/docs/diagrams/routing-harness.mmd +41 -0
  30. package/docs/diagrams/starter-graph.mmd +53 -0
  31. package/docs/field-decision-guide.md +315 -0
  32. package/docs/field-rationale.md +211 -0
  33. package/docs/field-reference.generated.md +624 -0
  34. package/docs/field-reference.md +1426 -0
  35. package/docs/glossary.md +190 -0
  36. package/docs/head-noun-glossary.md +63 -0
  37. package/docs/images/audit-phases.png +0 -0
  38. package/docs/images/drift-states.png +0 -0
  39. package/docs/images/graded-mode.png +0 -0
  40. package/docs/images/manifest-pipeline.png +0 -0
  41. package/docs/images/routing-harness.png +0 -0
  42. package/docs/images/skill-anatomy.png +0 -0
  43. package/docs/images/starter-graph.png +0 -0
  44. package/docs/images/system-model.png +0 -0
  45. package/docs/integrations/github-actions.md +155 -0
  46. package/docs/manifest-field-mapping.md +443 -0
  47. package/docs/marketplace-publication-queue.generated.md +240 -0
  48. package/docs/marketplace-release-agent-prompt.md +82 -0
  49. package/docs/marketplace-skill-candidate-list.md +272 -0
  50. package/docs/marketplace-syndication.md +222 -0
  51. package/docs/migration-sample-review.md +155 -0
  52. package/docs/migrations/v4-to-v5.md +168 -0
  53. package/docs/migrations/v5-to-v6.md +221 -0
  54. package/docs/name-exceptions.yaml +37 -0
  55. package/docs/plans/marketplace-p1-public-migration-plan.md +41 -0
  56. package/docs/plans/multi-root-workspace.md +148 -0
  57. package/docs/plans/scripts-roadmap.md +107 -0
  58. package/docs/plans/v4-schema-bump.md +160 -0
  59. package/docs/plans/wave-2-extraction.md +122 -0
  60. package/docs/positioning-vs-marketplaces.md +175 -0
  61. package/docs/proposals/skill-audit-loop-positioning.md +160 -0
  62. package/docs/quality-doctrine.md +138 -0
  63. package/docs/recommended-skills.md +150 -0
  64. package/docs/research/skill-comprehension-eval-research.md +1830 -0
  65. package/docs/research/skill-retrieval-evidence.md +66 -0
  66. package/docs/skill-metadata-protocol.md +471 -0
  67. package/docs/skills-sh-maintainer-cleanup-request.md +80 -0
  68. package/examples/audits/a11y/findings.md +52 -0
  69. package/examples/audits/a11y/scorecard.md +21 -0
  70. package/examples/audits/a11y/verdict.md +44 -0
  71. package/examples/audits/debugging/findings.md +59 -0
  72. package/examples/audits/debugging/scorecard.md +22 -0
  73. package/examples/audits/debugging/verdict.md +33 -0
  74. package/examples/audits/documentation/findings.md +59 -0
  75. package/examples/audits/documentation/scorecard.md +22 -0
  76. package/examples/audits/documentation/verdict.md +33 -0
  77. package/examples/evals/a11y.json +140 -0
  78. package/examples/evals/api-design.json +52 -0
  79. package/examples/evals/code-review.json +52 -0
  80. package/examples/evals/data-modeling.json +52 -0
  81. package/examples/evals/database-migration.json +52 -0
  82. package/examples/evals/debugging.json +118 -0
  83. package/examples/evals/dependency-architecture.json +52 -0
  84. package/examples/evals/design-system-architecture.json +52 -0
  85. package/examples/evals/error-tracking.json +52 -0
  86. package/examples/evals/event-contract-design.json +52 -0
  87. package/examples/evals/form-ux-architecture.json +52 -0
  88. package/examples/evals/framework-fit-analysis.json +52 -0
  89. package/examples/evals/graph-audit.json +139 -0
  90. package/examples/evals/information-architecture.json +52 -0
  91. package/examples/evals/interaction-feedback.json +52 -0
  92. package/examples/evals/interaction-patterns.json +52 -0
  93. package/examples/evals/layout-composition.json +52 -0
  94. package/examples/evals/lint-overlay.json +117 -0
  95. package/examples/evals/microcopy.json +52 -0
  96. package/examples/evals/observability-modeling.json +52 -0
  97. package/examples/evals/pattern-recognition.json +96 -0
  98. package/examples/evals/performance-engineering.json +52 -0
  99. package/examples/evals/refactor.json +128 -0
  100. package/examples/evals/semiotics.json +52 -0
  101. package/examples/evals/skill-infrastructure.json +96 -0
  102. package/examples/evals/skill-router.json +140 -0
  103. package/examples/evals/skill-router.routing.json +113 -0
  104. package/examples/evals/system-interface-contracts.json +52 -0
  105. package/examples/evals/task-analysis.json +52 -0
  106. package/examples/evals/testing-strategy.json +118 -0
  107. package/examples/evals/type-safety.json +249 -0
  108. package/examples/evals/visual-design-foundations.json +52 -0
  109. package/examples/evals/webhook-integration.json +52 -0
  110. package/examples/exports/a11y.skill-md.md +80 -0
  111. package/examples/exports/debugging.skill-md.md +80 -0
  112. package/examples/exports/refactor.skill-md.md +78 -0
  113. package/examples/exports/testing-strategy.skill-md.md +81 -0
  114. package/examples/projects/markdown-static-site/README.md +115 -0
  115. package/examples/projects/markdown-static-site/skills/content-source-router/SKILL.md +131 -0
  116. package/examples/projects/markdown-static-site/skills/image-optimization-pipeline-config/SKILL.md +132 -0
  117. package/examples/projects/markdown-static-site/skills/link-rot-detection/SKILL.md +103 -0
  118. package/examples/projects/markdown-static-site/skills/markdown-post-frontmatter-validation/SKILL.md +133 -0
  119. package/examples/projects/markdown-static-site/skills/migrate-posts-to-v2-frontmatter/SKILL.md +140 -0
  120. package/examples/projects/saas-stripe-postgres/README.md +208 -0
  121. package/examples/projects/saas-stripe-postgres/db/migrations/0004_canonicalize_orders.sql +37 -0
  122. package/examples/projects/saas-stripe-postgres/db/schema.sql +112 -0
  123. package/examples/projects/saas-stripe-postgres/skills/migrate-orders-to-canonical-schema/SKILL.md +149 -0
  124. package/examples/projects/saas-stripe-postgres/skills/nextjs-server-action-validation/SKILL.md +154 -0
  125. package/examples/projects/saas-stripe-postgres/skills/payment-provider-router/SKILL.md +153 -0
  126. package/examples/projects/saas-stripe-postgres/skills/postgres-rls-pattern/SKILL.md +163 -0
  127. package/examples/projects/saas-stripe-postgres/skills/stripe-webhook-signature-verification/SKILL.md +137 -0
  128. package/examples/protocol/skill-metadata-template.md +301 -0
  129. package/examples/protocol/skills.manifest.sample.json +13245 -0
  130. package/examples/skill-metadata-template.md +317 -0
  131. package/examples/skills.manifest.sample.json +13519 -0
  132. package/examples/tests/v3-1-skos-fixture/SKILL.md +93 -0
  133. package/marketplace/README.md +17 -0
  134. package/marketplace/skills/a11y/SKILL.md +66 -0
  135. package/marketplace/skills/acid-fundamentals/SKILL.md +106 -0
  136. package/marketplace/skills/agent-engineering/SKILL.md +386 -0
  137. package/marketplace/skills/agent-eval-design/SKILL.md +55 -0
  138. package/marketplace/skills/ai-native-development/SKILL.md +294 -0
  139. package/marketplace/skills/api-design/SKILL.md +60 -0
  140. package/marketplace/skills/architecture-decision-records/SKILL.md +55 -0
  141. package/marketplace/skills/background-jobs/SKILL.md +265 -0
  142. package/marketplace/skills/bounded-context-mapping/SKILL.md +55 -0
  143. package/marketplace/skills/cap-theorem-tradeoffs/SKILL.md +127 -0
  144. package/marketplace/skills/client-server-boundary/SKILL.md +187 -0
  145. package/marketplace/skills/code-review/SKILL.md +120 -0
  146. package/marketplace/skills/color-system-design/SKILL.md +43 -0
  147. package/marketplace/skills/component-architecture/SKILL.md +126 -0
  148. package/marketplace/skills/compression/SKILL.md +112 -0
  149. package/marketplace/skills/conceptual-modeling/SKILL.md +181 -0
  150. package/marketplace/skills/connection-pooling/SKILL.md +105 -0
  151. package/marketplace/skills/constraint-awareness/SKILL.md +287 -0
  152. package/marketplace/skills/content-monitor/SKILL.md +209 -0
  153. package/marketplace/skills/context-engineering/SKILL.md +320 -0
  154. package/marketplace/skills/context-graph/SKILL.md +174 -0
  155. package/marketplace/skills/context-management/SKILL.md +174 -0
  156. package/marketplace/skills/context-window/SKILL.md +239 -0
  157. package/marketplace/skills/contract-testing/SKILL.md +120 -0
  158. package/marketplace/skills/cron-scheduling/SKILL.md +223 -0
  159. package/marketplace/skills/dark-mode-implementation/SKILL.md +47 -0
  160. package/marketplace/skills/data-modeling/SKILL.md +59 -0
  161. package/marketplace/skills/data-modeling-fundamentals/SKILL.md +117 -0
  162. package/marketplace/skills/database-migration/SKILL.md +429 -0
  163. package/marketplace/skills/debugging/SKILL.md +67 -0
  164. package/marketplace/skills/dependency-architecture/SKILL.md +58 -0
  165. package/marketplace/skills/design-module-composition/SKILL.md +43 -0
  166. package/marketplace/skills/design-system-architecture/SKILL.md +61 -0
  167. package/marketplace/skills/design-thinking/SKILL.md +44 -0
  168. package/marketplace/skills/diagnosis/SKILL.md +296 -0
  169. package/marketplace/skills/diff-analysis/SKILL.md +188 -0
  170. package/marketplace/skills/e2e-test-design/SKILL.md +113 -0
  171. package/marketplace/skills/entity-relationship-modeling/SKILL.md +218 -0
  172. package/marketplace/skills/epistemic-grounding/SKILL.md +112 -0
  173. package/marketplace/skills/error-boundary/SKILL.md +235 -0
  174. package/marketplace/skills/error-tracking/SKILL.md +261 -0
  175. package/marketplace/skills/eval-driven-development/SKILL.md +147 -0
  176. package/marketplace/skills/evaluation/SKILL.md +113 -0
  177. package/marketplace/skills/event-contract-design/SKILL.md +60 -0
  178. package/marketplace/skills/event-storming/SKILL.md +56 -0
  179. package/marketplace/skills/form-ux-architecture/SKILL.md +60 -0
  180. package/marketplace/skills/framework-fit-analysis/SKILL.md +59 -0
  181. package/marketplace/skills/frontend-architecture/SKILL.md +43 -0
  182. package/marketplace/skills/generative-ui/SKILL.md +118 -0
  183. package/marketplace/skills/graph-audit/SKILL.md +81 -0
  184. package/marketplace/skills/guardrails/SKILL.md +118 -0
  185. package/marketplace/skills/hooks-patterns/SKILL.md +185 -0
  186. package/marketplace/skills/http-semantics/SKILL.md +136 -0
  187. package/marketplace/skills/ideation/SKILL.md +41 -0
  188. package/marketplace/skills/indexing-strategy/SKILL.md +108 -0
  189. package/marketplace/skills/information-architecture/SKILL.md +59 -0
  190. package/marketplace/skills/integration-test-design/SKILL.md +111 -0
  191. package/marketplace/skills/intent-recognition/SKILL.md +136 -0
  192. package/marketplace/skills/interaction-feedback/SKILL.md +59 -0
  193. package/marketplace/skills/interaction-patterns/SKILL.md +59 -0
  194. package/marketplace/skills/journey-mapping/SKILL.md +41 -0
  195. package/marketplace/skills/keywords/SKILL.md +213 -0
  196. package/marketplace/skills/knowledge-modeling/SKILL.md +232 -0
  197. package/marketplace/skills/layout-composition/SKILL.md +59 -0
  198. package/marketplace/skills/linguistics/SKILL.md +429 -0
  199. package/marketplace/skills/lint-overlay/SKILL.md +76 -0
  200. package/marketplace/skills/mental-models/SKILL.md +126 -0
  201. package/marketplace/skills/merge-queue/SKILL.md +94 -0
  202. package/marketplace/skills/methodology/SKILL.md +317 -0
  203. package/marketplace/skills/microcopy/SKILL.md +232 -0
  204. package/marketplace/skills/middleware-patterns/SKILL.md +363 -0
  205. package/marketplace/skills/mobile-responsive-ux/SKILL.md +287 -0
  206. package/marketplace/skills/mutation-testing/SKILL.md +112 -0
  207. package/marketplace/skills/naming-conventions/SKILL.md +112 -0
  208. package/marketplace/skills/observability-modeling/SKILL.md +59 -0
  209. package/marketplace/skills/ontology-modeling/SKILL.md +67 -0
  210. package/marketplace/skills/owasp-security/SKILL.md +153 -0
  211. package/marketplace/skills/pattern-recognition/SKILL.md +472 -0
  212. package/marketplace/skills/performance-budgets/SKILL.md +185 -0
  213. package/marketplace/skills/performance-engineering/SKILL.md +58 -0
  214. package/marketplace/skills/performance-testing/SKILL.md +125 -0
  215. package/marketplace/skills/printify/SKILL.md +42 -0
  216. package/marketplace/skills/prioritization/SKILL.md +118 -0
  217. package/marketplace/skills/problem-framing/SKILL.md +41 -0
  218. package/marketplace/skills/problem-locating-solving/SKILL.md +203 -0
  219. package/marketplace/skills/project-knowledge-extraction/SKILL.md +54 -0
  220. package/marketplace/skills/prompt-craft/SKILL.md +134 -0
  221. package/marketplace/skills/prompt-injection-defense/SKILL.md +132 -0
  222. package/marketplace/skills/property-based-testing/SKILL.md +100 -0
  223. package/marketplace/skills/prototyping/SKILL.md +43 -0
  224. package/marketplace/skills/query-optimization/SKILL.md +144 -0
  225. package/marketplace/skills/real-time-updates/SKILL.md +324 -0
  226. package/marketplace/skills/ref-patterns/SKILL.md +284 -0
  227. package/marketplace/skills/refactor/SKILL.md +65 -0
  228. package/marketplace/skills/rendering-models/SKILL.md +142 -0
  229. package/marketplace/skills/replication-patterns/SKILL.md +110 -0
  230. package/marketplace/skills/research-synthesis/SKILL.md +41 -0
  231. package/marketplace/skills/route-handler-design/SKILL.md +347 -0
  232. package/marketplace/skills/schema-evolution/SKILL.md +140 -0
  233. package/marketplace/skills/security-fundamentals/SKILL.md +139 -0
  234. package/marketplace/skills/semantic-center/SKILL.md +194 -0
  235. package/marketplace/skills/semantic-relations/SKILL.md +250 -0
  236. package/marketplace/skills/semantics/SKILL.md +366 -0
  237. package/marketplace/skills/semiotics/SKILL.md +230 -0
  238. package/marketplace/skills/seo-strategy/SKILL.md +260 -0
  239. package/marketplace/skills/server-actions-design/SKILL.md +243 -0
  240. package/marketplace/skills/server-components-design/SKILL.md +190 -0
  241. package/marketplace/skills/sharding-strategy/SKILL.md +123 -0
  242. package/marketplace/skills/shopify/SKILL.md +42 -0
  243. package/marketplace/skills/skill-infrastructure/SKILL.md +320 -0
  244. package/marketplace/skills/skill-router/SKILL.md +71 -0
  245. package/marketplace/skills/skill-scaffold/SKILL.md +105 -0
  246. package/marketplace/skills/snapshot-testing/SKILL.md +120 -0
  247. package/marketplace/skills/spec-driven-development/SKILL.md +148 -0
  248. package/marketplace/skills/state-machine-modeling/SKILL.md +56 -0
  249. package/marketplace/skills/state-management/SKILL.md +134 -0
  250. package/marketplace/skills/streaming-architecture/SKILL.md +194 -0
  251. package/marketplace/skills/summarization/SKILL.md +156 -0
  252. package/marketplace/skills/suspense-patterns/SKILL.md +265 -0
  253. package/marketplace/skills/system-interface-contracts/SKILL.md +59 -0
  254. package/marketplace/skills/task-analysis/SKILL.md +201 -0
  255. package/marketplace/skills/taxonomy-design/SKILL.md +66 -0
  256. package/marketplace/skills/test-coverage-strategy/SKILL.md +108 -0
  257. package/marketplace/skills/test-doubles-design/SKILL.md +98 -0
  258. package/marketplace/skills/test-driven-development/SKILL.md +96 -0
  259. package/marketplace/skills/testing-strategy/SKILL.md +67 -0
  260. package/marketplace/skills/theme-system-design/SKILL.md +43 -0
  261. package/marketplace/skills/tool-call-flow/SKILL.md +229 -0
  262. package/marketplace/skills/tool-call-strategy/SKILL.md +292 -0
  263. package/marketplace/skills/transaction-isolation/SKILL.md +98 -0
  264. package/marketplace/skills/type-safety/SKILL.md +177 -0
  265. package/marketplace/skills/typography-system/SKILL.md +43 -0
  266. package/marketplace/skills/usability-testing/SKILL.md +43 -0
  267. package/marketplace/skills/user-research/SKILL.md +43 -0
  268. package/marketplace/skills/vercel-composition-patterns/SKILL.md +157 -0
  269. package/marketplace/skills/version-control/SKILL.md +233 -0
  270. package/marketplace/skills/visual-design-foundations/SKILL.md +59 -0
  271. package/marketplace/skills/visual-hierarchy/SKILL.md +43 -0
  272. package/marketplace/skills/webhook-integration/SKILL.md +331 -0
  273. package/marketplace/skills/writing-humanizer/SKILL.md +380 -0
  274. package/package.json +67 -0
  275. package/schemas/manifest.schema.json +811 -0
  276. package/schemas/manifest.v2.schema.json +164 -0
  277. package/schemas/manifest.v3.schema.json +758 -0
  278. package/schemas/manifest.v4.schema.json +755 -0
  279. package/schemas/manifest.v5.schema.json +755 -0
  280. package/schemas/manifest.v6.schema.json +811 -0
  281. package/schemas/skill.context.jsonld +279 -0
  282. package/schemas/skill.schema.json +919 -0
  283. package/schemas/skill.v2.schema.json +201 -0
  284. package/schemas/skill.v3.schema.json +827 -0
  285. package/schemas/skill.v4.schema.json +822 -0
  286. package/schemas/skill.v5.schema.json +830 -0
  287. package/schemas/skill.v6.schema.json +946 -0
  288. package/schemas/vocabulary/keywords.json +180 -0
  289. package/schemas/vocabulary/workspace_tags.json +23 -0
  290. package/scripts/__tests__/migrate-skill-v2-to-v3.test.js +161 -0
  291. package/scripts/__tests__/migrate-skill-v3-to-v4.test.js +158 -0
  292. package/scripts/__tests__/test-export-parser-drift.js +149 -0
  293. package/scripts/__tests__/test-marketplace-export.js +114 -0
  294. package/scripts/__tests__/test-router-paths.js +82 -0
  295. package/scripts/__tests__/test-stability-promotion.js +244 -0
  296. package/scripts/__tests__/test-v3-1-alias-contract.js +109 -0
  297. package/scripts/__tests__/test-v3-1-skos-runtime.js +116 -0
  298. package/scripts/backfill-schema-version.js +198 -0
  299. package/scripts/build-field-reference.js +160 -0
  300. package/scripts/build-retrieval-baseline.js +511 -0
  301. package/scripts/check-markdown-links.js +211 -0
  302. package/scripts/check-protocol-consistency.js +979 -0
  303. package/scripts/export-marketplace-skills.js +610 -0
  304. package/scripts/export-skill.js +374 -0
  305. package/scripts/generate-manifest.js +787 -0
  306. package/scripts/lib/alias-contract.js +83 -0
  307. package/scripts/lib/audit-prompt-builder.js +771 -0
  308. package/scripts/lib/mock-grader.js +134 -0
  309. package/scripts/lib/parse-frontmatter.js +429 -0
  310. package/scripts/lib/roots.js +119 -0
  311. package/scripts/lint/check-archetype-sections.js +185 -0
  312. package/scripts/lint/check-category-enum.js +83 -0
  313. package/scripts/lint/check-routing-eval.js +146 -0
  314. package/scripts/lint/check-routing-quality.js +211 -0
  315. package/scripts/lint/check-stability-promotion.js +220 -0
  316. package/scripts/lint/format-code-frame.js +206 -0
  317. package/scripts/marketplace-install.js +125 -0
  318. package/scripts/migrate-category-to-enum.js +169 -0
  319. package/scripts/migrate-skill-v2-to-v3.js +424 -0
  320. package/scripts/migrate-skill-v3-to-v4.js +200 -0
  321. package/scripts/migrate-skill-v5-to-v6.js +304 -0
  322. package/scripts/restructure-by-category.js +85 -0
  323. package/scripts/seed-publication-classification.js +282 -0
  324. package/scripts/skill-audit.js +893 -0
  325. package/scripts/skill-graph-drift.js +483 -0
  326. package/scripts/skill-graph-route.js +766 -0
  327. package/scripts/skill-graph-routing-eval.js +393 -0
  328. package/scripts/skill-lint.js +1317 -0
  329. package/scripts/skill-overlap.js +213 -0
  330. package/scripts/verify-skill-md-export.js +201 -0
package/README.md ADDED
@@ -0,0 +1,398 @@
1
+ # Skill Graph
2
+
3
+ [![Version 0.5.0](https://img.shields.io/badge/version-0.5.0-blue?style=flat-square)](CHANGELOG.md) [![Protocol v1.1.0](https://img.shields.io/badge/protocol-v1.1.0-blueviolet?style=flat-square)](https://github.com/jacob-balslev/skill-metadata-protocol) [![License Apache-2.0 + CC-BY-4.0](https://img.shields.io/badge/license-Apache--2.0%20%2B%20CC--BY--4.0-green?style=flat-square)](LICENSE) [![Exports SKILL.md](https://img.shields.io/badge/exports-SKILL.md-orange?style=flat-square)](https://agentskills.io/specification)
4
+
5
+ **The library-level system for structured `SKILL.md` libraries. Lint, manifest compiler, router, drift sentinel, and export pipeline.**
6
+
7
+ Skill Graph operates across a library of [Skill Metadata Protocol](https://github.com/jacob-balslev/skill-metadata-protocol) records. A plain `SKILL.md` gives an agent a procedure to load. Skill Metadata Protocol adds the structured frontmatter contract. Skill Graph turns those declarations into a compiled manifest, routing map, drift sentinel, overlap detector, and export path back to the plain `SKILL.md` format.
8
+
9
+ ## Ecosystem
10
+
11
+ | Repo | npm | Purpose |
12
+ |------|-----|---------|
13
+ | **[skill-metadata-protocol](https://github.com/jacob-balslev/skill-metadata-protocol)** | `@skill-graph/protocol` | Normative spec + JSON schemas |
14
+ | **skill-graph** *(this repo)* | `@skill-graph/cli` | Library tooling: lint, manifest, router, drift |
15
+ | **[skill-audit-loop](https://github.com/jacob-balslev/skill-audit-loop)** | `@skill-graph/audit` | 5-phase audit procedure |
16
+ | **[skills](https://github.com/jacob-balslev/skills)** | — | Public open-source skill library |
17
+
18
+ [Skill Graph system](SKILL_GRAPH.md) | [Full template](examples/skill-metadata-template.md) | [Primer](docs/PRIMER.md) | [Field reference](docs/field-reference.md) | [Adoption guide](docs/ADOPTION.md) | [Conformance](docs/CONFORMANCE.md)
19
+
20
+ > **Surface scope:** The OSS-portable canonical library lives at `skills/skills/` (141 v6-compliant skills). A separate personal/Sales Hub surface at `skills/` (263 pre-v6) is frozen — new skills are curated into the OSS surface only when non-PII, non-Sales-Hub, and generalizable. See [ADR 0008](docs/adr/0008-skill-surface-split-and-curation-policy.md).
21
+
22
+ ## How SKILL.md, Skill Metadata Protocol, and Skill Graph Differ
23
+
24
+ | Layer | Job | Concrete output |
25
+ |---|---|---|
26
+ | **SKILL.md format** | Portable skill packaging. | A folder with `SKILL.md`, optional `scripts/`, `references/`, and `assets/`. |
27
+ | **Skill Metadata Protocol** | The per-skill relevance contract. | YAML frontmatter that declares identity, scope, taxonomy, activation signals, relations, grounding, eval state, and portability. |
28
+ | **Skill Graph** | The library-level system around the protocol. | Lint, manifest generation, routing, clustering, overlap checks, drift checks, audits, evals, and `SKILL.md` export. |
29
+
30
+ The distinction matters. The `SKILL.md` format answers "what can this skill do?" Skill Metadata Protocol answers "what is this skill relevant for, where does it belong, and what makes it trustworthy?" Skill Graph answers "how do we operate across a whole library of those declarations?"
31
+
32
+ ## Why More Structured Skills Help
33
+
34
+ The plain `SKILL.md` format only needs `name` and `description` for the smallest useful skill. That is enough for small libraries. It breaks down when a project has many skills, overlapping domains, multiple workspaces, stale codebase assumptions, or a team that needs to audit why a skill was loaded.
35
+
36
+ Skill Metadata Protocol makes these questions explicit:
37
+
38
+ | Question | Protocol fields |
39
+ |---|---|
40
+ | What kind of skill is this? | `type`, `scope`, `version`, `owner` |
41
+ | Where does it belong? | `category`, `domain`, `workspace_tags`, `routing_bundles` |
42
+ | When should it load? | `description`, `keywords`, `triggers`, `examples`, `anti_examples`, `paths` |
43
+ | What is it near, dependent on, or not responsible for? | `relations.related`, `relations.depends_on`, `relations.verify_with`, `relations.boundary`, `relations.broader`, `relations.narrower` |
44
+ | What evidence makes it true? | `grounding.truth_sources`, `grounding.failure_modes`, `grounding.evidence_priority` |
45
+ | Is it current and tested? | `freshness`, `drift_check`, `eval_artifacts`, `eval_state`, `routing_eval`, `eval_last_run`, `lifecycle` |
46
+ | Can it move to another runtime? | `portability`, `compatibility`, `allowed-tools` |
47
+
48
+ Once those fields exist, a skill library stops being a flat folder of Markdown files. It becomes a map of project knowledge that humans can browse and agents can route through.
49
+
50
+ ## Skill Metadata Protocol
51
+
52
+ This is a compact example. The full authoring scaffold is [`examples/skill-metadata-template.md`](examples/skill-metadata-template.md).
53
+
54
+ ```yaml
55
+ ---
56
+ schema_version: 6
57
+ name: product-page-ux-review
58
+ description: "Use when reviewing a product page's UX, visual hierarchy, interaction patterns, accessibility, and conversion-critical content. Do NOT use for backend Shopify API work, production incident debugging, or general copy editing outside the product-page experience."
59
+ version: 1.0.0
60
+ type: capability
61
+ category: design
62
+ domain: design/ux
63
+ scope: codebase
64
+ owner: design-platform
65
+ freshness: "2026-05-13"
66
+ drift_check:
67
+ last_verified: "2026-05-13"
68
+ eval_artifacts: planned
69
+ eval_state: unverified
70
+ routing_eval: absent
71
+ keywords:
72
+ - product page UX
73
+ - visual hierarchy
74
+ - Shopify product detail page
75
+ - conversion friction
76
+ - dark mode review
77
+ examples:
78
+ - "Review this Shopify product page for UX problems before launch."
79
+ - "Map which design skills should be loaded for a dark-mode PDP redesign."
80
+ anti_examples:
81
+ - "Fix the Shopify webhook signature validation failure."
82
+ - "Diagnose why the checkout build failed in CI."
83
+ workspace_tags:
84
+ - ecommerce
85
+ - shopify
86
+ - frontend
87
+ routing_bundles:
88
+ - product-experience
89
+ paths:
90
+ - app/products/**/*
91
+ - components/product/**/*
92
+ relations:
93
+ related:
94
+ - visual-hierarchy
95
+ - color-system-design
96
+ - typography-system
97
+ - dark-mode-implementation
98
+ boundary:
99
+ - skill: shopify
100
+ reason: "shopify owns API, integration, and platform behavior; this skill owns product-page UX review"
101
+ - skill: debugging
102
+ reason: "debugging owns concrete runtime failures; this skill owns pre-release design review"
103
+ verify_with:
104
+ - a11y
105
+ - usability-testing
106
+ grounding:
107
+ domain_object: Shopify product page UX surface
108
+ grounding_mode: repo_specific
109
+ truth_sources:
110
+ - path: app/products/[handle]/page.tsx
111
+ - path: components/product/ProductGallery.tsx
112
+ failure_modes:
113
+ - visual_hierarchy_unclear
114
+ - color_contrast_regression
115
+ - interaction_feedback_missing
116
+ evidence_priority: repo_code_first
117
+ portability:
118
+ readiness: scripted
119
+ targets:
120
+ - skill-md
121
+ lifecycle:
122
+ stale_after_days: 90
123
+ review_cadence: quarterly
124
+ ---
125
+ ```
126
+
127
+ The protocol is the contract. The template is just the easiest way to author the contract correctly.
128
+
129
+ ## Library Axes
130
+
131
+ Skill Metadata Protocol uses several independent axes. They should not be collapsed into one taxonomy.
132
+
133
+ | Axis | Field | Cardinality | Use |
134
+ |---|---|---:|---|
135
+ | **Archetype** | `type` | one | Skill shape: `capability`, `workflow`, `router`, or `overlay`. |
136
+ | **Scope** | `scope` | one | Where it applies: `portable`, `codebase`, or `reference`. |
137
+ | **Top-level category** | `category` | one | Flat top-level shelf for browsing. |
138
+ | **Domain path** | `domain` | zero or one | Slash-delimited hierarchy, such as `design/ux` or `architecture/events`. |
139
+ | **Project group** | `workspace_tags` | many | Which project families, workspaces, or product areas this skill applies to. |
140
+ | **Routing group** | `routing_bundles` | many | Runtime bundles or dispatch groups. |
141
+ | **Relations** | `relations.*` | many | Typed graph edges between skills. |
142
+ | **Grounding** | `grounding.*` | conditional | Truth sources and failure modes for repo-grounded skills. |
143
+
144
+ The schema uses `category` for the flat top-level shelf and `domain` for the hierarchical path. Adopters can choose their own values for `category`, `domain`, `workspace_tags`, and `routing_bundles`. This repo currently demonstrates the following values.
145
+
146
+ ### Current Top-Level Categories
147
+
148
+ These are the current `category` values across the shipped skills and specimen skills:
149
+
150
+ `content`, `design`, `engineering`, `frontend`, `integrations`, `knowledge`, `quality`, `security`
151
+
152
+ ### Current Domain Paths
153
+
154
+ | Domain root | Current `domain` paths |
155
+ |---|---|
156
+ | `ai-engineering` | `ai-engineering/analysis`, `ai-engineering/architecture`, `ai-engineering/concepts`, `ai-engineering/context`, `ai-engineering/evaluation`, `ai-engineering/knowledge`, `ai-engineering/knowledge-extraction`, `ai-engineering/knowledge-representation`, `ai-engineering/language`, `ai-engineering/prompts`, `ai-engineering/safety`, `ai-engineering/strategy`, `ai-engineering/tool-use` |
157
+ | `architecture` | `architecture/contracts`, `architecture/decision-records`, `architecture/dependencies`, `architecture/domain-boundaries`, `architecture/domain-discovery`, `architecture/events`, `architecture/technology-selection` |
158
+ | `content` | `content/build/images`, `content/maintenance`, `content/markdown/frontmatter`, `content/migrations`, `content/routing` |
159
+ | `data` | `data/migrations`, `data/modeling` |
160
+ | `design` | `design/information-architecture`, `design/interaction`, `design/ux`, `design/visual` |
161
+ | `engineering` | `engineering/api-design`, `engineering/debugging`, `engineering/observability`, `engineering/performance`, `engineering/quality`, `engineering/version-control` |
162
+ | `frontend` | `frontend/design-system`, `frontend/layout` |
163
+ | `integrations` | `integrations/webhooks` |
164
+ | `modeling` | `modeling/conceptual`, `modeling/ontology`, `modeling/state-machines`, `modeling/taxonomy` |
165
+ | `skill-system` | `skill-system/authoring`, `skill-system/health` |
166
+
167
+ ### Current Project And Routing Groups
168
+
169
+ `workspace_tags` demonstrated in this repo:
170
+
171
+ `build-pipeline`, `content`, `markdown`, `migrations`, `skill-authoring`, `static-site`
172
+
173
+ `routing_bundles` demonstrated in this repo:
174
+
175
+ `quality`
176
+
177
+ Downstream projects should add their own tags: `shopify`, `checkout`, `billing`, `design-system`, `docs-site`, `mobile`, `b2b-saas`, `healthcare`, and so on. Tags are not a global ontology. They are routing and maintenance handles for your workspace.
178
+
179
+ ## Skill Clusters And Triangulation
180
+
181
+ The main payoff is not the YAML. The payoff is that a project can load the right cluster of skills for a real task.
182
+
183
+ Triangulation means selecting skills from multiple independent signals:
184
+
185
+ | Signal | Example |
186
+ |---|---|
187
+ | **Project surface** | `workspace_tags: [shopify, frontend]`, `paths: components/product/**/*` |
188
+ | **Top-level and domain category** | `category: design`, `domain: design/ux` |
189
+ | **Method or phase** | `design-thinking`, `user-research`, `ideation`, `prototyping`, `usability-testing` |
190
+ | **Related skills** | `visual-hierarchy`, `color-system-design`, `typography-system`, `dark-mode-implementation` |
191
+ | **Verification skills** | `a11y`, `testing-strategy`, `code-review` |
192
+ | **Negative boundaries** | `shopify` for API work, `debugging` for runtime failures |
193
+
194
+ For a UX designer working on a Shopify product page, Skill Graph can form a cluster like this:
195
+
196
+ | Design phase | Skills to load |
197
+ |---|---|
198
+ | **Empathize** | `user-research`, `task-analysis`, `journey-mapping` |
199
+ | **Define** | `problem-framing`, `information-architecture`, `research-synthesis` |
200
+ | **Ideate** | `ideation`, `visual-design-foundations`, `interaction-patterns` |
201
+ | **Prototype** | `prototyping`, `layout-composition`, `design-module-composition`, `color-system-design`, `typography-system`, `dark-mode-implementation` |
202
+ | **Test** | `usability-testing`, `a11y`, `interaction-feedback` |
203
+ | **Project-specific context** | `shopify`, `frontend-architecture`, `design-system-architecture` |
204
+
205
+ That is the difference between asking an agent to "use the UX skill" and giving it a structured project map: what area is being changed, which design phase the work is in, which sibling skills should co-load, and which nearby skills should not take over.
206
+
207
+ ## Skill Audit Loop
208
+
209
+ A skill is a contract about a subject. The contract is inert on its own — it stays useful only while the things it was written against still hold. Two of those things move: the codebase the skill is grounded in, and the subject the skill describes. The Skill Audit Loop re-grounds a skill against both. It is what keeps a skill true to its declared `grounding.truth_sources` once time has passed — whether a maintainer runs it across a whole library or an adopter runs it against their own repo.
210
+
211
+ The loop adapts two useful patterns:
212
+
213
+ - From [Karpathy's `autoresearch`](https://github.com/karpathy/autoresearch): a tight loop with a constrained action surface, a fixed experiment, a measurable result, and keep-or-revert pressure.
214
+ - From [Stanford d.school design thinking](https://dschool.stanford.edu/resources/design-thinking-bootleg) and [IDEO's design thinking framing](https://designthinking.ideo.com/faq/isnt-design-thinking-a-set-step-by-step-process): human-centered iteration through discovery, framing, ideation, prototyping, testing, and loop-back when evidence changes the problem.
215
+
216
+ For skills, the loop is:
217
+
218
+ 1. Pick a skill or project area.
219
+ 2. Gather evidence: the `SKILL.md`, eval files, manifest entry, related skills, and `grounding.truth_sources`.
220
+ 3. Run deterministic checks first: schema lint, relation integrity, manifest validation, routing evals, overlap checks, and drift checks.
221
+ 4. Audit the skill as a contract: activation, boundaries, taxonomy, grounding, examples, anti-examples, and verification partners.
222
+ 5. Fix the skill or its metadata when the evidence supports the change.
223
+ 6. Re-run checks and record the new state.
224
+ 7. Move to the next skill or loop back if the fix changed the graph.
225
+
226
+ This is not "self-improving skills" as a slogan. It is a re-grounding loop with evidence, constraints, and repeatable checks.
227
+
228
+ ## Quick Start
229
+
230
+ ### Using the skills (end users)
231
+
232
+ The public, ready-to-install skill library lives at [`jacob-balslev/skills`](https://github.com/jacob-balslev/skills) — install with:
233
+
234
+ ```bash
235
+ npx skills add jacob-balslev/skills
236
+ ```
237
+
238
+ That repo holds 141+ canonical skills in plain Agent-Skills shape, indexed on `skills.sh`. You do not need to clone this `skill-graph` tooling repo to consume the skills.
239
+
240
+ ### Running the tooling (authors and maintainers)
241
+
242
+ Install the CLI from npm:
243
+
244
+ ```bash
245
+ npm install --global @skill-graph/cli
246
+ skill-graph --help
247
+ ```
248
+
249
+ The tooling operates against a skill library configured via [`.skill-graph/config.json`](.skill-graph/config.json) → `workspace.skill_roots`. Post-2026-05-16 monorepo split, the shipped config points at the sibling [`jacob-balslev/skills`](https://github.com/jacob-balslev/skills) repo (canonical 141-skill library). Clone the canonical skills as a sibling of this repo and the tooling resolves automatically — no env-vars needed:
250
+
251
+ ```bash
252
+ git clone https://github.com/jacob-balslev/skills.git ~/Development/skills
253
+ cd ~/Development/skill-graph # this repo (tooling)
254
+
255
+ # Validate every skill against the schema and lint rules.
256
+ node scripts/skill-lint.js
257
+
258
+ # Route a real request and print why each skill was selected, co-loaded, or excluded.
259
+ node scripts/skill-graph-route.js "audit my skills for schema conformance"
260
+
261
+ # Check grounded skills against recorded truth-source hashes.
262
+ node scripts/skill-graph-drift.js
263
+ ```
264
+
265
+ If your layout differs from the canonical-sibling assumption (e.g., canonical skills cloned elsewhere), override via the `SKILL_GRAPH_WORKSPACE` env-var or edit `.skill-graph/config.json` to point `workspace.skill_roots` at your skill directory.
266
+
267
+ To regenerate the plain public marketplace staging surface from the canonical source:
268
+
269
+ ```bash
270
+ node scripts/export-marketplace-skills.js
271
+ node scripts/export-marketplace-skills.js --check
272
+ node scripts/verify-skill-md-export.js --plain marketplace/skills
273
+ ```
274
+
275
+ The staging surface lands under `marketplace/` for the two-step sync into `jacob-balslev/skills` (see `AGENTS.MD § Release sync`). The canonical end-user install path is `npx skills add jacob-balslev/skills` — that is the path consumers see, and it must remain working before any marketplace badge is added.
276
+
277
+ The npm package exposes the same scripts through a `skill-graph` binary:
278
+
279
+ ```bash
280
+ skill-graph init my-skill # Scaffold a new SKILL.md from the template
281
+ skill-graph add debugging # Install a skill from the marketplace
282
+ skill-graph lint # Validate all SKILL.md files
283
+ skill-graph audit my-skill # Seed or run a single-skill audit
284
+ skill-graph route "schema drift" # Select skills for a query
285
+ skill-graph drift # Check truth-source hashes
286
+ skill-graph export # Generate marketplace export surface
287
+ skill-graph evolve --top 5 # Run the continuous improvement loop
288
+ ```
289
+
290
+ Run `skill-graph --help` to see all commands (including legacy aliases).
291
+
292
+ ## What You Get
293
+
294
+ | Tool | Purpose |
295
+ |---|---|
296
+ | `scripts/skill-lint.js` | Per-skill schema validation, relation target checks, eval coherence, required body sections, routing-quality checks. |
297
+ | `scripts/check-protocol-consistency.js` | Cross-artifact checks so schemas, docs, generated field references, and sample manifests stay aligned. |
298
+ | `scripts/generate-manifest.js` | Compiles all skills into a deterministic manifest for routing and downstream tooling. |
299
+ | `scripts/skill-graph-route.js` | Reference router that explains selected, co-loaded, and excluded skills. |
300
+ | `scripts/skill-graph-routing-eval.js` | Checks `examples` and `anti_examples` against router behavior. |
301
+ | `scripts/skill-graph-drift.js` | Hashes `grounding.truth_sources` and reports drift, broken sources, stale skills, or missing baselines. |
302
+ | `scripts/skill-overlap.js` | Finds overlapping skill ownership and routing ambiguity. |
303
+ | `scripts/skill-audit.js` | Generates audit artifacts and optional graded review prompts. |
304
+ | `scripts/export-skill.js` | Exports protocol-enriched skills back to plain `SKILL.md` shape. |
305
+ | `scripts/export-marketplace-skills.js` | Generates and validates the public plain `SKILL.md` marketplace surface with provenance, description-limit, privacy, and link gates. |
306
+
307
+ ## Repository Map
308
+
309
+ | Path | Purpose |
310
+ |---|---|
311
+ | [`SKILL_GRAPH.md`](SKILL_GRAPH.md) | Library-level system model and authority tiers. |
312
+ | [`schemas/`](schemas/) | Skill and manifest JSON Schemas, including pinned v4, v5, and v6 copies; the unversioned mirror tracks v6. |
313
+ | [`examples/skill-metadata-template.md`](examples/skill-metadata-template.md) | Copyable authoring template. |
314
+ | [`examples/projects/markdown-static-site/`](examples/projects/markdown-static-site/) | Specimen project showing codebase-grounded skills. |
315
+ | [`docs/field-reference.md`](docs/field-reference.md) | Field-by-field reference. |
316
+ | [`docs/field-decision-guide.md`](docs/field-decision-guide.md) | Decision tables for hard field choices. |
317
+ | [`docs/quality-doctrine.md`](docs/quality-doctrine.md) | Quality bar for preserving scope, readable names, organization-over-trimming, compression, and verification. |
318
+ | [`docs/SKILL-MD-FORMAT-COMPATIBILITY.md`](docs/SKILL-MD-FORMAT-COMPATIBILITY.md) | How export maps protocol-enriched skills back to plain `SKILL.md`. |
319
+ | [`docs/marketplace-syndication.md`](docs/marketplace-syndication.md) | How to syndicate the full library to public `SKILL.md` marketplaces and mine gaps for new skills. |
320
+
321
+ **Sibling repos** (post-2026-05-16 monorepo split — content moved out of this tooling repo):
322
+
323
+ | Repo | Purpose |
324
+ |---|---|
325
+ | [`jacob-balslev/skill-metadata-protocol`](https://github.com/jacob-balslev/skill-metadata-protocol) | Normative protocol contract (formerly `SKILL_METADATA_PROTOCOL.md` here). |
326
+ | [`jacob-balslev/skills`](https://github.com/jacob-balslev/skills) | Canonical 141-skill library (formerly `skills/` here). |
327
+ | [`jacob-balslev/skill-audit-loop`](https://github.com/jacob-balslev/skill-audit-loop) | Repeatable audit workflow (formerly `SKILL_AUDIT_LOOP.md` + `SKILL_AUDIT_CHECKLIST.md` here). |
328
+
329
+ ## Releasing (Maintainers)
330
+
331
+ ### Local development note (pnpm workspace)
332
+
333
+ If you have a parent `pnpm-workspace.yaml` above this directory (e.g. when this repo is checked out inside the `Development` monorepo), pnpm will absorb `skill-graph/` into the parent workspace. That blocks standalone `pnpm-lock.yaml` generation here. For local dev/lockfile work, run:
334
+
335
+ ```bash
336
+ pnpm install --ignore-workspace
337
+ pnpm install --frozen-lockfile --ignore-workspace
338
+ ```
339
+
340
+ CI is unaffected — `.github/workflows/publish.yml` runs in a clean checkout with no parent workspace, so the unflagged `pnpm install --frozen-lockfile` works correctly there.
341
+
342
+ ### Prerequisites
343
+
344
+ Before cutting the first release, ensure these one-time steps are done:
345
+
346
+ 1. **npm org** — the `@skill-graph` npm org must exist. The npm CLI does NOT support `npm org create`; orgs are created via the website. Go to https://www.npmjs.com/org/create, enter `skill-graph` as the org name, pick "Unlimited public packages — Free", and add yourself as owner. Verify with `npm org ls skill-graph`.
347
+ 2. **NPM_TOKEN secret** — generate a publish token (`npm token create --read-only=false`) and add it as `NPM_TOKEN` in the GitHub repo secrets (`Settings → Secrets and variables → Actions`). For finer scoping, manage tokens at https://www.npmjs.com/settings/<user>/tokens.
348
+
349
+ ### Cutting a release
350
+
351
+ ```bash
352
+ # Bump version, commit, and tag in one step
353
+ pnpm version patch # or minor, or major
354
+
355
+ # Push the commit and the tag — CI picks up the tag and publishes
356
+ git push && git push --tags
357
+ ```
358
+
359
+ The publish pipeline at `.github/workflows/publish.yml` triggers on any `v*.*.*` tag, runs `pnpm test`, then publishes `@skill-graph/cli` with provenance attestation. The npm package is always published from CI — do not run `pnpm publish` locally.
360
+
361
+ ### Manual prereq summary
362
+
363
+ | Step | Who | Command |
364
+ |------|-----|---------|
365
+ | Create `@skill-graph` npm org (once) | Jacob | https://www.npmjs.com/org/create — pick "Unlimited public packages — Free" |
366
+ | Add `NPM_TOKEN` GitHub secret (once) | Jacob | GitHub Settings → Secrets |
367
+ | Cut a release | Maintainer | `pnpm version <patch\|minor\|major> && git push --tags` |
368
+
369
+ > CLI distribution via npm (`@skill-graph/cli`) is separate from skill library syndication. The skill library is published from [`jacob-balslev/skills`](https://github.com/jacob-balslev/skills) via `npx skills add jacob-balslev/skills`. See [`docs/marketplace-syndication.md`](docs/marketplace-syndication.md) for the skill library syndication workflow. See SH-6110 for install verification.
370
+
371
+ ## What This Is Not
372
+
373
+ Skill Graph is not:
374
+
375
+ - a hosted skill marketplace
376
+ - an agent runtime
377
+ - persistent agent memory
378
+ - a replacement for `AGENTS.md` or `CLAUDE.md`
379
+ - a prompt library
380
+ - a guarantee that every skill is correct
381
+
382
+ It is a structured protocol and reference toolchain for making skills easier to route, cluster, verify, maintain, and port.
383
+
384
+ ## External Context
385
+
386
+ Skill Metadata Protocol is designed to sit next to existing agent-context conventions, not replace them:
387
+
388
+ - [SKILL.md format reference](https://agentskills.io/specification) describes the portable base skill layout used by multiple agent runtimes.
389
+ - [AGENTS.md](https://agents.md/) and [Codex AGENTS.md docs](https://developers.openai.com/codex/guides/agents-md) define always-on repository instructions.
390
+ - [Claude Code memory docs](https://code.claude.com/docs/en/memory) document one memory model for persistent context.
391
+ - [Model Context Protocol](https://github.com/modelcontextprotocol/modelcontextprotocol) and [OpenTelemetry Specification](https://github.com/open-telemetry/opentelemetry-specification) are useful examples of protocol-first repos that separate spec, schema, docs, and reference tooling.
392
+ - The project framing was also discussed in [GitHub Discussion #1](https://github.com/jacob-balslev/skill-graph/discussions/1) and the linked [Bluesky thread](https://bsky.app/profile/did:plc:dydxbat6yyyhjfaln22sx66t/post/3mln2lefdi22u).
393
+
394
+ ## Status
395
+
396
+ Latest release checkpoint: **0.5.0 (2026-05-13)**. The current contract is `schema_version: 6` — see [`skill-metadata-protocol/schemas/skill.v6.schema.json`](https://github.com/jacob-balslev/skill-metadata-protocol/blob/main/schemas/skill.v6.schema.json) for the authoritative shape and [`skill-metadata-protocol/docs/migrations/v5-to-v6.md`](https://github.com/jacob-balslev/skill-metadata-protocol/blob/main/docs/migrations/v5-to-v6.md) for the migration procedure. The local `schemas/` directory pins v4, v5, and v6 copies for tooling that consumes the schemas directly.
397
+
398
+ Code is licensed under Apache-2.0. Skill content and documentation are licensed under CC-BY-4.0 where noted. See [`LICENSE`](LICENSE) and [`NOTICE`](NOTICE).