voidmachine 0.0.0 → 4.0.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 (341) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -4
  3. package/bin/void-harness.mjs +12 -0
  4. package/bin/void-machine.mjs +12 -0
  5. package/core-assets/.claude-plugin/plugin.json +253 -0
  6. package/core-assets/.gitkeep +0 -0
  7. package/core-assets/PHILOSOPHY.md +218 -0
  8. package/core-assets/PROJECT-DOCTRINE.template.md +14 -0
  9. package/core-assets/adapters/security/manifest.yaml +96 -0
  10. package/core-assets/agents/.gitkeep +0 -0
  11. package/core-assets/agents/accessibility-specialist.md +59 -0
  12. package/core-assets/agents/api-integration-engineer.md +59 -0
  13. package/core-assets/agents/code-explorer.md +94 -0
  14. package/core-assets/agents/code-explorer.source +7 -0
  15. package/core-assets/agents/data-migration-engineer.md +59 -0
  16. package/core-assets/agents/devex-docs-engineer.md +57 -0
  17. package/core-assets/agents/doctrine-critic.md +91 -0
  18. package/core-assets/agents/doctrine-critic.source +11 -0
  19. package/core-assets/agents/domain-architect.md +56 -0
  20. package/core-assets/agents/experience-designer.md +59 -0
  21. package/core-assets/agents/frontend-engineer.md +60 -0
  22. package/core-assets/agents/independent-code-reviewer.md +61 -0
  23. package/core-assets/agents/migration-planner.md +97 -0
  24. package/core-assets/agents/migration-planner.source +7 -0
  25. package/core-assets/agents/observability-sre-engineer.md +59 -0
  26. package/core-assets/agents/pdf-specialist.md +58 -0
  27. package/core-assets/agents/performance-engineer.md +58 -0
  28. package/core-assets/agents/product-challenger.md +55 -0
  29. package/core-assets/agents/security-engineer.md +66 -0
  30. package/core-assets/agents/silent-failure-hunter.md +94 -0
  31. package/core-assets/agents/silent-failure-hunter.source +8 -0
  32. package/core-assets/agents/solution-architect.md +57 -0
  33. package/core-assets/agents/test-qa-engineer.md +60 -0
  34. package/core-assets/agents/type-design-analyzer.md +93 -0
  35. package/core-assets/agents/type-design-analyzer.source +8 -0
  36. package/core-assets/agents/visual-craft-director.md +62 -0
  37. package/core-assets/codex/hooks.json +157 -0
  38. package/core-assets/contract-history/visual-craft-director/v2.yaml +43 -0
  39. package/core-assets/data/catalog.v3.json +10479 -0
  40. package/core-assets/data/certification.json +1800 -0
  41. package/core-assets/data/identity.json +8 -0
  42. package/core-assets/data/model.json +4226 -0
  43. package/core-assets/enforce/ci-enforce.sh +183 -0
  44. package/core-assets/hooks/_checks.sh +145 -0
  45. package/core-assets/hooks/_hooklib.sh +163 -0
  46. package/core-assets/hooks/_syntax-worker.cjs +503 -0
  47. package/core-assets/hooks/_void-hook.mjs +5459 -0
  48. package/core-assets/hooks/activation-meter.sh +13 -0
  49. package/core-assets/hooks/anti-ai-slop-grep.sh +38 -0
  50. package/core-assets/hooks/auto-format.sh +9 -0
  51. package/core-assets/hooks/axe-precommit.sh +35 -0
  52. package/core-assets/hooks/block-dangerous-bash.sh +10 -0
  53. package/core-assets/hooks/block-protected-push.sh +81 -0
  54. package/core-assets/hooks/boundary-direction-check.sh +10 -0
  55. package/core-assets/hooks/control-character-grep.sh +10 -0
  56. package/core-assets/hooks/fowler-refactors.txt +71 -0
  57. package/core-assets/hooks/large-cl-grep.sh +9 -0
  58. package/core-assets/hooks/llm-cost-precommit.sh +55 -0
  59. package/core-assets/hooks/migration-lint.sh +58 -0
  60. package/core-assets/hooks/migration-pr-template.sh +55 -0
  61. package/core-assets/hooks/no-ai-design-slop.sh +10 -0
  62. package/core-assets/hooks/no-any-grep.sh +10 -0
  63. package/core-assets/hooks/no-as-cast-grep.sh +10 -0
  64. package/core-assets/hooks/no-console-log-grep.sh +10 -0
  65. package/core-assets/hooks/no-null-grep.sh +10 -0
  66. package/core-assets/hooks/no-only-no-skip.sh +10 -0
  67. package/core-assets/hooks/outcome-meter.sh +13 -0
  68. package/core-assets/hooks/pre-PR-review-evidence.sh +47 -0
  69. package/core-assets/hooks/protect-sensitive-files.sh +10 -0
  70. package/core-assets/hooks/refactor-named-grep.sh +49 -0
  71. package/core-assets/hooks/secret-in-content.sh +10 -0
  72. package/core-assets/hooks/sessionstart-context.sh +9 -0
  73. package/core-assets/hooks/stop-typecheck.sh +9 -0
  74. package/core-assets/hooks/tdd-guard.md +90 -0
  75. package/core-assets/hooks/tdd-guard.sh +10 -0
  76. package/core-assets/hooks/test-name-lint.sh +10 -0
  77. package/core-assets/hooks/tidying-commit-prefix.sh +37 -0
  78. package/core-assets/hooks/trim-large-output.sh +9 -0
  79. package/core-assets/hooks/tsc-noemit-precommit.sh +22 -0
  80. package/core-assets/hooks/ubiquitous-language-lint.sh +58 -0
  81. package/core-assets/hooks/viewport-screenshot-gate.sh +48 -0
  82. package/core-assets/modules/.gitkeep +0 -0
  83. package/core-assets/packs/pack-mobile/skills/void-eas-build-profile/.source +7 -0
  84. package/core-assets/packs/pack-mobile/skills/void-eas-build-profile/SKILL.md +164 -0
  85. package/core-assets/packs/pack-mobile/skills/void-eas-build-profile/harness.yaml +14 -0
  86. package/core-assets/packs/pack-mobile/skills/void-expo-config-plugins/.source +7 -0
  87. package/core-assets/packs/pack-mobile/skills/void-expo-config-plugins/SKILL.md +178 -0
  88. package/core-assets/packs/pack-mobile/skills/void-expo-config-plugins/harness.yaml +14 -0
  89. package/core-assets/packs/pack-mobile/skills/void-expo-router-pattern/.source +8 -0
  90. package/core-assets/packs/pack-mobile/skills/void-expo-router-pattern/SKILL.md +209 -0
  91. package/core-assets/packs/pack-mobile/skills/void-expo-router-pattern/harness.yaml +14 -0
  92. package/core-assets/packs/pack-mobile/skills/void-ota-update-strategy/.source +7 -0
  93. package/core-assets/packs/pack-mobile/skills/void-ota-update-strategy/SKILL.md +194 -0
  94. package/core-assets/packs/pack-mobile/skills/void-ota-update-strategy/harness.yaml +14 -0
  95. package/core-assets/packs/pack-monorepo/skills/void-dependency-direction/.source +5 -0
  96. package/core-assets/packs/pack-monorepo/skills/void-dependency-direction/SKILL.md +160 -0
  97. package/core-assets/packs/pack-monorepo/skills/void-dependency-direction/harness.yaml +14 -0
  98. package/core-assets/packs/pack-monorepo/skills/void-package-extraction/.source +5 -0
  99. package/core-assets/packs/pack-monorepo/skills/void-package-extraction/SKILL.md +70 -0
  100. package/core-assets/packs/pack-monorepo/skills/void-package-extraction/harness.yaml +14 -0
  101. package/core-assets/packs/pack-monorepo/skills/void-service-package/.source +5 -0
  102. package/core-assets/packs/pack-monorepo/skills/void-service-package/SKILL.md +122 -0
  103. package/core-assets/packs/pack-monorepo/skills/void-service-package/harness.yaml +14 -0
  104. package/core-assets/packs/pack-monorepo/skills/void-turbo-pipeline-tuning/.source +7 -0
  105. package/core-assets/packs/pack-monorepo/skills/void-turbo-pipeline-tuning/SKILL.md +116 -0
  106. package/core-assets/packs/pack-monorepo/skills/void-turbo-pipeline-tuning/harness.yaml +14 -0
  107. package/core-assets/packs/pack-nextjs/skills/void-cache-component-pattern/.source +5 -0
  108. package/core-assets/packs/pack-nextjs/skills/void-cache-component-pattern/SKILL.md +162 -0
  109. package/core-assets/packs/pack-nextjs/skills/void-cache-component-pattern/harness.yaml +14 -0
  110. package/core-assets/packs/pack-nextjs/skills/void-instrumentation-setup/.source +5 -0
  111. package/core-assets/packs/pack-nextjs/skills/void-instrumentation-setup/SKILL.md +161 -0
  112. package/core-assets/packs/pack-nextjs/skills/void-instrumentation-setup/harness.yaml +14 -0
  113. package/core-assets/packs/pack-nextjs/skills/void-loading-error-boundaries/.source +5 -0
  114. package/core-assets/packs/pack-nextjs/skills/void-loading-error-boundaries/SKILL.md +176 -0
  115. package/core-assets/packs/pack-nextjs/skills/void-loading-error-boundaries/harness.yaml +14 -0
  116. package/core-assets/packs/pack-nextjs/skills/void-parallel-routes-slots/.source +5 -0
  117. package/core-assets/packs/pack-nextjs/skills/void-parallel-routes-slots/SKILL.md +129 -0
  118. package/core-assets/packs/pack-nextjs/skills/void-parallel-routes-slots/harness.yaml +14 -0
  119. package/core-assets/packs/pack-nextjs/skills/void-route-group-decision/.source +5 -0
  120. package/core-assets/packs/pack-nextjs/skills/void-route-group-decision/SKILL.md +107 -0
  121. package/core-assets/packs/pack-nextjs/skills/void-route-group-decision/harness.yaml +14 -0
  122. package/core-assets/packs/pack-pwa/skills/void-install-prompt-ux/.source +5 -0
  123. package/core-assets/packs/pack-pwa/skills/void-install-prompt-ux/SKILL.md +153 -0
  124. package/core-assets/packs/pack-pwa/skills/void-install-prompt-ux/harness.yaml +14 -0
  125. package/core-assets/packs/pack-pwa/skills/void-manifest-checklist/.source +5 -0
  126. package/core-assets/packs/pack-pwa/skills/void-manifest-checklist/SKILL.md +204 -0
  127. package/core-assets/packs/pack-pwa/skills/void-manifest-checklist/harness.yaml +14 -0
  128. package/core-assets/packs/pack-pwa/skills/void-offline-first-mutation/.source +8 -0
  129. package/core-assets/packs/pack-pwa/skills/void-offline-first-mutation/SKILL.md +266 -0
  130. package/core-assets/packs/pack-pwa/skills/void-offline-first-mutation/harness.yaml +14 -0
  131. package/core-assets/packs/pack-pwa/skills/void-service-worker-strategy/.source +5 -0
  132. package/core-assets/packs/pack-pwa/skills/void-service-worker-strategy/SKILL.md +178 -0
  133. package/core-assets/packs/pack-pwa/skills/void-service-worker-strategy/harness.yaml +14 -0
  134. package/core-assets/packs/pack-react/skills/void-accessibility-check/.source +8 -0
  135. package/core-assets/packs/pack-react/skills/void-accessibility-check/SKILL.md +136 -0
  136. package/core-assets/packs/pack-react/skills/void-accessibility-check/harness.yaml +14 -0
  137. package/core-assets/packs/pack-react/skills/void-client-vs-server-component/.source +5 -0
  138. package/core-assets/packs/pack-react/skills/void-client-vs-server-component/SKILL.md +116 -0
  139. package/core-assets/packs/pack-react/skills/void-client-vs-server-component/harness.yaml +14 -0
  140. package/core-assets/packs/pack-react/skills/void-form-pattern/.source +7 -0
  141. package/core-assets/packs/pack-react/skills/void-form-pattern/SKILL.md +157 -0
  142. package/core-assets/packs/pack-react/skills/void-form-pattern/harness.yaml +14 -0
  143. package/core-assets/packs/pack-react/skills/void-state-architecture/.source +5 -0
  144. package/core-assets/packs/pack-react/skills/void-state-architecture/SKILL.md +160 -0
  145. package/core-assets/packs/pack-react/skills/void-state-architecture/harness.yaml +14 -0
  146. package/core-assets/packs/pack-server/skills/void-background-job-pattern/.source +6 -0
  147. package/core-assets/packs/pack-server/skills/void-background-job-pattern/SKILL.md +214 -0
  148. package/core-assets/packs/pack-server/skills/void-background-job-pattern/harness.yaml +14 -0
  149. package/core-assets/packs/pack-server/skills/void-drizzle-migration-safe/.source +6 -0
  150. package/core-assets/packs/pack-server/skills/void-drizzle-migration-safe/SKILL.md +168 -0
  151. package/core-assets/packs/pack-server/skills/void-drizzle-migration-safe/harness.yaml +14 -0
  152. package/core-assets/packs/pack-server/skills/void-env-validation/.source +6 -0
  153. package/core-assets/packs/pack-server/skills/void-env-validation/SKILL.md +131 -0
  154. package/core-assets/packs/pack-server/skills/void-env-validation/harness.yaml +14 -0
  155. package/core-assets/packs/pack-server/skills/void-rate-limit-strategy/.source +6 -0
  156. package/core-assets/packs/pack-server/skills/void-rate-limit-strategy/SKILL.md +149 -0
  157. package/core-assets/packs/pack-server/skills/void-rate-limit-strategy/harness.yaml +14 -0
  158. package/core-assets/packs/pack-server/skills/void-server-action/.source +7 -0
  159. package/core-assets/packs/pack-server/skills/void-server-action/SKILL.md +181 -0
  160. package/core-assets/packs/pack-server/skills/void-server-action/harness.yaml +14 -0
  161. package/core-assets/packs/pack-server/skills/void-testing-server-modules/.source +7 -0
  162. package/core-assets/packs/pack-server/skills/void-testing-server-modules/SKILL.md +73 -0
  163. package/core-assets/packs/pack-server/skills/void-testing-server-modules/harness.yaml +14 -0
  164. package/core-assets/packs/pack-server/skills/void-webhook-handler-pattern/.source +7 -0
  165. package/core-assets/packs/pack-server/skills/void-webhook-handler-pattern/SKILL.md +205 -0
  166. package/core-assets/packs/pack-server/skills/void-webhook-handler-pattern/harness.yaml +14 -0
  167. package/core-assets/policies/core.yaml +95 -0
  168. package/core-assets/policies/ui.yaml +23 -0
  169. package/core-assets/profiles/base.yaml +29 -0
  170. package/core-assets/profiles/expo-config.yaml +36 -0
  171. package/core-assets/profiles/expo.yaml +35 -0
  172. package/core-assets/profiles/monorepo.yaml +33 -0
  173. package/core-assets/profiles/nextjs-config.yaml +31 -0
  174. package/core-assets/profiles/nextjs.yaml +31 -0
  175. package/core-assets/profiles/node-server.yaml +31 -0
  176. package/core-assets/profiles/pwa.yaml +33 -0
  177. package/core-assets/profiles/react.yaml +39 -0
  178. package/core-assets/profiles/sql.yaml +39 -0
  179. package/core-assets/profiles/typescript.yaml +39 -0
  180. package/core-assets/skills/.gitkeep +0 -0
  181. package/core-assets/skills/void-accessibility/.source +15 -0
  182. package/core-assets/skills/void-accessibility/SKILL.md +275 -0
  183. package/core-assets/skills/void-accessibility/harness.yaml +17 -0
  184. package/core-assets/skills/void-api-and-interface-design/.source +13 -0
  185. package/core-assets/skills/void-api-and-interface-design/SKILL.md +231 -0
  186. package/core-assets/skills/void-api-and-interface-design/harness.yaml +16 -0
  187. package/core-assets/skills/void-async-safety/.source +13 -0
  188. package/core-assets/skills/void-async-safety/SKILL.md +287 -0
  189. package/core-assets/skills/void-async-safety/harness.yaml +16 -0
  190. package/core-assets/skills/void-audit/.source +15 -0
  191. package/core-assets/skills/void-audit/SKILL.md +83 -0
  192. package/core-assets/skills/void-audit/harness.yaml +14 -0
  193. package/core-assets/skills/void-autopilot/.source +21 -0
  194. package/core-assets/skills/void-autopilot/SKILL.md +358 -0
  195. package/core-assets/skills/void-autopilot/harness.yaml +14 -0
  196. package/core-assets/skills/void-brainstorm/.source +14 -0
  197. package/core-assets/skills/void-brainstorm/SKILL.md +271 -0
  198. package/core-assets/skills/void-brainstorm/harness.yaml +14 -0
  199. package/core-assets/skills/void-checkpoint/.source +39 -0
  200. package/core-assets/skills/void-checkpoint/SKILL.md +227 -0
  201. package/core-assets/skills/void-checkpoint/harness.yaml +14 -0
  202. package/core-assets/skills/void-claude-md/.source +15 -0
  203. package/core-assets/skills/void-claude-md/SKILL.md +180 -0
  204. package/core-assets/skills/void-claude-md/harness.yaml +14 -0
  205. package/core-assets/skills/void-code-review/.source +14 -0
  206. package/core-assets/skills/void-code-review/SKILL.md +232 -0
  207. package/core-assets/skills/void-code-review/harness.yaml +15 -0
  208. package/core-assets/skills/void-commit-discipline/.source +9 -0
  209. package/core-assets/skills/void-commit-discipline/SKILL.md +211 -0
  210. package/core-assets/skills/void-commit-discipline/harness.yaml +15 -0
  211. package/core-assets/skills/void-context/.source +15 -0
  212. package/core-assets/skills/void-context/SKILL.md +167 -0
  213. package/core-assets/skills/void-context/harness.yaml +14 -0
  214. package/core-assets/skills/void-debug/.source +11 -0
  215. package/core-assets/skills/void-debug/SKILL.md +211 -0
  216. package/core-assets/skills/void-debug/harness.yaml +14 -0
  217. package/core-assets/skills/void-decide/.source +9 -0
  218. package/core-assets/skills/void-decide/SKILL.md +147 -0
  219. package/core-assets/skills/void-decide/harness.yaml +14 -0
  220. package/core-assets/skills/void-devex-audit/.source +8 -0
  221. package/core-assets/skills/void-devex-audit/SKILL.md +113 -0
  222. package/core-assets/skills/void-devex-audit/harness.yaml +15 -0
  223. package/core-assets/skills/void-doctor/.source +15 -0
  224. package/core-assets/skills/void-doctor/SKILL.md +83 -0
  225. package/core-assets/skills/void-doctor/harness.yaml +14 -0
  226. package/core-assets/skills/void-domain-driven-design/.source +13 -0
  227. package/core-assets/skills/void-domain-driven-design/SKILL.md +292 -0
  228. package/core-assets/skills/void-domain-driven-design/harness.yaml +15 -0
  229. package/core-assets/skills/void-frontend-design/.source +19 -0
  230. package/core-assets/skills/void-frontend-design/SKILL.md +274 -0
  231. package/core-assets/skills/void-frontend-design/harness.yaml +17 -0
  232. package/core-assets/skills/void-functional/.source +14 -0
  233. package/core-assets/skills/void-functional/SKILL.md +312 -0
  234. package/core-assets/skills/void-functional/harness.yaml +15 -0
  235. package/core-assets/skills/void-graph/.source +15 -0
  236. package/core-assets/skills/void-graph/SKILL.md +80 -0
  237. package/core-assets/skills/void-graph/harness.yaml +14 -0
  238. package/core-assets/skills/void-hexagonal-architecture/.source +12 -0
  239. package/core-assets/skills/void-hexagonal-architecture/SKILL.md +276 -0
  240. package/core-assets/skills/void-hexagonal-architecture/harness.yaml +15 -0
  241. package/core-assets/skills/void-implement/.source +39 -0
  242. package/core-assets/skills/void-implement/SKILL.md +183 -0
  243. package/core-assets/skills/void-implement/harness.yaml +14 -0
  244. package/core-assets/skills/void-learn/.source +13 -0
  245. package/core-assets/skills/void-learn/SKILL.md +226 -0
  246. package/core-assets/skills/void-learn/harness.yaml +14 -0
  247. package/core-assets/skills/void-llm-cost-discipline/.source +13 -0
  248. package/core-assets/skills/void-llm-cost-discipline/SKILL.md +299 -0
  249. package/core-assets/skills/void-llm-cost-discipline/harness.yaml +15 -0
  250. package/core-assets/skills/void-make-pdf/.source +9 -0
  251. package/core-assets/skills/void-make-pdf/SKILL.md +52 -0
  252. package/core-assets/skills/void-make-pdf/harness.yaml +15 -0
  253. package/core-assets/skills/void-merge/.source +8 -0
  254. package/core-assets/skills/void-merge/SKILL.md +111 -0
  255. package/core-assets/skills/void-merge/harness.yaml +14 -0
  256. package/core-assets/skills/void-migrations/.source +13 -0
  257. package/core-assets/skills/void-migrations/SKILL.md +264 -0
  258. package/core-assets/skills/void-migrations/harness.yaml +17 -0
  259. package/core-assets/skills/void-observability/.source +12 -0
  260. package/core-assets/skills/void-observability/SKILL.md +245 -0
  261. package/core-assets/skills/void-observability/harness.yaml +15 -0
  262. package/core-assets/skills/void-plan/.source +15 -0
  263. package/core-assets/skills/void-plan/SKILL.md +239 -0
  264. package/core-assets/skills/void-plan/harness.yaml +14 -0
  265. package/core-assets/skills/void-plan-review/.source +12 -0
  266. package/core-assets/skills/void-plan-review/SKILL.md +128 -0
  267. package/core-assets/skills/void-plan-review/harness.yaml +15 -0
  268. package/core-assets/skills/void-qa/.source +15 -0
  269. package/core-assets/skills/void-qa/SKILL.md +103 -0
  270. package/core-assets/skills/void-qa/harness.yaml +15 -0
  271. package/core-assets/skills/void-refactor/.source +9 -0
  272. package/core-assets/skills/void-refactor/SKILL.md +220 -0
  273. package/core-assets/skills/void-refactor/harness.yaml +15 -0
  274. package/core-assets/skills/void-retrospective/.source +9 -0
  275. package/core-assets/skills/void-retrospective/SKILL.md +71 -0
  276. package/core-assets/skills/void-retrospective/harness.yaml +15 -0
  277. package/core-assets/skills/void-security-audit/.source +12 -0
  278. package/core-assets/skills/void-security-audit/SKILL.md +138 -0
  279. package/core-assets/skills/void-security-audit/harness.yaml +15 -0
  280. package/core-assets/skills/void-security-guidance/.source +12 -0
  281. package/core-assets/skills/void-security-guidance/SKILL.md +255 -0
  282. package/core-assets/skills/void-security-guidance/harness.yaml +15 -0
  283. package/core-assets/skills/void-source-driven-development/.source +12 -0
  284. package/core-assets/skills/void-source-driven-development/SKILL.md +158 -0
  285. package/core-assets/skills/void-source-driven-development/harness.yaml +15 -0
  286. package/core-assets/skills/void-tdd/.source +15 -0
  287. package/core-assets/skills/void-tdd/SKILL.md +394 -0
  288. package/core-assets/skills/void-tdd/harness.yaml +15 -0
  289. package/core-assets/skills/void-testing/.source +19 -0
  290. package/core-assets/skills/void-testing/SKILL.md +301 -0
  291. package/core-assets/skills/void-testing/harness.yaml +17 -0
  292. package/core-assets/skills/void-ticket/.source +18 -0
  293. package/core-assets/skills/void-ticket/SKILL.md +239 -0
  294. package/core-assets/skills/void-ticket/harness.yaml +14 -0
  295. package/core-assets/skills/void-typescript-strict/.source +10 -0
  296. package/core-assets/skills/void-typescript-strict/SKILL.md +294 -0
  297. package/core-assets/skills/void-typescript-strict/harness.yaml +17 -0
  298. package/core-assets/skills/void-ui-review/.source +12 -0
  299. package/core-assets/skills/void-ui-review/SKILL.md +97 -0
  300. package/core-assets/skills/void-ui-review/harness.yaml +15 -0
  301. package/core-assets/skills/void-verify/.source +12 -0
  302. package/core-assets/skills/void-verify/SKILL.md +184 -0
  303. package/core-assets/skills/void-verify/harness.yaml +15 -0
  304. package/core-assets/specialists/accessibility-specialist.source +11 -0
  305. package/core-assets/specialists/accessibility-specialist.yaml +30 -0
  306. package/core-assets/specialists/api-integration-engineer.source +11 -0
  307. package/core-assets/specialists/api-integration-engineer.yaml +30 -0
  308. package/core-assets/specialists/data-migration-engineer.source +11 -0
  309. package/core-assets/specialists/data-migration-engineer.yaml +30 -0
  310. package/core-assets/specialists/devex-docs-engineer.source +11 -0
  311. package/core-assets/specialists/devex-docs-engineer.yaml +29 -0
  312. package/core-assets/specialists/domain-architect.source +11 -0
  313. package/core-assets/specialists/domain-architect.yaml +28 -0
  314. package/core-assets/specialists/experience-designer.source +15 -0
  315. package/core-assets/specialists/experience-designer.yaml +38 -0
  316. package/core-assets/specialists/frontend-engineer.source +11 -0
  317. package/core-assets/specialists/frontend-engineer.yaml +32 -0
  318. package/core-assets/specialists/independent-code-reviewer.source +10 -0
  319. package/core-assets/specialists/independent-code-reviewer.yaml +37 -0
  320. package/core-assets/specialists/migrations.json +15 -0
  321. package/core-assets/specialists/observability-sre-engineer.source +11 -0
  322. package/core-assets/specialists/observability-sre-engineer.yaml +30 -0
  323. package/core-assets/specialists/pdf-specialist.source +11 -0
  324. package/core-assets/specialists/pdf-specialist.yaml +29 -0
  325. package/core-assets/specialists/performance-engineer.source +11 -0
  326. package/core-assets/specialists/performance-engineer.yaml +29 -0
  327. package/core-assets/specialists/product-challenger.source +10 -0
  328. package/core-assets/specialists/product-challenger.yaml +27 -0
  329. package/core-assets/specialists/security-engineer.source +13 -0
  330. package/core-assets/specialists/security-engineer.yaml +41 -0
  331. package/core-assets/specialists/solution-architect.source +13 -0
  332. package/core-assets/specialists/solution-architect.yaml +32 -0
  333. package/core-assets/specialists/test-qa-engineer.source +14 -0
  334. package/core-assets/specialists/test-qa-engineer.yaml +35 -0
  335. package/core-assets/specialists/visual-craft-director.source +17 -0
  336. package/core-assets/specialists/visual-craft-director.yaml +60 -0
  337. package/core-assets/templates/github/dependency-audit.mjs +54 -0
  338. package/core-assets/templates/github/void-dependency-audit.yml +35 -0
  339. package/core-assets/templates/github/void-security.yml +85 -0
  340. package/dist/main.js +57001 -0
  341. package/package.json +66 -4
