@mc-and-his-agents/loom-installer 0.1.1 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (701) hide show
  1. package/README.md +27 -19
  2. package/dist/src/codex.js +1 -1
  3. package/dist/test/installer.test.js +167 -0
  4. package/package.json +1 -1
  5. package/payload/manifest.json +1593 -1248
  6. package/payload/plugin/loom/.codex-plugin/plugin.json +6 -6
  7. package/payload/plugin/loom/skills/README.md +43 -98
  8. package/payload/plugin/loom/skills/distribution-and-adapter-contract.md +9 -8
  9. package/payload/plugin/loom/skills/shared/references/harness/automation-frontload.md +5 -5
  10. package/payload/plugin/loom/skills/shared/scripts/loom_check.py +284 -97
  11. package/payload/skills/loom-adopt/.loom-runtime/README.md +73 -0
  12. package/payload/skills/loom-adopt/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  13. package/payload/skills/loom-adopt/.loom-runtime/install-layout.json +27 -13
  14. package/payload/skills/loom-adopt/.loom-runtime/loom-adopt/contract.json +13 -13
  15. package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/SKILL.md +23 -0
  16. package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
  17. package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/contract.json +53 -0
  18. package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
  19. package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
  20. package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
  21. package/payload/skills/loom-adopt/.loom-runtime/loom-init/SKILL.md +246 -0
  22. package/payload/skills/loom-adopt/.loom-runtime/loom-init/agents/openai.yaml +4 -0
  23. package/payload/skills/loom-adopt/.loom-runtime/loom-init/contract.json +76 -0
  24. package/payload/skills/loom-adopt/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
  25. package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
  26. package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
  27. package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/contract.json +49 -0
  28. package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
  29. package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
  30. package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
  31. package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/SKILL.md +69 -0
  32. package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
  33. package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/contract.json +41 -0
  34. package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
  35. package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
  36. package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
  37. package/payload/skills/loom-adopt/.loom-runtime/loom-resume/SKILL.md +72 -0
  38. package/payload/skills/loom-adopt/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
  39. package/payload/skills/loom-adopt/.loom-runtime/loom-resume/contract.json +47 -0
  40. package/payload/skills/loom-adopt/.loom-runtime/loom-resume/references/input-signals.md +15 -0
  41. package/payload/skills/loom-adopt/.loom-runtime/loom-resume/references/output-contract.md +58 -0
  42. package/payload/skills/loom-adopt/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
  43. package/payload/skills/loom-adopt/.loom-runtime/loom-retire/SKILL.md +26 -0
  44. package/payload/skills/loom-adopt/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
  45. package/payload/skills/loom-adopt/.loom-runtime/loom-retire/contract.json +41 -0
  46. package/payload/skills/loom-adopt/.loom-runtime/loom-retire/references/input-signals.md +7 -0
  47. package/payload/skills/loom-adopt/.loom-runtime/loom-retire/references/output-contract.md +13 -0
  48. package/payload/skills/loom-adopt/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
  49. package/payload/skills/loom-adopt/.loom-runtime/loom-review/SKILL.md +95 -0
  50. package/payload/skills/loom-adopt/.loom-runtime/loom-review/agents/openai.yaml +4 -0
  51. package/payload/skills/loom-adopt/.loom-runtime/loom-review/contract.json +49 -0
  52. package/payload/skills/loom-adopt/.loom-runtime/loom-review/references/input-signals.md +15 -0
  53. package/payload/skills/loom-adopt/.loom-runtime/loom-review/references/output-contract.md +57 -0
  54. package/payload/skills/loom-adopt/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
  55. package/payload/skills/loom-adopt/.loom-runtime/registry.json +57 -8
  56. package/payload/skills/loom-adopt/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  57. package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  58. package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/loom_check.py +325 -97
  59. package/payload/skills/loom-adopt/.loom-runtime/upgrade-contract.json +17 -17
  60. package/payload/skills/loom-adopt/SKILL.md +9 -9
  61. package/payload/skills/loom-adopt/contract.json +13 -13
  62. package/payload/skills/loom-adopt/references/input-signals.md +1 -1
  63. package/payload/skills/loom-adopt/references/output-contract.md +1 -1
  64. package/payload/skills/loom-adopt/scripts/loom-adopt.py +0 -0
  65. package/payload/skills/loom-handoff/.loom-runtime/README.md +73 -0
  66. package/payload/skills/loom-handoff/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  67. package/payload/skills/loom-handoff/.loom-runtime/install-layout.json +27 -13
  68. package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/SKILL.md +80 -0
  69. package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
  70. package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/contract.json +45 -0
  71. package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
  72. package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
  73. package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
  74. package/payload/skills/loom-handoff/.loom-runtime/loom-handoff/contract.json +13 -13
  75. package/payload/skills/loom-handoff/.loom-runtime/loom-init/SKILL.md +246 -0
  76. package/payload/skills/loom-handoff/.loom-runtime/loom-init/agents/openai.yaml +4 -0
  77. package/payload/skills/loom-handoff/.loom-runtime/loom-init/contract.json +76 -0
  78. package/payload/skills/loom-handoff/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
  79. package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
  80. package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
  81. package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/contract.json +49 -0
  82. package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
  83. package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
  84. package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
  85. package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/SKILL.md +69 -0
  86. package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
  87. package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/contract.json +41 -0
  88. package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
  89. package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
  90. package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
  91. package/payload/skills/loom-handoff/.loom-runtime/loom-resume/SKILL.md +72 -0
  92. package/payload/skills/loom-handoff/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
  93. package/payload/skills/loom-handoff/.loom-runtime/loom-resume/contract.json +47 -0
  94. package/payload/skills/loom-handoff/.loom-runtime/loom-resume/references/input-signals.md +15 -0
  95. package/payload/skills/loom-handoff/.loom-runtime/loom-resume/references/output-contract.md +58 -0
  96. package/payload/skills/loom-handoff/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
  97. package/payload/skills/loom-handoff/.loom-runtime/loom-retire/SKILL.md +26 -0
  98. package/payload/skills/loom-handoff/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
  99. package/payload/skills/loom-handoff/.loom-runtime/loom-retire/contract.json +41 -0
  100. package/payload/skills/loom-handoff/.loom-runtime/loom-retire/references/input-signals.md +7 -0
  101. package/payload/skills/loom-handoff/.loom-runtime/loom-retire/references/output-contract.md +13 -0
  102. package/payload/skills/loom-handoff/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
  103. package/payload/skills/loom-handoff/.loom-runtime/loom-review/SKILL.md +95 -0
  104. package/payload/skills/loom-handoff/.loom-runtime/loom-review/agents/openai.yaml +4 -0
  105. package/payload/skills/loom-handoff/.loom-runtime/loom-review/contract.json +49 -0
  106. package/payload/skills/loom-handoff/.loom-runtime/loom-review/references/input-signals.md +15 -0
  107. package/payload/skills/loom-handoff/.loom-runtime/loom-review/references/output-contract.md +57 -0
  108. package/payload/skills/loom-handoff/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
  109. package/payload/skills/loom-handoff/.loom-runtime/registry.json +56 -7
  110. package/payload/skills/loom-handoff/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  111. package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  112. package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/loom_check.py +325 -97
  113. package/payload/skills/loom-handoff/.loom-runtime/upgrade-contract.json +17 -17
  114. package/payload/skills/loom-handoff/SKILL.md +2 -2
  115. package/payload/skills/loom-handoff/contract.json +13 -13
  116. package/payload/skills/loom-handoff/scripts/loom-handoff.py +0 -0
  117. package/payload/skills/loom-init/.loom-runtime/README.md +73 -0
  118. package/payload/skills/loom-init/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  119. package/payload/skills/loom-init/.loom-runtime/install-layout.json +27 -13
  120. package/payload/skills/loom-init/.loom-runtime/loom-adopt/SKILL.md +80 -0
  121. package/payload/skills/loom-init/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
  122. package/payload/skills/loom-init/.loom-runtime/loom-adopt/contract.json +45 -0
  123. package/payload/skills/loom-init/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
  124. package/payload/skills/loom-init/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
  125. package/payload/skills/loom-init/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
  126. package/payload/skills/loom-init/.loom-runtime/loom-handoff/SKILL.md +23 -0
  127. package/payload/skills/loom-init/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
  128. package/payload/skills/loom-init/.loom-runtime/loom-handoff/contract.json +53 -0
  129. package/payload/skills/loom-init/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
  130. package/payload/skills/loom-init/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
  131. package/payload/skills/loom-init/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
  132. package/payload/skills/loom-init/.loom-runtime/loom-init/contract.json +34 -34
  133. package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
  134. package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
  135. package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/contract.json +49 -0
  136. package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
  137. package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
  138. package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
  139. package/payload/skills/loom-init/.loom-runtime/loom-pre-review/SKILL.md +69 -0
  140. package/payload/skills/loom-init/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
  141. package/payload/skills/loom-init/.loom-runtime/loom-pre-review/contract.json +41 -0
  142. package/payload/skills/loom-init/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
  143. package/payload/skills/loom-init/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
  144. package/payload/skills/loom-init/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
  145. package/payload/skills/loom-init/.loom-runtime/loom-resume/SKILL.md +72 -0
  146. package/payload/skills/loom-init/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
  147. package/payload/skills/loom-init/.loom-runtime/loom-resume/contract.json +47 -0
  148. package/payload/skills/loom-init/.loom-runtime/loom-resume/references/input-signals.md +15 -0
  149. package/payload/skills/loom-init/.loom-runtime/loom-resume/references/output-contract.md +58 -0
  150. package/payload/skills/loom-init/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
  151. package/payload/skills/loom-init/.loom-runtime/loom-retire/SKILL.md +26 -0
  152. package/payload/skills/loom-init/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
  153. package/payload/skills/loom-init/.loom-runtime/loom-retire/contract.json +41 -0
  154. package/payload/skills/loom-init/.loom-runtime/loom-retire/references/input-signals.md +7 -0
  155. package/payload/skills/loom-init/.loom-runtime/loom-retire/references/output-contract.md +13 -0
  156. package/payload/skills/loom-init/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
  157. package/payload/skills/loom-init/.loom-runtime/loom-review/SKILL.md +95 -0
  158. package/payload/skills/loom-init/.loom-runtime/loom-review/agents/openai.yaml +4 -0
  159. package/payload/skills/loom-init/.loom-runtime/loom-review/contract.json +49 -0
  160. package/payload/skills/loom-init/.loom-runtime/loom-review/references/input-signals.md +15 -0
  161. package/payload/skills/loom-init/.loom-runtime/loom-review/references/output-contract.md +57 -0
  162. package/payload/skills/loom-init/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
  163. package/payload/skills/loom-init/.loom-runtime/registry.json +57 -8
  164. package/payload/skills/loom-init/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  165. package/payload/skills/loom-init/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  166. package/payload/skills/loom-init/.loom-runtime/shared/scripts/loom_check.py +325 -97
  167. package/payload/skills/loom-init/.loom-runtime/upgrade-contract.json +16 -16
  168. package/payload/skills/loom-init/SKILL.md +23 -23
  169. package/payload/skills/loom-init/contract.json +34 -34
  170. package/payload/skills/loom-init/references/input-signals.md +2 -2
  171. package/payload/skills/loom-init/references/intake-signals.md +2 -2
  172. package/payload/skills/loom-init/scripts/loom-init.py +0 -0
  173. package/payload/skills/loom-merge-ready/.loom-runtime/README.md +73 -0
  174. package/payload/skills/loom-merge-ready/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  175. package/payload/skills/loom-merge-ready/.loom-runtime/install-layout.json +26 -12
  176. package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/SKILL.md +80 -0
  177. package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
  178. package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/contract.json +45 -0
  179. package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
  180. package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
  181. package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
  182. package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/SKILL.md +23 -0
  183. package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
  184. package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/contract.json +53 -0
  185. package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
  186. package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
  187. package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
  188. package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/SKILL.md +246 -0
  189. package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/agents/openai.yaml +4 -0
  190. package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/contract.json +76 -0
  191. package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
  192. package/payload/skills/loom-merge-ready/.loom-runtime/loom-merge-ready/contract.json +13 -13
  193. package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/SKILL.md +69 -0
  194. package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
  195. package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/contract.json +41 -0
  196. package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
  197. package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
  198. package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
  199. package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/SKILL.md +72 -0
  200. package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
  201. package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/contract.json +47 -0
  202. package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/references/input-signals.md +15 -0
  203. package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/references/output-contract.md +58 -0
  204. package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
  205. package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/SKILL.md +26 -0
  206. package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
  207. package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/contract.json +41 -0
  208. package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/references/input-signals.md +7 -0
  209. package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/references/output-contract.md +13 -0
  210. package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
  211. package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/SKILL.md +95 -0
  212. package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/agents/openai.yaml +4 -0
  213. package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/contract.json +49 -0
  214. package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/references/input-signals.md +15 -0
  215. package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/references/output-contract.md +57 -0
  216. package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
  217. package/payload/skills/loom-merge-ready/.loom-runtime/registry.json +56 -7
  218. package/payload/skills/loom-merge-ready/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  219. package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  220. package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_check.py +325 -97
  221. package/payload/skills/loom-merge-ready/.loom-runtime/upgrade-contract.json +17 -17
  222. package/payload/skills/loom-merge-ready/SKILL.md +2 -2
  223. package/payload/skills/loom-merge-ready/contract.json +13 -13
  224. package/payload/skills/loom-merge-ready/scripts/loom-merge-ready.py +0 -0
  225. package/payload/skills/loom-pre-review/.loom-runtime/README.md +73 -0
  226. package/payload/skills/loom-pre-review/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  227. package/payload/skills/loom-pre-review/.loom-runtime/install-layout.json +27 -13
  228. package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/SKILL.md +80 -0
  229. package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
  230. package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/contract.json +45 -0
  231. package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
  232. package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
  233. package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
  234. package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/SKILL.md +23 -0
  235. package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
  236. package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/contract.json +53 -0
  237. package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
  238. package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
  239. package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
  240. package/payload/skills/loom-pre-review/.loom-runtime/loom-init/SKILL.md +246 -0
  241. package/payload/skills/loom-pre-review/.loom-runtime/loom-init/agents/openai.yaml +4 -0
  242. package/payload/skills/loom-pre-review/.loom-runtime/loom-init/contract.json +76 -0
  243. package/payload/skills/loom-pre-review/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
  244. package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
  245. package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
  246. package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/contract.json +49 -0
  247. package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
  248. package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
  249. package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
  250. package/payload/skills/loom-pre-review/.loom-runtime/loom-pre-review/contract.json +13 -13
  251. package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/SKILL.md +72 -0
  252. package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
  253. package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/contract.json +47 -0
  254. package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/references/input-signals.md +15 -0
  255. package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/references/output-contract.md +58 -0
  256. package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
  257. package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/SKILL.md +26 -0
  258. package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
  259. package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/contract.json +41 -0
  260. package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/references/input-signals.md +7 -0
  261. package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/references/output-contract.md +13 -0
  262. package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
  263. package/payload/skills/loom-pre-review/.loom-runtime/loom-review/SKILL.md +95 -0
  264. package/payload/skills/loom-pre-review/.loom-runtime/loom-review/agents/openai.yaml +4 -0
  265. package/payload/skills/loom-pre-review/.loom-runtime/loom-review/contract.json +49 -0
  266. package/payload/skills/loom-pre-review/.loom-runtime/loom-review/references/input-signals.md +15 -0
  267. package/payload/skills/loom-pre-review/.loom-runtime/loom-review/references/output-contract.md +57 -0
  268. package/payload/skills/loom-pre-review/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
  269. package/payload/skills/loom-pre-review/.loom-runtime/registry.json +56 -7
  270. package/payload/skills/loom-pre-review/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  271. package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  272. package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/loom_check.py +325 -97
  273. package/payload/skills/loom-pre-review/.loom-runtime/upgrade-contract.json +17 -17
  274. package/payload/skills/loom-pre-review/SKILL.md +3 -3
  275. package/payload/skills/loom-pre-review/contract.json +13 -13
  276. package/payload/skills/loom-pre-review/scripts/loom-pre-review.py +0 -0
  277. package/payload/skills/loom-resume/.loom-runtime/README.md +73 -0
  278. package/payload/skills/loom-resume/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  279. package/payload/skills/loom-resume/.loom-runtime/install-layout.json +27 -13
  280. package/payload/skills/loom-resume/.loom-runtime/loom-adopt/SKILL.md +80 -0
  281. package/payload/skills/loom-resume/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
  282. package/payload/skills/loom-resume/.loom-runtime/loom-adopt/contract.json +45 -0
  283. package/payload/skills/loom-resume/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
  284. package/payload/skills/loom-resume/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
  285. package/payload/skills/loom-resume/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
  286. package/payload/skills/loom-resume/.loom-runtime/loom-handoff/SKILL.md +23 -0
  287. package/payload/skills/loom-resume/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
  288. package/payload/skills/loom-resume/.loom-runtime/loom-handoff/contract.json +53 -0
  289. package/payload/skills/loom-resume/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
  290. package/payload/skills/loom-resume/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
  291. package/payload/skills/loom-resume/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
  292. package/payload/skills/loom-resume/.loom-runtime/loom-init/SKILL.md +246 -0
  293. package/payload/skills/loom-resume/.loom-runtime/loom-init/agents/openai.yaml +4 -0
  294. package/payload/skills/loom-resume/.loom-runtime/loom-init/contract.json +76 -0
  295. package/payload/skills/loom-resume/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
  296. package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
  297. package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
  298. package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/contract.json +49 -0
  299. package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
  300. package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
  301. package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
  302. package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/SKILL.md +69 -0
  303. package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
  304. package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/contract.json +41 -0
  305. package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
  306. package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
  307. package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
  308. package/payload/skills/loom-resume/.loom-runtime/loom-resume/contract.json +13 -13
  309. package/payload/skills/loom-resume/.loom-runtime/loom-retire/SKILL.md +26 -0
  310. package/payload/skills/loom-resume/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
  311. package/payload/skills/loom-resume/.loom-runtime/loom-retire/contract.json +41 -0
  312. package/payload/skills/loom-resume/.loom-runtime/loom-retire/references/input-signals.md +7 -0
  313. package/payload/skills/loom-resume/.loom-runtime/loom-retire/references/output-contract.md +13 -0
  314. package/payload/skills/loom-resume/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
  315. package/payload/skills/loom-resume/.loom-runtime/loom-review/SKILL.md +95 -0
  316. package/payload/skills/loom-resume/.loom-runtime/loom-review/agents/openai.yaml +4 -0
  317. package/payload/skills/loom-resume/.loom-runtime/loom-review/contract.json +49 -0
  318. package/payload/skills/loom-resume/.loom-runtime/loom-review/references/input-signals.md +15 -0
  319. package/payload/skills/loom-resume/.loom-runtime/loom-review/references/output-contract.md +57 -0
  320. package/payload/skills/loom-resume/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
  321. package/payload/skills/loom-resume/.loom-runtime/registry.json +56 -7
  322. package/payload/skills/loom-resume/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  323. package/payload/skills/loom-resume/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  324. package/payload/skills/loom-resume/.loom-runtime/shared/scripts/loom_check.py +325 -97
  325. package/payload/skills/loom-resume/.loom-runtime/upgrade-contract.json +17 -17
  326. package/payload/skills/loom-resume/SKILL.md +3 -3
  327. package/payload/skills/loom-resume/contract.json +13 -13
  328. package/payload/skills/loom-resume/scripts/loom-resume.py +0 -0
  329. package/payload/skills/loom-retire/.loom-runtime/README.md +73 -0
  330. package/payload/skills/loom-retire/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  331. package/payload/skills/loom-retire/.loom-runtime/install-layout.json +27 -13
  332. package/payload/skills/loom-retire/.loom-runtime/loom-adopt/SKILL.md +80 -0
  333. package/payload/skills/loom-retire/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
  334. package/payload/skills/loom-retire/.loom-runtime/loom-adopt/contract.json +45 -0
  335. package/payload/skills/loom-retire/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
  336. package/payload/skills/loom-retire/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
  337. package/payload/skills/loom-retire/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
  338. package/payload/skills/loom-retire/.loom-runtime/loom-handoff/SKILL.md +23 -0
  339. package/payload/skills/loom-retire/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
  340. package/payload/skills/loom-retire/.loom-runtime/loom-handoff/contract.json +53 -0
  341. package/payload/skills/loom-retire/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
  342. package/payload/skills/loom-retire/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
  343. package/payload/skills/loom-retire/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
  344. package/payload/skills/loom-retire/.loom-runtime/loom-init/SKILL.md +246 -0
  345. package/payload/skills/loom-retire/.loom-runtime/loom-init/agents/openai.yaml +4 -0
  346. package/payload/skills/loom-retire/.loom-runtime/loom-init/contract.json +76 -0
  347. package/payload/skills/loom-retire/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
  348. package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
  349. package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
  350. package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/contract.json +49 -0
  351. package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
  352. package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
  353. package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
  354. package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/SKILL.md +69 -0
  355. package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
  356. package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/contract.json +41 -0
  357. package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
  358. package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
  359. package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
  360. package/payload/skills/loom-retire/.loom-runtime/loom-resume/SKILL.md +72 -0
  361. package/payload/skills/loom-retire/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
  362. package/payload/skills/loom-retire/.loom-runtime/loom-resume/contract.json +47 -0
  363. package/payload/skills/loom-retire/.loom-runtime/loom-resume/references/input-signals.md +15 -0
  364. package/payload/skills/loom-retire/.loom-runtime/loom-resume/references/output-contract.md +58 -0
  365. package/payload/skills/loom-retire/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
  366. package/payload/skills/loom-retire/.loom-runtime/loom-retire/contract.json +13 -13
  367. package/payload/skills/loom-retire/.loom-runtime/loom-review/SKILL.md +95 -0
  368. package/payload/skills/loom-retire/.loom-runtime/loom-review/agents/openai.yaml +4 -0
  369. package/payload/skills/loom-retire/.loom-runtime/loom-review/contract.json +49 -0
  370. package/payload/skills/loom-retire/.loom-runtime/loom-review/references/input-signals.md +15 -0
  371. package/payload/skills/loom-retire/.loom-runtime/loom-review/references/output-contract.md +57 -0
  372. package/payload/skills/loom-retire/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
  373. package/payload/skills/loom-retire/.loom-runtime/registry.json +56 -7
  374. package/payload/skills/loom-retire/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  375. package/payload/skills/loom-retire/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  376. package/payload/skills/loom-retire/.loom-runtime/shared/scripts/loom_check.py +325 -97
  377. package/payload/skills/loom-retire/.loom-runtime/upgrade-contract.json +17 -17
  378. package/payload/skills/loom-retire/SKILL.md +2 -2
  379. package/payload/skills/loom-retire/contract.json +13 -13
  380. package/payload/skills/loom-retire/scripts/loom-retire.py +0 -0
  381. package/payload/skills/loom-review/.loom-runtime/README.md +73 -0
  382. package/payload/skills/loom-review/.loom-runtime/distribution-and-adapter-contract.md +360 -0
  383. package/payload/skills/loom-review/.loom-runtime/install-layout.json +27 -13
  384. package/payload/skills/loom-review/.loom-runtime/loom-adopt/SKILL.md +80 -0
  385. package/payload/skills/loom-review/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
  386. package/payload/skills/loom-review/.loom-runtime/loom-adopt/contract.json +45 -0
  387. package/payload/skills/loom-review/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
  388. package/payload/skills/loom-review/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
  389. package/payload/skills/loom-review/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
  390. package/payload/skills/loom-review/.loom-runtime/loom-handoff/SKILL.md +23 -0
  391. package/payload/skills/loom-review/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
  392. package/payload/skills/loom-review/.loom-runtime/loom-handoff/contract.json +53 -0
  393. package/payload/skills/loom-review/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
  394. package/payload/skills/loom-review/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
  395. package/payload/skills/loom-review/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
  396. package/payload/skills/loom-review/.loom-runtime/loom-init/SKILL.md +246 -0
  397. package/payload/skills/loom-review/.loom-runtime/loom-init/agents/openai.yaml +4 -0
  398. package/payload/skills/loom-review/.loom-runtime/loom-init/contract.json +76 -0
  399. package/payload/skills/loom-review/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
  400. package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
  401. package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
  402. package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/contract.json +49 -0
  403. package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
  404. package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
  405. package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
  406. package/payload/skills/loom-review/.loom-runtime/loom-pre-review/SKILL.md +69 -0
  407. package/payload/skills/loom-review/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
  408. package/payload/skills/loom-review/.loom-runtime/loom-pre-review/contract.json +41 -0
  409. package/payload/skills/loom-review/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
  410. package/payload/skills/loom-review/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
  411. package/payload/skills/loom-review/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
  412. package/payload/skills/loom-review/.loom-runtime/loom-resume/SKILL.md +72 -0
  413. package/payload/skills/loom-review/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
  414. package/payload/skills/loom-review/.loom-runtime/loom-resume/contract.json +47 -0
  415. package/payload/skills/loom-review/.loom-runtime/loom-resume/references/input-signals.md +15 -0
  416. package/payload/skills/loom-review/.loom-runtime/loom-resume/references/output-contract.md +58 -0
  417. package/payload/skills/loom-review/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
  418. package/payload/skills/loom-review/.loom-runtime/loom-retire/SKILL.md +26 -0
  419. package/payload/skills/loom-review/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
  420. package/payload/skills/loom-review/.loom-runtime/loom-retire/contract.json +41 -0
  421. package/payload/skills/loom-review/.loom-runtime/loom-retire/references/input-signals.md +7 -0
  422. package/payload/skills/loom-review/.loom-runtime/loom-retire/references/output-contract.md +13 -0
  423. package/payload/skills/loom-review/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
  424. package/payload/skills/loom-review/.loom-runtime/loom-review/contract.json +13 -13
  425. package/payload/skills/loom-review/.loom-runtime/registry.json +56 -7
  426. package/payload/skills/loom-review/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
  427. package/payload/skills/loom-review/.loom-runtime/shared/scripts/governance_surface.py +3 -13
  428. package/payload/skills/loom-review/.loom-runtime/shared/scripts/loom_check.py +325 -97
  429. package/payload/skills/loom-review/.loom-runtime/upgrade-contract.json +17 -17
  430. package/payload/skills/loom-review/SKILL.md +3 -3
  431. package/payload/skills/loom-review/contract.json +13 -13
  432. package/payload/skills/loom-review/scripts/loom-review.py +0 -0
  433. package/payload/skills/loom-adopt/references/loom-init/input-signals.md +0 -16
  434. package/payload/skills/loom-adopt/references/loom-init/intake-signals.md +0 -155
  435. package/payload/skills/loom-adopt/references/loom-init/output-contract.md +0 -208
  436. package/payload/skills/loom-adopt/references/route-matrix.md +0 -63
  437. package/payload/skills/loom-adopt/references/shared/adoption/deep-existing-repo-default.md +0 -64
  438. package/payload/skills/loom-adopt/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  439. package/payload/skills/loom-adopt/references/shared/adoption/routing-and-checkpoints.md +0 -88
  440. package/payload/skills/loom-adopt/references/shared/governance/host-object-taxonomy.md +0 -148
  441. package/payload/skills/loom-adopt/references/shared/governance/issue-model.md +0 -127
  442. package/payload/skills/loom-adopt/references/shared/governance/maturity-and-closing.md +0 -69
  443. package/payload/skills/loom-adopt/references/shared/governance/principles.md +0 -180
  444. package/payload/skills/loom-adopt/references/shared/governance/review-model.md +0 -109
  445. package/payload/skills/loom-adopt/references/shared/governance/state-machine.md +0 -163
  446. package/payload/skills/loom-adopt/references/shared/governance/truth-and-sync-boundary.md +0 -161
  447. package/payload/skills/loom-adopt/references/shared/harness/automation-frontload.md +0 -139
  448. package/payload/skills/loom-adopt/references/shared/harness/closeout-gate.md +0 -97
  449. package/payload/skills/loom-adopt/references/shared/harness/execution-chain.md +0 -56
  450. package/payload/skills/loom-adopt/references/shared/harness/execution-context.md +0 -71
  451. package/payload/skills/loom-adopt/references/shared/harness/fact-chain-contract.md +0 -160
  452. package/payload/skills/loom-adopt/references/shared/harness/host-action-contract.md +0 -128
  453. package/payload/skills/loom-adopt/references/shared/harness/host-issue-binding.md +0 -90
  454. package/payload/skills/loom-adopt/references/shared/harness/host-lifecycle-boundary.md +0 -56
  455. package/payload/skills/loom-adopt/references/shared/harness/merge-checkpoint.md +0 -95
  456. package/payload/skills/loom-adopt/references/shared/harness/reconciliation-audit.md +0 -64
  457. package/payload/skills/loom-adopt/references/shared/harness/recovery-model.md +0 -101
  458. package/payload/skills/loom-adopt/references/shared/harness/review-execution.md +0 -99
  459. package/payload/skills/loom-adopt/references/shared/harness/runtime-state.md +0 -103
  460. package/payload/skills/loom-adopt/references/shared/harness/status-surface.md +0 -121
  461. package/payload/skills/loom-adopt/references/shared/harness/work-item-contract.md +0 -104
  462. package/payload/skills/loom-adopt/references/shared/harness/workspace-and-purity.md +0 -73
  463. package/payload/skills/loom-adopt/references/shared/harness/workspace-model.md +0 -56
  464. package/payload/skills/loom-adopt/references/shared/templates/pull-request.md +0 -44
  465. package/payload/skills/loom-adopt/references/shared/templates/review-record.md +0 -35
  466. package/payload/skills/loom-adopt/references/shared/templates/spec-suite.md +0 -57
  467. package/payload/skills/loom-handoff/references/loom-init/input-signals.md +0 -16
  468. package/payload/skills/loom-handoff/references/loom-init/intake-signals.md +0 -155
  469. package/payload/skills/loom-handoff/references/loom-init/output-contract.md +0 -208
  470. package/payload/skills/loom-handoff/references/route-matrix.md +0 -63
  471. package/payload/skills/loom-handoff/references/shared/adoption/deep-existing-repo-default.md +0 -64
  472. package/payload/skills/loom-handoff/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  473. package/payload/skills/loom-handoff/references/shared/adoption/routing-and-checkpoints.md +0 -88
  474. package/payload/skills/loom-handoff/references/shared/governance/host-object-taxonomy.md +0 -148
  475. package/payload/skills/loom-handoff/references/shared/governance/issue-model.md +0 -127
  476. package/payload/skills/loom-handoff/references/shared/governance/maturity-and-closing.md +0 -69
  477. package/payload/skills/loom-handoff/references/shared/governance/principles.md +0 -180
  478. package/payload/skills/loom-handoff/references/shared/governance/review-model.md +0 -109
  479. package/payload/skills/loom-handoff/references/shared/governance/state-machine.md +0 -163
  480. package/payload/skills/loom-handoff/references/shared/governance/truth-and-sync-boundary.md +0 -161
  481. package/payload/skills/loom-handoff/references/shared/harness/automation-frontload.md +0 -139
  482. package/payload/skills/loom-handoff/references/shared/harness/closeout-gate.md +0 -97
  483. package/payload/skills/loom-handoff/references/shared/harness/execution-chain.md +0 -56
  484. package/payload/skills/loom-handoff/references/shared/harness/execution-context.md +0 -71
  485. package/payload/skills/loom-handoff/references/shared/harness/fact-chain-contract.md +0 -160
  486. package/payload/skills/loom-handoff/references/shared/harness/host-action-contract.md +0 -128
  487. package/payload/skills/loom-handoff/references/shared/harness/host-issue-binding.md +0 -90
  488. package/payload/skills/loom-handoff/references/shared/harness/host-lifecycle-boundary.md +0 -56
  489. package/payload/skills/loom-handoff/references/shared/harness/merge-checkpoint.md +0 -95
  490. package/payload/skills/loom-handoff/references/shared/harness/reconciliation-audit.md +0 -64
  491. package/payload/skills/loom-handoff/references/shared/harness/recovery-model.md +0 -101
  492. package/payload/skills/loom-handoff/references/shared/harness/review-execution.md +0 -99
  493. package/payload/skills/loom-handoff/references/shared/harness/runtime-state.md +0 -103
  494. package/payload/skills/loom-handoff/references/shared/harness/status-surface.md +0 -121
  495. package/payload/skills/loom-handoff/references/shared/harness/work-item-contract.md +0 -104
  496. package/payload/skills/loom-handoff/references/shared/harness/workspace-and-purity.md +0 -73
  497. package/payload/skills/loom-handoff/references/shared/harness/workspace-model.md +0 -56
  498. package/payload/skills/loom-handoff/references/shared/templates/pull-request.md +0 -44
  499. package/payload/skills/loom-handoff/references/shared/templates/review-record.md +0 -35
  500. package/payload/skills/loom-handoff/references/shared/templates/spec-suite.md +0 -57
  501. package/payload/skills/loom-init/references/route-matrix.md +0 -63
  502. package/payload/skills/loom-init/references/shared/adoption/deep-existing-repo-default.md +0 -64
  503. package/payload/skills/loom-init/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  504. package/payload/skills/loom-init/references/shared/adoption/routing-and-checkpoints.md +0 -88
  505. package/payload/skills/loom-init/references/shared/governance/host-object-taxonomy.md +0 -148
  506. package/payload/skills/loom-init/references/shared/governance/issue-model.md +0 -127
  507. package/payload/skills/loom-init/references/shared/governance/maturity-and-closing.md +0 -69
  508. package/payload/skills/loom-init/references/shared/governance/principles.md +0 -180
  509. package/payload/skills/loom-init/references/shared/governance/review-model.md +0 -109
  510. package/payload/skills/loom-init/references/shared/governance/state-machine.md +0 -163
  511. package/payload/skills/loom-init/references/shared/governance/truth-and-sync-boundary.md +0 -161
  512. package/payload/skills/loom-init/references/shared/harness/automation-frontload.md +0 -139
  513. package/payload/skills/loom-init/references/shared/harness/closeout-gate.md +0 -97
  514. package/payload/skills/loom-init/references/shared/harness/execution-chain.md +0 -56
  515. package/payload/skills/loom-init/references/shared/harness/execution-context.md +0 -71
  516. package/payload/skills/loom-init/references/shared/harness/fact-chain-contract.md +0 -160
  517. package/payload/skills/loom-init/references/shared/harness/host-action-contract.md +0 -128
  518. package/payload/skills/loom-init/references/shared/harness/host-issue-binding.md +0 -90
  519. package/payload/skills/loom-init/references/shared/harness/host-lifecycle-boundary.md +0 -56
  520. package/payload/skills/loom-init/references/shared/harness/merge-checkpoint.md +0 -95
  521. package/payload/skills/loom-init/references/shared/harness/reconciliation-audit.md +0 -64
  522. package/payload/skills/loom-init/references/shared/harness/recovery-model.md +0 -101
  523. package/payload/skills/loom-init/references/shared/harness/review-execution.md +0 -99
  524. package/payload/skills/loom-init/references/shared/harness/runtime-state.md +0 -103
  525. package/payload/skills/loom-init/references/shared/harness/status-surface.md +0 -121
  526. package/payload/skills/loom-init/references/shared/harness/work-item-contract.md +0 -104
  527. package/payload/skills/loom-init/references/shared/harness/workspace-and-purity.md +0 -73
  528. package/payload/skills/loom-init/references/shared/harness/workspace-model.md +0 -56
  529. package/payload/skills/loom-init/references/shared/templates/pull-request.md +0 -44
  530. package/payload/skills/loom-init/references/shared/templates/review-record.md +0 -35
  531. package/payload/skills/loom-init/references/shared/templates/spec-suite.md +0 -57
  532. package/payload/skills/loom-merge-ready/references/loom-init/input-signals.md +0 -16
  533. package/payload/skills/loom-merge-ready/references/loom-init/intake-signals.md +0 -155
  534. package/payload/skills/loom-merge-ready/references/loom-init/output-contract.md +0 -208
  535. package/payload/skills/loom-merge-ready/references/route-matrix.md +0 -63
  536. package/payload/skills/loom-merge-ready/references/shared/adoption/deep-existing-repo-default.md +0 -64
  537. package/payload/skills/loom-merge-ready/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  538. package/payload/skills/loom-merge-ready/references/shared/adoption/routing-and-checkpoints.md +0 -88
  539. package/payload/skills/loom-merge-ready/references/shared/governance/host-object-taxonomy.md +0 -148
  540. package/payload/skills/loom-merge-ready/references/shared/governance/issue-model.md +0 -127
  541. package/payload/skills/loom-merge-ready/references/shared/governance/maturity-and-closing.md +0 -69
  542. package/payload/skills/loom-merge-ready/references/shared/governance/principles.md +0 -180
  543. package/payload/skills/loom-merge-ready/references/shared/governance/review-model.md +0 -109
  544. package/payload/skills/loom-merge-ready/references/shared/governance/state-machine.md +0 -163
  545. package/payload/skills/loom-merge-ready/references/shared/governance/truth-and-sync-boundary.md +0 -161
  546. package/payload/skills/loom-merge-ready/references/shared/harness/automation-frontload.md +0 -139
  547. package/payload/skills/loom-merge-ready/references/shared/harness/closeout-gate.md +0 -97
  548. package/payload/skills/loom-merge-ready/references/shared/harness/execution-chain.md +0 -56
  549. package/payload/skills/loom-merge-ready/references/shared/harness/execution-context.md +0 -71
  550. package/payload/skills/loom-merge-ready/references/shared/harness/fact-chain-contract.md +0 -160
  551. package/payload/skills/loom-merge-ready/references/shared/harness/host-action-contract.md +0 -128
  552. package/payload/skills/loom-merge-ready/references/shared/harness/host-issue-binding.md +0 -90
  553. package/payload/skills/loom-merge-ready/references/shared/harness/host-lifecycle-boundary.md +0 -56
  554. package/payload/skills/loom-merge-ready/references/shared/harness/merge-checkpoint.md +0 -95
  555. package/payload/skills/loom-merge-ready/references/shared/harness/reconciliation-audit.md +0 -64
  556. package/payload/skills/loom-merge-ready/references/shared/harness/recovery-model.md +0 -101
  557. package/payload/skills/loom-merge-ready/references/shared/harness/review-execution.md +0 -99
  558. package/payload/skills/loom-merge-ready/references/shared/harness/runtime-state.md +0 -103
  559. package/payload/skills/loom-merge-ready/references/shared/harness/status-surface.md +0 -121
  560. package/payload/skills/loom-merge-ready/references/shared/harness/work-item-contract.md +0 -104
  561. package/payload/skills/loom-merge-ready/references/shared/harness/workspace-and-purity.md +0 -73
  562. package/payload/skills/loom-merge-ready/references/shared/harness/workspace-model.md +0 -56
  563. package/payload/skills/loom-merge-ready/references/shared/templates/pull-request.md +0 -44
  564. package/payload/skills/loom-merge-ready/references/shared/templates/review-record.md +0 -35
  565. package/payload/skills/loom-merge-ready/references/shared/templates/spec-suite.md +0 -57
  566. package/payload/skills/loom-pre-review/references/loom-init/input-signals.md +0 -16
  567. package/payload/skills/loom-pre-review/references/loom-init/intake-signals.md +0 -155
  568. package/payload/skills/loom-pre-review/references/loom-init/output-contract.md +0 -208
  569. package/payload/skills/loom-pre-review/references/route-matrix.md +0 -63
  570. package/payload/skills/loom-pre-review/references/shared/adoption/deep-existing-repo-default.md +0 -64
  571. package/payload/skills/loom-pre-review/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  572. package/payload/skills/loom-pre-review/references/shared/adoption/routing-and-checkpoints.md +0 -88
  573. package/payload/skills/loom-pre-review/references/shared/governance/host-object-taxonomy.md +0 -148
  574. package/payload/skills/loom-pre-review/references/shared/governance/issue-model.md +0 -127
  575. package/payload/skills/loom-pre-review/references/shared/governance/maturity-and-closing.md +0 -69
  576. package/payload/skills/loom-pre-review/references/shared/governance/principles.md +0 -180
  577. package/payload/skills/loom-pre-review/references/shared/governance/review-model.md +0 -109
  578. package/payload/skills/loom-pre-review/references/shared/governance/state-machine.md +0 -163
  579. package/payload/skills/loom-pre-review/references/shared/governance/truth-and-sync-boundary.md +0 -161
  580. package/payload/skills/loom-pre-review/references/shared/harness/automation-frontload.md +0 -139
  581. package/payload/skills/loom-pre-review/references/shared/harness/closeout-gate.md +0 -97
  582. package/payload/skills/loom-pre-review/references/shared/harness/execution-chain.md +0 -56
  583. package/payload/skills/loom-pre-review/references/shared/harness/execution-context.md +0 -71
  584. package/payload/skills/loom-pre-review/references/shared/harness/fact-chain-contract.md +0 -160
  585. package/payload/skills/loom-pre-review/references/shared/harness/host-action-contract.md +0 -128
  586. package/payload/skills/loom-pre-review/references/shared/harness/host-issue-binding.md +0 -90
  587. package/payload/skills/loom-pre-review/references/shared/harness/host-lifecycle-boundary.md +0 -56
  588. package/payload/skills/loom-pre-review/references/shared/harness/merge-checkpoint.md +0 -95
  589. package/payload/skills/loom-pre-review/references/shared/harness/reconciliation-audit.md +0 -64
  590. package/payload/skills/loom-pre-review/references/shared/harness/recovery-model.md +0 -101
  591. package/payload/skills/loom-pre-review/references/shared/harness/review-execution.md +0 -99
  592. package/payload/skills/loom-pre-review/references/shared/harness/runtime-state.md +0 -103
  593. package/payload/skills/loom-pre-review/references/shared/harness/status-surface.md +0 -121
  594. package/payload/skills/loom-pre-review/references/shared/harness/work-item-contract.md +0 -104
  595. package/payload/skills/loom-pre-review/references/shared/harness/workspace-and-purity.md +0 -73
  596. package/payload/skills/loom-pre-review/references/shared/harness/workspace-model.md +0 -56
  597. package/payload/skills/loom-pre-review/references/shared/templates/pull-request.md +0 -44
  598. package/payload/skills/loom-pre-review/references/shared/templates/review-record.md +0 -35
  599. package/payload/skills/loom-pre-review/references/shared/templates/spec-suite.md +0 -57
  600. package/payload/skills/loom-resume/references/loom-init/input-signals.md +0 -16
  601. package/payload/skills/loom-resume/references/loom-init/intake-signals.md +0 -155
  602. package/payload/skills/loom-resume/references/loom-init/output-contract.md +0 -208
  603. package/payload/skills/loom-resume/references/route-matrix.md +0 -63
  604. package/payload/skills/loom-resume/references/shared/adoption/deep-existing-repo-default.md +0 -64
  605. package/payload/skills/loom-resume/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  606. package/payload/skills/loom-resume/references/shared/adoption/routing-and-checkpoints.md +0 -88
  607. package/payload/skills/loom-resume/references/shared/governance/host-object-taxonomy.md +0 -148
  608. package/payload/skills/loom-resume/references/shared/governance/issue-model.md +0 -127
  609. package/payload/skills/loom-resume/references/shared/governance/maturity-and-closing.md +0 -69
  610. package/payload/skills/loom-resume/references/shared/governance/principles.md +0 -180
  611. package/payload/skills/loom-resume/references/shared/governance/review-model.md +0 -109
  612. package/payload/skills/loom-resume/references/shared/governance/state-machine.md +0 -163
  613. package/payload/skills/loom-resume/references/shared/governance/truth-and-sync-boundary.md +0 -161
  614. package/payload/skills/loom-resume/references/shared/harness/automation-frontload.md +0 -139
  615. package/payload/skills/loom-resume/references/shared/harness/closeout-gate.md +0 -97
  616. package/payload/skills/loom-resume/references/shared/harness/execution-chain.md +0 -56
  617. package/payload/skills/loom-resume/references/shared/harness/execution-context.md +0 -71
  618. package/payload/skills/loom-resume/references/shared/harness/fact-chain-contract.md +0 -160
  619. package/payload/skills/loom-resume/references/shared/harness/host-action-contract.md +0 -128
  620. package/payload/skills/loom-resume/references/shared/harness/host-issue-binding.md +0 -90
  621. package/payload/skills/loom-resume/references/shared/harness/host-lifecycle-boundary.md +0 -56
  622. package/payload/skills/loom-resume/references/shared/harness/merge-checkpoint.md +0 -95
  623. package/payload/skills/loom-resume/references/shared/harness/reconciliation-audit.md +0 -64
  624. package/payload/skills/loom-resume/references/shared/harness/recovery-model.md +0 -101
  625. package/payload/skills/loom-resume/references/shared/harness/review-execution.md +0 -99
  626. package/payload/skills/loom-resume/references/shared/harness/runtime-state.md +0 -103
  627. package/payload/skills/loom-resume/references/shared/harness/status-surface.md +0 -121
  628. package/payload/skills/loom-resume/references/shared/harness/work-item-contract.md +0 -104
  629. package/payload/skills/loom-resume/references/shared/harness/workspace-and-purity.md +0 -73
  630. package/payload/skills/loom-resume/references/shared/harness/workspace-model.md +0 -56
  631. package/payload/skills/loom-resume/references/shared/templates/pull-request.md +0 -44
  632. package/payload/skills/loom-resume/references/shared/templates/review-record.md +0 -35
  633. package/payload/skills/loom-resume/references/shared/templates/spec-suite.md +0 -57
  634. package/payload/skills/loom-retire/references/loom-init/input-signals.md +0 -16
  635. package/payload/skills/loom-retire/references/loom-init/intake-signals.md +0 -155
  636. package/payload/skills/loom-retire/references/loom-init/output-contract.md +0 -208
  637. package/payload/skills/loom-retire/references/route-matrix.md +0 -63
  638. package/payload/skills/loom-retire/references/shared/adoption/deep-existing-repo-default.md +0 -64
  639. package/payload/skills/loom-retire/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  640. package/payload/skills/loom-retire/references/shared/adoption/routing-and-checkpoints.md +0 -88
  641. package/payload/skills/loom-retire/references/shared/governance/host-object-taxonomy.md +0 -148
  642. package/payload/skills/loom-retire/references/shared/governance/issue-model.md +0 -127
  643. package/payload/skills/loom-retire/references/shared/governance/maturity-and-closing.md +0 -69
  644. package/payload/skills/loom-retire/references/shared/governance/principles.md +0 -180
  645. package/payload/skills/loom-retire/references/shared/governance/review-model.md +0 -109
  646. package/payload/skills/loom-retire/references/shared/governance/state-machine.md +0 -163
  647. package/payload/skills/loom-retire/references/shared/governance/truth-and-sync-boundary.md +0 -161
  648. package/payload/skills/loom-retire/references/shared/harness/automation-frontload.md +0 -139
  649. package/payload/skills/loom-retire/references/shared/harness/closeout-gate.md +0 -97
  650. package/payload/skills/loom-retire/references/shared/harness/execution-chain.md +0 -56
  651. package/payload/skills/loom-retire/references/shared/harness/execution-context.md +0 -71
  652. package/payload/skills/loom-retire/references/shared/harness/fact-chain-contract.md +0 -160
  653. package/payload/skills/loom-retire/references/shared/harness/host-action-contract.md +0 -128
  654. package/payload/skills/loom-retire/references/shared/harness/host-issue-binding.md +0 -90
  655. package/payload/skills/loom-retire/references/shared/harness/host-lifecycle-boundary.md +0 -56
  656. package/payload/skills/loom-retire/references/shared/harness/merge-checkpoint.md +0 -95
  657. package/payload/skills/loom-retire/references/shared/harness/reconciliation-audit.md +0 -64
  658. package/payload/skills/loom-retire/references/shared/harness/recovery-model.md +0 -101
  659. package/payload/skills/loom-retire/references/shared/harness/review-execution.md +0 -99
  660. package/payload/skills/loom-retire/references/shared/harness/runtime-state.md +0 -103
  661. package/payload/skills/loom-retire/references/shared/harness/status-surface.md +0 -121
  662. package/payload/skills/loom-retire/references/shared/harness/work-item-contract.md +0 -104
  663. package/payload/skills/loom-retire/references/shared/harness/workspace-and-purity.md +0 -73
  664. package/payload/skills/loom-retire/references/shared/harness/workspace-model.md +0 -56
  665. package/payload/skills/loom-retire/references/shared/templates/pull-request.md +0 -44
  666. package/payload/skills/loom-retire/references/shared/templates/review-record.md +0 -35
  667. package/payload/skills/loom-retire/references/shared/templates/spec-suite.md +0 -57
  668. package/payload/skills/loom-review/references/loom-init/input-signals.md +0 -16
  669. package/payload/skills/loom-review/references/loom-init/intake-signals.md +0 -155
  670. package/payload/skills/loom-review/references/loom-init/output-contract.md +0 -208
  671. package/payload/skills/loom-review/references/route-matrix.md +0 -63
  672. package/payload/skills/loom-review/references/shared/adoption/deep-existing-repo-default.md +0 -64
  673. package/payload/skills/loom-review/references/shared/adoption/lightweight-retrofit-default.md +0 -71
  674. package/payload/skills/loom-review/references/shared/adoption/routing-and-checkpoints.md +0 -88
  675. package/payload/skills/loom-review/references/shared/governance/host-object-taxonomy.md +0 -148
  676. package/payload/skills/loom-review/references/shared/governance/issue-model.md +0 -127
  677. package/payload/skills/loom-review/references/shared/governance/maturity-and-closing.md +0 -69
  678. package/payload/skills/loom-review/references/shared/governance/principles.md +0 -180
  679. package/payload/skills/loom-review/references/shared/governance/review-model.md +0 -109
  680. package/payload/skills/loom-review/references/shared/governance/state-machine.md +0 -163
  681. package/payload/skills/loom-review/references/shared/governance/truth-and-sync-boundary.md +0 -161
  682. package/payload/skills/loom-review/references/shared/harness/automation-frontload.md +0 -139
  683. package/payload/skills/loom-review/references/shared/harness/closeout-gate.md +0 -97
  684. package/payload/skills/loom-review/references/shared/harness/execution-chain.md +0 -56
  685. package/payload/skills/loom-review/references/shared/harness/execution-context.md +0 -71
  686. package/payload/skills/loom-review/references/shared/harness/fact-chain-contract.md +0 -160
  687. package/payload/skills/loom-review/references/shared/harness/host-action-contract.md +0 -128
  688. package/payload/skills/loom-review/references/shared/harness/host-issue-binding.md +0 -90
  689. package/payload/skills/loom-review/references/shared/harness/host-lifecycle-boundary.md +0 -56
  690. package/payload/skills/loom-review/references/shared/harness/merge-checkpoint.md +0 -95
  691. package/payload/skills/loom-review/references/shared/harness/reconciliation-audit.md +0 -64
  692. package/payload/skills/loom-review/references/shared/harness/recovery-model.md +0 -101
  693. package/payload/skills/loom-review/references/shared/harness/review-execution.md +0 -99
  694. package/payload/skills/loom-review/references/shared/harness/runtime-state.md +0 -103
  695. package/payload/skills/loom-review/references/shared/harness/status-surface.md +0 -121
  696. package/payload/skills/loom-review/references/shared/harness/work-item-contract.md +0 -104
  697. package/payload/skills/loom-review/references/shared/harness/workspace-and-purity.md +0 -73
  698. package/payload/skills/loom-review/references/shared/harness/workspace-model.md +0 -56
  699. package/payload/skills/loom-review/references/shared/templates/pull-request.md +0 -44
  700. package/payload/skills/loom-review/references/shared/templates/review-record.md +0 -35
  701. package/payload/skills/loom-review/references/shared/templates/spec-suite.md +0 -57
