{"_id":"clean-room-skill","_rev":"31-db32ba8070de05356689105afb323e23","name":"clean-room-skill","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"clean-room-skill","version":"0.1.0","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.0","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"d5239de1be2599c62b0c5e1220e6670df18825a6","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.0.tgz","fileCount":56,"integrity":"sha512-jmI9MVTrXhoBuH9Sf6MiFTuDEfeCSyW1iLaGlVvcVusn9gpPLNajp4ppC+2EtC0ktYerpt6z1hQxiwlT9lOg+Q==","signatures":[{"sig":"MEUCIQCfF128mPjopT1vwUmcG7D/NW/PhAw3oggboUGmBbQ3bgIgIi9kHmOJaQW6ROc4I3PmisECfLRoknjOFYfMig4VPic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292289},"engines":{"node":">=20"},"gitHead":"d30784c39ab88e2db71d216bd9451d6052cd7331","scripts":{"test":"node --test","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.14.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"22.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.0_1779310086658_0.20465623911904807","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"clean-room-skill","version":"0.1.2","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.2","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"f2d7e10f2a37ebd36e017d18a6148d0981e4082d","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.2.tgz","fileCount":101,"integrity":"sha512-lX9lq5qAJ9mXxH1f8QTjj8zLlpUJGyfdrdDMr+CrUirXRryd8adRN4g3vdAB6eCU5OUp8sfCwHbqB8xb+V4KtQ==","signatures":[{"sig":"MEYCIQCgAn9IXjByG4azvKmfFOPTBtjK+CeTIMF1+l85P3hlugIhAP+WbdRpdbRqIimLGfxNv6wSdet0WbB6ls0K5XrN7YSU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":684339},"engines":{"node":">=22"},"gitHead":"d6eca92eb44b9e4f50b44cecf2b56e780b3d2076","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.2_1779409732798_0.5573671886213887","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"clean-room-skill","version":"0.1.3","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.3","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"2982c0a62a6426ad37fe29d7bb407aaa14f87f74","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.3.tgz","fileCount":113,"integrity":"sha512-Axn0XcITOXND114+Zq6WWk33dsWjbJGBSWUgpuxVOpqVRDpARtD+iuGI2K9yBwCcdny5BCQhYNtsdDT2szcerg==","signatures":[{"sig":"MEUCIQDkTWx4nXqEkQxy8k3l0rCP/y/dJUH/TH304l6sUsbYmAIgXHjs3XYiyNnlypbbMlpQI3rBuh87WgEYKvg7Vvvremo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":726017},"engines":{"node":">=22"},"gitHead":"204c4067c37ecac85dc4f05bc04a700d67c6638a","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.3_1779414218410_0.9493647389752913","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"clean-room-skill","version":"0.1.4","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.4","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"fa2a8e4b9323bb533559d3d61cee1f5ba242da67","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.4.tgz","fileCount":113,"integrity":"sha512-ok/ttBmGX6a1LRF+WZ2XrZHlu9/vwMa//nWu2fODrnH72gs609TU93K252Dz7fBChTeXzd8p0/T3ejS1CYoKkw==","signatures":[{"sig":"MEUCIQDm56JEb1YhRmc9iZ6v3fNm/VbpgLPdfUNvALnvQJVXrwIgSUjE0hJOhanH93luDlIVyPzF+b4hWvmql04fNgwvbxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":726137},"engines":{"node":">=22"},"gitHead":"7912172287808470cadab493c50faba2f4415c3f","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.4_1779448337807_0.48149449015086154","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"clean-room-skill","version":"0.1.5","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.5","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"3273f63009dfaef8764d64ae61d6a2292782816c","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.5.tgz","fileCount":113,"integrity":"sha512-Llz2U4q41noCk4cJ4xFjLptTpob9pju6FXRWfpxLQcNTj+bVs8Pl44FPyElsZzI282GIuZvT36Fms+R8aW75Rw==","signatures":[{"sig":"MEYCIQDmpt3DJAG8DQodE9rOg9W2Fm2WfZtYvR0ubQHj0ddSKQIhALAghAgkCxAd2jnX/YWgyDRoR34oX9U8pB2V4rgD1g0h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":734100},"engines":{"node":">=22"},"gitHead":"979487d5a14c3c0d1ab1f32c61f4ed307b95fdf7","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.5_1779475978150_0.3312228295589972","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"clean-room-skill","version":"0.1.6","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.6","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"5cd440d641ced2c79c25581c08794dbd1bd8f7e5","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.6.tgz","fileCount":113,"integrity":"sha512-7AsK26eIGp3QixROHcNlLwBU0S1a+JcUDihpk4yM666F4+MQg9ribfIP/ftkKIGgHTIQt7khnfRzSEz0b24FhQ==","signatures":[{"sig":"MEYCIQC9VIazEwYhV+K96pLksY4vPVMI6rYjkOWgGPUGmGlSMgIhAPZ/jVK7LIcbi+SR8MEWKAGxQy9sVILnzdqwVAFAffpz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":748865},"engines":{"node":">=22"},"gitHead":"d074f8f569b489f9405a08e67a06c513cf39052d","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.6_1779480490689_0.6297951578330403","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"clean-room-skill","version":"0.1.7","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.7","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"77813c760591970db187278eefcefef5c29d664e","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.7.tgz","fileCount":113,"integrity":"sha512-FOENUjxoDGJY+ZcrooCLBwMF3ScYw95ToqgPn4Nvm4vFPzNkw0ix54JfoFwaz2IUYphZXGfjMi115pZWWHQX8w==","signatures":[{"sig":"MEUCIQDkZrpGIZB64MV0/bXnLlvmLV5MVKUUB8feWhbKKADwjQIgYHZLA/umOZzflRdRqfTKymMR9WoUXaFbkRdURRhu1Do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":752362},"engines":{"node":">=22"},"gitHead":"fb5bee7b2638968201b7c85135ffb4831b047875","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.7_1779482634464_0.792389745403917","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"clean-room-skill","version":"0.1.8","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.8","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"9326d30d8d745f4bc0d443facc251bd00981416c","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.8.tgz","fileCount":122,"integrity":"sha512-CZ/588tEtk9Btgwz4lbrSaQbD7YiTQbH2dvesleJxzcS9I0oI3OcyNQQ+oAe3JeGeBCkqYZRhZDDoPag8q8tLg==","signatures":[{"sig":"MEUCIQCuf30zMmpNPmCxv7Ljq25gkTWEmWI7n86a84Ug69rVDgIgS9xSack5mKEew49AlljoSBNFp+uUNfoDV3uWp9mV918=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6762251},"engines":{"node":">=22"},"gitHead":"e92a6b29b7a95d9e524130ed6a17a72a5f8905fb","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.8_1779496103690_0.96588640719638","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"clean-room-skill","version":"0.1.9","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.9","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"e4079612efd21dfd08e487ebe24b91778cb47fc1","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.9.tgz","fileCount":127,"integrity":"sha512-qiyL07YmhtNkoo0NGyJnUtGkz2B77f2iv6HNfhBbwk/Wrcsh8dqn33AEcNn8T1//HEq2lynezoXuLVqf00Lumg==","signatures":[{"sig":"MEYCIQDlNFj1XLUvyJHWnwXkI/RQ6LvVDAuzr83ewtNoAN4F8gIhANbQJ8NTtP9zBRFJolPZYGHnaPBgboCQ1vVVJWspMK4g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6845490},"engines":{"node":">=22"},"gitHead":"0dfbd6e3b91f8584cb466f02d5a7e8e53a396424","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.9_1779503552637_0.506326590145094","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"clean-room-skill","version":"0.1.10","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.10","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"d274ccff17e0cf534cbdf475f597f93bbb1a7f58","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.10.tgz","fileCount":127,"integrity":"sha512-DtvMWVsEqRbN+B3ke6Qe5fsI2jA9QCtgf6shZ+zvSNpL0xrQR9RjkEnf7/1iJGy+gitpDkNoXdfJjlXkVPrPMA==","signatures":[{"sig":"MEUCIAx1O9usosWAufFeXNBNMmm/M+QwNECaLy8I0+WyVQa9AiEAmskNGcHd+Ah3CH4WiBwyhMroQjBK0oMV+WQne8VgToU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6846380},"engines":{"node":">=22"},"gitHead":"87220b155a6c969b881ccc8c1494c2afc29b8f83","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.10_1779553674306_0.9754266743748619","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"clean-room-skill","version":"0.1.11","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.11","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"20480f6ac1a01c36ff809b1f7ba89ebf114788dd","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.11.tgz","fileCount":130,"integrity":"sha512-770c6qRX2LZf8s8Rcf69vKhE2/nstWm1h3BI67upHAtRTTX7n/P2Fm8eVpPUhshSnReXDUHf7A5j5FFbWytslA==","signatures":[{"sig":"MEUCIQCxXZbo9q/XknqIDdfG6eiq475lK5L6K9KK9pwO9FC65AIgPvj2FyDMyUR63flv8yHUhNt2ikW+/9skzRP8By7ErcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6911526},"engines":{"node":">=22"},"gitHead":"a9adaeb40a911880aef666fd94f8623e92cb44d9","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.11_1779842783399_0.26771369084850405","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"clean-room-skill","version":"0.1.12","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.12","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"7740452edfca05ca07752edf925d034b981b22b2","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.12.tgz","fileCount":130,"integrity":"sha512-kG//Uc3uwi6ZhhwdfRO20zaRfxb3CUeyPHXUI4NLxsnxQA1HM4EUHpOrqX+UKQKI1UUTft6fP8flxqk1I2QiDg==","signatures":[{"sig":"MEQCIB4tnSoOCl8L5sF2oJJV0ufyAfxgZHrjjYxKaZQ3EbcRAiBAqUImcUxTYloGicGQgDEKe55S+DENmAD+ejD2Gxriww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6942992},"engines":{"node":">=22"},"gitHead":"ee849765d9a3ecadbbb25f047fe32540030c482b","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.12.1","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.12_1779965333839_0.6793810735523473","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"clean-room-skill","version":"0.1.13","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.13","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"d63636cf3c7a877955c85d4692cdc5e978c8bb6f","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.13.tgz","fileCount":155,"integrity":"sha512-wBtVq7w9TwmQ1YCZleK/3M86XEXPU7d6k5FSB19da55I8d4+NWYebq4y9ELaiHeYC4kc/jEAzHQaMrD/FPqriQ==","signatures":[{"sig":"MEUCIQDn3G0fWYy0pCHffvnhEjAlyqooH66A3C5t/BtGA2+XngIgQROprX6o0b6h5rLGlS6hk0MmlCDyT7kiOYMIfTuDoZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6980469},"engines":{"node":">=22"},"gitHead":"e9fa044cab49b3a84914e2ee1879fdcaf26bc969","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.13_1780258011336_0.5128495586764119","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"clean-room-skill","version":"0.1.14","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.14","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"f2912074c906884bad59fc4a9b2a948c22ffb77b","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.14.tgz","fileCount":155,"integrity":"sha512-0EoV8hsDbvUPTfwdMp7+QO2zSveZi8k8FrAjyIPjJy0TB+FYngPmYt1ldQG73Yp6nyp3Eebt0PDk21E+xGWm4w==","signatures":[{"sig":"MEUCIQCbl0d65FobtZ1MuTokf9sPyqR/DxiMM773irVxoiwu+wIgUzfxHNZGyeu4YLl0IxyqiyairGSgVDN/8r0DgGOOg6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6981248},"engines":{"node":">=22"},"gitHead":"fcb440cce9c045bda72010c734ef9e705ac28429","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.14_1780266874699_0.7661732887100965","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"clean-room-skill","version":"0.1.15","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.1.15","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"3a023e371dcb9ecf9e0f19975dba4a04e94ca101","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.1.15.tgz","fileCount":157,"integrity":"sha512-QfdR1aT9bwwfhPCeK+5dwR9gDTqOolcKCZyKINagFINSyiyJHOijDLouGdE8xsC8oGKhRhrvZt9e+BwHbApOkg==","signatures":[{"sig":"MEUCIQCZaqEcShRQdZZV/iZa6uo5sqgF3uAAPCqjZV52mXiQnQIgNxmpZepHwuHB+Q5DpvftRDfe7NXexMzVd+/IB5AH5iM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6997030},"engines":{"node":">=22"},"gitHead":"bbe805d366387a2028dfe96b10c29b4421cb4285","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.1.15_1780310419455_0.5124224922491785","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"clean-room-skill","version":"0.2.0","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.2.0","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"8d4cc9068aad57f5da03621505cc19d4cd4223d7","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.2.0.tgz","fileCount":157,"integrity":"sha512-um+0XrVYgZWgyA5prt6m2aDt5kEssIZzwnDxk/QxxaZAWlLijv1uMjda7ioiY9JQ0a96XFYx5TLutm6jBRt0Lw==","signatures":[{"sig":"MEUCIFf3Gf+vPxGSCzjKY6aBRA37k5/gJvvA5r/5p0Ql+9VJAiEA7e7yfPaplFtb3UDKxjnv8tScgVm/RrD0x39ril3pmJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7021725},"engines":{"node":">=22"},"gitHead":"8dcdd2b1f269e20f9733363f9de9d496edfda29d","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.2.0_1780432653665_0.8200902196666058","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"clean-room-skill","version":"0.2.1","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.2.1","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"4b5a79e8b88fcd4764888da00101876456755802","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.2.1.tgz","fileCount":158,"integrity":"sha512-wqNLcShKQqo0BMVfbKq8WjvJvxoU6h2urpdbMRvM7a+FdjOp4WiOSxmOlSbJmKlsIH47GXvHkVy81UI3Ze1Pmw==","signatures":[{"sig":"MEYCIQCajbifdInhgY5UXwW48lWlY9cTZg59aDVuRx6p/W47/wIhAPBekSAvrY1whmr5iFcBl37HmQ7ZD6vtubC9Sq5iHxza","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7038021},"engines":{"node":">=22"},"gitHead":"190c1a74bd29b84d4edee25c0747e432a41e1b16","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.2.1_1780614152611_0.4404490794199436","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"clean-room-skill","version":"0.2.2","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.2.2","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"e51c57e618efbff5fa4adcbb4bec99e14de0851c","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.2.2.tgz","fileCount":158,"integrity":"sha512-A1YQ+vPe5hYWv9qWwPPRZ7J98hItCEwkdQllQD7Z3sadz04D82XXqrxNg0y0Dj9HK9XmiEWpL8pnh0mO2zk72Q==","signatures":[{"sig":"MEUCIApgoNaVOx9JEfJiiLCxE7Div2BWIPlbZPf/jcyLYLcwAiEA7Iv6cdZXR1PnQt0KyAcT+/G2eCnKCO55cvdNpOqvRiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7038957},"engines":{"node":">=22"},"gitHead":"658308166b36bedcca9656139b244d0529dfb47b","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.2.2_1781089577919_0.8909088124436269","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"clean-room-skill","version":"0.2.3","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.2.3","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"97f0b2f31a7722e5bcac5d473c5125634b501be8","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.2.3.tgz","fileCount":158,"integrity":"sha512-D3EeKuH09RXmhZT7YnJPhdO9PMmzwmtGMyEW8p2x5UZ6vgh1N90WXTF31GBOE87qDLy8RNODFhG422enA+9NvQ==","signatures":[{"sig":"MEYCIQCXRINsHmQOYIyLR+7Aeq/j9NN54PhRBZv22EToxnDuRgIhAOow533YnXKgr9b2dJxNXNOqdUjw6RFtbmLHFro/NYZ/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7046988},"engines":{"node":">=22"},"gitHead":"f36e00c282126aaaea8aa366044d10bf156c545d","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.2.3_1781149067729_0.9105132523411887","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"clean-room-skill","version":"0.3.0","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.3.0","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"b7b0e6bd2c8c267c05549bc6dd01a2ea48c1119e","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.3.0.tgz","fileCount":158,"integrity":"sha512-7JoObkUHkxRhj6rcQ7zsuuUtB95QLmuGuPOVcMxOU541fMmXqA+hCfJSqJoeNCuYuFQfOnZNW0KRYhN/poHeDA==","signatures":[{"sig":"MEUCIQCk9FxQqnLYMfY/8FJe9aO8OYLVtHevgM3VjpAK83nBUQIgYYs3BXIB6SCLCfAv/TlmCIJMV+mX9RCqEY8RxJTzaec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7070653},"engines":{"node":">=22"},"gitHead":"36eccb360e86d2876d8e09029215de1b4b636b1c","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.3.0_1781214955642_0.8900846221657011","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"clean-room-skill","version":"0.3.1","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.3.1","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"9a1045af5e1d1dc23e249983f12db693eeb5e2dc","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.3.1.tgz","fileCount":158,"integrity":"sha512-nuo4lq7m5qwvRzIv6weAOrw49kHt13hhj8UalFVsEDBZ1mIoGmyOOm6uwJNX2A8+pBmryUyof19ZX+gud9rvFA==","signatures":[{"sig":"MEUCIQDruz+czu/NS6SzaiOjjYY04scm3CV3LyZrr/1HRdNCwwIgan8UveLmt1/1PyXMlrUdS2kPg5romKhmpAJLdNhixOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7073550},"engines":{"node":">=22"},"gitHead":"dde32a576ab8513ad55d008800e5ad1d9c1520d0","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.3.1_1781358976303_0.1988848757861983","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"clean-room-skill","version":"0.4.0","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.4.0","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"457bfdaebaa205b2c446ca1f9bf26a21853e7e09","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.4.0.tgz","fileCount":158,"integrity":"sha512-F9Mzi59W+x2CsKI2SZc0swjCEweyGdveUdUD1yPtF/8KX5bwTjGBug0Xd8Hdyntfu0w9iPlUfb9/8aASbipYXw==","signatures":[{"sig":"MEYCIQCScesh8fs5UElGX1rjPjtIym+BCoXWA6tWA901Hq7UdwIhAJeusmA0Oldp2YnSZr/zXts0H6v+nR/Y+2QhGJwbmH10","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7075406},"engines":{"node":">=22"},"gitHead":"0c126ab995b2a1f0e3119b561e4b295ca83b76da","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.4.0_1781375281876_0.7122235171274118","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"clean-room-skill","version":"0.4.1","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.4.1","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"ffe4e9bd51103da8f1d21e6cb9566751c0add3c8","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.4.1.tgz","fileCount":158,"integrity":"sha512-YJXLx4sef/A+xvWwHuYHfTUBPQVx7+iTN/S+CLIzCV9pLV9eVC/72A3//Ffmmli/23PsVB7fGclK8vLDJQ6tQQ==","signatures":[{"sig":"MEUCIALJCmLI2eu5jReGavjtseiMGNhuv+1VgXMA4fBFQUVFAiEAuUtt4Jbr0GpfshlMTI0sPJebg5BPQ7jPZYMzbg10/Ng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7089870},"engines":{"node":">=22"},"gitHead":"c240730e51e3cf7956adf25e9a21b56d2bfcbc69","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.4.1_1781451995846_0.9211896174791638","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"clean-room-skill","version":"0.5.0","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.5.0","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"c08e3c71fd8c30aa34c452039449c4e288bd619f","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.5.0.tgz","fileCount":160,"integrity":"sha512-e3tCPGwvK+FkeoQ0ghopyDfhr9GwoZqfat3MyfETHVQooQxlhgexZ6XKDZrpkdUCacerTYZr8S4eniZli1xDyA==","signatures":[{"sig":"MEYCIQDr7cXyJFks+m549aIljjaBDvKq/SAI0FK20938SiG7sQIhALGgutCARK+RxMLRp1E9DZ+Ck1HIkMrxF3vWnoNjE/Uy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7123227},"engines":{"node":">=22"},"gitHead":"b3f5ac6a40216f71023afde11c6663a1969f3c51","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.5.0_1781543394562_0.022499294450941232","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"clean-room-skill","version":"0.6.0","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.6.0","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"b27e1b88761438fc5ac519847e96400e190ef188","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.6.0.tgz","fileCount":160,"integrity":"sha512-kvDPn01rQ1tVAW63DEEGZtudf0LWCb3tISBAvM6biy0sYQFrnDXb11CzIC5R2k+CfbtT3yKpprg179UkKesaaw==","signatures":[{"sig":"MEYCIQC7r0WD/vTKX5m+s1DQu6bur70FVaXdiC2IiW/VJ9x1GAIhAJhaPATmbBHPV69JiDTsrchN0LUiJ3/bAfFX6JE0LYMR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7126712},"engines":{"node":">=22"},"gitHead":"e1dc9db50ea57247dcafe9b76b9fd6eba7d7427f","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.6.0_1781572500451_0.3850137704243446","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"clean-room-skill","version":"0.6.1","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.6.1","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"a07b52abf735defc8d70ec5334d622d6cdd62466","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.6.1.tgz","fileCount":161,"integrity":"sha512-4A4t+asVMLWcegMxdn5XykgUZemLPxVyoTemeCXRlfEubcbVUuCMQYtkaoJ62juZP7gXsSmZMnHC33gMBREKkw==","signatures":[{"sig":"MEQCIG2EB4W4jz8NBjvoGAEE58oaR8e/AshoI+67wItWNxfVAiB03dMTflgAYqdg8WokR3ktd2G1wbKs1aYBt3NDz2MogQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7143160},"engines":{"node":">=22"},"gitHead":"8fb32774cba9fc38caa8f66c86fc544ecbfb0908","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.6.1_1781831762148_0.10198766878296395","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"clean-room-skill","version":"0.6.4","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.6.4","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"d918f1407f411e06f4d26bc861113110d2244b87","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.6.4.tgz","fileCount":184,"integrity":"sha512-AtQ3nazNkUdkxSf3hIWq8K6A/iSix5v+fcDJzUa9CKc1nY/W6U1wD3THhywFo/tyKE4vz5ayKBRjqBjhdgZOgQ==","signatures":[{"sig":"MEUCICn1zDCkF8hiAm8CHZDhUiTYXFezSqngO7vl/hIeK+eoAiEAt24yziIw5wV3XkS4FGMCXpBY3+FycvXbegIrid7Rsak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.6.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7221899},"engines":{"node":">=22"},"gitHead":"9e253a50487a87920ff70a16a8ecb5342ce9c841","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.6.4_1782161089469_0.15459833970437376","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"clean-room-skill","version":"0.6.5","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.6.5","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"21e465058f7103fe2f3137d52e9fcf17be0e535b","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.6.5.tgz","fileCount":185,"integrity":"sha512-XAfkpCccTRSoOuzPdvIgWVU++gxUFieFes9iCy4awuvUm8IdTIK1KDq6AFRLKljAtg0pOGUme2H4ERV2394ueQ==","signatures":[{"sig":"MEUCIQDKEwBNK/32afnJ8snGDDjEa7iiYSr3qyKcMsiL8+IYZQIgdUUbhDfsOXPb+mv8RLEmo1vBtrqibcJDhZRget1HJ1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.6.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7227273},"engines":{"node":">=22"},"gitHead":"cebbac65941df4e0eb01525b2a503dbf8aaa005d","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.13.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.6.5_1782341145707_0.8236795999983557","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"clean-room-skill","version":"0.6.6","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.6.6","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"8517f7c2032a48b920eed8c6c803555d08a6b100","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.6.6.tgz","fileCount":185,"integrity":"sha512-5uOW5MKlmQkNMXnOXcaj0a/dZ/gtuG4d+Yzj4n4hTuRAy6h7Vuk7USBpKzV1LhADo8q1OQbVFz1s5weQ/zgCVw==","signatures":[{"sig":"MEUCIQDRcVnrWBZpko3afztXYaEB2BbJeTkoIpc61ew0HQYDkgIgfSguNxbT++kqCsNrmn8EH0/odRE8eQrAu2z775K4ovU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.6.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7227273},"engines":{"node":">=22"},"gitHead":"242be2421d57490225ba1865f1a3d040cefac173","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.16.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.6.6_1784418603413_0.19338603188158676","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"clean-room-skill","version":"0.7.0","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","_id":"clean-room-skill@0.7.0","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"homepage":"https://github.com/whit3rabbit/clean-room-skill","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"pi":{"skills":["./skills"]},"bin":{"clean-room-skill":"bin/install.js"},"dist":{"shasum":"e84fc7797cabaf749e08eb0368ebc9c91b5bf13e","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.7.0.tgz","fileCount":187,"integrity":"sha512-2oLJ8oT1jv0UM2o25pjL4LAGg7icornx+6S1+9OMj7wFkCuCuDYCi9aFN26KBAPoX7PxN/3CuB2ttEp7WR3nKA==","signatures":[{"sig":"MEYCIQDxZJ3aI/Dgtov/N09KgT2INn6yHK3o7Rd00e/rouOb7wIhAPTduXKYLr0z/j6aTisKkeTZWj9O4blR3CKV3r6o90Tt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":7271507},"engines":{"node":">=22"},"gitHead":"3b8df0873faf04d486b083865b0129e091795f6c","scripts":{"test":"node --test","verify":"./bin/verify.sh","test:install":"node --test tests/install.test.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"repository":{"url":"git+https://github.com/whit3rabbit/clean-room-skill.git","type":"git"},"_npmVersion":"11.16.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/clean-room-skill_0.7.0_1784494950046_0.46647421153825563","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"clean-room-skill","version":"0.8.0","description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","bin":{"clean-room-skill":"bin/install.js"},"pi":{"skills":["./skills"]},"keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"author":{"name":"whit3rabbit"},"license":"MIT","homepage":"https://github.com/whit3rabbit/clean-room-skill","repository":{"type":"git","url":"git+https://github.com/whit3rabbit/clean-room-skill.git"},"engines":{"node":">=22"},"scripts":{"test":"node --test","test:install":"node --test tests/install.test.js","verify":"./bin/verify.sh"},"dependencies":{"ink":"^7.0.3","react":"^19.2.6"},"gitHead":"1c6a6b7cf7a7596ea58ae807567f8a8dcf09e4ff","_id":"clean-room-skill@0.8.0","bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-AonQYPu3Ci3gy8QsxX78VOYLWc+h/QjpYPaSVLqry7dVnWVQT+hrUCcZ6E7HWHLsnMigRzEFTHw36J5YnHZwGg==","shasum":"2bd834980accd1d036f72953c87e8a4686f8a7f8","tarball":"https://registry.npmjs.org/clean-room-skill/-/clean-room-skill-0.8.0.tgz","fileCount":187,"unpackedSize":7294750,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clean-room-skill@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIEEVe9iqw7GtW2Z9YI6Qxx2hE1m4yWng93gdEz96/hz1AiEAtTRQBbMvlDAv41VMgUk7Mnx9VrSyYJ7iR/Y/rcxSHYQ="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5984a1da-be41-4c82-b0d3-8d90a3e9fe10"}},"directories":{},"maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clean-room-skill_0.8.0_1785879363462_0.3765408534735677"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T20:48:06.478Z","modified":"2026-08-04T21:36:04.244Z","0.1.0":"2026-05-20T20:48:06.816Z","0.1.2":"2026-05-22T00:28:53.004Z","0.1.3":"2026-05-22T01:43:38.613Z","0.1.4":"2026-05-22T11:12:18.158Z","0.1.5":"2026-05-22T18:52:58.364Z","0.1.6":"2026-05-22T20:08:10.855Z","0.1.7":"2026-05-22T20:43:54.663Z","0.1.8":"2026-05-23T00:28:24.025Z","0.1.9":"2026-05-23T02:32:33.077Z","0.1.10":"2026-05-23T16:27:54.577Z","0.1.11":"2026-05-27T00:46:23.634Z","0.1.12":"2026-05-28T10:48:54.102Z","0.1.13":"2026-05-31T20:06:51.633Z","0.1.14":"2026-05-31T22:34:35.018Z","0.1.15":"2026-06-01T10:40:20.243Z","0.2.0":"2026-06-02T20:37:33.930Z","0.2.1":"2026-06-04T23:02:32.870Z","0.2.2":"2026-06-10T11:06:18.223Z","0.2.3":"2026-06-11T03:37:47.969Z","0.3.0":"2026-06-11T21:55:55.926Z","0.3.1":"2026-06-13T13:56:16.552Z","0.4.0":"2026-06-13T18:28:02.180Z","0.4.1":"2026-06-14T15:46:36.221Z","0.5.0":"2026-06-15T17:09:54.931Z","0.6.0":"2026-06-16T01:15:00.716Z","0.6.1":"2026-06-19T01:16:02.470Z","0.6.4":"2026-06-22T20:44:49.744Z","0.6.5":"2026-06-24T22:45:45.976Z","0.6.6":"2026-07-18T23:50:03.686Z","0.7.0":"2026-07-19T21:02:30.303Z","0.8.0":"2026-08-04T21:36:03.739Z"},"bugs":{"url":"https://github.com/whit3rabbit/clean-room-skill/issues"},"author":{"name":"whit3rabbit"},"license":"MIT","homepage":"https://github.com/whit3rabbit/clean-room-skill","keywords":["clean-room","specification","reverse-engineering","compliance","codex","claude","pi-package"],"repository":{"type":"git","url":"git+https://github.com/whit3rabbit/clean-room-skill.git"},"description":"Spec-first clean-room workflow for authorized source analysis without replacement code.","maintainers":[{"name":"whit3rabbit","email":"whiterabbit@protonmail.com"}],"readme":"# Clean Room\n\nClean Room is an agent workflow for turning authorized source analysis into clean behavioral specs, clean implementation plans, and clean destination code. When no indexable source code is available, it can use authorized screenshots/images as contaminated fallback evidence for behavior specs.\n\nIt is a POC based on ideas from [malus.sh](https://malus.sh/blog.html). It is an engineering risk-reduction workflow, not legal advice, and it does not create a legal safe harbor.\n\n## What This Is / Does\n\nUse this package when you need documented separation between source-reading work and clean implementation work.\n\nIt installs:\n\n- Clean-room skills for Codex, Claude Code, and other agent runtime layouts.\n- Role-agent prompts for contaminated analysis, clean planning, clean implementation, and final polish.\n- JSON schemas and examples for durable workflow artifacts.\n- Hook guardrails that help keep source material out of clean artifacts.\n- A small CLI for runtime installation, bootstrap folders, preflight contracts, canonical artifact templating and validation, hook smoke tests, and the bounded inner clean-room runner.\n\nThe workflow creates clean behavioral spec packages and clean implementation outputs. It does not generate replacement code directly from source.\n\nCore boundary:\n\n- Contaminated roles may read authorized source or fallback visual evidence and write contaminated artifacts.\n- Source-denied roles may read only clean artifacts, implementation roots, schemas, and approved public/reference roots.\n- Clean implementation code is written only under the clean implementation root.\n- Raw source, raw screenshots, source or visual paths, private identifiers, raw diffs, copied comments, copied UI text, and source-shaped pseudocode must not cross into clean handoff artifacts.\n\n![Clean Room Architecture](assets/clean-room-arch.svg)\n\nFor the full boundary model, see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md). For CLI and troubleshooting details, see [docs/REFERENCE.md](docs/REFERENCE.md).\n\n## Install\n\nRequires Node.js `>=22`.\n\nRecommended path:\n\n```bash\nnpm install -g clean-room-skill\nclean-room-skill\n```\n\nThe first command installs the CLI. The second command starts the interactive installer for runtime files, skills, agents, and hooks.\n\nFor a direct global runtime install, pass the runtime flag:\n\n```bash\nclean-room-skill --claude --global --yes\nclean-room-skill --codex --global --yes\nclean-room-skill --opencode --global --yes\nclean-room-skill --all --global --yes\n```\n\nIf you do not want the CLI installed globally, run the same installer once through `npx`:\n\n```bash\nnpx clean-room-skill@latest --claude --global --yes\nnpx clean-room-skill@latest --codex --global --yes\nnpx clean-room-skill@latest --all --global --yes\n```\n\nThose `npx` commands install the selected runtime files globally. You do not need to keep running `npx` to use the installed Claude Code, Pi, Codex, or other runtime entry points.\n\nFor ccsilo variants, use the collapsed ccsilo shortcut below. For other modified Claude directories, add `--config-dir <path-to-claude-config-root>` to target that Claude config root explicitly. If Claude is launched through a non-ccsilo wrapper, set `CLEAN_ROOM_CLAUDE_EXECUTABLE=/absolute/path/to/wrapper`; the installer runs that exact executable and rejects relative, cwd-local, and `node_modules/.bin` paths.\n\nClaude global installs use Claude's plugin system for skills and agents, so entry points are namespaced as `/clean-room:init`, `/clean-room:preflight`, and `/clean-room`. The installer still manages hook files and migrates older standalone Claude skill copies out of the config root on reinstall or update.\n\nHook modes:\n\n- `--hooks=safe`: default. Hooks are installed but enforce only during clean-room role sessions with the required environment.\n- `--hooks=strict`: fail-closed hook mode for dedicated Codex, Claude, or OpenCode clean-room homes.\n- `--hooks=copy-only` or `--no-hooks`: copy hook files without registering runtime hook config.\n\nVerified runtimes are Codex, Claude Code, and OpenCode. OpenCode support uses native skills, commands, and a generated local plugin bridge for hook enforcement. Other runtime layouts are installed on a best-effort basis. See [docs/REFERENCE.md](docs/REFERENCE.md#runtime-support) for the full support table and install roots.\n\nMarketplace install is also supported.\n\nClaude Code:\n\n```text\n/plugin marketplace add https://github.com/whit3rabbit/clean-room-skill.git\n/plugin install clean-room@clean-room-skill\n```\n\nCodex:\n\n```bash\ncodex plugin marketplace add https://github.com/whit3rabbit/clean-room-skill.git\n```\n\nPi:\n\n```bash\npi install npm:clean-room-skill@latest\nnpx clean-room-skill@latest --pi --global --yes\n```\n\nPi-native package install is preferred. This package declares `pi.skills: [\"./skills\"]`, so `pi install npm:clean-room-skill@latest` lets Pi discover the bundled `SKILL.md` entry points directly. Use the `npx ... --pi` installer only when you want this repo's compatibility installer to manage the same files alongside other runtimes. Global Pi compatibility installs target `~/.pi/agent`; local installs target `.pi`.\n\nBoth Pi install paths load bundled skills as `/skill:<name>`, for example `/skill:clean-room`. Pi installs do not currently register clean-room hooks. Installer-managed Pi layouts copy the hook scripts to `hooks/clean-room/` for inspection and future bridge work, but those files are not active enforcement in Pi.\n\nPi hook enforcement would need a Pi extension, not a `settings.json` edit. This package does not ship that extension yet, so clean-room safety in Pi still depends on role separation, path isolation, schema validation, and any supported hook runtime used for enforcement.\n\n<details>\n<summary>CCSILO Claude silos</summary>\n\nCCSILO is an optional Claude Code silo wrapper convention, not a standard agent runtime. It is useful when you keep a separate Claude Code home and wrapper for providers such as OpenRouter.\n\nFor a ccsilo OpenRouter silo, use the silo wrapper and the silo `configDir` from its `variant.json`:\n\n```bash\nSILO=openrouter\n\nclean-room-skill --ccsilo \"$SILO\" --hooks=safe --yes\n\nclean-room-skill status --ccsilo \"$SILO\"\nclean-room-skill update --ccsilo \"$SILO\" --yes\nclean-room-skill doctor --ccsilo \"$SILO\" --hooks=safe --coverage\n```\n\nWhen running inside a ccsilo-launched Claude session, `--ccsilo` can auto-detect the variant from `CLAUDE_CONFIG_DIR`, so the variant name can be omitted. The shortcut reads `variant.json`, resolves the silo config and wrapper, and installs Claude support there. If `status` reports an active plugin version or path mismatch, run `clean-room-skill update --ccsilo \"$SILO\" --yes` before manually deleting old plugin cache folders.\n\nIf you want the agent to use the OpenRouter ccsilo path from the start, paste this at the beginning of the session:\n\n```text\nUse the ccsilo OpenRouter Claude variant for this clean-room run. Prefer the durable runner, not main-chat role work.\n\nFirst verify/update the silo:\nclean-room-skill status --ccsilo openrouter\nclean-room-skill doctor --ccsilo openrouter --hooks=safe --coverage\n\nWhen running unattended/resume, launch:\nclean-room-skill run --task-manifest <task-root>/contaminated/task-manifest.json --ccsilo openrouter\n\nDo not use plain claude, do not search plugin cache paths, and do not pass --schema-dir. Use bundled generated CLI schemas.\nNever set ANTHROPIC_AUTH_TOKEN or API keys in ccsilo settings.json, .claude.json, or any settings file.\n```\n\nIf the agent is already running inside that ccsilo session, the run command may omit the variant name:\n\n```bash\nclean-room-skill run --task-manifest <task-root>/contaminated/task-manifest.json --ccsilo\n```\n\n</details>\n\n## Workflow\n\n1. Initialize or bootstrap the run.\n   Use `clean-room-skill init`, `/clean-room:init`, or `/skill:init` to create neutral external run folders and record run preferences. The active `init-config.json` stays out of the clean implementation repository.\n\n2. Record the goal contract.\n   Use `/clean-room:preflight` or `/skill:preflight` for the conversational flow, or `clean-room-skill preflight` for artifact-first CLI setup. This creates or validates `preflight-goal.json` on the contaminated/controller side before source discovery, attended mode, or unattended mode.\n\n3. Start the controller.\n   Use `/clean-room:attended` or `/skill:attended` for human review gates. Use `/clean-room:unattended` or `/skill:unattended` only after preflight allows bounded unattended work with finite iteration limits and no open questions.\n\n4. Refocus when state is unclear.\n   Use `/clean-room:refocus` or `/skill:refocus` to audit durable artifacts, compare them to declared scope, and route the run back to missed gates without adding scope.\n\nUse `/clean-room` or `/skill:clean-room` when you want the skill to talk through setup, inspect where the run is, and decide whether to continue, refocus, resume, or start over.\n\nClaude Code local installs also ship a dynamic workflow: run `/clean-room:clean-room-loop` to drive the unattended loop with in-session subagents (no per-token `claude -p` cost), gating every wall crossing with the real leakage CLI. Dynamic workflows are Claude Code only and install to `.claude/workflows/` on local installs. It is a cost-free POC path with context-level separation, not the OS-enforced wall of `clean-room-skill run --agent-runtime claude`.\n\nThe CLI also has a bounded inner-loop runner for already approved unattended spec slices:\n\n```bash\nclean-room-skill run \\\n  --task-manifest ~/Documents/CleanRoom/amber-meadow/tasks/task-1234abcd/contaminated/task-manifest.json \\\n  --agent-runtime claude \\\n  --max-iterations 3\n```\n\nPrefer in-harness fresh-context roles first: the dynamic workflow above on Claude Code, or fresh subagent/skill sessions on other harnesses. The runner's external process dispatch is a last resort. `--agent-runtime claude` is Claude-only and spawns `claude -p` per role (per-token); on Codex, Pi, and other runtimes drive the runner with `--agent-commands <adapter>` (your harness's own CLI, `shell: false`) instead, never `--agent-runtime claude`.\n\nFor CCSILO, prefer the `--ccsilo [variant]` shortcut from the collapsible section above. For other Claude wrappers, set `CLEAN_ROOM_CLAUDE_EXECUTABLE=/absolute/path/to/wrapper` and pass the wrapper config with `--agent-config-dir`. For example, an OpenRouter silo uses the `openrouter` wrapper path, not a separate `claude` command. Never persist `ANTHROPIC_AUTH_TOKEN` or API keys into ccsilo or Claude settings files.\n\nThe `run` command is not the normal starting point. It executes one bounded inner clean-room loop after the outer controller has created approved durable artifacts.\n\nYou can also list, template, and validate canonical workflow artifacts directly:\n\n```bash\nclean-room-skill artifact kinds\nclean-room-skill artifact template --kind behavior-spec --output ./behavior-spec.json\nclean-room-skill artifact validate --path ./behavior-spec.json\n```\n\n`artifact validate` checks JSON schema conformance; pass `--task-manifest <path> --role <role>` to also run leakage and handoff checks under the matching root and role policy.\n\nClaude Code skills use `/clean-room:<name>`. Pi skills use `/skill:<name>`. In Codex, invoke the `clean-room` plugin or bundled skills through `@` or the skills UI.\n\nUseful maintenance commands:\n\n```bash\nclean-room-skill doctor --runtime codex --hooks=safe\nclean-room-skill status --global\nclean-room-skill update --global --yes\n```\n\nReference files:\n\n- [docs/REFERENCE.md](docs/REFERENCE.md): CLI flags, hook modes, troubleshooting, and local verification.\n- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md): operating model, roles, environment, guardrails, and flow details.\n- [docs/HOOKS.md](docs/HOOKS.md): hook install locations, generated matchers, and per-hook behavior.\n- [skills/clean-room/references/PROCESS.md](skills/clean-room/references/PROCESS.md): detailed clean-room process.\n- [skills/clean-room/references/LEAKAGE-RULES.md](skills/clean-room/references/LEAKAGE-RULES.md): clean handoff rules.\n\n## Development\n\nInstall dependencies:\n\n```bash\nnpm ci --ignore-scripts\n```\n\nRun tests:\n\n```bash\nnpm test\n```\n\nRun installer tests only:\n\n```bash\nnpm run test:install\n```\n\nRun the full local verifier:\n\n```bash\nnpm run verify\n```\n\nDocumentation-only changes usually need review plus link/path checks, not the full test suite.\n\nUseful development checks:\n\n```bash\nnode --check bin/install.js\nnode --test tests/run.test.js\nnpm pack --dry-run\n```\n\nPython schema validation requires `jsonschema` with format extras:\n\n```bash\npython3 -m venv .venv\n.venv/bin/python -m pip install \"jsonschema[format]>=4.18,<5\"\n.venv/bin/python tests/validate_jsonschema.py\n```\n\nUse `st` for repository search.\n","readmeFilename":"README.md"}