@@ -0,0 +1,1800 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "harnessVersion": "4.0.0",
4
+ "capabilities": [
5
+ {
6
+ "id": "skill:pack-mobile/void-eas-build-profile",
7
+ "owner": "folpe",
8
+ "runtimes": [
9
+ "claude",
10
+ "codex"
11
+ ],
12
+ "enforcement": {
13
+ "floor": "ci",
14
+ "inline": {
15
+ "claude": "active",
16
+ "codex": "active",
17
+ "hermes": "ci-only"
18
+ }
19
+ },
20
+ "evalTargets": [
21
+ {
22
+ "provider": "anthropic",
23
+ "runtime": "claude",
24
+ "tier": "opus"
25
+ }
26
+ ],
27
+ "proof": {
28
+ "verified": true
29
+ }
30
+ },
31
+ {
32
+ "id": "skill:pack-mobile/void-expo-config-plugins",
33
+ "owner": "folpe",
34
+ "runtimes": [
35
+ "claude",
36
+ "codex"
37
+ ],
38
+ "enforcement": {
39
+ "floor": "ci",
40
+ "inline": {
41
+ "claude": "active",
42
+ "codex": "active",
43
+ "hermes": "ci-only"
44
+ }
45
+ },
46
+ "evalTargets": [
47
+ {
48
+ "provider": "anthropic",
49
+ "runtime": "claude",
50
+ "tier": "opus"
51
+ }
52
+ ],
53
+ "proof": {
54
+ "verified": true
55
+ }
56
+ },
57
+ {
58
+ "id": "skill:pack-mobile/void-expo-router-pattern",
59
+ "owner": "folpe",
60
+ "runtimes": [
61
+ "claude",
62
+ "codex"
63
+ ],
64
+ "enforcement": {
65
+ "floor": "ci",
66
+ "inline": {
67
+ "claude": "active",
68
+ "codex": "active",
69
+ "hermes": "ci-only"
70
+ }
71
+ },
72
+ "evalTargets": [
73
+ {
74
+ "provider": "anthropic",
75
+ "runtime": "claude",
76
+ "tier": "opus"
77
+ }
78
+ ],
79
+ "proof": {
80
+ "verified": true
81
+ }
82
+ },
83
+ {
84
+ "id": "skill:pack-mobile/void-ota-update-strategy",
85
+ "owner": "folpe",
86
+ "runtimes": [
87
+ "claude",
88
+ "codex"
89
+ ],
90
+ "enforcement": {
91
+ "floor": "ci",
92
+ "inline": {
93
+ "claude": "active",
94
+ "codex": "active",
95
+ "hermes": "ci-only"
96
+ }
97
+ },
98
+ "evalTargets": [
99
+ {
100
+ "provider": "anthropic",
101
+ "runtime": "claude",
102
+ "tier": "opus"
103
+ }
104
+ ],
105
+ "proof": {
106
+ "verified": true
107
+ }
108
+ },
109
+ {
110
+ "id": "skill:pack-monorepo/void-dependency-direction",
111
+ "owner": "folpe",
112
+ "runtimes": [
113
+ "claude",
114
+ "codex"
115
+ ],
116
+ "enforcement": {
117
+ "floor": "ci",
118
+ "inline": {
119
+ "claude": "active",
120
+ "codex": "active",
121
+ "hermes": "ci-only"
122
+ }
123
+ },
124
+ "evalTargets": [
125
+ {
126
+ "provider": "anthropic",
127
+ "runtime": "claude",
128
+ "tier": "opus"
129
+ }
130
+ ],
131
+ "proof": {
132
+ "verified": true
133
+ }
134
+ },
135
+ {
136
+ "id": "skill:pack-monorepo/void-package-extraction",
137
+ "owner": "folpe",
138
+ "runtimes": [
139
+ "claude",
140
+ "codex"
141
+ ],
142
+ "enforcement": {
143
+ "floor": "ci",
144
+ "inline": {
145
+ "claude": "active",
146
+ "codex": "active",
147
+ "hermes": "ci-only"
148
+ }
149
+ },
150
+ "evalTargets": [
151
+ {
152
+ "provider": "anthropic",
153
+ "runtime": "claude",
154
+ "tier": "opus"
155
+ }
156
+ ],
157
+ "proof": {
158
+ "verified": true
159
+ }
160
+ },
161
+ {
162
+ "id": "skill:pack-monorepo/void-service-package",
163
+ "owner": "folpe",
164
+ "runtimes": [
165
+ "claude",
166
+ "codex"
167
+ ],
168
+ "enforcement": {
169
+ "floor": "ci",
170
+ "inline": {
171
+ "claude": "active",
172
+ "codex": "active",
173
+ "hermes": "ci-only"
174
+ }
175
+ },
176
+ "evalTargets": [
177
+ {
178
+ "provider": "anthropic",
179
+ "runtime": "claude",
180
+ "tier": "opus"
181
+ }
182
+ ],
183
+ "proof": {
184
+ "verified": true
185
+ }
186
+ },
187
+ {
188
+ "id": "skill:pack-monorepo/void-turbo-pipeline-tuning",
189
+ "owner": "folpe",
190
+ "runtimes": [
191
+ "claude",
192
+ "codex"
193
+ ],
194
+ "enforcement": {
195
+ "floor": "ci",
196
+ "inline": {
197
+ "claude": "active",
198
+ "codex": "active",
199
+ "hermes": "ci-only"
200
+ }
201
+ },
202
+ "evalTargets": [
203
+ {
204
+ "provider": "anthropic",
205
+ "runtime": "claude",
206
+ "tier": "opus"
207
+ }
208
+ ],
209
+ "proof": {
210
+ "verified": true
211
+ }
212
+ },
213
+ {
214
+ "id": "skill:pack-nextjs/void-cache-component-pattern",
215
+ "owner": "folpe",
216
+ "runtimes": [
217
+ "claude",
218
+ "codex"
219
+ ],
220
+ "enforcement": {
221
+ "floor": "ci",
222
+ "inline": {
223
+ "claude": "active",
224
+ "codex": "active",
225
+ "hermes": "ci-only"
226
+ }
227
+ },
228
+ "evalTargets": [
229
+ {
230
+ "provider": "anthropic",
231
+ "runtime": "claude",
232
+ "tier": "opus"
233
+ }
234
+ ],
235
+ "proof": {
236
+ "verified": true
237
+ }
238
+ },
239
+ {
240
+ "id": "skill:pack-nextjs/void-instrumentation-setup",
241
+ "owner": "folpe",
242
+ "runtimes": [
243
+ "claude",
244
+ "codex"
245
+ ],
246
+ "enforcement": {
247
+ "floor": "ci",
248
+ "inline": {
249
+ "claude": "active",
250
+ "codex": "active",
251
+ "hermes": "ci-only"
252
+ }
253
+ },
254
+ "evalTargets": [
255
+ {
256
+ "provider": "anthropic",
257
+ "runtime": "claude",
258
+ "tier": "opus"
259
+ }
260
+ ],
261
+ "proof": {
262
+ "verified": true
263
+ }
264
+ },
265
+ {
266
+ "id": "skill:pack-nextjs/void-loading-error-boundaries",
267
+ "owner": "folpe",
268
+ "runtimes": [
269
+ "claude",
270
+ "codex"
271
+ ],
272
+ "enforcement": {
273
+ "floor": "ci",
274
+ "inline": {
275
+ "claude": "active",
276
+ "codex": "active",
277
+ "hermes": "ci-only"
278
+ }
279
+ },
280
+ "evalTargets": [
281
+ {
282
+ "provider": "anthropic",
283
+ "runtime": "claude",
284
+ "tier": "opus"
285
+ }
286
+ ],
287
+ "proof": {
288
+ "verified": true
289
+ }
290
+ },
291
+ {
292
+ "id": "skill:pack-nextjs/void-parallel-routes-slots",
293
+ "owner": "folpe",
294
+ "runtimes": [
295
+ "claude",
296
+ "codex"
297
+ ],
298
+ "enforcement": {
299
+ "floor": "ci",
300
+ "inline": {
301
+ "claude": "active",
302
+ "codex": "active",
303
+ "hermes": "ci-only"
304
+ }
305
+ },
306
+ "evalTargets": [
307
+ {
308
+ "provider": "anthropic",
309
+ "runtime": "claude",
310
+ "tier": "opus"
311
+ }
312
+ ],
313
+ "proof": {
314
+ "verified": true
315
+ }
316
+ },
317
+ {
318
+ "id": "skill:pack-nextjs/void-route-group-decision",
319
+ "owner": "folpe",
320
+ "runtimes": [
321
+ "claude",
322
+ "codex"
323
+ ],
324
+ "enforcement": {
325
+ "floor": "ci",
326
+ "inline": {
327
+ "claude": "active",
328
+ "codex": "active",
329
+ "hermes": "ci-only"
330
+ }
331
+ },
332
+ "evalTargets": [
333
+ {
334
+ "provider": "anthropic",
335
+ "runtime": "claude",
336
+ "tier": "opus"
337
+ }
338
+ ],
339
+ "proof": {
340
+ "verified": true
341
+ }
342
+ },
343
+ {
344
+ "id": "skill:pack-pwa/void-install-prompt-ux",
345
+ "owner": "folpe",
346
+ "runtimes": [
347
+ "claude",
348
+ "codex"
349
+ ],
350
+ "enforcement": {
351
+ "floor": "ci",
352
+ "inline": {
353
+ "claude": "active",
354
+ "codex": "active",
355
+ "hermes": "ci-only"
356
+ }
357
+ },
358
+ "evalTargets": [
359
+ {
360
+ "provider": "anthropic",
361
+ "runtime": "claude",
362
+ "tier": "opus"
363
+ }
364
+ ],
365
+ "proof": {
366
+ "verified": true
367
+ }
368
+ },
369
+ {
370
+ "id": "skill:pack-pwa/void-manifest-checklist",
371
+ "owner": "folpe",
372
+ "runtimes": [
373
+ "claude",
374
+ "codex"
375
+ ],
376
+ "enforcement": {
377
+ "floor": "ci",
378
+ "inline": {
379
+ "claude": "active",
380
+ "codex": "active",
381
+ "hermes": "ci-only"
382
+ }
383
+ },
384
+ "evalTargets": [
385
+ {
386
+ "provider": "anthropic",
387
+ "runtime": "claude",
388
+ "tier": "opus"
389
+ }
390
+ ],
391
+ "proof": {
392
+ "verified": true
393
+ }
394
+ },
395
+ {
396
+ "id": "skill:pack-pwa/void-offline-first-mutation",
397
+ "owner": "folpe",
398
+ "runtimes": [
399
+ "claude",
400
+ "codex"
401
+ ],
402
+ "enforcement": {
403
+ "floor": "ci",
404
+ "inline": {
405
+ "claude": "active",
406
+ "codex": "active",
407
+ "hermes": "ci-only"
408
+ }
409
+ },
410
+ "evalTargets": [
411
+ {
412
+ "provider": "anthropic",
413
+ "runtime": "claude",
414
+ "tier": "opus"
415
+ }
416
+ ],
417
+ "proof": {
418
+ "verified": true
419
+ }
420
+ },
421
+ {
422
+ "id": "skill:pack-pwa/void-service-worker-strategy",
423
+ "owner": "folpe",
424
+ "runtimes": [
425
+ "claude",
426
+ "codex"
427
+ ],
428
+ "enforcement": {
429
+ "floor": "ci",
430
+ "inline": {
431
+ "claude": "active",
432
+ "codex": "active",
433
+ "hermes": "ci-only"
434
+ }
435
+ },
436
+ "evalTargets": [
437
+ {
438
+ "provider": "anthropic",
439
+ "runtime": "claude",
440
+ "tier": "opus"
441
+ }
442
+ ],
443
+ "proof": {
444
+ "verified": true
445
+ }
446
+ },
447
+ {
448
+ "id": "skill:pack-react/void-accessibility-check",
449
+ "owner": "folpe",
450
+ "runtimes": [
451
+ "claude",
452
+ "codex"
453
+ ],
454
+ "enforcement": {
455
+ "floor": "ci",
456
+ "inline": {
457
+ "claude": "active",
458
+ "codex": "active",
459
+ "hermes": "ci-only"
460
+ }
461
+ },
462
+ "evalTargets": [
463
+ {
464
+ "provider": "anthropic",
465
+ "runtime": "claude",
466
+ "tier": "opus"
467
+ }
468
+ ],
469
+ "proof": {
470
+ "verified": true
471
+ }
472
+ },
473
+ {
474
+ "id": "skill:pack-react/void-client-vs-server-component",
475
+ "owner": "folpe",
476
+ "runtimes": [
477
+ "claude",
478
+ "codex"
479
+ ],
480
+ "enforcement": {
481
+ "floor": "ci",
482
+ "inline": {
483
+ "claude": "active",
484
+ "codex": "active",
485
+ "hermes": "ci-only"
486
+ }
487
+ },
488
+ "evalTargets": [
489
+ {
490
+ "provider": "anthropic",
491
+ "runtime": "claude",
492
+ "tier": "opus"
493
+ }
494
+ ],
495
+ "proof": {
496
+ "verified": true
497
+ }
498
+ },
499
+ {
500
+ "id": "skill:pack-react/void-form-pattern",
501
+ "owner": "folpe",
502
+ "runtimes": [
503
+ "claude",
504
+ "codex"
505
+ ],
506
+ "enforcement": {
507
+ "floor": "ci",
508
+ "inline": {
509
+ "claude": "active",
510
+ "codex": "active",
511
+ "hermes": "ci-only"
512
+ }
513
+ },
514
+ "evalTargets": [
515
+ {
516
+ "provider": "anthropic",
517
+ "runtime": "claude",
518
+ "tier": "opus"
519
+ }
520
+ ],
521
+ "proof": {
522
+ "verified": true
523
+ }
524
+ },
525
+ {
526
+ "id": "skill:pack-react/void-state-architecture",
527
+ "owner": "folpe",
528
+ "runtimes": [
529
+ "claude",
530
+ "codex"
531
+ ],
532
+ "enforcement": {
533
+ "floor": "ci",
534
+ "inline": {
535
+ "claude": "active",
536
+ "codex": "active",
537
+ "hermes": "ci-only"
538
+ }
539
+ },
540
+ "evalTargets": [
541
+ {
542
+ "provider": "anthropic",
543
+ "runtime": "claude",
544
+ "tier": "opus"
545
+ }
546
+ ],
547
+ "proof": {
548
+ "verified": true
549
+ }
550
+ },
551
+ {
552
+ "id": "skill:pack-server/void-background-job-pattern",
553
+ "owner": "folpe",
554
+ "runtimes": [
555
+ "claude",
556
+ "codex"
557
+ ],
558
+ "enforcement": {
559
+ "floor": "ci",
560
+ "inline": {
561
+ "claude": "active",
562
+ "codex": "active",
563
+ "hermes": "ci-only"
564
+ }
565
+ },
566
+ "evalTargets": [
567
+ {
568
+ "provider": "anthropic",
569
+ "runtime": "claude",
570
+ "tier": "opus"
571
+ }
572
+ ],
573
+ "proof": {
574
+ "verified": true
575
+ }
576
+ },
577
+ {
578
+ "id": "skill:pack-server/void-drizzle-migration-safe",
579
+ "owner": "folpe",
580
+ "runtimes": [
581
+ "claude",
582
+ "codex"
583
+ ],
584
+ "enforcement": {
585
+ "floor": "ci",
586
+ "inline": {
587
+ "claude": "active",
588
+ "codex": "active",
589
+ "hermes": "ci-only"
590
+ }
591
+ },
592
+ "evalTargets": [
593
+ {
594
+ "provider": "anthropic",
595
+ "runtime": "claude",
596
+ "tier": "opus"
597
+ }
598
+ ],
599
+ "proof": {
600
+ "verified": true
601
+ }
602
+ },
603
+ {
604
+ "id": "skill:pack-server/void-env-validation",
605
+ "owner": "folpe",
606
+ "runtimes": [
607
+ "claude",
608
+ "codex"
609
+ ],
610
+ "enforcement": {
611
+ "floor": "ci",
612
+ "inline": {
613
+ "claude": "active",
614
+ "codex": "active",
615
+ "hermes": "ci-only"
616
+ }
617
+ },
618
+ "evalTargets": [
619
+ {
620
+ "provider": "anthropic",
621
+ "runtime": "claude",
622
+ "tier": "opus"
623
+ }
624
+ ],
625
+ "proof": {
626
+ "verified": true
627
+ }
628
+ },
629
+ {
630
+ "id": "skill:pack-server/void-rate-limit-strategy",
631
+ "owner": "folpe",
632
+ "runtimes": [
633
+ "claude",
634
+ "codex"
635
+ ],
636
+ "enforcement": {
637
+ "floor": "ci",
638
+ "inline": {
639
+ "claude": "active",
640
+ "codex": "active",
641
+ "hermes": "ci-only"
642
+ }
643
+ },
644
+ "evalTargets": [
645
+ {
646
+ "provider": "anthropic",
647
+ "runtime": "claude",
648
+ "tier": "opus"
649
+ }
650
+ ],
651
+ "proof": {
652
+ "verified": true
653
+ }
654
+ },
655
+ {
656
+ "id": "skill:pack-server/void-server-action",
657
+ "owner": "folpe",
658
+ "runtimes": [
659
+ "claude",
660
+ "codex"
661
+ ],
662
+ "enforcement": {
663
+ "floor": "ci",
664
+ "inline": {
665
+ "claude": "active",
666
+ "codex": "active",
667
+ "hermes": "ci-only"
668
+ }
669
+ },
670
+ "evalTargets": [
671
+ {
672
+ "provider": "anthropic",
673
+ "runtime": "claude",
674
+ "tier": "opus"
675
+ }
676
+ ],
677
+ "proof": {
678
+ "verified": true
679
+ }
680
+ },
681
+ {
682
+ "id": "skill:pack-server/void-testing-server-modules",
683
+ "owner": "folpe",
684
+ "runtimes": [
685
+ "claude",
686
+ "codex"
687
+ ],
688
+ "enforcement": {
689
+ "floor": "ci",
690
+ "inline": {
691
+ "claude": "active",
692
+ "codex": "active",
693
+ "hermes": "ci-only"
694
+ }
695
+ },
696
+ "evalTargets": [
697
+ {
698
+ "provider": "anthropic",
699
+ "runtime": "claude",
700
+ "tier": "opus"
701
+ }
702
+ ],
703
+ "proof": {
704
+ "verified": true
705
+ }
706
+ },
707
+ {
708
+ "id": "skill:pack-server/void-webhook-handler-pattern",
709
+ "owner": "folpe",
710
+ "runtimes": [
711
+ "claude",
712
+ "codex"
713
+ ],
714
+ "enforcement": {
715
+ "floor": "ci",
716
+ "inline": {
717
+ "claude": "active",
718
+ "codex": "active",
719
+ "hermes": "ci-only"
720
+ }
721
+ },
722
+ "evalTargets": [
723
+ {
724
+ "provider": "anthropic",
725
+ "runtime": "claude",
726
+ "tier": "opus"
727
+ }
728
+ ],
729
+ "proof": {
730
+ "verified": true
731
+ }
732
+ },
733
+ {
734
+ "id": "skill:void-accessibility",
735
+ "owner": "folpe",
736
+ "runtimes": [
737
+ "claude",
738
+ "codex"
739
+ ],
740
+ "enforcement": {
741
+ "floor": "ci",
742
+ "inline": {
743
+ "claude": "pretooluse",
744
+ "codex": "pretooluse",
745
+ "hermes": "ci-only"
746
+ }
747
+ },
748
+ "evalTargets": [
749
+ {
750
+ "provider": "anthropic",
751
+ "runtime": "claude",
752
+ "tier": "opus"
753
+ }
754
+ ],
755
+ "proof": {
756
+ "verified": true
757
+ }
758
+ },
759
+ {
760
+ "id": "skill:void-api-and-interface-design",
761
+ "owner": "folpe",
762
+ "runtimes": [
763
+ "claude",
764
+ "codex"
765
+ ],
766
+ "enforcement": {
767
+ "floor": "ci",
768
+ "inline": {
769
+ "claude": "active",
770
+ "codex": "active",
771
+ "hermes": "ci-only"
772
+ }
773
+ },
774
+ "evalTargets": [
775
+ {
776
+ "provider": "anthropic",
777
+ "runtime": "claude",
778
+ "tier": "opus"
779
+ }
780
+ ],
781
+ "proof": {
782
+ "verified": true
783
+ }
784
+ },
785
+ {
786
+ "id": "skill:void-async-safety",
787
+ "owner": "folpe",
788
+ "runtimes": [
789
+ "claude",
790
+ "codex"
791
+ ],
792
+ "enforcement": {
793
+ "floor": "ci",
794
+ "inline": {
795
+ "claude": "active",
796
+ "codex": "active",
797
+ "hermes": "ci-only"
798
+ }
799
+ },
800
+ "evalTargets": [
801
+ {
802
+ "provider": "anthropic",
803
+ "runtime": "claude",
804
+ "tier": "opus"
805
+ }
806
+ ],
807
+ "proof": {
808
+ "verified": true
809
+ }
810
+ },
811
+ {
812
+ "id": "skill:void-audit",
813
+ "owner": "folpe",
814
+ "runtimes": [
815
+ "claude",
816
+ "codex"
817
+ ],
818
+ "enforcement": {
819
+ "floor": "ci",
820
+ "inline": {
821
+ "claude": "active",
822
+ "codex": "active",
823
+ "hermes": "ci-only"
824
+ }
825
+ },
826
+ "evalTargets": [
827
+ {
828
+ "provider": "anthropic",
829
+ "runtime": "claude",
830
+ "tier": "opus"
831
+ }
832
+ ],
833
+ "proof": {
834
+ "verified": true
835
+ }
836
+ },
837
+ {
838
+ "id": "skill:void-autopilot",
839
+ "owner": "folpe",
840
+ "runtimes": [
841
+ "claude",
842
+ "codex"
843
+ ],
844
+ "enforcement": {
845
+ "floor": "ci",
846
+ "inline": {
847
+ "claude": "pretooluse",
848
+ "codex": "pretooluse",
849
+ "hermes": "ci-only"
850
+ }
851
+ },
852
+ "evalTargets": [
853
+ {
854
+ "provider": "anthropic",
855
+ "runtime": "claude",
856
+ "tier": "opus"
857
+ }
858
+ ],
859
+ "proof": {
860
+ "verified": true
861
+ }
862
+ },
863
+ {
864
+ "id": "skill:void-brainstorm",
865
+ "owner": "folpe",
866
+ "runtimes": [
867
+ "claude",
868
+ "codex"
869
+ ],
870
+ "enforcement": {
871
+ "floor": "ci",
872
+ "inline": {
873
+ "claude": "active",
874
+ "codex": "active",
875
+ "hermes": "ci-only"
876
+ }
877
+ },
878
+ "evalTargets": [
879
+ {
880
+ "provider": "anthropic",
881
+ "runtime": "claude",
882
+ "tier": "opus"
883
+ }
884
+ ],
885
+ "proof": {
886
+ "verified": true
887
+ }
888
+ },
889
+ {
890
+ "id": "skill:void-checkpoint",
891
+ "owner": "folpe",
892
+ "runtimes": [
893
+ "claude",
894
+ "codex"
895
+ ],
896
+ "enforcement": {
897
+ "floor": "ci",
898
+ "inline": {
899
+ "claude": "active",
900
+ "codex": "active",
901
+ "hermes": "ci-only"
902
+ }
903
+ },
904
+ "evalTargets": [
905
+ {
906
+ "provider": "anthropic",
907
+ "runtime": "claude",
908
+ "tier": "opus"
909
+ }
910
+ ],
911
+ "proof": {
912
+ "verified": true
913
+ }
914
+ },
915
+ {
916
+ "id": "skill:void-claude-md",
917
+ "owner": "folpe",
918
+ "runtimes": [
919
+ "claude",
920
+ "codex"
921
+ ],
922
+ "enforcement": {
923
+ "floor": "ci",
924
+ "inline": {
925
+ "claude": "active",
926
+ "codex": "active",
927
+ "hermes": "ci-only"
928
+ }
929
+ },
930
+ "evalTargets": [
931
+ {
932
+ "provider": "anthropic",
933
+ "runtime": "claude",
934
+ "tier": "opus"
935
+ }
936
+ ],
937
+ "proof": {
938
+ "verified": true
939
+ }
940
+ },
941
+ {
942
+ "id": "skill:void-code-review",
943
+ "owner": "folpe",
944
+ "runtimes": [
945
+ "claude",
946
+ "codex"
947
+ ],
948
+ "enforcement": {
949
+ "floor": "ci",
950
+ "inline": {
951
+ "claude": "pretooluse",
952
+ "codex": "pretooluse",
953
+ "hermes": "ci-only"
954
+ }
955
+ },
956
+ "evalTargets": [
957
+ {
958
+ "provider": "anthropic",
959
+ "runtime": "claude",
960
+ "tier": "opus"
961
+ }
962
+ ],
963
+ "proof": {
964
+ "verified": true
965
+ }
966
+ },
967
+ {
968
+ "id": "skill:void-commit-discipline",
969
+ "owner": "folpe",
970
+ "runtimes": [
971
+ "claude",
972
+ "codex"
973
+ ],
974
+ "enforcement": {
975
+ "floor": "ci",
976
+ "inline": {
977
+ "claude": "pretooluse",
978
+ "codex": "pretooluse",
979
+ "hermes": "ci-only"
980
+ }
981
+ },
982
+ "evalTargets": [
983
+ {
984
+ "provider": "anthropic",
985
+ "runtime": "claude",
986
+ "tier": "opus"
987
+ }
988
+ ],
989
+ "proof": {
990
+ "verified": true
991
+ }
992
+ },
993
+ {
994
+ "id": "skill:void-context",
995
+ "owner": "folpe",
996
+ "runtimes": [
997
+ "claude",
998
+ "codex"
999
+ ],
1000
+ "enforcement": {
1001
+ "floor": "ci",
1002
+ "inline": {
1003
+ "claude": "active",
1004
+ "codex": "active",
1005
+ "hermes": "ci-only"
1006
+ }
1007
+ },
1008
+ "evalTargets": [
1009
+ {
1010
+ "provider": "anthropic",
1011
+ "runtime": "claude",
1012
+ "tier": "opus"
1013
+ }
1014
+ ],
1015
+ "proof": {
1016
+ "verified": true
1017
+ }
1018
+ },
1019
+ {
1020
+ "id": "skill:void-debug",
1021
+ "owner": "folpe",
1022
+ "runtimes": [
1023
+ "claude",
1024
+ "codex"
1025
+ ],
1026
+ "enforcement": {
1027
+ "floor": "ci",
1028
+ "inline": {
1029
+ "claude": "active",
1030
+ "codex": "active",
1031
+ "hermes": "ci-only"
1032
+ }
1033
+ },
1034
+ "evalTargets": [
1035
+ {
1036
+ "provider": "anthropic",
1037
+ "runtime": "claude",
1038
+ "tier": "opus"
1039
+ }
1040
+ ],
1041
+ "proof": {
1042
+ "verified": true
1043
+ }
1044
+ },
1045
+ {
1046
+ "id": "skill:void-decide",
1047
+ "owner": "folpe",
1048
+ "runtimes": [
1049
+ "claude",
1050
+ "codex"
1051
+ ],
1052
+ "enforcement": {
1053
+ "floor": "ci",
1054
+ "inline": {
1055
+ "claude": "active",
1056
+ "codex": "active",
1057
+ "hermes": "ci-only"
1058
+ }
1059
+ },
1060
+ "evalTargets": [
1061
+ {
1062
+ "provider": "anthropic",
1063
+ "runtime": "claude",
1064
+ "tier": "opus"
1065
+ }
1066
+ ],
1067
+ "proof": {
1068
+ "verified": true
1069
+ }
1070
+ },
1071
+ {
1072
+ "id": "skill:void-devex-audit",
1073
+ "owner": "folpe",
1074
+ "runtimes": [
1075
+ "claude",
1076
+ "codex"
1077
+ ],
1078
+ "enforcement": {
1079
+ "floor": "ci",
1080
+ "inline": {
1081
+ "claude": "active",
1082
+ "codex": "active",
1083
+ "hermes": "ci-only"
1084
+ }
1085
+ },
1086
+ "evalTargets": [
1087
+ {
1088
+ "provider": "anthropic",
1089
+ "runtime": "claude",
1090
+ "tier": "opus"
1091
+ }
1092
+ ],
1093
+ "proof": {
1094
+ "verified": true
1095
+ }
1096
+ },
1097
+ {
1098
+ "id": "skill:void-doctor",
1099
+ "owner": "folpe",
1100
+ "runtimes": [
1101
+ "claude",
1102
+ "codex"
1103
+ ],
1104
+ "enforcement": {
1105
+ "floor": "ci",
1106
+ "inline": {
1107
+ "claude": "active",
1108
+ "codex": "active",
1109
+ "hermes": "ci-only"
1110
+ }
1111
+ },
1112
+ "evalTargets": [
1113
+ {
1114
+ "provider": "anthropic",
1115
+ "runtime": "claude",
1116
+ "tier": "opus"
1117
+ }
1118
+ ],
1119
+ "proof": {
1120
+ "verified": true
1121
+ }
1122
+ },
1123
+ {
1124
+ "id": "skill:void-domain-driven-design",
1125
+ "owner": "folpe",
1126
+ "runtimes": [
1127
+ "claude",
1128
+ "codex"
1129
+ ],
1130
+ "enforcement": {
1131
+ "floor": "ci",
1132
+ "inline": {
1133
+ "claude": "pretooluse",
1134
+ "codex": "pretooluse",
1135
+ "hermes": "ci-only"
1136
+ }
1137
+ },
1138
+ "evalTargets": [
1139
+ {
1140
+ "provider": "anthropic",
1141
+ "runtime": "claude",
1142
+ "tier": "opus"
1143
+ }
1144
+ ],
1145
+ "proof": {
1146
+ "verified": true
1147
+ }
1148
+ },
1149
+ {
1150
+ "id": "skill:void-frontend-design",
1151
+ "owner": "folpe",
1152
+ "runtimes": [
1153
+ "claude",
1154
+ "codex"
1155
+ ],
1156
+ "enforcement": {
1157
+ "floor": "ci",
1158
+ "inline": {
1159
+ "claude": "pretooluse",
1160
+ "codex": "pretooluse",
1161
+ "hermes": "ci-only"
1162
+ }
1163
+ },
1164
+ "evalTargets": [
1165
+ {
1166
+ "provider": "anthropic",
1167
+ "runtime": "claude",
1168
+ "tier": "opus"
1169
+ }
1170
+ ],
1171
+ "proof": {
1172
+ "verified": true
1173
+ }
1174
+ },
1175
+ {
1176
+ "id": "skill:void-functional",
1177
+ "owner": "folpe",
1178
+ "runtimes": [
1179
+ "claude",
1180
+ "codex"
1181
+ ],
1182
+ "enforcement": {
1183
+ "floor": "ci",
1184
+ "inline": {
1185
+ "claude": "pretooluse",
1186
+ "codex": "pretooluse",
1187
+ "hermes": "ci-only"
1188
+ }
1189
+ },
1190
+ "evalTargets": [
1191
+ {
1192
+ "provider": "anthropic",
1193
+ "runtime": "claude",
1194
+ "tier": "opus"
1195
+ }
1196
+ ],
1197
+ "proof": {
1198
+ "verified": true
1199
+ }
1200
+ },
1201
+ {
1202
+ "id": "skill:void-graph",
1203
+ "owner": "folpe",
1204
+ "runtimes": [
1205
+ "claude",
1206
+ "codex"
1207
+ ],
1208
+ "enforcement": {
1209
+ "floor": "ci",
1210
+ "inline": {
1211
+ "claude": "active",
1212
+ "codex": "active",
1213
+ "hermes": "ci-only"
1214
+ }
1215
+ },
1216
+ "evalTargets": [
1217
+ {
1218
+ "provider": "anthropic",
1219
+ "runtime": "claude",
1220
+ "tier": "opus"
1221
+ }
1222
+ ],
1223
+ "proof": {
1224
+ "verified": true
1225
+ }
1226
+ },
1227
+ {
1228
+ "id": "skill:void-hexagonal-architecture",
1229
+ "owner": "folpe",
1230
+ "runtimes": [
1231
+ "claude",
1232
+ "codex"
1233
+ ],
1234
+ "enforcement": {
1235
+ "floor": "ci",
1236
+ "inline": {
1237
+ "claude": "pretooluse",
1238
+ "codex": "pretooluse",
1239
+ "hermes": "ci-only"
1240
+ }
1241
+ },
1242
+ "evalTargets": [
1243
+ {
1244
+ "provider": "anthropic",
1245
+ "runtime": "claude",
1246
+ "tier": "opus"
1247
+ }
1248
+ ],
1249
+ "proof": {
1250
+ "verified": true
1251
+ }
1252
+ },
1253
+ {
1254
+ "id": "skill:void-implement",
1255
+ "owner": "folpe",
1256
+ "runtimes": [
1257
+ "claude",
1258
+ "codex"
1259
+ ],
1260
+ "enforcement": {
1261
+ "floor": "ci",
1262
+ "inline": {
1263
+ "claude": "active",
1264
+ "codex": "active",
1265
+ "hermes": "ci-only"
1266
+ }
1267
+ },
1268
+ "evalTargets": [
1269
+ {
1270
+ "provider": "anthropic",
1271
+ "runtime": "claude",
1272
+ "tier": "opus"
1273
+ }
1274
+ ],
1275
+ "proof": {
1276
+ "verified": true
1277
+ }
1278
+ },
1279
+ {
1280
+ "id": "skill:void-learn",
1281
+ "owner": "folpe",
1282
+ "runtimes": [
1283
+ "claude",
1284
+ "codex"
1285
+ ],
1286
+ "enforcement": {
1287
+ "floor": "ci",
1288
+ "inline": {
1289
+ "claude": "active",
1290
+ "codex": "active",
1291
+ "hermes": "ci-only"
1292
+ }
1293
+ },
1294
+ "evalTargets": [
1295
+ {
1296
+ "provider": "anthropic",
1297
+ "runtime": "claude",
1298
+ "tier": "opus"
1299
+ }
1300
+ ],
1301
+ "proof": {
1302
+ "verified": true
1303
+ }
1304
+ },
1305
+ {
1306
+ "id": "skill:void-llm-cost-discipline",
1307
+ "owner": "folpe",
1308
+ "runtimes": [
1309
+ "claude",
1310
+ "codex"
1311
+ ],
1312
+ "enforcement": {
1313
+ "floor": "ci",
1314
+ "inline": {
1315
+ "claude": "pretooluse",
1316
+ "codex": "pretooluse",
1317
+ "hermes": "ci-only"
1318
+ }
1319
+ },
1320
+ "evalTargets": [
1321
+ {
1322
+ "provider": "anthropic",
1323
+ "runtime": "claude",
1324
+ "tier": "opus"
1325
+ }
1326
+ ],
1327
+ "proof": {
1328
+ "verified": true
1329
+ }
1330
+ },
1331
+ {
1332
+ "id": "skill:void-make-pdf",
1333
+ "owner": "folpe",
1334
+ "runtimes": [
1335
+ "claude",
1336
+ "codex"
1337
+ ],
1338
+ "enforcement": {
1339
+ "floor": "ci",
1340
+ "inline": {
1341
+ "claude": "active",
1342
+ "codex": "active",
1343
+ "hermes": "ci-only"
1344
+ }
1345
+ },
1346
+ "evalTargets": [
1347
+ {
1348
+ "provider": "anthropic",
1349
+ "runtime": "claude",
1350
+ "tier": "opus"
1351
+ }
1352
+ ],
1353
+ "proof": {
1354
+ "verified": true
1355
+ }
1356
+ },
1357
+ {
1358
+ "id": "skill:void-merge",
1359
+ "owner": "folpe",
1360
+ "runtimes": [
1361
+ "claude",
1362
+ "codex"
1363
+ ],
1364
+ "enforcement": {
1365
+ "floor": "ci",
1366
+ "inline": {
1367
+ "claude": "active",
1368
+ "codex": "active",
1369
+ "hermes": "ci-only"
1370
+ }
1371
+ },
1372
+ "evalTargets": [
1373
+ {
1374
+ "provider": "anthropic",
1375
+ "runtime": "claude",
1376
+ "tier": "opus"
1377
+ }
1378
+ ],
1379
+ "proof": {
1380
+ "verified": true
1381
+ }
1382
+ },
1383
+ {
1384
+ "id": "skill:void-migrations",
1385
+ "owner": "folpe",
1386
+ "runtimes": [
1387
+ "claude",
1388
+ "codex"
1389
+ ],
1390
+ "enforcement": {
1391
+ "floor": "ci",
1392
+ "inline": {
1393
+ "claude": "pretooluse",
1394
+ "codex": "pretooluse",
1395
+ "hermes": "ci-only"
1396
+ }
1397
+ },
1398
+ "evalTargets": [
1399
+ {
1400
+ "provider": "anthropic",
1401
+ "runtime": "claude",
1402
+ "tier": "opus"
1403
+ }
1404
+ ],
1405
+ "proof": {
1406
+ "verified": true
1407
+ }
1408
+ },
1409
+ {
1410
+ "id": "skill:void-observability",
1411
+ "owner": "folpe",
1412
+ "runtimes": [
1413
+ "claude",
1414
+ "codex"
1415
+ ],
1416
+ "enforcement": {
1417
+ "floor": "ci",
1418
+ "inline": {
1419
+ "claude": "pretooluse",
1420
+ "codex": "pretooluse",
1421
+ "hermes": "ci-only"
1422
+ }
1423
+ },
1424
+ "evalTargets": [
1425
+ {
1426
+ "provider": "anthropic",
1427
+ "runtime": "claude",
1428
+ "tier": "opus"
1429
+ }
1430
+ ],
1431
+ "proof": {
1432
+ "verified": true
1433
+ }
1434
+ },
1435
+ {
1436
+ "id": "skill:void-plan",
1437
+ "owner": "folpe",
1438
+ "runtimes": [
1439
+ "claude",
1440
+ "codex"
1441
+ ],
1442
+ "enforcement": {
1443
+ "floor": "ci",
1444
+ "inline": {
1445
+ "claude": "active",
1446
+ "codex": "active",
1447
+ "hermes": "ci-only"
1448
+ }
1449
+ },
1450
+ "evalTargets": [
1451
+ {
1452
+ "provider": "anthropic",
1453
+ "runtime": "claude",
1454
+ "tier": "opus"
1455
+ }
1456
+ ],
1457
+ "proof": {
1458
+ "verified": true
1459
+ }
1460
+ },
1461
+ {
1462
+ "id": "skill:void-plan-review",
1463
+ "owner": "folpe",
1464
+ "runtimes": [
1465
+ "claude",
1466
+ "codex"
1467
+ ],
1468
+ "enforcement": {
1469
+ "floor": "ci",
1470
+ "inline": {
1471
+ "claude": "active",
1472
+ "codex": "active",
1473
+ "hermes": "ci-only"
1474
+ }
1475
+ },
1476
+ "evalTargets": [
1477
+ {
1478
+ "provider": "anthropic",
1479
+ "runtime": "claude",
1480
+ "tier": "opus"
1481
+ }
1482
+ ],
1483
+ "proof": {
1484
+ "verified": true
1485
+ }
1486
+ },
1487
+ {
1488
+ "id": "skill:void-qa",
1489
+ "owner": "folpe",
1490
+ "runtimes": [
1491
+ "claude",
1492
+ "codex"
1493
+ ],
1494
+ "enforcement": {
1495
+ "floor": "ci",
1496
+ "inline": {
1497
+ "claude": "active",
1498
+ "codex": "active",
1499
+ "hermes": "ci-only"
1500
+ }
1501
+ },
1502
+ "evalTargets": [
1503
+ {
1504
+ "provider": "anthropic",
1505
+ "runtime": "claude",
1506
+ "tier": "opus"
1507
+ }
1508
+ ],
1509
+ "proof": {
1510
+ "verified": true
1511
+ }
1512
+ },
1513
+ {
1514
+ "id": "skill:void-refactor",
1515
+ "owner": "folpe",
1516
+ "runtimes": [
1517
+ "claude",
1518
+ "codex"
1519
+ ],
1520
+ "enforcement": {
1521
+ "floor": "ci",
1522
+ "inline": {
1523
+ "claude": "pretooluse",
1524
+ "codex": "pretooluse",
1525
+ "hermes": "ci-only"
1526
+ }
1527
+ },
1528
+ "evalTargets": [
1529
+ {
1530
+ "provider": "anthropic",
1531
+ "runtime": "claude",
1532
+ "tier": "opus"
1533
+ }
1534
+ ],
1535
+ "proof": {
1536
+ "verified": true
1537
+ }
1538
+ },
1539
+ {
1540
+ "id": "skill:void-retrospective",
1541
+ "owner": "folpe",
1542
+ "runtimes": [
1543
+ "claude",
1544
+ "codex"
1545
+ ],
1546
+ "enforcement": {
1547
+ "floor": "ci",
1548
+ "inline": {
1549
+ "claude": "active",
1550
+ "codex": "active",
1551
+ "hermes": "ci-only"
1552
+ }
1553
+ },
1554
+ "evalTargets": [
1555
+ {
1556
+ "provider": "anthropic",
1557
+ "runtime": "claude",
1558
+ "tier": "opus"
1559
+ }
1560
+ ],
1561
+ "proof": {
1562
+ "verified": true
1563
+ }
1564
+ },
1565
+ {
1566
+ "id": "skill:void-security-audit",
1567
+ "owner": "folpe",
1568
+ "runtimes": [
1569
+ "claude",
1570
+ "codex"
1571
+ ],
1572
+ "enforcement": {
1573
+ "floor": "ci",
1574
+ "inline": {
1575
+ "claude": "active",
1576
+ "codex": "active",
1577
+ "hermes": "ci-only"
1578
+ }
1579
+ },
1580
+ "evalTargets": [
1581
+ {
1582
+ "provider": "anthropic",
1583
+ "runtime": "claude",
1584
+ "tier": "opus"
1585
+ }
1586
+ ],
1587
+ "proof": {
1588
+ "verified": true
1589
+ }
1590
+ },
1591
+ {
1592
+ "id": "skill:void-security-guidance",
1593
+ "owner": "folpe",
1594
+ "runtimes": [
1595
+ "claude",
1596
+ "codex"
1597
+ ],
1598
+ "enforcement": {
1599
+ "floor": "ci",
1600
+ "inline": {
1601
+ "claude": "pretooluse",
1602
+ "codex": "pretooluse",
1603
+ "hermes": "ci-only"
1604
+ }
1605
+ },
1606
+ "evalTargets": [
1607
+ {
1608
+ "provider": "anthropic",
1609
+ "runtime": "claude",
1610
+ "tier": "opus"
1611
+ }
1612
+ ],
1613
+ "proof": {
1614
+ "verified": true
1615
+ }
1616
+ },
1617
+ {
1618
+ "id": "skill:void-source-driven-development",
1619
+ "owner": "folpe",
1620
+ "runtimes": [
1621
+ "claude",
1622
+ "codex"
1623
+ ],
1624
+ "enforcement": {
1625
+ "floor": "ci",
1626
+ "inline": {
1627
+ "claude": "active",
1628
+ "codex": "active",
1629
+ "hermes": "ci-only"
1630
+ }
1631
+ },
1632
+ "evalTargets": [
1633
+ {
1634
+ "provider": "anthropic",
1635
+ "runtime": "claude",
1636
+ "tier": "opus"
1637
+ }
1638
+ ],
1639
+ "proof": {
1640
+ "verified": true
1641
+ }
1642
+ },
1643
+ {
1644
+ "id": "skill:void-tdd",
1645
+ "owner": "folpe",
1646
+ "runtimes": [
1647
+ "claude",
1648
+ "codex"
1649
+ ],
1650
+ "enforcement": {
1651
+ "floor": "ci",
1652
+ "inline": {
1653
+ "claude": "pretooluse",
1654
+ "codex": "pretooluse",
1655
+ "hermes": "ci-only"
1656
+ }
1657
+ },
1658
+ "evalTargets": [
1659
+ {
1660
+ "provider": "anthropic",
1661
+ "runtime": "claude",
1662
+ "tier": "opus"
1663
+ }
1664
+ ],
1665
+ "proof": {
1666
+ "verified": true
1667
+ }
1668
+ },
1669
+ {
1670
+ "id": "skill:void-testing",
1671
+ "owner": "folpe",
1672
+ "runtimes": [
1673
+ "claude",
1674
+ "codex"
1675
+ ],
1676
+ "enforcement": {
1677
+ "floor": "ci",
1678
+ "inline": {
1679
+ "claude": "pretooluse",
1680
+ "codex": "pretooluse",
1681
+ "hermes": "ci-only"
1682
+ }
1683
+ },
1684
+ "evalTargets": [
1685
+ {
1686
+ "provider": "anthropic",
1687
+ "runtime": "claude",
1688
+ "tier": "opus"
1689
+ }
1690
+ ],
1691
+ "proof": {
1692
+ "verified": true
1693
+ }
1694
+ },
1695
+ {
1696
+ "id": "skill:void-ticket",
1697
+ "owner": "folpe",
1698
+ "runtimes": [
1699
+ "claude",
1700
+ "codex"
1701
+ ],
1702
+ "enforcement": {
1703
+ "floor": "ci",
1704
+ "inline": {
1705
+ "claude": "active",
1706
+ "codex": "active",
1707
+ "hermes": "ci-only"
1708
+ }
1709
+ },
1710
+ "evalTargets": [
1711
+ {
1712
+ "provider": "anthropic",
1713
+ "runtime": "claude",
1714
+ "tier": "opus"
1715
+ }
1716
+ ],
1717
+ "proof": {
1718
+ "verified": true
1719
+ }
1720
+ },
1721
+ {
1722
+ "id": "skill:void-typescript-strict",
1723
+ "owner": "folpe",
1724
+ "runtimes": [
1725
+ "claude",
1726
+ "codex"
1727
+ ],
1728
+ "enforcement": {
1729
+ "floor": "ci",
1730
+ "inline": {
1731
+ "claude": "pretooluse",
1732
+ "codex": "pretooluse",
1733
+ "hermes": "ci-only"
1734
+ }
1735
+ },
1736
+ "evalTargets": [
1737
+ {
1738
+ "provider": "anthropic",
1739
+ "runtime": "claude",
1740
+ "tier": "opus"
1741
+ }
1742
+ ],
1743
+ "proof": {
1744
+ "verified": true
1745
+ }
1746
+ },
1747
+ {
1748
+ "id": "skill:void-ui-review",
1749
+ "owner": "folpe",
1750
+ "runtimes": [
1751
+ "claude",
1752
+ "codex"
1753
+ ],
1754
+ "enforcement": {
1755
+ "floor": "ci",
1756
+ "inline": {
1757
+ "claude": "active",
1758
+ "codex": "active",
1759
+ "hermes": "ci-only"
1760
+ }
1761
+ },
1762
+ "evalTargets": [
1763
+ {
1764
+ "provider": "anthropic",
1765
+ "runtime": "claude",
1766
+ "tier": "opus"
1767
+ }
1768
+ ],
1769
+ "proof": {
1770
+ "verified": true
1771
+ }
1772
+ },
1773
+ {
1774
+ "id": "skill:void-verify",
1775
+ "owner": "folpe",
1776
+ "runtimes": [
1777
+ "claude",
1778
+ "codex"
1779
+ ],
1780
+ "enforcement": {
1781
+ "floor": "ci",
1782
+ "inline": {
1783
+ "claude": "active",
1784
+ "codex": "active",
1785
+ "hermes": "ci-only"
1786
+ }
1787
+ },
1788
+ "evalTargets": [
1789
+ {
1790
+ "provider": "anthropic",
1791
+ "runtime": "claude",
1792
+ "tier": "opus"
1793
+ }
1794
+ ],
1795
+ "proof": {
1796
+ "verified": true
1797
+ }
1798
+ }
1799
+ ]
1800
+ }