package/README.md CHANGED
@@ -1,47 +1,55 @@
1
1
  # @mc-and-his-agents/loom-installer
2
2
 
3
- Loom npm / npx 安装入口。
3
+ Loom npm / npx installer.
4
4
 
5
- 它负责两件事:
5
+ The primary install mode is the complete Loom plugin surface. Single-skill install remains available for compatibility and advanced use.
6
6
 
7
- - 把 Loom 作为完整 plugin 接到 Codex 或 Claude
8
- - 把某个单独 Loom skill 接到对应宿主
7
+ ## Commands
9
8
 
10
- 它不替代 Loom 当前的 Python runtime;真正的执行面仍然是仓库里的 Python 脚本与已发布的 skill / plugin 产物。
9
+ ```bash
10
+ npx @mc-and-his-agents/loom-installer add plugin --host codex
11
+ npx @mc-and-his-agents/loom-installer add plugin --host claude
12
+ ```
11
13
 
12
- ## 命令面
14
+ Single skill compatibility path:
13
15
 
14
16
  ```bash
15
- npx @mc-and-his-agents/loom-installer add plugin
16
- npx @mc-and-his-agents/loom-installer add skill loom-init
17
+ npx @mc-and-his-agents/loom-installer add skill <skill-id> --host codex
18
+ npx @mc-and-his-agents/loom-installer add skill <skill-id> --host claude
17
19
  ```
