@amsterdamdatalabs/enact-extensions 0.1.42 → 0.1.48

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 (596) hide show
  1. package/README.md +67 -108
  2. package/bundled-extensions.json +3 -0
  3. package/dist/create/claude.d.ts.map +1 -1
  4. package/dist/create/claude.js +1 -1
  5. package/dist/create/claude.js.map +1 -1
  6. package/dist/create/codex.d.ts.map +1 -1
  7. package/dist/create/codex.js +2 -3
  8. package/dist/create/codex.js.map +1 -1
  9. package/dist/create/cursor.d.ts.map +1 -1
  10. package/dist/create/cursor.js +3 -7
  11. package/dist/create/cursor.js.map +1 -1
  12. package/dist/create/enact.d.ts.map +1 -1
  13. package/dist/create/enact.js +2 -0
  14. package/dist/create/enact.js.map +1 -1
  15. package/dist/create/index.d.ts +4 -1
  16. package/dist/create/index.d.ts.map +1 -1
  17. package/dist/create/index.js +9 -3
  18. package/dist/create/index.js.map +1 -1
  19. package/dist/create/kimi.d.ts +16 -0
  20. package/dist/create/kimi.d.ts.map +1 -0
  21. package/dist/create/kimi.js +86 -0
  22. package/dist/create/kimi.js.map +1 -0
  23. package/dist/create/opencode.d.ts +129 -0
  24. package/dist/create/opencode.d.ts.map +1 -0
  25. package/dist/create/opencode.js +689 -0
  26. package/dist/create/opencode.js.map +1 -0
  27. package/dist/index.d.ts +14 -19
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +11 -11
  30. package/dist/index.js.map +1 -1
  31. package/dist/internal/agents.d.ts +11 -1
  32. package/dist/internal/agents.d.ts.map +1 -1
  33. package/dist/internal/agents.js +120 -4
  34. package/dist/internal/agents.js.map +1 -1
  35. package/dist/internal/extensions-table.d.ts +87 -0
  36. package/dist/internal/extensions-table.d.ts.map +1 -0
  37. package/dist/internal/extensions-table.js +195 -0
  38. package/dist/internal/extensions-table.js.map +1 -0
  39. package/dist/internal/file-ops.d.ts +36 -0
  40. package/dist/internal/file-ops.d.ts.map +1 -0
  41. package/dist/internal/file-ops.js +89 -0
  42. package/dist/internal/file-ops.js.map +1 -0
  43. package/dist/internal/hooks.d.ts +56 -0
  44. package/dist/internal/hooks.d.ts.map +1 -0
  45. package/dist/internal/hooks.js +128 -0
  46. package/dist/internal/hooks.js.map +1 -0
  47. package/dist/internal/io.d.ts.map +1 -1
  48. package/dist/internal/io.js.map +1 -1
  49. package/dist/internal/json-merge.d.ts +63 -0
  50. package/dist/internal/json-merge.d.ts.map +1 -0
  51. package/dist/internal/json-merge.js +124 -0
  52. package/dist/internal/json-merge.js.map +1 -0
  53. package/dist/internal/lock-ownership.d.ts +41 -0
  54. package/dist/internal/lock-ownership.d.ts.map +1 -0
  55. package/dist/internal/lock-ownership.js +24 -0
  56. package/dist/internal/lock-ownership.js.map +1 -0
  57. package/dist/internal/pick.d.ts.map +1 -1
  58. package/dist/internal/pick.js.map +1 -1
  59. package/dist/internal/platform.d.ts.map +1 -1
  60. package/dist/internal/platform.js +82 -42
  61. package/dist/internal/platform.js.map +1 -1
  62. package/dist/internal/schema.d.ts.map +1 -1
  63. package/dist/internal/schema.js.map +1 -1
  64. package/dist/internal/toml-block.d.ts +59 -0
  65. package/dist/internal/toml-block.d.ts.map +1 -0
  66. package/dist/internal/toml-block.js +113 -0
  67. package/dist/internal/toml-block.js.map +1 -0
  68. package/dist/internal/types.d.ts +2 -1
  69. package/dist/internal/types.d.ts.map +1 -1
  70. package/dist/projection.d.ts +47 -0
  71. package/dist/projection.d.ts.map +1 -0
  72. package/dist/projection.js +180 -0
  73. package/dist/projection.js.map +1 -0
  74. package/dist/validate/index.d.ts +10 -5
  75. package/dist/validate/index.d.ts.map +1 -1
  76. package/dist/validate/index.js +59 -10
  77. package/dist/validate/index.js.map +1 -1
  78. package/dist/validate/kimi.d.ts +3 -0
  79. package/dist/validate/kimi.d.ts.map +1 -0
  80. package/dist/validate/kimi.js +11 -0
  81. package/dist/validate/kimi.js.map +1 -0
  82. package/dist/validate/opencode.d.ts +3 -0
  83. package/dist/validate/opencode.d.ts.map +1 -0
  84. package/dist/validate/opencode.js +11 -0
  85. package/dist/validate/opencode.js.map +1 -0
  86. package/dist/validate/run.d.ts +39 -0
  87. package/dist/validate/run.d.ts.map +1 -0
  88. package/dist/validate/run.js +60 -0
  89. package/dist/validate/run.js.map +1 -0
  90. package/extensions/enact-loop/.agents/plugin.json +12 -8
  91. package/extensions/enact-loop/scripts/validate.mjs +84 -2
  92. package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
  93. package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
  94. package/extensions/enact-loop/skills/loop-budget/SKILL.md +43 -26
  95. package/extensions/enact-loop/skills/loop-intake/SKILL.md +44 -32
  96. package/extensions/enact-repo/.agents/plugin.json +55 -0
  97. package/extensions/enact-repo/.mcp.json +20 -0
  98. package/extensions/enact-repo/README.md +90 -0
  99. package/extensions/enact-repo/hooks/hooks.json +98 -0
  100. package/extensions/enact-repo/lean-ctx/config.toml +35 -0
  101. package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
  102. package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
  103. package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
  104. package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
  105. package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
  106. package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
  107. package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
  108. package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
  109. package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
  110. package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
  111. package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
  112. package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
  113. package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
  114. package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
  115. package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
  116. package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
  117. package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
  118. package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
  119. package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
  120. package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
  121. package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
  122. package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
  123. package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
  124. package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  125. package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
  126. package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
  127. package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
  128. package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
  129. package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
  130. package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
  131. package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
  132. package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
  133. package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
  134. package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
  135. package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
  136. package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
  137. package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
  138. package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
  139. package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
  140. package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
  141. package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
  142. package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
  143. package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
  144. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +219 -0
  145. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
  146. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +177 -0
  147. package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
  148. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
  149. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
  150. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
  151. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +208 -0
  152. package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
  153. package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
  154. package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
  155. package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
  156. package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
  157. package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
  158. package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
  159. package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
  160. package/extensions/enact-repo/skills/research/SKILL.md +27 -0
  161. package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
  162. package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
  163. package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
  164. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
  165. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
  166. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
  167. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
  168. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
  169. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
  170. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
  171. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
  172. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
  173. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
  174. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
  175. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
  176. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
  177. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
  178. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
  179. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
  180. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
  181. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
  182. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
  183. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
  184. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
  185. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
  186. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
  187. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
  188. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
  189. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
  190. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
  191. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
  192. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
  193. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
  194. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
  195. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
  196. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
  197. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
  198. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
  199. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
  200. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
  201. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
  202. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
  203. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
  204. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
  205. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
  206. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
  207. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
  208. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
  209. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
  210. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
  211. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
  212. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
  213. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
  214. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
  215. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
  216. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
  217. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
  218. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
  219. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
  220. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
  221. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
  222. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
  223. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
  224. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
  225. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
  226. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
  227. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
  228. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
  229. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
  230. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
  231. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
  232. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
  233. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
  234. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
  235. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
  236. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
  237. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
  238. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
  239. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
  240. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
  241. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
  242. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
  243. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
  244. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
  245. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
  246. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
  247. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
  248. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
  249. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
  250. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
  251. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
  252. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
  253. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
  254. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
  255. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
  256. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
  257. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
  258. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
  259. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
  260. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
  261. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
  262. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
  263. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
  264. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
  265. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
  266. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
  267. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
  268. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
  269. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
  270. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
  271. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
  272. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
  273. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
  274. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
  275. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
  276. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
  277. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
  278. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
  279. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
  280. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
  281. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
  282. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
  283. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
  284. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
  285. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
  286. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
  287. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
  288. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
  289. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
  290. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
  291. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
  292. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
  293. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
  294. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
  295. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
  296. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
  297. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
  298. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
  299. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
  300. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
  301. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
  302. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
  303. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
  304. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
  305. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
  306. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
  307. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
  308. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
  309. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
  310. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
  311. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
  312. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
  313. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
  314. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
  315. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
  316. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
  317. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
  318. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
  319. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
  320. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
  321. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
  322. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
  323. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
  324. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
  325. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
  326. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
  327. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
  328. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
  329. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
  330. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
  331. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
  332. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
  333. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
  334. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
  335. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
  336. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
  337. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
  338. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
  339. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
  340. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
  341. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
  342. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
  343. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
  344. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
  345. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
  346. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
  347. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
  348. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
  349. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
  350. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
  351. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
  352. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
  353. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
  354. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
  355. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
  356. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
  357. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
  358. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
  359. package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
  360. package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
  361. package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
  362. package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
  363. package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
  364. package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
  365. package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
  366. package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
  367. package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
  368. package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
  369. package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
  370. package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
  371. package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
  372. package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
  373. package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
  374. package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
  375. package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
  376. package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
  377. package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
  378. package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
  379. package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
  380. package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
  381. package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
  382. package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
  383. package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
  384. package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
  385. package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
  386. package/package.json +22 -17
  387. package/scripts/enact-extensions.mjs +411 -1006
  388. package/scripts/lib/allowed-plugins.mjs +52 -0
  389. package/scripts/lib/build-index.mjs +1 -3
  390. package/scripts/lib/resolve-bundle.mjs +1 -3
  391. package/scripts/lib/run-repo-doctor.mjs +604 -0
  392. package/scripts/lib/run-repo-install.mjs +1651 -0
  393. package/scripts/lib/run-sync.mjs +4 -10
  394. package/scripts/lib/run-validate.mjs +23 -39
  395. package/scripts/lib/skill-validator.mjs +1096 -0
  396. package/spec/enact.json +21 -3
  397. package/spec/enact.md +13 -12
  398. package/spec/kimi.json +100 -0
  399. package/spec/opencode.json +64 -0
  400. package/dist/install.d.ts +0 -235
  401. package/dist/install.d.ts.map +0 -1
  402. package/dist/install.js +0 -697
  403. package/dist/install.js.map +0 -1
  404. package/dist/internal/claude.d.ts +0 -65
  405. package/dist/internal/claude.d.ts.map +0 -1
  406. package/dist/internal/claude.js +0 -200
  407. package/dist/internal/claude.js.map +0 -1
  408. package/dist/internal/codex.d.ts +0 -43
  409. package/dist/internal/codex.d.ts.map +0 -1
  410. package/dist/internal/codex.js +0 -211
  411. package/dist/internal/codex.js.map +0 -1
  412. package/dist/internal/cursor.d.ts +0 -2
  413. package/dist/internal/cursor.d.ts.map +0 -1
  414. package/dist/internal/cursor.js +0 -6
  415. package/dist/internal/cursor.js.map +0 -1
  416. package/dist/principles.d.ts +0 -28
  417. package/dist/principles.d.ts.map +0 -1
  418. package/dist/principles.js +0 -159
  419. package/dist/principles.js.map +0 -1
  420. package/dist/provision.d.ts +0 -30
  421. package/dist/provision.d.ts.map +0 -1
  422. package/dist/provision.js +0 -202
  423. package/dist/provision.js.map +0 -1
  424. package/extensions/dev-state/.agents/plugin.json +0 -36
  425. package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
  426. package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
  427. package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
  428. package/extensions/enact-context/.agents/plugin.json +0 -41
  429. package/extensions/enact-context/.mcp.json +0 -8
  430. package/extensions/enact-context/README.md +0 -25
  431. package/extensions/enact-context/assets/icon.png +0 -0
  432. package/extensions/enact-context/assets/logo.png +0 -0
  433. package/extensions/enact-context/hooks/hooks.json +0 -115
  434. package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
  435. package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
  436. package/extensions/enact-core/.agents/plugin.json +0 -40
  437. package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
  438. package/extensions/enact-core/hooks/hooks.json +0 -26
  439. package/extensions/enact-evolve/.agents/plugin.json +0 -47
  440. package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
  441. package/extensions/enact-evolve/assets/icon.png +0 -0
  442. package/extensions/enact-evolve/assets/logo.png +0 -0
  443. package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
  444. package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
  445. package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
  446. package/extensions/enact-factory/.agents/plugin.json +0 -49
  447. package/extensions/enact-factory/.mcp.json +0 -8
  448. package/extensions/enact-factory/agents/architect.toml +0 -34
  449. package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
  450. package/extensions/enact-factory/agents/critic.toml +0 -39
  451. package/extensions/enact-factory/agents/executor.toml +0 -26
  452. package/extensions/enact-factory/agents/explore.toml +0 -25
  453. package/extensions/enact-factory/agents/planner.toml +0 -26
  454. package/extensions/enact-factory/agents/verifier.toml +0 -33
  455. package/extensions/enact-factory/assets/icon.png +0 -0
  456. package/extensions/enact-factory/assets/logo.png +0 -0
  457. package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
  458. package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
  459. package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
  460. package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
  461. package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
  462. package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
  463. package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
  464. package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
  465. package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
  466. package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
  467. package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
  468. package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
  469. package/extensions/enact-factory/skills/deslop-handover/SKILL.md +0 -97
  470. package/extensions/enact-factory/skills/deslop-handover/deslop.py +0 -181
  471. package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
  472. package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
  473. package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
  474. package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
  475. package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
  476. package/extensions/enact-factory/skills/paseo-dispatch/SKILL.md +0 -141
  477. package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
  478. package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
  479. package/extensions/enact-factory/skills/research/SKILL.md +0 -83
  480. package/extensions/enact-factory/skills/review/SKILL.md +0 -67
  481. package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
  482. package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
  483. package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
  484. package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
  485. package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
  486. package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
  487. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
  488. package/extensions/enact-wiki/.agents/plugin.json +0 -43
  489. package/extensions/enact-wiki/.mcp.json +0 -15
  490. package/extensions/enact-wiki/README.md +0 -44
  491. package/extensions/enact-wiki/assets/icon.png +0 -0
  492. package/extensions/enact-wiki/assets/logo.png +0 -0
  493. package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
  494. package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
  495. package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
  496. package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
  497. package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
  498. package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
  499. package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
  500. package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
  501. package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
  502. package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
  503. package/extensions/net-revenue-management/.agents/plugin.json +0 -40
  504. package/extensions/net-revenue-management/.mcp.json +0 -9
  505. package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
  506. package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
  507. package/extensions/plugin-dev/.agents/plugin.json +0 -41
  508. package/extensions/plugin-dev/agents/agent-creator.md +0 -199
  509. package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
  510. package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
  511. package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
  512. package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
  513. package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
  514. package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
  515. package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
  516. package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
  517. package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
  518. package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
  519. package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
  520. package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
  521. package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
  522. package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
  523. package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
  524. package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
  525. package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
  526. package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
  527. package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
  528. package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
  529. package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
  530. package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
  531. package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
  532. package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
  533. package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
  534. package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  535. package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
  536. package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
  537. package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
  538. package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
  539. package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
  540. package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
  541. package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
  542. package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
  543. package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
  544. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
  545. package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
  546. package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
  547. package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
  548. package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
  549. package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
  550. package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
  551. package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
  552. package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
  553. package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
  554. package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
  555. package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
  556. package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
  557. package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
  558. package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
  559. package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
  560. package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
  561. package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
  562. package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
  563. package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
  564. package/scripts/check-hooks.mjs +0 -174
  565. package/scripts/check-principles.mjs +0 -116
  566. package/scripts/hooks/session-start-drift-check.mjs +0 -49
  567. package/scripts/install.sh +0 -70
  568. package/scripts/lib/auto-update.mjs +0 -88
  569. package/scripts/lib/bundle-hash.mjs +0 -137
  570. package/scripts/lib/hooks.mjs +0 -585
  571. package/scripts/lib/ledger.mjs +0 -163
  572. package/scripts/lib/migrate-artifacts.mjs +0 -144
  573. package/scripts/lib/outdated.mjs +0 -144
  574. package/scripts/lib/postinstall-offer.mjs +0 -83
  575. package/scripts/lib/principles.mjs +0 -109
  576. package/scripts/lib/provision-mcp.mjs +0 -16
  577. package/scripts/lib/resolve-plugin-root.mjs +0 -9
  578. package/scripts/lib/run-install.mjs +0 -507
  579. package/scripts/lib/run-prune.mjs +0 -94
  580. package/scripts/lib/run-uninstall.mjs +0 -244
  581. package/scripts/lib/run-update.mjs +0 -165
  582. package/scripts/lib/serve.mjs +0 -472
  583. package/scripts/lib/ups-router.mjs +0 -392
  584. package/scripts/postinstall.mjs +0 -101
  585. package/scripts/setup-enact-context.sh +0 -28
  586. package/scripts/version-bump.sh +0 -484
  587. package/web/assets/README.md +0 -111
  588. package/web/assets/logo-full.png +0 -0
  589. package/web/assets/logo-slim.png +0 -0
  590. package/web/assets/tokens/base.css +0 -45
  591. package/web/assets/tokens/colors.css +0 -248
  592. package/web/assets/tokens/effects.css +0 -24
  593. package/web/assets/tokens/fonts.css +0 -8
  594. package/web/assets/tokens/index.css +0 -18
  595. package/web/assets/tokens/spacing.css +0 -50
  596. package/web/index.html +0 -1188
