{"_id":"@agentyx/adapters","_rev":"8-f609fdb6909fef8a262c8cca81a40133","name":"@agentyx/adapters","dist-tags":{"latest":"0.6.0"},"versions":{"0.1.0":{"name":"@agentyx/adapters","version":"0.1.0","keywords":["agentyx","adapters","coding-agents"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@agentyx/adapters@0.1.0","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"b760b282f938d4320046a34808a7d90e5d07b0dc","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.1.0.tgz","fileCount":7,"integrity":"sha512-/aX4FFslvNUJZKe1dFb1aBJX3WkkFJy9I+g5TjuEFCKn60cJjFJV54Svd2e0zJdlio9ldHLNGj4UsB9uglo4TQ==","signatures":[{"sig":"MEUCIEM7OhHEzgOnRzSLy2uTp6jC1UKNhGRCNVpMGnoy5HQGAiEAnHuWQo15DGHI8LTwO1u5PlMNnRiuLu+HvLt7R42rn6w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93914},"type":"module","_from":"file:agentyx-adapters-0.1.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/tmp/fec0b0f6b6a53dd274d6b822e8af3771/agentyx-adapters-0.1.0.tgz","_integrity":"sha512-/aX4FFslvNUJZKe1dFb1aBJX3WkkFJy9I+g5TjuEFCKn60cJjFJV54Svd2e0zJdlio9ldHLNGj4UsB9uglo4TQ==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adapters_0.1.0_1786278038672_0.6515102942970274","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agentyx/adapters","version":"0.1.1","keywords":["agentyx","adapters","coding-agents"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@agentyx/adapters@0.1.1","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"9b4a49ac4cbaf38ae9f7995ad8f1b35a6f5d5db5","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.1.1.tgz","fileCount":7,"integrity":"sha512-FK1ZhTNLI9uwxUFSh+JiqlulcXfsy0rEvWRwimZDjmFoJ77hQ9nbdy9ap5aSgLYbQgyu4dqw/XofRP2QnbUOOw==","signatures":[{"sig":"MEYCIQCSLKtZAgpv3YJsjbW8DrltMITSQB1/iTCy7H+010FeVgIhAOVlpmEVqx1hN2PCM045D7dU6SG6XBVml90fTZgFkW/y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93914},"type":"module","_from":"file:agentyx-adapters-0.1.1.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/tmp/83fa438837cb4d9e1a06094a8f9a183c/agentyx-adapters-0.1.1.tgz","_integrity":"sha512-FK1ZhTNLI9uwxUFSh+JiqlulcXfsy0rEvWRwimZDjmFoJ77hQ9nbdy9ap5aSgLYbQgyu4dqw/XofRP2QnbUOOw==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adapters_0.1.1_1786281468795_0.3580006310918509","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agentyx/adapters","version":"0.2.0","keywords":["agentyx","adapters","coding-agents"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@agentyx/adapters@0.2.0","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"d49d593b5aa354dd549db0c2c82d4a301df91879","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.2.0.tgz","fileCount":7,"integrity":"sha512-9vs2Bnuj+KhXY7OvWglax8CsqvGlJn5FZ3kBC0MIqRRsZ5P898dElxR4OyyIy283ylblF+ljoabNN+jPssYMpA==","signatures":[{"sig":"MEQCIAm4o3rfHNBRVFvCRxdhDrfHA/S5WU6+lwScxcYNeFoBAiBougFMqCxDKfwcrOSysqBPicdaNP5Y8XE+rHae5U6ziQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93924},"type":"module","_from":"file:agentyx-adapters-0.2.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/tmp/393ef14d94cca5feb5b1925dfa4097ac/agentyx-adapters-0.2.0.tgz","_integrity":"sha512-9vs2Bnuj+KhXY7OvWglax8CsqvGlJn5FZ3kBC0MIqRRsZ5P898dElxR4OyyIy283ylblF+ljoabNN+jPssYMpA==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adapters_0.2.0_1786366061899_0.014010250395086077","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agentyx/adapters","version":"0.3.0","keywords":["agentyx","adapters","coding-agents"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@agentyx/adapters@0.3.0","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"6094d7dee9360a2e4a1921a44e9f24d7fcbe03d0","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.3.0.tgz","fileCount":7,"integrity":"sha512-Snfdjpme1GciM3Nsh4mWxy4xPcA2uA8gVwXEYdgew2qgNOaS6B/fCg8K7DemhtZf10M1cK0Y1Rp05CDNKWonUQ==","signatures":[{"sig":"MEQCIGvfDX8Y3xpJLeM3ecQoDF9GSjtw+1AjlfQVey4wUGBFAiAN94qf13uZXq/7KIxH2HluR9g7aRsFudjhfPY6rX13Sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136416},"type":"module","_from":"file:agentyx-adapters-0.3.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/tmp/20d79f2fc8a0818af3a75cd75fcb2209/agentyx-adapters-0.3.0.tgz","_integrity":"sha512-Snfdjpme1GciM3Nsh4mWxy4xPcA2uA8gVwXEYdgew2qgNOaS6B/fCg8K7DemhtZf10M1cK0Y1Rp05CDNKWonUQ==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adapters_0.3.0_1787031361587_0.2925065173213428","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@agentyx/adapters","version":"0.3.1","keywords":["agentyx","adapters","coding-agents"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@agentyx/adapters@0.3.1","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"25d138f84ef1c298308295ba1d141adb4dbd7f1f","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.3.1.tgz","fileCount":7,"integrity":"sha512-bSn7O+gQS9pK6iHT4mVNX0kfCvQaepPt436KTH12suzjsAqtIXpRsEEacNQQ7Zrjbwfd9M1zGQR7o/uppEUbmg==","signatures":[{"sig":"MEUCIFsC4gEmQPANEnYmepj9huLhh2FsvhxHyhZoIuh29XTAAiEAucNY79HPSL9EPJmcMWhWnIZWchaiGF+aGRm6OzcQdXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136416},"type":"module","_from":"file:agentyx-adapters-0.3.1.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/tmp/35d3403a508c56f7fe208a17e9690c92/agentyx-adapters-0.3.1.tgz","_integrity":"sha512-bSn7O+gQS9pK6iHT4mVNX0kfCvQaepPt436KTH12suzjsAqtIXpRsEEacNQQ7Zrjbwfd9M1zGQR7o/uppEUbmg==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adapters_0.3.1_1787032104718_0.2741000324137106","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agentyx/adapters","version":"0.4.0","keywords":["agentyx","adapters","coding-agents"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@agentyx/adapters@0.4.0","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"9d544c24405d92e71092b9b0f15792ed895f7ef4","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.4.0.tgz","fileCount":7,"integrity":"sha512-03HZzvw2QuGQYS3neRONpfi9nMt6PRU9WWS46wQRrFREyVfYZ0s0vpjeWMujhvlXYYZ2wryy5ATN8AstSSFcog==","signatures":[{"sig":"MEUCIQCXRFfIkbrXM7c4HW1S90kJnOZOtI42joAu4EGcB+eDZAIgOFlAuAo8HpAqlJezbEL1KcuoxcwOfFN3RI9UkHr3mS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140910},"type":"module","_from":"file:agentyx-adapters-0.4.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/tmp/40373befcb980e2aa186e9efc442c7f1/agentyx-adapters-0.4.0.tgz","_integrity":"sha512-03HZzvw2QuGQYS3neRONpfi9nMt6PRU9WWS46wQRrFREyVfYZ0s0vpjeWMujhvlXYYZ2wryy5ATN8AstSSFcog==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adapters_0.4.0_1787058253349_0.34235073591561194","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agentyx/adapters","version":"0.5.0","keywords":["agentyx","adapters","coding-agents"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@agentyx/adapters@0.5.0","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"030a427af93076c36ec876d4e6e2eb754e9e486f","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.5.0.tgz","fileCount":7,"integrity":"sha512-Pqx+9lclAukdgKimBkIwVnLh/sLPYOiJK+ADOX5YqCEbKI5G5TwC9Zl2VdFKUQKLVXaKTLvrt9NR4qvRi1AyhQ==","signatures":[{"sig":"MEYCIQCskHzAJ7USBv6t/568Su+Ps6lZYc7GovuO7z+KFfwDRgIhAOchs+3KJqlRT72SA7ziu/nlfIxPp6++Rho8g5KKraK7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":140910},"type":"module","_from":"file:agentyx-adapters-0.5.0.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/tmp/9fa38c57f473e313e3c30d01ba54784c/agentyx-adapters-0.5.0.tgz","_integrity":"sha512-Pqx+9lclAukdgKimBkIwVnLh/sLPYOiJK+ADOX5YqCEbKI5G5TwC9Zl2VdFKUQKLVXaKTLvrt9NR4qvRi1AyhQ==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adapters_0.5.0_1787064716623_0.793494403101308","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"_id":"@agentyx/adapters@0.6.0","bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"dist":{"shasum":"d43acda2b888cb1e61ce8425d3180d619f7a4d80","tarball":"https://registry.npmjs.org/@agentyx/adapters/-/adapters-0.6.0.tgz","fileCount":7,"integrity":"sha512-CEdcgDUcnl8toFNvvDPiyVKA1rg8bwIqLG06dTUknKk5s/ajWtjZNof0ug92O+cYmcfaY4J1Fj6+nBWsGDH5wg==","signatures":[{"sig":"MEUCIEDjGtlz73DcOwvu3NdA5CUUHXPuAmkrRBlM5DME/bcKAiEAowZtbuGjFXpFwIH7WIBCDKCR8zprVe4HqBoj7TQF08Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICjQFdFtb6W+P+iroBfT2hlUbfwKwbbaZsqj+TvcAMSWAiAVgvsbPUVSY4463L/3gweamuSGcVRcpkFq47ePLGChGQ=="}],"unpackedSize":176043},"name":"@agentyx/adapters","type":"module","_from":"file:agentyx-adapters-0.6.0.tgz","author":{"name":"Andersseen"},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"license":"MIT","scripts":{"build":"tsdown src/index.ts --dts --clean","clean":"rm -rf dist","typecheck":"tsc --noEmit -p tsconfig.json"},"version":"0.6.0","_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","keywords":["agentyx","adapters","coding-agents"],"_resolved":"/tmp/0f21498c9a04059af14bdf174b021d8e/agentyx-adapters-0.6.0.tgz","_integrity":"sha512-CEdcgDUcnl8toFNvvDPiyVKA1rg8bwIqLG06dTUknKk5s/ajWtjZNof0ug92O+cYmcfaY4J1Fj6+nBWsGDH5wg==","repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"_npmVersion":"10.9.8","description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","directories":{},"maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@iarna/toml":"^2.2.5","@agentyx/core":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adapters_0.6.0_1789063217761_0.35511473109917624"}}},"time":{"created":"2026-08-09T12:20:38.499Z","modified":"2026-09-10T18:00:18.196Z","0.1.0":"2026-08-09T12:20:38.828Z","0.1.1":"2026-08-09T13:17:48.937Z","0.2.0":"2026-08-10T12:47:42.107Z","0.3.0":"2026-08-18T05:36:01.751Z","0.3.1":"2026-08-18T05:48:24.853Z","0.4.0":"2026-08-18T13:04:13.497Z","0.5.0":"2026-08-18T14:51:56.759Z","0.6.0":"2026-09-10T18:00:17.866Z"},"bugs":{"url":"https://github.com/Andersseen/agentyx/issues"},"author":{"name":"Andersseen"},"license":"MIT","homepage":"https://github.com/Andersseen/agentyx/tree/main/packages/adapters#readme","keywords":["agentyx","adapters","coding-agents"],"repository":{"url":"git+https://github.com/Andersseen/agentyx.git","type":"git","directory":"packages/adapters"},"description":"Provider adapters, MCP rendering and safe install planning for Agentyx.","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"readme":"# @agentyx/adapters\n\nProvider adapters for [Agentyx](https://github.com/Andersseen/agentyx): the layer that turns an\nalready-resolved Agentyx environment into the files a specific coding agent expects.\n\nAgentyx packs, skills, MCP definitions, and tool checks describe development environments, never\nproviders, so everything a provider knows lives here rather than in\n[`@agentyx/core`](https://github.com/Andersseen/agentyx/tree/main/packages/core). This package depends\non core; core never depends on it.\n\n## Targets\n\n| Id       | Agent       | Project skill destination |\n| -------- | ----------- | ------------------------- |\n| `codex`  | Codex       | `.agents/skills`          |\n| `claude` | Claude Code | `.claude/skills`          |\n| `kimi`   | Kimi Code   | `.agents/skills`          |\n\nBoth destinations are the providers' documented project-local conventions:\n[Codex](https://developers.openai.com/codex/skills) reads repository skills from the vendor-neutral\n`.agents/skills`, [Claude Code](https://code.claude.com/docs/en/skills) from `.claude/skills`, and\n[Kimi Code](https://www.kimi.com/code/docs/en/kimi-code-cli/customization/skills.html) also scans\nproject `.agents/skills`.\nInstallation is project-local — nothing is written to `$HOME`.\n\n## Plan first, then write\n\n```ts\nimport { applyInstallPlans, planInstall } from \"@agentyx/adapters\";\nimport { builtInSkillRegistry } from \"@agentyx/core\";\n\nconst skills = [\"planning\", \"angular-modern\"].map((name) => builtInSkillRegistry.get(name));\n\n// Reads the destinations to classify each file, and writes nothing.\nconst plans = await planInstall({ targets: [\"codex\", \"claude\", \"kimi\"], projectDir, skills });\n\n// The only code in Agentyx that mutates a project. Skipping it is a dry run.\nawait applyInstallPlans(plans);\n```\n\nA plan is a list of `write-file` operations, each with a `create` / `update` / `unchanged` status, an\nabsolute path and the project-relative path used for output. Parent directories are created by the\nexecutor, so there is no directory operation; there is no operation that runs a command.\n\nEvery target is handed the same `SkillDefinition` objects and the canonical `SKILL.md` that\n`@agentyx/core` renders, so providers can only ever receive identical instructions. Providers that\nshare the same destination and content, such as Codex and Kimi Code, collapse to one physical write\nwith shared `usedBy` metadata.\n\n## Writing an adapter\n\nAn adapter is a plain object satisfying `AgentAdapter`: an `id`, a `name`, the directory it owns,\n`detect`, and a **pure** `planFiles` that maps resolved skills to desired files. Comparing them with\nwhat is installed and writing them is shared machinery.\n\n```ts\nimport { createAdapterRegistry, createSkillDirectoryAdapter } from \"@agentyx/adapters\";\n\nconst acme = createSkillDirectoryAdapter({\n  id: \"acme\",\n  name: \"Acme Agent\",\n  skillsDir: [\".acme\", \"skills\"],\n  reference: \"https://example.invalid/skills\",\n});\n\nconst registry = createAdapterRegistry([acme]);\n```\n\n`createSkillDirectoryAdapter` covers any agent that reads `<directory>/<skill>/SKILL.md`; a genuinely\ndifferent layout implements `AgentAdapter` directly. There is no dynamic package loading and no\nremote registry — an adapter is a value you pass in.\n\n## Safety\n\nAgentyx only manages `<destination>/<skill>/SKILL.md` for skills it resolved, plus the MCP server keys\nit added to a provider project config. A plan that would write outside the directory or project file a\ntarget owns is refused with `InstallPathError`, including project-local paths redirected through\nsymlinks. Unchanged files are not rewritten, writes are UTF-8, and nothing is executed, fetched, or\ninstalled globally.\n\nProject MCP configuration is planned and written through the same plan-first machinery. Adapters\nreceive only active MCP definitions; pack and optional-capability resolution stays in core. Hooks,\npermissions and user-global configuration are not part of the contract yet.\n\nPrune and uninstall act only on paths and MCP server keys recorded in `.agentyx.lock.json`. A file\nwhose current content no longer matches the manifest hash is reported as a conflict and left alone\nunless the caller explicitly chooses `--force`.\n\nMIT © Andersseen\n","readmeFilename":"README.md"}