18
20
 
19
- 也可以先安装再执行:
21
+ You can also pin the installer first:
20
22
 
21
23
  ```bash
22
24
  npm install -D @mc-and-his-agents/loom-installer
23
- npx loom-installer add plugin
24
- npx loom-installer add skill loom-init
25
+ npx loom-installer add plugin --host codex
25
26
  ```
26
27
 
27
- 可选参数:
28
+ Options:
28
29
 
29
30
  - `--host codex|claude|auto`
30
31
  - `--target <repo-root>`
31
32
  - `--force`
32
33
  - `--json`
33
34
 
34
- ## 运行时要求
35
+ ## Requirements
35
36
 
36
37
  - Node `>=20`
37
38
  - Python `>=3.10`,推荐 `3.11+`
38
39
 
39
- ## 发布说明
40
+ ## Payload Model
41
+
42
+ The published package includes a generated payload. The payload is generated from the canonical root `.codex-plugin/` and `skills/` sources during build / pack / publish.
43
+
44
+ Generated payload directories are not committed to git. The build step recreates them deterministically and `check:payload` verifies rebuild stability.
45
+
46
+ ## Release Notes
40
47
 
41
- 本包支持 `npm publish`,但发布只在 `main` 上进行。
48
+ Publishing only happens from `main`.
42
49
 