@@ -1,394 +0,0 @@
1
- ---
2
- name: drive-loop
3
- description: >-
4
- Teaches factory how to drive a WorkItem through the enact-loop contract runner
5
- using subagents. Use when delivering a work-item, running the loop, driving a
6
- work-item to closure, executing the loop contract, dispatching grader subagents,
7
- or integrating factory with enact-loop. Triggers on "drive a work-item",
8
- "run the loop", "deliver work-item via loop", "loop contract", "grader dispatch",
9
- "loop closure".
10
- metadata:
11
- author: Amsterdam Data Labs
12
- version: 1.0.0
13
- ---
14
-
15
- # drive-loop
16
-
17
- > **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
18
- > 1. `ROOT="$(git rev-parse --show-toplevel)"`
19
- > 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
20
- > 3. Factory artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state and closure summaries go under `~/.enact/loop/projects/<key>/…`.
21
-
22
- ## Model
23
-
24
- **enact-loop** is a domain-neutral contract-runner. **enact-factory** is the
25
- orchestrator. The relationship is process-boundary integration only — no
26
- cross-repo imports, no shared types. Integration is via the `enact-loop` MCP
27
- tools or CLI.
28
-
29
- ```
30
- Factory builds CONTRACT (JSON)
31
- → hands to enact-loop (MCP: loop_start | CLI: enact-loop)
32
- → loop drives each STAGE to closure
33
- → boulder (Stop hook) blocks the agent until every required stage has a PASS
34
- and every judgment stage has an independent GO verdict
35
- → CONTROL RETURNS TO FACTORY
36
- → factory calls pushLoopClosure (enact-factory MCP/CLI)
37
- → lifecycle booleans advance → WorkItem progresses on the board
38
- ```
39
-
40
- No cross-repo imports. The integration boundary is the `enact-loop` MCP tools
41
- and the `enact-factory` MCP/CLI.
42
-
43
- ---
44
-
45
- ## Contract Schema
46
-
47
- Embed the contract as plain JSON when calling `loop_start`. All fields are
48
- required unless marked optional.
49
-
50
- ```json
51
- {
52
- "id": "<uuid>",
53
- "name": "<human-readable name>",
54
- "stages": [
55
- {
56
- "id": "<stage-id>",
57
- "name": "<stage name>",
58
- "type": "mechanical | judgment",
59
- "required": true,
60
- "command": "<shell command>",
61
- "grader": {
62
- "role": "architect | critic | code-reviewer | verifier",
63
- "model": "<model-id — MUST differ from executor>",
64
- "fallbackModels": ["<optional fallback models on 529/overload>"],
65
- "harness": "paseo | subagent",
66
- "rounds": 1
67
- },
68
- "passCriteria": "<optional plain-text pass condition>"
69
- }
70
- ]
71
- }
72
- ```
73
-
74
- ### Rules
75
-
76
- | Stage type | Required fields | Pass condition |
77
- |------------|----------------|----------------|
78
- | `mechanical` | `command` | exit-0 from the command |
79
- | `judgment` | `grader` (with `role`) | independent GO verdict |
80
-
81
- - `grader.model` **MUST** differ from the executor model. Cross-vendor is
82
- preferred (e.g. executor = codex, grader = claude-opus-4-8). No self-grading.
83
- - `grader.fallbackModels` — optional ordered list tried on re-dispatch after spawn failure
84
- (`loop_grader_report_spawn_failure` on 529/overload). Does not consume the round budget.
85
- - `requires` — stages run in contract order; `loop_grade` fails loudly if prerequisites are not
86
- passed: `Cannot pass stage "X": requires stages not yet passed: …`.
87
- - `required: true` → stage must pass before closure is declared.
88
- - Closure = all required stages passed.
89
-
90
- ---
91
-
92
- ## Workflow
93
-
94
- ### Step 1 — Build the contract from the WorkItem
95
-
96
- Inspect the WorkItem's `closureRequirements`. Map each requirement to a stage:
97
-
98
- - Deterministic check → `type: mechanical`, set `command`.
99
- - Subjective quality gate → `type: judgment`, set `grader`.
100
-
101
- > **Authoring note — mechanical stage commands:**
102
- > The `tests` stage command must mirror CI's containerized/Linux-parity
103
- > environment (e.g. `bash scripts/ci-local.sh`), not a bare host run. A
104
- > host-passing suite can still fail the CI Linux agent due to `HOME`/path
105
- > divergence. Where the project exposes a `typecheck:tests` script, include it
106
- > — as its own mechanical stage or folded into the typecheck command
107
- > (`npm run typecheck && npm run typecheck:tests`) — so test-file type
108
- > regressions do not slip past.
109
-
110
- ### Step 2 — Start the loop
111
-
112
- ```
113
- MCP: loop_start({ contract: <contract JSON> })
114
- CLI: enact-loop --contract ./contract.json
115
- ```
116
-
117
- The loop runner takes ownership of the session's Stop hook (the boulder). The
118
- agent cannot stop until the loop signals closure.
119
-
120
- ### Step 3 — Drive mechanical stages
121
-
122
- For each mechanical stage the loop surfaces (after any `requires` preconditions pass):
123
-
124
- 1. Call `loop_grade({ stageId, timeoutMs? })` — the engine runs the stage `command` in the loop
125
- root cwd and records pass/fail from exit code.
126
- 2. Caller-supplied `status`, `pass`, or `output` are **rejected** — do not run the command
127
- separately and self-report.
128
-
129
- Repeat until the stage passes or the loop escalates to a retry/fail policy.
130
-
131
- ### Step 4 — Drive judgment stages (INDEPENDENT GRADER SUBAGENT)
132
-
133
- For each judgment stage:
134
-
135
- 1. Call `loop_grader_dispatch({ stageId, childSessionId?, childAgentId? })` — mints `continuationId`.
136
- 2. Spawn an **independent subagent** on a **different model** (never the executor's model or
137
- session). Pass grader role metadata so the grader MCP session is gated:
138
- `_meta.enactLoop: { sessionRole: "grader", sessionId, continuationId }` or env vars
139
- `ENACT_LOOP_SESSION_ROLE=grader`, `ENACT_LOOP_CONTINUATION_ID=<uuid>`.
140
-
141
- ```
142
- Agent({
143
- subagent_type: "<role>", // architect | critic | code-reviewer | verifier
144
- model: "<grader model>", // MUST differ from executor
145
- prompt: "<artifact + passCriteria + GO/NO-GO instruction>"
146
- })
147
- ```
148
-
149
- 3. The grader reviews and returns a verdict envelope (GO/NO-GO + evidence). Grader child sessions
150
- have **no closure authority** — runtime rejects dispatch/resume/complete/grade/summary tools.
151
- Graders may only call `loop_grader_verdict`, `loop_status`, `loop_stop_evaluate`.
152
- 4. On grader spawn failure (529/overload): `loop_grader_report_spawn_failure({ continuationId, error })`
153
- then re-dispatch (auto-selects next `fallbackModels` entry).
154
- 5. **Driver-relayed (default):** executor records via `loop_grader_verdict` with
155
- `captureSource: "relayed"` and the minted `continuationId`.
156
- **Direct:** grader child may call `loop_grader_verdict` with `captureSource: "direct"`.
157
- Without dispatch → `E_UNKNOWN_GRADER_SESSION`. Grader timeout → `grader-unavailable` blocker.
158
-
159
- > **Paseo graders — use `factory_paseo_grader_run` for structured capture.** When a judgment
160
- > stage runs on Paseo (`harness: "paseo"`, or `grader.dispatchTool: "factory_paseo_grader_run"`),
161
- > the factory MCP tool `factory_paseo_grader_run` runs the grader with
162
- > `paseo run --output-schema --json --wait-timeout` so **stdout is the validated `{verdict,
163
- > evidence}` object** — no `paseo logs | grep`. It bakes in the per-provider `--mode`
164
- > (codex `auto-review` so on-request approvals don't block, kimi `auto`, cursor default, opencode MiniMax M3 `--mode plan --thinking on`) and recovers the actual resolved model via
165
- > `paseo ls --label` / `inspect`, which you relay as `graderModelActual` on `loop_grader_verdict`.
166
- > Full design: `enact-loop/docs/design/2026-06-22-paseo-verdict-capture.md`.
167
-
168
- The boulder prevents the session from completing until every judgment stage has a GO from an
169
- independent grader.
170
-
171
- ### Step 5 — Closure → factory lifecycle advance
172
-
173
- When all required stages pass (executor/driver owns closure):
174
-
175
- 1. Run `enact-loop summary write` (driver only — graders cannot author summaries).
176
- 2. Call `loop_complete` via MCP.
177
- 3. Treat `~/.enact/loop/projects/<key>/state/` as the active surface only.
178
- The next `loop_start` archives the prior terminal loop into
179
- `~/.enact/loop/projects/<key>/archive/<loop-id>-<contract-id>/`, including
180
- `loop.json`, `closure-manifest.json`, `grader-sessions.json`,
181
- `summary-current.json`, and the loop's timestamped summaries.
182
- 4. Call `pushLoopClosure` (enact-factory MCP/CLI) with the loop's closure record.
183
- 5. Factory maps closure → lifecycle booleans → WorkItem advances on the board.
184
-
185
- **Branch base:** `integration`. **No `git stash` during an active loop** — stash invalidates
186
- worktree fingerprints and stale verdicts.
187
-
188
- **Stacked-wave squash merges:** feature PRs squash into `integration`; later waves may conflict in
189
- shared barrel/test/snapshot files. When the wave branch is a superset of `integration`, resolution
190
- is usually `git checkout --ours -- <paths>` on those shared files — do not panic.
191
-
192
- **Summary + active loop:** CLI and MCP must share the same workspace root. `summary write` stamps
193
- `summary-current.json` keyed to active `loop.id`. If closure fails with loop-id mismatch, re-run
194
- summary write from the same cwd as MCP (`enact-loop mcp .`).
195
-
196
- ---
197
-
198
- ## Agent Roster (grader candidates)
199
-
200
- Use these roles as `grader.role`. Each must run on a model/session distinct
201
- from the executor.
202
-
203
- | Role | Use for |
204
- |------|---------|
205
- | `architect` | design correctness, interface shape, system fit |
206
- | `critic` | adversarial quality and risk review |
207
- | `code-reviewer` | implementation correctness, test coverage, style |
208
- | `verifier` | evidence that the deliverable meets acceptance criteria |
209
- | `explore` | read-only scoping (typically pre-grader, not a grader itself) |
210
- | `planner` | plan review (judgment on the plan artifact, not execution) |
211
-
212
- ---
213
-
214
- ## Tiered contract shaping + grader ops
215
-
216
- > This matters: in a validated 3-wave run, the two-judgment Frontend/UI contract shape
217
- > and cross-vendor model-distinct graders caught FIVE real defects (faked-AA contrast,
218
- > missing focus indicator, consumer-prop a11y override, untested variant, theme flash)
219
- > that all mechanical gates passed.
220
-
221
- ### Shape the contract by tier
222
-
223
- | Tier | Mechanical stages | Judgment stages |
224
- |---|---|---|
225
- | Frontend / UI | tests, typecheck, lint, build, a11y-scan | `code-review` (impl correctness) + `verify` (acceptance criteria met) |
226
- | Backend / logic | tests, typecheck, lint | `code-review` (+ optional `verify` for high blast-radius) |
227
- | Docs | build | ONE lighter `review` (e.g. `critic` for scope fidelity) |
228
- | Infra / CI | pipeline-validation, tests | architecture-fit + pipeline-correctness |
229
-
230
- Frontend/UI gets **two** judgment stages because visual, a11y, and consumer-API
231
- surfaces require both implementation review and evidence the deliverable meets
232
- acceptance criteria in a real surface.
233
-
234
- ### Paseo grader operational notes
235
-
236
- #### Grader selection — cheap default + risk-based escalation
237
-
238
- **MiniMax M3** (`minimax-coding-plan/MiniMax-M3`, always `--thinking on`) and **kimi K2.7** are the default cheap graders for routine judgment
239
- (~80% of grading). Escalate to a strong cross-vendor grader when:
240
- - Frontend / UI a11y or visual / UX judgment → `advisor` = **GPT-5.6 Sol High** (or opus 4.8 if executor was codex)
241
- - Security, public API / barrel / contract changes → **opus 4.8**
242
- - Architecture decisions / risky or irreversible migrations → `committee` (opus 4.8 + GPT-5.6 Terra)
243
-
244
- **Independence (hard gate — model-distinct):** grader model ≠ executor model. MiniMax M3
245
- (`minimax-coding-plan/MiniMax-M3`, always `--thinking on`) / kimi K2.7 are vendor-distinct from both sonnet and codex workers, so default cheap graders are always
246
- independent. On escalation keep cross-vendor: grade codex work with **opus** (not GPT-5.6 Sol — same
247
- OpenAI lineage); grade sonnet work with GPT-5.6 Sol High / opus / minimax / kimi.
248
-
249
- #### Permission modes (REQUIRED — non-default modes prevent stall/empty sessions)
250
-
251
- | Provider | Paseo flag | Notes |
252
- |---|---|---|
253
- | `codex` | `--mode auto-review` | Routes the grader's eligible `on-request` approvals through codex's auto-reviewer subagent instead of BLOCKING — without it a grader can stall on an approval (e.g. a cargo/network fetch during build verification). `--mode bypass` is rejected by codex |
254
- | `cursor` | default / agent | `--mode bypass` is a claude mode, NOT cursor's — previously documented wrong |
255
- | `kimi` | `--mode auto` | Same as codex |
256
- | `opencode` (MiniMax M3) | `--mode plan --thinking on` | Required for every MiniMax M3 dispatch |
257
-
258
- Codex mode enum (authoritative): `read-only` · `auto` · `auto-review` · `full-access`. The grader
259
- stays read-only BY PROMPT; `auto-review` only governs approval handling and composes with
260
- `--output-schema` verdict capture. Flip a running grader with `paseo agent mode <id> auto-review`.
261
-
262
- #### Sonnet-executor caveat
263
-
264
- `cursor` (`cursor/claude-sonnet-4-6`) is NOT model-distinct from a sonnet executor.
265
- Use **MiniMax M3** (`minimax-coding-plan/MiniMax-M3`, always `--thinking on`) or **kimi K2.7** as the clean default cheap graders for sonnet-executor work;
266
- escalate to opus 4.8 / GPT-5.6 Sol High for high-risk judgment. Reserve `cursor` for opus-tier executors.
267
-
268
- #### Verdict capture — structured `--output-schema`, not log-scraped
269
-
270
- Dispatch the grader with:
271
- `paseo run --provider <graderModel> --mode auto-review --output-schema <verdict.json> --json --label continuation=<cid>`
272
- — stdout is the validated `{verdict, evidence}` object (verified on codex / cursor / opencode / kimi;
273
- coexists with tool use). On the codex provider, `--mode auto-review` keeps on-request approvals from
274
- blocking the grader (read-only stays enforced by prompt). Recover actual grader model + cost via
275
- `paseo ls -a --label continuation=<cid> --json` + `paseo inspect <id> --json`. Watch live by
276
- recovering the id by label then `paseo attach <id>`.
277
- Design doc: `enact-loop/docs/design/2026-06-22-paseo-verdict-capture.md`.
278
-
279
- #### fallbackModels rotation on spawn failure
280
-
281
- 1. Record the failure: `loop_grader_report_spawn_failure({ continuationId, error })`.
282
- 2. Re-dispatch: `loop_grader_dispatch` auto-selects the next `fallbackModels` entry.
283
- 3. With no `model`, re-dispatch auto-advances `fallbackModels`; pass an explicit `model` to **pin
284
- a specific grader** (the override is honored verbatim, not consumed by the pointer). Record the
285
- verdict under the minted `continuationId` and set `graderModelActual` to the model that actually
286
- ran. Independence holds as long as the actual grader model ≠ executor model.
287
-
288
- #### Verdict relay when structured capture is unavailable
289
-
290
- Preferred: call `factory_paseo_grader_run` (wraps `paseo run --output-schema <verdict.json>
291
- --json --wait-timeout --label continuation=<cid>`) — stdout is the validated `{verdict, evidence}`
292
- object, no log parsing — and it returns the resolved `graderModelActual` for provenance.
293
- Fallback (provider without schema support): `paseo wait <id> --json` and read `.message` (the final
294
- assistant text is guaranteed there) — never raw `paseo logs` scraping.
295
-
296
- ---
297
-
298
- ## Worked Example — Bug Delivery
299
-
300
- ```json
301
- {
302
- "id": "wi-2041-bug-null-crash",
303
- "name": "Bug WI-2041: null crash in session handler",
304
- "stages": [
305
- {
306
- "id": "unit-tests",
307
- "name": "Unit tests pass",
308
- "type": "mechanical",
309
- "required": true,
310
- "command": "cd codex-rs && cargo test --features codex-cli/enact --no-fail-fast -- --test-threads=2",
311
- "passCriteria": "exit 0, no test failures"
312
- },
313
- {
314
- "id": "regression-evidence",
315
- "name": "Regression test covers the crash path",
316
- "type": "mechanical",
317
- "required": true,
318
- "command": "grep -r 'null_session' codex-rs/src --include='*.rs' -l",
319
- "passCriteria": "at least one file references the regression path"
320
- },
321
- {
322
- "id": "code-review",
323
- "name": "Independent code review: GO on fix correctness",
324
- "type": "judgment",
325
- "required": true,
326
- "grader": {
327
- "role": "code-reviewer",
328
- "model": "claude-opus-4-8",
329
- "harness": "subagent",
330
- "rounds": 1
331
- },
332
- "passCriteria": "fix is minimal, regression is covered, no obvious regressions introduced"
333
- },
334
- {
335
- "id": "verifier-signoff",
336
- "name": "Verifier confirms acceptance criteria met",
337
- "type": "judgment",
338
- "required": true,
339
- "grader": {
340
- "role": "verifier",
341
- "model": "claude-opus-4-8",
342
- "harness": "subagent",
343
- "rounds": 1
344
- },
345
- "passCriteria": "WI-2041 acceptance criteria satisfied; crash path eliminated"
346
- }
347
- ]
348
- }
349
- ```
350
-
351
- **Execution trace:**
352
-
353
- 1. Factory builds this contract from WI-2041's `closureRequirements`.
354
- 2. `loop_start({ contract })` — boulder active.
355
- 3. Loop surfaces `unit-tests` → `loop_grade({ stageId: "unit-tests" })` — engine runs cargo test.
356
- 4. Loop surfaces `regression-evidence` → `loop_grade({ stageId: "regression-evidence" })`.
357
- 5. Loop surfaces `code-review` →
358
- `loop_grader_dispatch({ stageId: "code-review" })` →
359
- spawn `code-reviewer` subagent on `claude-opus-4-8` →
360
- driver relays GO via
361
- `loop_grader_verdict({ stageId: "code-review", continuationId, verdict: "GO", evidence: "...", captureSource: "relayed", ... })`.
362
- 6. Loop surfaces `verifier-signoff` →
363
- `loop_grader_dispatch({ stageId: "verifier-signoff" })` →
364
- spawn `verifier` subagent → driver relays GO via `loop_grader_verdict`.
365
- 7. All required stages passed → `enact-loop summary write` → `loop_complete`.
366
- 8. Factory calls `pushLoopClosure(closureRecord)` → WI-2041 advances to Done.
367
-
368
- ---
369
-
370
- ## Anti-patterns
371
-
372
- - **Never self-grade judgment stages.** Grader must run on a different model and session.
373
- - **Never self-report mechanical passes.** Use `loop_grade({ stageId })` — the engine runs the command.
374
- - **Never stash during an active loop.** Stash invalidates worktree fingerprints.
375
- - **Never skip the boulder.** Do not call loop completion tools unless all
376
- required stages have passed — the boulder enforces this, but do not attempt
377
- to work around it.
378
- - **Never import enact-loop types directly.** The boundary is MCP/CLI only.
379
- No shared module imports between factory and loop.
380
- - **Judgment without a grader spec is invalid.** Every `type: judgment` stage
381
- must have a `grader` field with at least `role` set.
382
-
383
- ---
384
-
385
- ## Related Skills
386
-
387
- - `workitem-triage` — read-only triage of the WorkItem board (use before
388
- building the contract to confirm the WorkItem is ready for delivery).
389
- - `azdo-ci-strategy` — branch/PR/release strategy for integrating delivered
390
- work into `integration` and `main`.
391
- - `testing-strategy` — when a mechanical stage runs tests, use this skill to
392
- pick the right test mode.
393
-
394
- See `references/contract-schema.md` for the full contract schema reference.
@@ -1,127 +0,0 @@
1
- # Contract Schema Reference
2
-
3
- Full schema for the JSON object passed to `loop_start`. This is a progressive
4
- disclosure supplement to `SKILL.md`.
5
-
6
- ---
7
-
8
- ## Contract (root)
9
-
10
- | Field | Type | Required | Description |
11
- |-------|------|----------|-------------|
12
- | `id` | string (uuid) | yes | Stable unique identifier. Use the WorkItem id or a derived uuid. |
13
- | `name` | string | yes | Human-readable name shown in loop progress output. |
14
- | `stages` | Stage[] | yes | Ordered list of stages. Mechanical stages run first; judgment stages may interleave. |
15
-
16
- ---
17
-
18
- ## Stage
19
-
20
- | Field | Type | Required when | Description |
21
- |-------|------|---------------|-------------|
22
- | `id` | string | always | Stable slug. Referenced by `loop_grade` and `loop_grader_verdict`. |
23
- | `name` | string | always | Human-readable label. |
24
- | `type` | `"mechanical" \| "judgment"` | always | Determines which fields are used and how pass is determined. |
25
- | `required` | boolean | always | `true` → must pass before closure. `false` → informational only. |
26
- | `requires` | string[] | optional | Stage ids that must pass before this stage may run. |
27
- | `command` | string | mechanical | Shell command run by the engine via `loop_grade` in loop root cwd. Exit 0 = pass. |
28
- | `grader` | GraderSpec | judgment | Specification for the independent grader subagent. |
29
- | `passCriteria` | string | optional | Plain-text description of what constitutes a pass. Included in grader prompts. |
30
-
31
- ---
32
-
33
- ## GraderSpec
34
-
35
- | Field | Type | Required | Description |
36
- |-------|------|----------|-------------|
37
- | `role` | `"architect" \| "critic" \| "code-reviewer" \| "verifier"` | yes | Determines the subagent type spawned. |
38
- | `model` | string | recommended | Model ID for the grader. **Must differ from the executor model.** Cross-vendor preferred. Omit only if the harness selects automatically. |
39
- | `harness` | `"paseo" \| "subagent"` | optional | How to dispatch. Default: `subagent`. Use `paseo` when the grader needs multi-step tool access. |
40
- | `dispatchTool` | string | optional | Factory tool the driver uses to run a Paseo grader and capture a structured verdict — `"factory_paseo_grader_run"` (runs `paseo run --provider <graderModel> --mode auto-review --output-schema --json`, returns `{verdict, evidence}` + `graderModelActual`). On the codex provider `--mode auto-review` routes on-request approvals through the auto-reviewer subagent so the grader doesn't BLOCK (read-only stays enforced by prompt). Replaces `paseo logs` scraping. |
41
- | `rounds` | integer | optional | Number of independent grading rounds before aggregating. Default: `1`. |
42
- | `timeoutMs` | integer | optional | Grader session timeout in ms (default 30 min). Timeout → `grader-unavailable` blocker. |
43
-
44
- ---
45
-
46
- ## Validation Rules
47
-
48
- 1. Every `type: judgment` stage **must** have `grader` with `role` set.
49
- 2. Every `type: mechanical` stage **must** have `command` set.
50
- 3. `grader.model` must differ from the executor's model — enforced at
51
- `loop_grader_dispatch` time.
52
- 4. At least one stage must be `required: true`, or the contract is trivially
53
- closed and should not be submitted to the loop.
54
- 5. Stage `id` values must be unique within the contract.
55
- 6. `requires` references must point to existing stage ids; cycles are rejected.
56
- 7. **(Hard requirement #9 — tests stage Linux parity)** The `tests` stage
57
- `command` **must** invoke a Linux-parity / containerized runner (e.g.
58
- `bash scripts/ci-local.sh`) — not a bare host `npm test`. A host suite can
59
- pass green while the same deliverable fails the CI Linux agent due to
60
- `HOME`/path divergence.
61
- 8. **(Rule #7 — typecheck:tests)** When the project has a separate test-file
62
- typecheck script (`typecheck:tests`), it **must** be included — either as its
63
- own mechanical stage or folded into the typecheck stage command (e.g.
64
- `npm run typecheck && npm run typecheck:tests`). Omitting it allows test-file
65
- type regressions to slip past undetected.
66
-
67
- ---
68
-
69
- ## Closure Definition
70
-
71
- A contract reaches **closure** when:
72
-
73
- - Every stage where `required: true` has status `PASSED`.
74
- - `PASSED` means:
75
- - `mechanical`: `loop_grade({ stageId })` ran the command and exit code was 0.
76
- - `judgment`: `loop_grader_verdict` recorded `verdict: "GO"` with a valid
77
- dispatch-minted `continuationId` (`captureSource`: `relayed` or `direct`).
78
- - Executor/driver authored a current closure summary via `enact-loop summary write`.
79
- - `loop_complete` called from phase `verifying`.
80
-
81
- Worktree fingerprint drift invalidates stale `passed` verdicts. `loop_retarget`
82
- preserves verdicts only when `id + type + worktreeFingerprint` match.
83
-
84
- Optional stages (`required: false`) do not block closure but their results
85
- are included in the closure record returned to factory.
86
-
87
- ---
88
-
89
- ## MCP Tool Reference
90
-
91
- | Tool | When to call | Key params |
92
- |------|-------------|------------|
93
- | `loop_start` | Once, at the start of the delivery | `{ contract: <Contract JSON> }` |
94
- | `loop_grade` | For each mechanical stage | `{ stageId, timeoutMs? }` — engine runs command; rejects `status`/`evidence` |
95
- | `loop_grader_dispatch` | Before spawning the grader subagent | `{ stageId }` → `continuationId` |
96
- | `loop_grader_verdict` | After grader returns verdict envelope | `{ stageId, continuationId, verdict, evidence, graderAgentId, graderSessionId, captureSource? }` |
97
-
98
- Factory-side tool (after loop closure):
99
-
100
- | Tool | When to call | Key params |
101
- |------|-------------|------------|
102
- | `pushLoopClosure` | Once, after loop signals closure | `{ closureRecord }` |
103
-
104
- ---
105
-
106
- ## Example: Minimal Contract (single mechanical stage)
107
-
108
- ```json
109
- {
110
- "id": "wi-9999-minimal",
111
- "name": "Minimal: lint only",
112
- "stages": [
113
- {
114
- "id": "lint",
115
- "name": "Lint passes",
116
- "type": "mechanical",
117
- "required": true,
118
- "command": "cargo clippy --workspace -- -D warnings"
119
- }
120
- ]
121
- }
122
- ```
123
-
124
- ## Example: Full Contract (mixed mechanical + judgment)
125
-
126
- See `SKILL.md` worked example (WI-2041 Bug Delivery) for a four-stage
127
- mixed contract with two mechanical and two judgment stages.
@@ -1,75 +0,0 @@
1
- ---
2
- name: handoff
3
- description: >-
4
- Delegate a WorkItem to a detached agent with a self-contained briefing, and
5
- record the assignment on the factory board. Use when asked to "hand off",
6
- "delegate this work-item", "assign to an agent", "spin up a detached agent for
7
- this item", or when the driver wants to fan out an independent item rather than
8
- drive it inline. The factory tracks the handoff via factory_assignment_record.
9
- metadata:
10
- author: Amsterdam Data Labs
11
- version: 1.0.0
12
- ---
13
-
14
- # handoff
15
-
16
- > **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
17
- > 1. `ROOT="$(git rev-parse --show-toplevel)"`
18
- > 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
19
- > 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state and closure summaries go under `~/.enact/loop/projects/<key>/…`.
20
-
21
- Package a WorkItem into a briefing complete enough that a fresh detached agent
22
- can deliver it without the driver's context, launch that agent, and **record the
23
- assignment on the board**. The board-tracking (`factory_assignment_record`) is
24
- the factory value-add the generic delegate pattern lacks.
25
-
26
- ## Boundaries (hard)
27
-
28
- - **The briefing must be self-contained.** The detached agent does not share
29
- your context — everything it needs goes in the brief. A handoff that assumes
30
- the receiver "knows what we discussed" is a defect.
31
- - **Record every handoff.** Call `factory_assignment_record` so the board
32
- reflects the assignment. An untracked detached agent is invisible work — fail
33
- loud rather than launch without recording.
34
- - **Scope unchanged.** Handoff delegates the item as-is; it does not toggle
35
- repos, change scope, or split the item. Out-of-scope discoveries → new
36
- WorkItem (the receiver follows the same rule).
37
- - **The receiver still drives the loop** (its own contract + cross-vendor
38
- grader). Handoff delegates the work, not the gates. When the receiver
39
- dispatches a grader via Paseo on the codex provider, it passes
40
- `--mode auto-review` so the grader's on-request approvals don't block (the
41
- grader stays read-only by prompt); see `drive-loop`.
42
-
43
- ## Sequence
44
-
45
- 1. `factory_workitem_get` → build the self-contained briefing:
46
- - goal + acceptance criteria + closure requirements
47
- - lifecycle state + next required boolean
48
- - blockers / dependencies (must be satisfied before handoff)
49
- - branch base (`integration`) + worktree, relevant files/paths
50
- - the loop contract to run (or instruction to build one via `drive-loop`)
51
- - latest timestamped plan / verification / requirements artifact paths when present
52
- - current loop closure summary path (`summary-current.json` / `enact-loop summary show`) when resuming an active loop
53
- 2. `EnterWorktree` to isolate the receiver's workspace.
54
- 3. Launch the receiver as a **detached agent** carrying the briefing (a detached
55
- subagent, or via the factory's Paseo dispatch) with `notifyOnFinish`; do not
56
- poll it.
57
- 4. **`factory_assignment_record({ workItemId, repoRoot, host, operatorLane,
58
- dispatcher, paseoAgentId, paseoWorktree, status: 'active' })`** — register the
59
- assignment so the board tracks it. (To update its state later — e.g.
60
- `paseoStatus`, `status: 'completed'` — call `factory_assignment_record` again
61
- with the returned `assignmentId`.)
62
-
63
- ## Output
64
-
65
- `{ workItemId, assignmentId, branch, worktree, recorded: true }`. If
66
- `factory_assignment_record` fails, treat the handoff as failed — surface it and
67
- do not leave an unrecorded detached agent running.
68
-
69
- ## Related
70
-
71
- - [`work-with-workitem`](../work-with-workitem/SKILL.md) — the delivery lane the
72
- receiver runs.
73
- - [`drive-loop`](../drive-loop/SKILL.md) — the contract the receiver drives.
74
- - [`autonomous-runner`](../autonomous-runner/SKILL.md) — the driver that may hand
75
- off independent items instead of driving them inline.
@@ -1,59 +0,0 @@
1
- ---
2
- name: hyperplan
3
- description: "Three-round adversarial planning debate that hands a distilled bundle to $plan instead of writing the final plan directly."
4
- ---
5
-
6
- # Hyperplan
7
-
8
- > **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
9
- > 1. `ROOT="$(git rev-parse --show-toplevel)"`
10
- > 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
11
- > 3. Loop artifacts go under `~/.enact/factory/projects/<key>/…`.
12
-
13
- ## Purpose
14
-
15
- Use `$hyperplan` when a plan needs adversarial pressure before execution starts.
16
-
17
- ## Debate Team
18
-
19
- Use exactly this 4-agent team:
20
-
21
- - `critic`
22
- - `critic`
23
- - `architect`
24
- - `explore`
25
-
26
- The original openagent placeholder names are not used here.
27
-
28
- ## Rounds
29
-
30
- Run exactly 3 rounds:
31
-
32
- 1. independent analysis
33
- 2. cross-attack
34
- 3. defend, refine, or concede
35
-
36
- Persist each round under:
37
-
38
- - `~/.enact/factory/projects/<key>/hyperplan/<sessionId>/<YYMMDDHH>-round-1.md`
39
- - `~/.enact/factory/projects/<key>/hyperplan/<sessionId>/<YYMMDDHH>-round-2.md`
40
- - `~/.enact/factory/projects/<key>/hyperplan/<sessionId>/<YYMMDDHH>-round-3.md`
41
-
42
- Resolve `<key>` from `~/.enact/workspaces.json`; get the timestamp prefix via `date +%y%m%d%H`. **Append-only:** each debate run writes fresh round files; never overwrite prior `YYMMDDHH-round-*.md` artifacts.
43
-
44
- ## Handoff Rule
45
-
46
- The lead agent does not write the final implementation plan directly.
47
- After round 3, hand the distilled debate bundle to a separate `$plan` invocation.
48
- `$plan` must read the latest `hyperplan/<sessionId>/<YYMMDDHH>-round-*.md` files before writing new timestamped plan artifacts.
49
-
50
- ## Execution Notes
51
-
52
- - use `explore` to gather the evidence bundle before critique
53
- - use the two `critic` agents to take opposing positions in the cross-attack round
54
- - use `architect` to synthesize the final structured verdict and tradeoffs
55
- - do not skip a round because the first opinion looked sufficient
56
-
57
- ## Activation
58
-
59
- Invoke with `$hyperplan` or `$enact-loop:hyperplan`. The skill is stateless — it produces a debate bundle and hands off to `$plan`. No durable workflow state is started automatically.