@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.
- package/README.md +27 -19
- package/dist/src/codex.js +1 -1
- package/dist/test/installer.test.js +167 -0
- package/package.json +1 -1
- package/payload/manifest.json +1593 -1248
- package/payload/plugin/loom/.codex-plugin/plugin.json +6 -6
- package/payload/plugin/loom/skills/README.md +43 -98
- package/payload/plugin/loom/skills/distribution-and-adapter-contract.md +9 -8
- package/payload/plugin/loom/skills/shared/references/harness/automation-frontload.md +5 -5
- package/payload/plugin/loom/skills/shared/scripts/loom_check.py +284 -97
- package/payload/skills/loom-adopt/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-adopt/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-adopt/.loom-runtime/install-layout.json +27 -13
- package/payload/skills/loom-adopt/.loom-runtime/loom-adopt/contract.json +13 -13
- package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/SKILL.md +23 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/contract.json +53 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-init/SKILL.md +246 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-init/agents/openai.yaml +4 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-init/contract.json +76 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/contract.json +49 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/SKILL.md +69 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/contract.json +41 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-resume/SKILL.md +72 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-resume/contract.json +47 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-resume/references/input-signals.md +15 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-resume/references/output-contract.md +58 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-retire/SKILL.md +26 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-retire/contract.json +41 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-retire/references/input-signals.md +7 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-retire/references/output-contract.md +13 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-review/SKILL.md +95 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-review/contract.json +49 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-review/references/input-signals.md +15 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-review/references/output-contract.md +57 -0
- package/payload/skills/loom-adopt/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
- package/payload/skills/loom-adopt/.loom-runtime/registry.json +57 -8
- package/payload/skills/loom-adopt/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-adopt/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-adopt/.loom-runtime/upgrade-contract.json +17 -17
- package/payload/skills/loom-adopt/SKILL.md +9 -9
- package/payload/skills/loom-adopt/contract.json +13 -13
- package/payload/skills/loom-adopt/references/input-signals.md +1 -1
- package/payload/skills/loom-adopt/references/output-contract.md +1 -1
- package/payload/skills/loom-adopt/scripts/loom-adopt.py +0 -0
- package/payload/skills/loom-handoff/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-handoff/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-handoff/.loom-runtime/install-layout.json +27 -13
- package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/SKILL.md +80 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/contract.json +45 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-handoff/contract.json +13 -13
- package/payload/skills/loom-handoff/.loom-runtime/loom-init/SKILL.md +246 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-init/agents/openai.yaml +4 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-init/contract.json +76 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/contract.json +49 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/SKILL.md +69 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/contract.json +41 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-resume/SKILL.md +72 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-resume/contract.json +47 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-resume/references/input-signals.md +15 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-resume/references/output-contract.md +58 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-retire/SKILL.md +26 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-retire/contract.json +41 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-retire/references/input-signals.md +7 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-retire/references/output-contract.md +13 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-review/SKILL.md +95 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-review/contract.json +49 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-review/references/input-signals.md +15 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-review/references/output-contract.md +57 -0
- package/payload/skills/loom-handoff/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
- package/payload/skills/loom-handoff/.loom-runtime/registry.json +56 -7
- package/payload/skills/loom-handoff/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-handoff/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-handoff/.loom-runtime/upgrade-contract.json +17 -17
- package/payload/skills/loom-handoff/SKILL.md +2 -2
- package/payload/skills/loom-handoff/contract.json +13 -13
- package/payload/skills/loom-handoff/scripts/loom-handoff.py +0 -0
- package/payload/skills/loom-init/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-init/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-init/.loom-runtime/install-layout.json +27 -13
- package/payload/skills/loom-init/.loom-runtime/loom-adopt/SKILL.md +80 -0
- package/payload/skills/loom-init/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
- package/payload/skills/loom-init/.loom-runtime/loom-adopt/contract.json +45 -0
- package/payload/skills/loom-init/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
- package/payload/skills/loom-init/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
- package/payload/skills/loom-init/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
- package/payload/skills/loom-init/.loom-runtime/loom-handoff/SKILL.md +23 -0
- package/payload/skills/loom-init/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
- package/payload/skills/loom-init/.loom-runtime/loom-handoff/contract.json +53 -0
- package/payload/skills/loom-init/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
- package/payload/skills/loom-init/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
- package/payload/skills/loom-init/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
- package/payload/skills/loom-init/.loom-runtime/loom-init/contract.json +34 -34
- package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
- package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
- package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/contract.json +49 -0
- package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
- package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
- package/payload/skills/loom-init/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
- package/payload/skills/loom-init/.loom-runtime/loom-pre-review/SKILL.md +69 -0
- package/payload/skills/loom-init/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-init/.loom-runtime/loom-pre-review/contract.json +41 -0
- package/payload/skills/loom-init/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
- package/payload/skills/loom-init/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
- package/payload/skills/loom-init/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
- package/payload/skills/loom-init/.loom-runtime/loom-resume/SKILL.md +72 -0
- package/payload/skills/loom-init/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
- package/payload/skills/loom-init/.loom-runtime/loom-resume/contract.json +47 -0
- package/payload/skills/loom-init/.loom-runtime/loom-resume/references/input-signals.md +15 -0
- package/payload/skills/loom-init/.loom-runtime/loom-resume/references/output-contract.md +58 -0
- package/payload/skills/loom-init/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
- package/payload/skills/loom-init/.loom-runtime/loom-retire/SKILL.md +26 -0
- package/payload/skills/loom-init/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
- package/payload/skills/loom-init/.loom-runtime/loom-retire/contract.json +41 -0
- package/payload/skills/loom-init/.loom-runtime/loom-retire/references/input-signals.md +7 -0
- package/payload/skills/loom-init/.loom-runtime/loom-retire/references/output-contract.md +13 -0
- package/payload/skills/loom-init/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
- package/payload/skills/loom-init/.loom-runtime/loom-review/SKILL.md +95 -0
- package/payload/skills/loom-init/.loom-runtime/loom-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-init/.loom-runtime/loom-review/contract.json +49 -0
- package/payload/skills/loom-init/.loom-runtime/loom-review/references/input-signals.md +15 -0
- package/payload/skills/loom-init/.loom-runtime/loom-review/references/output-contract.md +57 -0
- package/payload/skills/loom-init/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
- package/payload/skills/loom-init/.loom-runtime/registry.json +57 -8
- package/payload/skills/loom-init/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-init/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-init/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-init/.loom-runtime/upgrade-contract.json +16 -16
- package/payload/skills/loom-init/SKILL.md +23 -23
- package/payload/skills/loom-init/contract.json +34 -34
- package/payload/skills/loom-init/references/input-signals.md +2 -2
- package/payload/skills/loom-init/references/intake-signals.md +2 -2
- package/payload/skills/loom-init/scripts/loom-init.py +0 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/install-layout.json +26 -12
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/SKILL.md +80 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/contract.json +45 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/SKILL.md +23 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/contract.json +53 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/SKILL.md +246 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/agents/openai.yaml +4 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/contract.json +76 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-merge-ready/contract.json +13 -13
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/SKILL.md +69 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/contract.json +41 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/SKILL.md +72 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/contract.json +47 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/references/input-signals.md +15 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/references/output-contract.md +58 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/SKILL.md +26 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/contract.json +41 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/references/input-signals.md +7 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/references/output-contract.md +13 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/SKILL.md +95 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/contract.json +49 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/references/input-signals.md +15 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/references/output-contract.md +57 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
- package/payload/skills/loom-merge-ready/.loom-runtime/registry.json +56 -7
- package/payload/skills/loom-merge-ready/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-merge-ready/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-merge-ready/.loom-runtime/upgrade-contract.json +17 -17
- package/payload/skills/loom-merge-ready/SKILL.md +2 -2
- package/payload/skills/loom-merge-ready/contract.json +13 -13
- package/payload/skills/loom-merge-ready/scripts/loom-merge-ready.py +0 -0
- package/payload/skills/loom-pre-review/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-pre-review/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-pre-review/.loom-runtime/install-layout.json +27 -13
- package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/SKILL.md +80 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/contract.json +45 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/SKILL.md +23 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/contract.json +53 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-init/SKILL.md +246 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-init/agents/openai.yaml +4 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-init/contract.json +76 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/contract.json +49 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-pre-review/contract.json +13 -13
- package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/SKILL.md +72 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/contract.json +47 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/references/input-signals.md +15 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/references/output-contract.md +58 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/SKILL.md +26 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/contract.json +41 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/references/input-signals.md +7 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/references/output-contract.md +13 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-review/SKILL.md +95 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-review/contract.json +49 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-review/references/input-signals.md +15 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-review/references/output-contract.md +57 -0
- package/payload/skills/loom-pre-review/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
- package/payload/skills/loom-pre-review/.loom-runtime/registry.json +56 -7
- package/payload/skills/loom-pre-review/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-pre-review/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-pre-review/.loom-runtime/upgrade-contract.json +17 -17
- package/payload/skills/loom-pre-review/SKILL.md +3 -3
- package/payload/skills/loom-pre-review/contract.json +13 -13
- package/payload/skills/loom-pre-review/scripts/loom-pre-review.py +0 -0
- package/payload/skills/loom-resume/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-resume/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-resume/.loom-runtime/install-layout.json +27 -13
- package/payload/skills/loom-resume/.loom-runtime/loom-adopt/SKILL.md +80 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-adopt/contract.json +45 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-handoff/SKILL.md +23 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-handoff/contract.json +53 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-init/SKILL.md +246 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-init/agents/openai.yaml +4 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-init/contract.json +76 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/contract.json +49 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/SKILL.md +69 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/contract.json +41 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-resume/contract.json +13 -13
- package/payload/skills/loom-resume/.loom-runtime/loom-retire/SKILL.md +26 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-retire/contract.json +41 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-retire/references/input-signals.md +7 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-retire/references/output-contract.md +13 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-review/SKILL.md +95 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-review/contract.json +49 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-review/references/input-signals.md +15 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-review/references/output-contract.md +57 -0
- package/payload/skills/loom-resume/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
- package/payload/skills/loom-resume/.loom-runtime/registry.json +56 -7
- package/payload/skills/loom-resume/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-resume/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-resume/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-resume/.loom-runtime/upgrade-contract.json +17 -17
- package/payload/skills/loom-resume/SKILL.md +3 -3
- package/payload/skills/loom-resume/contract.json +13 -13
- package/payload/skills/loom-resume/scripts/loom-resume.py +0 -0
- package/payload/skills/loom-retire/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-retire/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-retire/.loom-runtime/install-layout.json +27 -13
- package/payload/skills/loom-retire/.loom-runtime/loom-adopt/SKILL.md +80 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-adopt/contract.json +45 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-handoff/SKILL.md +23 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-handoff/contract.json +53 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-init/SKILL.md +246 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-init/agents/openai.yaml +4 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-init/contract.json +76 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/contract.json +49 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/SKILL.md +69 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/contract.json +41 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-resume/SKILL.md +72 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-resume/contract.json +47 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-resume/references/input-signals.md +15 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-resume/references/output-contract.md +58 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-retire/contract.json +13 -13
- package/payload/skills/loom-retire/.loom-runtime/loom-review/SKILL.md +95 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-review/contract.json +49 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-review/references/input-signals.md +15 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-review/references/output-contract.md +57 -0
- package/payload/skills/loom-retire/.loom-runtime/loom-review/scripts/loom-review.py +14 -0
- package/payload/skills/loom-retire/.loom-runtime/registry.json +56 -7
- package/payload/skills/loom-retire/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-retire/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-retire/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-retire/.loom-runtime/upgrade-contract.json +17 -17
- package/payload/skills/loom-retire/SKILL.md +2 -2
- package/payload/skills/loom-retire/contract.json +13 -13
- package/payload/skills/loom-retire/scripts/loom-retire.py +0 -0
- package/payload/skills/loom-review/.loom-runtime/README.md +73 -0
- package/payload/skills/loom-review/.loom-runtime/distribution-and-adapter-contract.md +360 -0
- package/payload/skills/loom-review/.loom-runtime/install-layout.json +27 -13
- package/payload/skills/loom-review/.loom-runtime/loom-adopt/SKILL.md +80 -0
- package/payload/skills/loom-review/.loom-runtime/loom-adopt/agents/openai.yaml +4 -0
- package/payload/skills/loom-review/.loom-runtime/loom-adopt/contract.json +45 -0
- package/payload/skills/loom-review/.loom-runtime/loom-adopt/references/input-signals.md +17 -0
- package/payload/skills/loom-review/.loom-runtime/loom-adopt/references/output-contract.md +17 -0
- package/payload/skills/loom-review/.loom-runtime/loom-adopt/scripts/loom-adopt.py +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-handoff/SKILL.md +23 -0
- package/payload/skills/loom-review/.loom-runtime/loom-handoff/agents/openai.yaml +4 -0
- package/payload/skills/loom-review/.loom-runtime/loom-handoff/contract.json +53 -0
- package/payload/skills/loom-review/.loom-runtime/loom-handoff/references/input-signals.md +7 -0
- package/payload/skills/loom-review/.loom-runtime/loom-handoff/references/output-contract.md +42 -0
- package/payload/skills/loom-review/.loom-runtime/loom-handoff/scripts/loom-handoff.py +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-init/SKILL.md +246 -0
- package/payload/skills/loom-review/.loom-runtime/loom-init/agents/openai.yaml +4 -0
- package/payload/skills/loom-review/.loom-runtime/loom-init/contract.json +76 -0
- package/payload/skills/loom-review/.loom-runtime/loom-init/scripts/loom-init.py +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/SKILL.md +23 -0
- package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/agents/openai.yaml +4 -0
- package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/contract.json +49 -0
- package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/references/input-signals.md +7 -0
- package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/references/output-contract.md +34 -0
- package/payload/skills/loom-review/.loom-runtime/loom-merge-ready/scripts/loom-merge-ready.py +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-pre-review/SKILL.md +69 -0
- package/payload/skills/loom-review/.loom-runtime/loom-pre-review/agents/openai.yaml +4 -0
- package/payload/skills/loom-review/.loom-runtime/loom-pre-review/contract.json +41 -0
- package/payload/skills/loom-review/.loom-runtime/loom-pre-review/references/input-signals.md +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-pre-review/references/output-contract.md +20 -0
- package/payload/skills/loom-review/.loom-runtime/loom-pre-review/scripts/loom-pre-review.py +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-resume/SKILL.md +72 -0
- package/payload/skills/loom-review/.loom-runtime/loom-resume/agents/openai.yaml +4 -0
- package/payload/skills/loom-review/.loom-runtime/loom-resume/contract.json +47 -0
- package/payload/skills/loom-review/.loom-runtime/loom-resume/references/input-signals.md +15 -0
- package/payload/skills/loom-review/.loom-runtime/loom-resume/references/output-contract.md +58 -0
- package/payload/skills/loom-review/.loom-runtime/loom-resume/scripts/loom-resume.py +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-retire/SKILL.md +26 -0
- package/payload/skills/loom-review/.loom-runtime/loom-retire/agents/openai.yaml +4 -0
- package/payload/skills/loom-review/.loom-runtime/loom-retire/contract.json +41 -0
- package/payload/skills/loom-review/.loom-runtime/loom-retire/references/input-signals.md +7 -0
- package/payload/skills/loom-review/.loom-runtime/loom-retire/references/output-contract.md +13 -0
- package/payload/skills/loom-review/.loom-runtime/loom-retire/scripts/loom-retire.py +14 -0
- package/payload/skills/loom-review/.loom-runtime/loom-review/contract.json +13 -13
- package/payload/skills/loom-review/.loom-runtime/registry.json +56 -7
- package/payload/skills/loom-review/.loom-runtime/shared/references/harness/automation-frontload.md +5 -5
- package/payload/skills/loom-review/.loom-runtime/shared/scripts/governance_surface.py +3 -13
- package/payload/skills/loom-review/.loom-runtime/shared/scripts/loom_check.py +325 -97
- package/payload/skills/loom-review/.loom-runtime/upgrade-contract.json +17 -17
- package/payload/skills/loom-review/SKILL.md +3 -3
- package/payload/skills/loom-review/contract.json +13 -13
- package/payload/skills/loom-review/scripts/loom-review.py +0 -0
- package/payload/skills/loom-adopt/references/loom-init/input-signals.md +0 -16
- package/payload/skills/loom-adopt/references/loom-init/intake-signals.md +0 -155
- package/payload/skills/loom-adopt/references/loom-init/output-contract.md +0 -208
- package/payload/skills/loom-adopt/references/route-matrix.md +0 -63
- package/payload/skills/loom-adopt/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-adopt/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-adopt/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-adopt/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-adopt/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-adopt/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-adopt/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-adopt/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-adopt/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-adopt/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-adopt/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-adopt/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-adopt/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-adopt/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-adopt/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-adopt/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-adopt/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-adopt/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-adopt/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-adopt/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-adopt/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-adopt/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-adopt/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-adopt/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-adopt/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-adopt/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-adopt/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-adopt/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-adopt/references/shared/templates/review-record.md +0 -35
- package/payload/skills/loom-adopt/references/shared/templates/spec-suite.md +0 -57
- package/payload/skills/loom-handoff/references/loom-init/input-signals.md +0 -16
- package/payload/skills/loom-handoff/references/loom-init/intake-signals.md +0 -155
- package/payload/skills/loom-handoff/references/loom-init/output-contract.md +0 -208
- package/payload/skills/loom-handoff/references/route-matrix.md +0 -63
- package/payload/skills/loom-handoff/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-handoff/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-handoff/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-handoff/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-handoff/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-handoff/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-handoff/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-handoff/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-handoff/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-handoff/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-handoff/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-handoff/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-handoff/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-handoff/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-handoff/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-handoff/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-handoff/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-handoff/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-handoff/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-handoff/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-handoff/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-handoff/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-handoff/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-handoff/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-handoff/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-handoff/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-handoff/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-handoff/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-handoff/references/shared/templates/review-record.md +0 -35
- package/payload/skills/loom-handoff/references/shared/templates/spec-suite.md +0 -57
- package/payload/skills/loom-init/references/route-matrix.md +0 -63
- package/payload/skills/loom-init/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-init/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-init/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-init/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-init/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-init/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-init/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-init/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-init/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-init/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-init/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-init/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-init/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-init/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-init/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-init/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-init/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-init/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-init/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-init/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-init/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-init/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-init/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-init/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-init/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-init/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-init/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-init/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-init/references/shared/templates/review-record.md +0 -35
- package/payload/skills/loom-init/references/shared/templates/spec-suite.md +0 -57
- package/payload/skills/loom-merge-ready/references/loom-init/input-signals.md +0 -16
- package/payload/skills/loom-merge-ready/references/loom-init/intake-signals.md +0 -155
- package/payload/skills/loom-merge-ready/references/loom-init/output-contract.md +0 -208
- package/payload/skills/loom-merge-ready/references/route-matrix.md +0 -63
- package/payload/skills/loom-merge-ready/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-merge-ready/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-merge-ready/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-merge-ready/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-merge-ready/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-merge-ready/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-merge-ready/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-merge-ready/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-merge-ready/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-merge-ready/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-merge-ready/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-merge-ready/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-merge-ready/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-merge-ready/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-merge-ready/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-merge-ready/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-merge-ready/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-merge-ready/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-merge-ready/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-merge-ready/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-merge-ready/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-merge-ready/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-merge-ready/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-merge-ready/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-merge-ready/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-merge-ready/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-merge-ready/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-merge-ready/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-merge-ready/references/shared/templates/review-record.md +0 -35
- package/payload/skills/loom-merge-ready/references/shared/templates/spec-suite.md +0 -57
- package/payload/skills/loom-pre-review/references/loom-init/input-signals.md +0 -16
- package/payload/skills/loom-pre-review/references/loom-init/intake-signals.md +0 -155
- package/payload/skills/loom-pre-review/references/loom-init/output-contract.md +0 -208
- package/payload/skills/loom-pre-review/references/route-matrix.md +0 -63
- package/payload/skills/loom-pre-review/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-pre-review/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-pre-review/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-pre-review/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-pre-review/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-pre-review/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-pre-review/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-pre-review/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-pre-review/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-pre-review/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-pre-review/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-pre-review/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-pre-review/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-pre-review/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-pre-review/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-pre-review/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-pre-review/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-pre-review/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-pre-review/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-pre-review/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-pre-review/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-pre-review/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-pre-review/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-pre-review/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-pre-review/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-pre-review/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-pre-review/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-pre-review/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-pre-review/references/shared/templates/review-record.md +0 -35
- package/payload/skills/loom-pre-review/references/shared/templates/spec-suite.md +0 -57
- package/payload/skills/loom-resume/references/loom-init/input-signals.md +0 -16
- package/payload/skills/loom-resume/references/loom-init/intake-signals.md +0 -155
- package/payload/skills/loom-resume/references/loom-init/output-contract.md +0 -208
- package/payload/skills/loom-resume/references/route-matrix.md +0 -63
- package/payload/skills/loom-resume/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-resume/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-resume/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-resume/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-resume/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-resume/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-resume/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-resume/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-resume/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-resume/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-resume/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-resume/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-resume/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-resume/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-resume/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-resume/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-resume/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-resume/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-resume/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-resume/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-resume/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-resume/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-resume/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-resume/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-resume/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-resume/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-resume/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-resume/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-resume/references/shared/templates/review-record.md +0 -35
- package/payload/skills/loom-resume/references/shared/templates/spec-suite.md +0 -57
- package/payload/skills/loom-retire/references/loom-init/input-signals.md +0 -16
- package/payload/skills/loom-retire/references/loom-init/intake-signals.md +0 -155
- package/payload/skills/loom-retire/references/loom-init/output-contract.md +0 -208
- package/payload/skills/loom-retire/references/route-matrix.md +0 -63
- package/payload/skills/loom-retire/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-retire/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-retire/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-retire/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-retire/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-retire/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-retire/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-retire/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-retire/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-retire/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-retire/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-retire/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-retire/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-retire/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-retire/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-retire/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-retire/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-retire/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-retire/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-retire/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-retire/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-retire/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-retire/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-retire/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-retire/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-retire/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-retire/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-retire/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-retire/references/shared/templates/review-record.md +0 -35
- package/payload/skills/loom-retire/references/shared/templates/spec-suite.md +0 -57
- package/payload/skills/loom-review/references/loom-init/input-signals.md +0 -16
- package/payload/skills/loom-review/references/loom-init/intake-signals.md +0 -155
- package/payload/skills/loom-review/references/loom-init/output-contract.md +0 -208
- package/payload/skills/loom-review/references/route-matrix.md +0 -63
- package/payload/skills/loom-review/references/shared/adoption/deep-existing-repo-default.md +0 -64
- package/payload/skills/loom-review/references/shared/adoption/lightweight-retrofit-default.md +0 -71
- package/payload/skills/loom-review/references/shared/adoption/routing-and-checkpoints.md +0 -88
- package/payload/skills/loom-review/references/shared/governance/host-object-taxonomy.md +0 -148
- package/payload/skills/loom-review/references/shared/governance/issue-model.md +0 -127
- package/payload/skills/loom-review/references/shared/governance/maturity-and-closing.md +0 -69
- package/payload/skills/loom-review/references/shared/governance/principles.md +0 -180
- package/payload/skills/loom-review/references/shared/governance/review-model.md +0 -109
- package/payload/skills/loom-review/references/shared/governance/state-machine.md +0 -163
- package/payload/skills/loom-review/references/shared/governance/truth-and-sync-boundary.md +0 -161
- package/payload/skills/loom-review/references/shared/harness/automation-frontload.md +0 -139
- package/payload/skills/loom-review/references/shared/harness/closeout-gate.md +0 -97
- package/payload/skills/loom-review/references/shared/harness/execution-chain.md +0 -56
- package/payload/skills/loom-review/references/shared/harness/execution-context.md +0 -71
- package/payload/skills/loom-review/references/shared/harness/fact-chain-contract.md +0 -160
- package/payload/skills/loom-review/references/shared/harness/host-action-contract.md +0 -128
- package/payload/skills/loom-review/references/shared/harness/host-issue-binding.md +0 -90
- package/payload/skills/loom-review/references/shared/harness/host-lifecycle-boundary.md +0 -56
- package/payload/skills/loom-review/references/shared/harness/merge-checkpoint.md +0 -95
- package/payload/skills/loom-review/references/shared/harness/reconciliation-audit.md +0 -64
- package/payload/skills/loom-review/references/shared/harness/recovery-model.md +0 -101
- package/payload/skills/loom-review/references/shared/harness/review-execution.md +0 -99
- package/payload/skills/loom-review/references/shared/harness/runtime-state.md +0 -103
- package/payload/skills/loom-review/references/shared/harness/status-surface.md +0 -121
- package/payload/skills/loom-review/references/shared/harness/work-item-contract.md +0 -104
- package/payload/skills/loom-review/references/shared/harness/workspace-and-purity.md +0 -73
- package/payload/skills/loom-review/references/shared/harness/workspace-model.md +0 -56
- package/payload/skills/loom-review/references/shared/templates/pull-request.md +0 -44
- package/payload/skills/loom-review/references/shared/templates/review-record.md +0 -35
- 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
|
|
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
|
-
|
|
8
|
-
- 把某个单独 Loom skill 接到对应宿主
|
|
7
|
+
## Commands
|
|
9
8
|
|
|
10
|
-
|
|
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
|
|
16
|
-
npx @mc-and-his-agents/loom-installer add skill
|
|
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
|
-
|
|
48
|
+
Publishing only happens from `main`.
|
|
42
49
|
|
|
43
|
-
|
|
50
|
+
Release model:
|
|
44
51
|
|
|
45
|
-
-
|
|
46
|
-
- `main`
|
|
47
|
-
-
|
|
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);
|