43
- 发布模型:
50
+ Release model:
44
51
 
45
- - PR 只做门禁,不直接发布 npm
46
- - `main` 是唯一发布真相源
47
- - publish 成功后再创建同版本 git tag
52
+ - PRs run gates but do not publish npm.
53
+ - `main` is the only release truth source.
54
+ - Loom repository releases and installer npm package versions are maintained separately.
55
+ - publish 成功后再创建 `loom-installer-v<version>` git tag 与同名前缀的 GitHub Release.
package/dist/src/codex.js CHANGED
@@ -41,7 +41,7 @@ function ensureMarketplace(targetRoot, force) {
41
41
  }
42
42
  const expectedPath = './plugins/loom';
43
43
  const existing = marketplace.plugins.find((entry) => typeof entry === 'object' && entry !== null && entry.name === 'loom');
44
- if (existing && existing.source?.path && existing.source.path !== expectedPath) {
44
+ if (existing && existing.source?.path && existing.source.path !== expectedPath && !force) {
45
45
  throw new InstallerError(`Codex marketplace already declares loom from a different path: ${existing.source.path}`, `refusing to take over non-Loom marketplace entry for loom: ${existing.source.path}`);
46
46
  }
47
47
  if (!existing) {
@@ -34,6 +34,12 @@ function prepareEnv(base) {
34
34
  LOOM_INSTALLER_PYTHON_BIN: resolveTestPython(),
35
35
  };
36
36
  }
37
+ function writeCodexMarketplace(repoRoot, marketplace) {
38
+ const marketplacePath = join(repoRoot, '.agents', 'plugins', 'marketplace.json');
39
+ mkdirSync(join(repoRoot, '.agents', 'plugins'), { recursive: true });
40
+ writeFileSync(marketplacePath, JSON.stringify(marketplace, null, 2));
41
+ return marketplacePath;
42
+ }
37
43
  function writeFakeClaude(binDir, logPath) {
38
44
  const scriptPath = join(binDir, 'claude');
39
45
  writeFileSync(scriptPath, `#!/bin/sh\nset -eu\nprintf '%s\\n' "$*" >> ${JSON.stringify(logPath)}\nif [ "$1" = "--version" ]; then\n echo '2.1.0'\n exit 0\nfi\nif [ "$1" = "plugin" ] && [ "$2" = "list" ] && [ "$3" = "--json" ]; then\n echo '[{"name":"loom"}]'\n exit 0\nfi\nexit 0\n`, { mode: 0o755 });
@@ -96,6 +102,67 @@ test('codex plugin install writes marketplace entry', () => {
96
102
  assert.equal(marketplace.plugins[0].name, 'loom');
97
103
  assert.equal(marketplace.plugins[0].source.path, './plugins/loom');
98
104
  });
105
+ test('codex plugin install fails closed on marketplace conflicts without force', () => {
106
+ const base = fixtureRoot();
107
+ const envSource = prepareEnv(base);
108
+ mkdirSync(envSource.CODEX_HOME, { recursive: true });
109
+ const repoRoot = join(base, 'repo');
110
+ mkdirSync(repoRoot, { recursive: true });
111
+ writeCodexMarketplace(repoRoot, {
112
+ name: 'custom-marketplace',
113
+ plugins: [
114
+ {
115
+ name: 'loom',
116
+ source: {
117
+ source: 'local',
118
+ path: './plugins/not-loom',
119
+ },
120
+ },
121
+ ],
122
+ });
123
+ const parsed = {
124
+ mode: 'plugin',
125
+ options: {
126
+ host: 'codex',
127
+ target: repoRoot,
128
+ force: false,
129
+ json: false,
130
+ },
131
+ };
132
+ assert.throws(() => runInstaller(parsed, envSource, packageRoot()), /already declares loom from a different path/);
133
+ });
134
+ test('codex plugin install lets --force take over conflicting marketplace entry', () => {
135
+ const base = fixtureRoot();
136
+ const envSource = prepareEnv(base);
137
+ mkdirSync(envSource.CODEX_HOME, { recursive: true });
138
+ const repoRoot = join(base, 'repo');
139
+ mkdirSync(repoRoot, { recursive: true });
140
+ writeCodexMarketplace(repoRoot, {
141
+ name: 'custom-marketplace',
142
+ plugins: [
143
+ {
144
+ name: 'loom',
145
+ source: {
146
+ source: 'local',
147
+ path: './plugins/not-loom',
148
+ },
149
+ },
150
+ ],
151
+ });
152
+ const parsed = {
153
+ mode: 'plugin',
154
+ options: {
155
+ host: 'codex',
156
+ target: repoRoot,
157
+ force: true,
158
+ json: false,
159
+ },
160
+ };
161
+ const result = runInstaller(parsed, envSource, packageRoot());
162
+ const marketplace = JSON.parse(readFileSync(join(repoRoot, '.agents', 'plugins', 'marketplace.json'), 'utf8'));
163
+ assert.equal(result.mode, 'plugin');
164
+ assert.equal(marketplace.plugins[0].source.path, './plugins/loom');
165
+ });
99
166
  test('codex skill install writes skills.config entry', () => {
100
167
  const base = fixtureRoot();
101
168
  const envSource = prepareEnv(base);
@@ -120,6 +187,84 @@ test('codex skill install writes skills.config entry', () => {
120
187
  assert.match(config, /loom-review\/SKILL\.md/);
121
188
  assert.match(config, /enabled = true/);
122
189
  });
190
+ test('codex skill install fails closed on conflicting skills.config entry without force', () => {
191
+ const base = fixtureRoot();
192
+ const envSource = prepareEnv(base);
193
+ mkdirSync(envSource.CODEX_HOME, { recursive: true });
194
+ const repoRoot = join(base, 'repo');
195
+ mkdirSync(repoRoot, { recursive: true });
196
+ writeFileSync(join(envSource.CODEX_HOME, 'config.toml'), [
197
+ 'model = "gpt-5"',
198
+ '',
199
+ '[[skills.config]]',
200
+ 'path = "/tmp/other/loom-review/SKILL.md"',
201
+ 'enabled = true',
202
+ '',
203
+ ].join('\n'), 'utf8');
204
+ const parsed = {
205
+ mode: 'skill',
206
+ skillId: 'loom-review',
207
+ options: {
208
+ host: 'codex',
209
+ target: repoRoot,
210
+ force: false,
211
+ json: false,
212
+ },
213
+ };
214
+ assert.throws(() => runInstaller(parsed, envSource, packageRoot()), /already has loom-review from a different path/);
215
+ });
216
+ test('codex skill install lets --force take over conflicting skills.config entry', () => {
217
+ const base = fixtureRoot();
218
+ const envSource = prepareEnv(base);
219
+ mkdirSync(envSource.CODEX_HOME, { recursive: true });
220
+ const repoRoot = join(base, 'repo');
221
+ mkdirSync(repoRoot, { recursive: true });
222
+ writeFileSync(join(envSource.CODEX_HOME, 'config.toml'), [
223
+ 'model = "gpt-5"',
224
+ '',
225
+ '[[skills.config]]',
226
+ 'path = "/tmp/other/loom-review/SKILL.md"',
227
+ 'enabled = true',
228
+ '',
229
+ ].join('\n'), 'utf8');
230
+ const parsed = {
231
+ mode: 'skill',
232
+ skillId: 'loom-review',
233
+ options: {
234
+ host: 'codex',
235
+ target: repoRoot,
236
+ force: true,
237
+ json: false,
238
+ },
239
+ };
240
+ const result = runInstaller(parsed, envSource, packageRoot());
241
+ const config = readFileSync(join(envSource.CODEX_HOME, 'config.toml'), 'utf8');
242
+ assert.equal(result.mode, 'skill');
243
+ assert.doesNotMatch(config, /\/tmp\/other\/loom-review\/SKILL\.md/);
244
+ assert.match(config, /loom-review\/SKILL\.md/);
245
+ });
246
+ test('single-skill installs stay scoped to the named skill for codex', () => {
247
+ const base = fixtureRoot();
248
+ const envSource = prepareEnv(base);
249
+ mkdirSync(envSource.CODEX_HOME, { recursive: true });
250
+ const repoRoot = join(base, 'repo');
251
+ mkdirSync(repoRoot, { recursive: true });
252
+ const parsed = {
253
+ mode: 'skill',
254
+ skillId: 'loom-init',
255
+ options: {
256
+ host: 'codex',
257
+ target: repoRoot,
258
+ force: false,
259
+ json: false,
260
+ },
261
+ };
262
+ const result = runInstaller(parsed, envSource, packageRoot());
263
+ assert.equal(result.mode, 'skill');
264
+ assert.match(result.warnings[0] ?? '', /only the named skill, not the full Loom plugin surface/);
265
+ assert.equal(existsSync(join(repoRoot, 'plugins', 'loom')), false);
266
+ assert.equal(existsSync(join(repoRoot, '.agents', 'plugins', 'marketplace.json')), false);
267
+ });
123
268
  test('claude plugin install assembles marketplace and calls claude CLI', () => {
124
269
  const base = fixtureRoot();
125
270
  const envSource = prepareEnv(base);
@@ -149,6 +294,28 @@ test('claude plugin install assembles marketplace and calls claude CLI', () => {
149
294
  assert.match(log, /plugin marketplace add/);
150
295
  assert.match(log, /plugin install loom@loom-local/);
151
296
  });
297
+ test('single-skill installs stay scoped to the named skill for claude', () => {
298
+ const base = fixtureRoot();
299
+ const envSource = prepareEnv(base);
300
+ mkdirSync(envSource.CLAUDE_CONFIG_DIR, { recursive: true });
301
+ const repoRoot = join(base, 'repo');
302
+ mkdirSync(repoRoot, { recursive: true });
303
+ const parsed = {
304
+ mode: 'skill',
305
+ skillId: 'loom-init',
306
+ options: {
307
+ host: 'claude',
308
+ target: repoRoot,
309
+ force: false,
310
+ json: false,
311
+ },
312
+ };
313
+ const result = runInstaller(parsed, envSource, packageRoot());
314
+ assert.equal(result.mode, 'skill');
315
+ assert.match(result.warnings[0] ?? '', /does not expose the full Loom plugin surface/);
316
+ assert.equal(existsSync(join(repoRoot, '.claude', 'skills', 'loom-init', 'SKILL.md')), true);
317
+ assert.equal(existsSync(join(repoRoot, '.claude', 'marketplaces', 'loom-local')), false);
318
+ });
152
319
  test('cli emits structured json on success', () => {
153
320
  const base = fixtureRoot();
154
321
  const envSource = prepareEnv(base);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mc-and-his-agents/loom-installer",
3
- "version": "0.1.1",
3
+ "version": "0.1.6",
4
4
  "description": "Node installer for Loom plugin and single-skill installation surfaces.",
5
5
  "type": "module",
6
6
  "bin": {