{"_id":"toolkit-ai","_rev":"34-96dd9c5af7a2e891fb9cbed110a36cbe","name":"toolkit-ai","dist-tags":{"next":"1.0.0","latest":"2.2.1"},"versions":{"1.6.2":{"name":"toolkit-ai","version":"1.6.2","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@1.6.2","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit#readme","bugs":{"url":"https://github.com/barleviatias/toolkit/issues"},"bin":{"ai-toolkit":"bin/ai-toolkit.mjs"},"dist":{"shasum":"d6a4687a937699043c08a53d05c93fe561aa5a68","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-1.6.2.tgz","fileCount":25,"integrity":"sha512-PCYzHYxN9OJg9ZbpUr5924XnjxtfqFnQO7CFsRgzuL4ldj7+bjk9zdjkoC4maZODjgU6BKgJh3whAh1hEVkaTA==","signatures":[{"sig":"MEUCIQDruh+Q/hUiOePr3xMFH+IRS0KUs/eoZxc0PM8awVvxRwIga81LTWpiVJSezhxNJff9pm9HHxm6+yUwvBRggElS5uQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2091537},"gitHead":"0f3fa3232979877c082132a1aa639a10309afa5b","scripts":{"dev":"tsup --watch","test":"npm run lint:skills && npm run validate:catalog","build":"tsup","prepare":"npm run build","lint:skills":"node scripts/ci/lint-skills.js","generate:catalog":"node scripts/generate-catalog.js","validate:catalog":"npm run generate:catalog && node scripts/ci/validate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and plugins across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_1.6.2_1775132621199_0.5892160518250067","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"toolkit-ai","version":"1.0.0","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@1.0.0","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"ai-toolkit":"bin/ai-toolkit.mjs"},"dist":{"shasum":"9515add053d0ddfc910a350f234edeb9483977cf","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-1.0.0.tgz","fileCount":25,"integrity":"sha512-n/+LmPTEouSkUo9vpntUDMc64rD/HSJTf5IF4AUOGLNy/o8bHc++o+YbEY47S89H6px+z9BGJv+QR2aaW5Pv8Q==","signatures":[{"sig":"MEUCIBozI4H6avznSQsap/5aXIuEIa8W/O6yH1nWk8V6XEgsAiEA3g0vG0Q4ItSQCqvetMhs7gjksB/RqlMNJFlqsDOKngc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2091544},"gitHead":"e2a5d2f3091e7ca0bca8c1be38e09e71901173a5","scripts":{"dev":"tsup --watch","test":"npm run lint:skills && npm run validate:catalog","build":"tsup","prepare":"npm run build","lint:skills":"node scripts/ci/lint-skills.js","generate:catalog":"node scripts/generate-catalog.js","validate:catalog":"npm run generate:catalog && node scripts/ci/validate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and plugins across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_1.0.0_1775133202056_0.3550580257340912","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"toolkit-ai","version":"1.0.1","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@1.0.1","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"ai-toolkit":"bin/ai-toolkit.mjs"},"dist":{"shasum":"7461ddc390ab2d3aa2c929e64be673404fc746f6","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-1.0.1.tgz","fileCount":25,"integrity":"sha512-MFboSBT1m6p267rbmH988uzkC4W2VZwUU/eKEHpkTfBt8ulDj6atnZdkcXKykBqs+MFnn9YUZSj+7ehUYGJreg==","signatures":[{"sig":"MEQCIBSg0AYBBu1N16u8qsQ0Qe9pDCZHz5JQZkLlzgcQqP04AiAbPeT/aWXQY4TpYF0g6FrHCDCyulEC4DRNfMitmK2P1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2091196},"gitHead":"d74024fede6cc21608b5936a6aa949ad6216c437","scripts":{"dev":"tsup --watch","test":"npm run lint:skills && npm run validate:catalog","build":"tsup","prepare":"npm run build","lint:skills":"node scripts/ci/lint-skills.js","generate:catalog":"node scripts/generate-catalog.js","validate:catalog":"npm run generate:catalog && node scripts/ci/validate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and plugins across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_1.0.1_1775133419693_0.4017935456682522","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"toolkit-ai","version":"1.0.2","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@1.0.2","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"ai-toolkit":"bin/ai-toolkit.mjs"},"dist":{"shasum":"115f893830490d0dad6771e70cc38c06409bc63b","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-1.0.2.tgz","fileCount":25,"integrity":"sha512-V0kk/20gobAnt6tq+579exOn1dZV9/mNsKCS6lgRd6lVjynCJ2WWX5PLKJlaX0bQf5gvLjwuL+gcq/gAJ72y7A==","signatures":[{"sig":"MEUCIQCOwC1mE5gzYrJ436wQsbFpAyDywMTuDkYVlNBrtKxKvgIgJKP1l6z66XFedflu8FWNVpFSaqmjZuzYqG0PzCW3hsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2091208},"gitHead":"b2c468453de014d2a39a518493a29638589a7f5a","scripts":{"dev":"tsup --watch","test":"npm run lint:skills && npm run validate:catalog","build":"tsup","prepare":"npm run build","lint:skills":"node scripts/ci/lint-skills.js","generate:catalog":"node scripts/generate-catalog.js","validate:catalog":"npm run generate:catalog && node scripts/ci/validate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and plugins across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_1.0.2_1775134133513_0.39566070590931246","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"toolkit-ai","version":"2.0.0","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@2.0.0","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit#readme","bugs":{"url":"https://github.com/barleviatias/toolkit/issues"},"bin":{"ai-toolkit":"bin/ai-toolkit.mjs"},"dist":{"shasum":"c900f3aa5f2959ca9ba0bd7a970e7d5513386d59","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.0.0.tgz","fileCount":9,"integrity":"sha512-k34EhonQS7OFJYma9COpzJscvMndQq50qgDUL3ymd1vJYiOgF7Dy9gMOtltZfN02CVr1RTiV+HZaUsVSepUdHw==","signatures":[{"sig":"MEUCIQDLM2ymzgK7AQiYLYq/9OAAwU3N1h6+CvuN9e2rhl4HRQIgJNdKUT0lT0aVptYyJMnLwfflykbxtzZqtP0zEDHHzp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1920436},"gitHead":"272eaa2f900a24057c5c3cf990426d39c910a860","scripts":{"dev":"tsup --watch","test":"npm run build","build":"tsup","prepare":"npm run build","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and plugins across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","dependencies":{"toolkit-ai":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.0.0_1775210321315_0.5731074241114587","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"toolkit-ai","version":"2.0.1","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@2.0.1","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit#readme","bugs":{"url":"https://github.com/barleviatias/toolkit/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"f25a6808bf685b9cdfc05c20dda46270a3117c7b","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.0.1.tgz","fileCount":9,"integrity":"sha512-kZIpu40+3Hk9p6T54he/dGOjnoJq8zu2hm/M5oYioocMNVIoqR0r6Dy1apMUajqAWYpYQnLKJHhh/T0q/prRnw==","signatures":[{"sig":"MEYCIQCOHYTeAh4dfh079pzD/ewKb5G7JTOSodqGeCpZvOW3EQIhAPkmsymhyFyQiEdxJ1SHnnUtd9xSGFi5s/Zbn9J2+5dI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1923479},"gitHead":"19027224b8a3c9dd18e4f63fdffa63924fc90f24","scripts":{"dev":"tsup --watch","test":"npm run build","build":"tsup","prepare":"npm run build","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and plugins across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","dependencies":{"toolkit-ai":"^1.6.2"},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.0.1_1775211233742_0.4168550730122542","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"toolkit-ai","version":"2.0.2","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@2.0.2","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit#readme","bugs":{"url":"https://github.com/barleviatias/toolkit/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"0c29b36dd9435042f775578084e8abe58c861400","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.0.2.tgz","fileCount":9,"integrity":"sha512-C/3x8tmKjGsCfKTG7RnwWYixar7Xkyt7qGOQdlQOzpmE7XKCtL5EPQB1wP+G7wGwLAADv0LAXovYMfAQifTy4w==","signatures":[{"sig":"MEUCICC7A/Rojk+mcUxNwI8A4qFJVN7FyzjeozRTSQ7aaisJAiEAhQW1VtTBNP2gaOK8IxJqITHuqXaW2LeT8RMuruKNiZo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1923447},"gitHead":"9c2155e101277f181b74e76ff9ff144407e52153","scripts":{"dev":"tsup --watch","test":"npm run build","build":"tsup","prepare":"npm run build","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and plugins across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.0.2_1775211568072_0.3063134837637733","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"toolkit-ai","version":"2.0.3","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@2.0.3","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit#readme","bugs":{"url":"https://github.com/barleviatias/toolkit/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"63dfeb7d5a3a69a73ecfe729e1ead6f504e252cb","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.0.3.tgz","fileCount":9,"integrity":"sha512-5PIu66Rycj+/j4rH5bmjhMvaOyFRm1SKX03gXEhnKf5iiRhzF6extsaSYAw+pn7w5zBroTgco18kiQNSWIPExg==","signatures":[{"sig":"MEUCICV/wYNAbgPaK8ho/0SCURpAvYrUQent1/mTBbQ1iXymAiEA3pacv+mFFgTXOTSRBTuMjFnP1evW+/u5HJe7hTRO0eo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1927375},"gitHead":"1d88b097fa98b7064846e3aa4e09be60940a26a5","scripts":{"dev":"tsup --watch","test":"npm run build","build":"tsup","prepare":"npm run build","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.0.3_1775231847944_0.8459093885513809","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"toolkit-ai","version":"2.0.4","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@2.0.4","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit#readme","bugs":{"url":"https://github.com/barleviatias/toolkit/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"8f609eb0c29f85c67ba52452b642eb1a43583ad4","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.0.4.tgz","fileCount":9,"integrity":"sha512-vFEoKyB3e/1wWpgjJ/TZhiGhYZ8TEVhJ0yJajkQdZ4zaV39B+brz08pQVsuuDy1OdbhraTczJXwuXHv1RvwDFA==","signatures":[{"sig":"MEUCIFIreZMqPpAM1CyS8kt9w89P5S6le5IIOoaGY592IPLVAiEAu6nsdd8znOblQY/MXhNFPFpxyWFD1331pv6F4gQyCuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1934508},"gitHead":"e56afbbf0139714572a9f8803e6961b224480d64","scripts":{"dev":"tsup --watch","test":"npm run build","build":"tsup","prepare":"npm run build","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.0.4_1775252465103_0.7232206044346601","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"toolkit-ai","version":"2.0.5","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@2.0.5","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"c145233065a6a959e98a57ac7cd30f1e7ac93aa1","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.0.5.tgz","fileCount":9,"integrity":"sha512-z6dVJL4QDPe15e+ElnOyczBMQm26/uPLIug8pvv3p1ltWyIms7putxWalKBDWAGa+4kAL6Xkd28MW3648Q/HZw==","signatures":[{"sig":"MEUCIQC94AsNuWyR+U1Bcg60pBGHUKG5GzmgY+HlyiJHQwgU3AIgMU8agskhY/it2CIEXL5sGD9/1H86OUFlNifT5bu/bN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1936650},"gitHead":"89d53ce01d8d8755aadcc2450758b1516a5eb5e6","scripts":{"dev":"tsup --watch","test":"npm run build","build":"tsup","prepare":"npm run build","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.0.5_1775325525640_0.22565808661365772","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"toolkit-ai","version":"2.0.6","keywords":["ai","toolkit","skills","agents","mcp","claude","copilot","cursor","cli","ink"],"license":"MIT","_id":"toolkit-ai@2.0.6","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"d2231d4da8cf201560b0c4bc235b7addda708f45","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.0.6.tgz","fileCount":9,"integrity":"sha512-ATg33JxoAbz/dW40xypYwJfFgUvooFS5JoUeg4qHcV7WLn0PQALoYHpVOx21QJxLcJWF+9Ay7jhvQu9deMIGGg==","signatures":[{"sig":"MEQCIG6uvReMz5oH0/wBp28OnCsKhFNJsg6/6KThOAY8RMdTAiBLlM36z727xpXm39wktDaT1njz3+3doSJi45qExUGeNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1932516},"gitHead":"346f7a87b5df00661ade2bedcf3d8f5d6824a595","scripts":{"dev":"tsup --watch","test":"npm run build","build":"tsup","prepare":"npm run build","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"barleviatias","email":"barlevi.atias@gmail.com"},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"10.8.2","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Copilot, and Cursor","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","js-yaml":"^4.1.1","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.0.6_1775327332603_0.27079095472430925","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"toolkit-ai","version":"2.1.0","keywords":["ai","toolkit","skills","agents","mcp","claude","codex","copilot","cursor","cli","ink"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.0","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"5a1b78572ce1472d05eee498cf2150bb77f73654","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.0.tgz","fileCount":10,"integrity":"sha512-8S9NxuLUVOPZFQTsdAQ9XnkfxkxjvWIzsqaBdqYdJSrvocDap+3oziyM009GoT2UL9NTiV5VeLi4AT5Vn0b6UA==","signatures":[{"sig":"MEUCIQDD7jjhZ0Qt5cF84n30PY8Qi7JdyA2+6ULv7xdVCnXVOQIgCBE4pasoEeKme80jSDLiVthMlas3bVfjG73LdyXwGks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1948845},"engines":{"node":">=20"},"gitHead":"b54825483c9f9c2ee6f051e06c8b76aee74dc88f","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.0_1775856580232_0.459161138023392","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"toolkit-ai","version":"2.1.1","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.1","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"37ed6aba5a5122b9c240d64e20ff5030967e41e8","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.1.tgz","fileCount":10,"integrity":"sha512-suamf6yQ4QFIS3fo66MX37A15Hry42hmVDFzPdCGTzjJr2n+aQyk81XLJ9HkpOhC/dopCupZ2hHpfnQmhcISLg==","signatures":[{"sig":"MEUCIQD1kTC2C+x91Aw8r7DbYh1O/fTeNCKsNGSagbbXihQX4wIgZrVUbiu44yvU6kQCXA7E60dqqgWLmfhOz8q5yVhb9wk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1976433},"engines":{"node":">=20"},"gitHead":"3c724a0c0773bf2096795d153bdf8567c229c7c5","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.1_1776511080197_0.9193152592499554","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"toolkit-ai","version":"2.1.2","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.2","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"1255922cafbf048f7f3ffbaafddfcb513a3cedbf","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.2.tgz","fileCount":10,"integrity":"sha512-M+SNCbgcKxLq16gnRlRVpnpQyHVdTl/cVm66wB/wqysSoE/EcTx0sQGcvHW+bEsnzzThCjB9IaSymOqoIndMEg==","signatures":[{"sig":"MEUCIQCz7ZPOepuNeQTIjnDblZQzrC8mKhkq9fu3Ej+6ocRdjQIgQuYvzWdnwWTGcQG1IUcGfq5n8fAt+A+YyWgymZ24dl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1986023},"engines":{"node":">=20"},"gitHead":"6f82e6605c6e9b5b2580cd6c658b0f3d2fbfd2b7","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.2_1776516691640_0.3255229775877655","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"toolkit-ai","version":"2.1.3","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.3","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"52302e42d76a91ed97d479731e4e5d275fc68271","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.3.tgz","fileCount":10,"integrity":"sha512-4SBYlQkLrmGtqSMIQKnBLFpkCFucOusqkBoEDjqNZk1Vz83mLp+xaSA9c03VZfcWkpLWnxxYrmf2XtRR4sDcZA==","signatures":[{"sig":"MEYCIQCpoQ3BmNGDEVyAcPQyS1cxm0oYmuQMBCnKBV2+bukXXgIhAKhYJc3QMpIpzgGBwSCh4V21zltcRmgmcJ1cGRDeqixW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1986023},"engines":{"node":">=20"},"gitHead":"10c482a37f1a39bb6e605ebc02321af38487ac13","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.12.1","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Copilot, and Cursor","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.3_1776873995071_0.7442380049657431","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"toolkit-ai","version":"2.1.4","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.4","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"51413af399019e5f15a59cf0cf47627a913c6383","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.4.tgz","fileCount":10,"integrity":"sha512-F7L1SRfx5gxmjQVJ3AqT0pQqmTB3fDA/yyAy/WuESfY1Yoe/E9kHoZZ4MuRL5vAKdMftgT0u2SL4Z4uS8+Or9Q==","signatures":[{"sig":"MEUCIFRF5XBzwkk8qxbraoV2lDXbVYnO0bMLAseV0Tu5vreZAiEAxOZkisVIgyziFLMDBo5rzDIxNoMl2T56CiL0s+B6Nt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1986622},"engines":{"node":">=20"},"gitHead":"b39b7f802099a144f5171539a4ddaad594ad0f65","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.4_1777138474530_0.9954400166109072","host":"s3://npm-registry-packages-npm-production"}},"2.1.6":{"name":"toolkit-ai","version":"2.1.6","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.6","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"68c4f3d14ef9b07487285acf9d5727d6fb38e24c","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.6.tgz","fileCount":10,"integrity":"sha512-ikL3e/QE9mAyTjtogXl4Lxq2m/PuHqtim31Y8pTVIKZvEQjg0+d1x1HqMW7PLU+gEbWtEzoi9sE2yjhA0P9zbA==","signatures":[{"sig":"MEYCIQCRhgKshz1AM42UZIa9Lwug24JK7zfo05l7AV/H9gL3oAIhALmsLBbJf2xJCt280B2RCKFaD5+iIRSJcaa0ZsJB1wwx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2026907},"engines":{"node":">=20"},"gitHead":"9d82d1a82d10597756e3dcaef23f788f0ebc8e00","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.6_1777996112687_0.893869489357433","host":"s3://npm-registry-packages-npm-production"}},"2.1.7":{"name":"toolkit-ai","version":"2.1.7","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.7","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"628e88896ab2782c4bbfb9c6e9717f72988f1dac","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.7.tgz","fileCount":10,"integrity":"sha512-QpD4aP2dZhgvnkFjKsw0YCR/UexY47Lmll4KaiquQgpZL99CusdcamrgP/KHPDdzegnRCM1NA1NaWpXmWylhsw==","signatures":[{"sig":"MEUCIDeWhCk9/9IlUsCUMBA1v2XnKPWejO9igWDu81ks/+ZcAiEA32F0B57duskJXT9RSiX3N392778AOHnCSlO0Y/+Qf6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2032887},"engines":{"node":">=20"},"gitHead":"587a5f72bb5b469005aa78a5fe739a186c094e95","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.7_1778149798576_0.5740472996687949","host":"s3://npm-registry-packages-npm-production"}},"2.1.8":{"name":"toolkit-ai","version":"2.1.8","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.8","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"868a1022b54bb9bdb92cee12a82480eb4d1f8fbb","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.8.tgz","fileCount":10,"integrity":"sha512-s4MY6fGBc9wc8atSqwMuDIoPwHQtkAIduDPfilekN3cSkt9yvXDt+xGc1d5ehcNI4hu79Bpw9EWZM+6jsAXmjQ==","signatures":[{"sig":"MEUCIQDUtZf+dQ+jH5RFIorr77OceCWJGJmgWfDokv1uTnVx2wIgSdSGo/NG+RCCsnCMDbFa/FV0+TcVWyD0wl/W6G4jGeU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2055788},"engines":{"node":">=20"},"gitHead":"7c41fd18cbafd222953300306f759b2f70b70991","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.8_1778492967550_0.9930417249111505","host":"s3://npm-registry-packages-npm-production"}},"2.1.9":{"name":"toolkit-ai","version":"2.1.9","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.9","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"8aa04973a31279a2e279811535e2da22778987ba","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.9.tgz","fileCount":10,"integrity":"sha512-j7VS8FgEawMi/XFdgUC51gB8G/m4ecaLvlu1R396lBeiPlEIrVTfNEfMUOctVN3r4UnQynG2mQCABd7U8L5iIw==","signatures":[{"sig":"MEUCICDvkhLwS8pAHm4Lpj7SyijmQD+NPRlbjYFVe+T4C4T2AiEAkyw+NwTDAJiIW9Ng6gt7Iyk+q1ExffnSoCpmUlLEbTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2119148},"engines":{"node":">=20"},"gitHead":"67241709d853b62eb2a16028eba4a219c44ddc7a","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.11.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.14.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.9_1778855025293_0.24417898261918491","host":"s3://npm-registry-packages-npm-production"}},"2.1.10":{"name":"toolkit-ai","version":"2.1.10","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.10","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"f153fdc4640eeea0ca81e9409f9f7c4eaef55804","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.10.tgz","fileCount":10,"integrity":"sha512-OL1f19/c0tUniuSmLeSf1Q3ijYBEZMCzjyx0QYQn3otpbIepDS3e5fwexJ2sjorAgRPnxThPjjociJ04X+fLZQ==","signatures":[{"sig":"MEQCIH24l7GDxxF7HlF3k/uVXO4FTBf5jAp9Xb7uvXxXaCh8AiA+B9X/R9Mf2d56VZdsSxucfLOx9uHP5tSGzSRX3RWg4w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2131871},"engines":{"node":">=20"},"gitHead":"039b27789424eb5fed4e27c78315d853a753aba8","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.12.1","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.10_1779115616563_0.3587830567303454","host":"s3://npm-registry-packages-npm-production"}},"2.1.11":{"name":"toolkit-ai","version":"2.1.11","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.11","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"3b15fdb1398f961f8757c08eb91baf19a9ba7edf","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.11.tgz","fileCount":10,"integrity":"sha512-UPjHL7pWNlEaOPpbtY9RnipRanZpUSOjOjOqkJ3Z7pe3JZFw5n5Gb+LREQflRkQxrqs1Fy52eq4eN65fX0Gh0g==","signatures":[{"sig":"MEUCIQDeNahAu+hCNzu0kcPpP1kBwEA0pm3tXGS1N3DpJU2rugIgb9GDUGFM9VqhRFGH6f6hLRyifcGICri8nX3xAk593xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2142980},"engines":{"node":">=20"},"gitHead":"2d85e3b0caeb9d034d645ae8aea079ab20369d1b","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.12.1","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.11_1779273779699_0.9846753429400652","host":"s3://npm-registry-packages-npm-production"}},"2.1.12":{"name":"toolkit-ai","version":"2.1.12","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.12","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"739654f64fa21630a31e6657508b036259a5ab4e","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.12.tgz","fileCount":10,"integrity":"sha512-wzfTSaY6vbZRuEQV/C4IrFhFOnKasAyz6//oO2pjnS3pW/pTxV70hQyeUEgdZ07V9k7SOP/Tl1zd+NtpmGHjzA==","signatures":[{"sig":"MEQCIC0cGxdS3Cxrwuze8MVkGaTSr2rLinH3sHQWt+fr/v4CAiBDW/v67GV9uYq9F1UZNgpaGLGgllVPMgPBCLnJPcZEnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2150472},"engines":{"node":">=20"},"gitHead":"77d91554512a813e7a27b2a44aa184f8fd17833c","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.12.1","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.12_1779951294047_0.026803166981642645","host":"s3://npm-registry-packages-npm-production"}},"2.1.13":{"name":"toolkit-ai","version":"2.1.13","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.13","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"ec3ba8e8cc3b22967cb41b5c93958893c40145e7","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.13.tgz","fileCount":10,"integrity":"sha512-uLcGAUkddniCVDAAtWWKK8kazJyRaB3uM16GlNCPgsCy73W6F1PNIfWwdNSCGGfoZkBhwQdyZprjJDQKPSDu/g==","signatures":[{"sig":"MEYCIQDIvQsbEIzuka3xvuZVgdbLHRWAJN0nSUTN9Q2zxS1yLgIhAN8Dk6Ete4YvjP+v13EccLX6PtsQcXHekuPk1OJ38DJT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2152077},"engines":{"node":">=20"},"gitHead":"7bf96c9db01509b471d14ff8222cca356f262466","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.12.1","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.15.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.13_1779966405080_0.4148390206701522","host":"s3://npm-registry-packages-npm-production"}},"2.1.14":{"name":"toolkit-ai","version":"2.1.14","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.14","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"2f09dbc4b0d15ac4d55eea28882d3aaafbaa2f36","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.14.tgz","fileCount":10,"integrity":"sha512-c7zMxtrn0WV07XQMduIuvdnmzLKyLRnpCSPv415LP1KPwJ5MPDxgnh231xYQrvsctvGGuyU2fujXYSVCCcPkpQ==","signatures":[{"sig":"MEUCIQD1uzCbWR/cw55Sf/1Z/i3E9Yh8p/8k2hvN7KhyOlqyzwIgeRThsSiIYN8NcfM+xurBOi2lgjFg2rbAxYJlG+flDYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2157292},"engines":{"node":">=20"},"gitHead":"c06d359c91fe50fdca994cd629485be4385657b7","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.13.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.14_1780222759410_0.000943129875373705","host":"s3://npm-registry-packages-npm-production"}},"2.1.15":{"name":"toolkit-ai","version":"2.1.15","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.15","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"b7b3741bd4d14eeaed2a2dda8c96f3a1f106d1d4","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.15.tgz","fileCount":10,"integrity":"sha512-WpMS6m6oSWfGXiLaIzf0BhpwuQcPWx+yuzrh0bXN3SfAdNm0indZbM7fXvsy1LIdJHYyzOIog//5nuLNKpcZNA==","signatures":[{"sig":"MEYCIQDNxq468/VVyzicettWDt/q+eLPSfEEpVmFgqFt5E/VqQIhAKpdfFwH760f2sT+qjViIqFGUqd5OE1endRu/RzwX86X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2159346},"engines":{"node":">=20"},"gitHead":"1ed24ddbed3af1d43a437914d7d8a114a3897720","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.13.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.15_1780225971830_0.7741924992421623","host":"s3://npm-registry-packages-npm-production"}},"2.1.16":{"name":"toolkit-ai","version":"2.1.16","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.16","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"3fd7804131cf15be05d1a85e80c74d1ce7d8dff5","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.16.tgz","fileCount":10,"integrity":"sha512-Iq6Pno+8wkLzvGZ1XyVp4tUTJTNXptr0+AZBo4u2PZebzbYe50hNPMyqbu0C6F5QVbHjARI8oY3MAV1msFaKhQ==","signatures":[{"sig":"MEQCIDTUHkM3mjEoMNcrWN/1DRIm76MglWyfhBc2Me62WTkqAiBwCdUhhKJe46m1tSVAtpDXxznbvTEHGPziqI/8Cf3PdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2162646},"engines":{"node":">=20"},"gitHead":"648fbf899edc2eab4d7b68499fce40831dc3e927","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.13.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.16.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.16_1781598911214_0.9785147083038022","host":"s3://npm-registry-packages-npm-production"}},"2.1.17":{"name":"toolkit-ai","version":"2.1.17","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.17","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"06e134090d54405f145abb90814f2063d230bb77","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.17.tgz","fileCount":10,"integrity":"sha512-1wGgJR+/aJ3XURzlafCm3ehs2ejUYBRrqvN8DAA9xj/tM9T0AllDw1ffzgOtCU9URf1guCtcdwzFLCPbua1LXw==","signatures":[{"sig":"MEUCIE56OYqTgAHl+vn0dw96KhSU1SRdP35RiOgaD+WPgWw9AiEAzMWrftkS02/AqKUZZ/5RSn//Vyc9Z24BF6D+aayDvGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2162440},"engines":{"node":">=20"},"gitHead":"6177984158b5bb019feb227ae3174c690b3bc892","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.17.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.19.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.17_1788179018649_0.9179605075287844","host":"s3://npm-registry-packages-npm-production"}},"2.1.18":{"name":"toolkit-ai","version":"2.1.18","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.1.18","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"ee164506387aa6127fcfb9383baaea8c74017679","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.1.18.tgz","fileCount":10,"integrity":"sha512-TjsmTUN2patlXR/+jDqDr//eHV7w8cGb7MFGhx9ih9GKCv2aRq7e0jaSt9/rDeS2m1M3SHf8uE5zvjWDg46UqQ==","signatures":[{"sig":"MEUCIC44A7OiSYQR2HjsPxwzdHeWtastJKXRqwOJ7Wd5/y4NAiEA8G3LjCVKIl2oEsdqt9lrXEzvdZXqzYFyPYLAp0WmgTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2163141},"engines":{"node":">=20"},"gitHead":"f603abab879679fb2c2f42dd7a9f17add4c1190f","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.19.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.20.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.1.18_1788679773392_0.06381175986364096","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"toolkit-ai","version":"2.2.0","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"author":{"name":"Bar Leviatias"},"license":"MIT","_id":"toolkit-ai@2.2.0","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"homepage":"https://github.com/barleviatias/toolkit-ai#readme","bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"dist":{"shasum":"edfd83b5f8330e351a19faa6867ae306edc3dfee","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.2.0.tgz","fileCount":10,"integrity":"sha512-vPXnHHBMgzH5+IPsUgK2pKHJ23NXDDi44DjawVE0gUbhcjeBNTAkoky5IjYLkG+Ouk5Q1Ug6IaZagmFgV1/m/Q==","signatures":[{"sig":"MEUCIQC/ARlJZUPRU7q19HXGZ3uIYGmj9r4tDxGbUa3nsu029gIgTe0G+7CRpN4PjJkbqIOrHMyr4L1Agjt076M2+9T63PQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2221890},"engines":{"node":">=20"},"gitHead":"3145411b4f5213f5545152966f69876aaa79baa4","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.19.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"_nodeVersion":"24.20.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","smol-toml":"^1.8.0","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/toolkit-ai_2.2.0_1789033535471_0.6425791071005902","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"_id":"toolkit-ai@2.2.1","bin":{"toolkit":"bin/ai-toolkit.mjs","ai-toolkit":"bin/ai-toolkit.mjs","toolkit-ai":"bin/ai-toolkit.mjs"},"bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"dist":{"shasum":"b48d90a26f8938b83a8b3bf4ad4aced243c909f6","tarball":"https://registry.npmjs.org/toolkit-ai/-/toolkit-ai-2.2.1.tgz","fileCount":11,"integrity":"sha512-TaQ1V/ef3cZtk4HILgHwRvWLC/jTJItAKubtNRG/9YyAtkx316+uxYWd8jcOHnJtBEge2e+El0wjFdvpAR+mNA==","signatures":[{"sig":"MEUCIQC8v2gdvj2C92ucSZYIM4zanLkvTQ8O7g7wUrF1S83/kgIgB95qZDxwjYbNxakjGkFfm6QvZk5AdVax+o/iU3q4HIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD0aP9gkGDRISa39wm0Sjmx2iljKiVvjebrBKdatjfecwIgNOdIlc4QD8g3UlZ9erIA2S6PkgYem8OUiUS71Gq+Hw8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/toolkit-ai@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2222835},"name":"toolkit-ai","author":{"name":"Bar Leviatias"},"engines":{"node":">=20"},"gitHead":"0b946d1d28a4f2f656673b5608b5fb0e4e08093f","license":"MIT","scripts":{"dev":"tsup --watch","test":"npm run typecheck && node tests/run.mjs","build":"tsup","prepare":"npm run build","build:dev":"TOOLKIT_DEV_BUILD=1 tsup","typecheck":"tsc --noEmit","generate:catalog":"node scripts/generate-catalog.js"},"version":"2.2.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a01f7806-aa8d-497b-846a-c935b4660d47"}},"homepage":"https://github.com/barleviatias/toolkit-ai#readme","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"_npmVersion":"11.19.0","description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","directories":{},"maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"ink":"^6.8.0","tsup":"^8.5.1","react":"^19.2.4","smol-toml":"^1.8.0","typescript":"^5.9.3","@types/node":"^20.19.37","@types/react":"^19.2.14","ink-text-input":"^6.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/toolkit-ai_2.2.1_1790580323610_0.034041204925912893"}}},"time":{"created":"2026-04-02T10:34:12.913Z","modified":"2026-09-28T07:25:24.065Z","1.6.0":"2026-04-02T10:34:13.091Z","1.6.2":"2026-04-02T12:23:41.349Z","1.0.0":"2026-04-02T12:33:22.282Z","1.0.1":"2026-04-02T12:36:59.877Z","1.0.2":"2026-04-02T12:48:53.702Z","2.0.0":"2026-04-03T09:58:41.544Z","2.0.1":"2026-04-03T10:13:54.002Z","2.0.2":"2026-04-03T10:19:28.302Z","2.0.3":"2026-04-03T15:57:28.102Z","2.0.4":"2026-04-03T21:41:05.267Z","2.0.5":"2026-04-04T17:58:45.907Z","2.0.6":"2026-04-04T18:28:52.832Z","2.1.0":"2026-04-10T21:29:40.434Z","2.1.1":"2026-04-18T11:18:00.365Z","2.1.2":"2026-04-18T12:51:31.805Z","2.1.3":"2026-04-22T16:06:35.293Z","2.1.4":"2026-04-25T17:34:34.768Z","2.1.6":"2026-05-05T15:48:32.899Z","2.1.7":"2026-05-07T10:29:58.852Z","2.1.8":"2026-05-11T09:49:27.740Z","2.1.9":"2026-05-15T14:23:45.493Z","2.1.10":"2026-05-18T14:46:56.811Z","2.1.11":"2026-05-20T10:42:59.877Z","2.1.12":"2026-05-28T06:54:54.295Z","2.1.13":"2026-05-28T11:06:45.264Z","2.1.14":"2026-05-31T10:19:19.550Z","2.1.15":"2026-05-31T11:12:52.063Z","2.1.16":"2026-06-16T08:35:11.365Z","2.1.17":"2026-08-31T12:23:38.779Z","2.1.18":"2026-09-06T07:29:33.531Z","2.2.0":"2026-09-10T09:45:35.649Z","2.2.1":"2026-09-28T07:25:23.710Z"},"bugs":{"url":"https://github.com/barleviatias/toolkit-ai/issues"},"author":{"name":"Bar Leviatias"},"license":"MIT","homepage":"https://github.com/barleviatias/toolkit-ai#readme","keywords":["ai","toolkit","ai-toolkit","skills","agents","ai-agents","mcp","mcp-server","model-context-protocol","claude","claude-code","codex","amp","ampcode","copilot","cursor","cursor-ai","cli","ink","tui","developer-tools","plugin-manager","agent-framework","prompt-engineering","skill-management","typescript","configuration"],"repository":{"url":"git+https://github.com/barleviatias/toolkit-ai.git","type":"git"},"description":"CLI with React Ink TUI for managing AI skills, agents, MCPs, and bundles across Claude Code, Codex, Amp, Copilot, and Cursor","maintainers":[{"name":"barleviatias","email":"barlevi.atias@gmail.com"}],"readme":"<div align=\"center\">\n\n```\n████████╗ ██████╗  ██████╗ ██╗     ██╗  ██╗██╗████████╗\n╚══██╔══╝██╔═══██╗██╔═══██╗██║     ██║ ██╔╝██║╚══██╔══╝\n   ██║   ██║   ██║██║   ██║██║     █████╔╝ ██║   ██║\n   ██║   ██║   ██║██║   ██║██║     ██╔═██╗ ██║   ██║\n   ██║   ╚██████╔╝╚██████╔╝███████╗██║  ██╗██║   ██║\n   ╚═╝    ╚═════╝  ╚═════╝ ╚══════╝╚═╝  ╚═╝╚═╝   ╚═╝\n```\n\n# toolkit-ai\n\n**A package manager for AI coding assistants — manage skills, agents, and MCP servers across Claude Code, Codex, Amp, GitHub Copilot, and Cursor from any GitHub repo.**\n\n[![npm version](https://img.shields.io/npm/v/toolkit-ai.svg)](https://www.npmjs.com/package/toolkit-ai)\n[![npm downloads](https://img.shields.io/npm/dm/toolkit-ai.svg)](https://www.npmjs.com/package/toolkit-ai)\n[![GitHub stars](https://img.shields.io/github/stars/barleviatias/toolkit-ai.svg?style=social)](https://github.com/barleviatias/toolkit-ai)\n[![CI](https://github.com/barleviatias/toolkit-ai/actions/workflows/ci.yml/badge.svg)](https://github.com/barleviatias/toolkit-ai/actions/workflows/ci.yml)\n[![TypeScript](https://img.shields.io/badge/TypeScript-strict-blue.svg)](https://www.typescriptlang.org/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n[Install](#install) · [Quick Start](#quick-start) · [Resource Types](#resource-types) · [TUI](#interactive-tui) · [CLI](#cli-commands) · [Security](#security)\n\n</div>\n\n---\n\n## Why toolkit-ai\n\nIf your team works across more than one AI coding assistant, you've hit this wall:\n\n- Every tool keeps its own config (`~/.claude/`, `~/.cursor/`, `~/.codex/`, `~/.copilot/`, `~/.config/amp/`)\n- Skills, subagents, and MCP server configs live in different formats\n- There's no shared catalog, no versioning, no security review step\n- Shipping a skill to your team means a wiki page and a prayer\n\n`toolkit-ai` treats your AI tooling like dependencies. Point it at GitHub repos, browse everything in one TUI, install across all five tools at once, and keep a lockfile with content hashes so you know when something changed.\n\n```bash\nnpx toolkit-ai\n```\n\n### Features\n\n- **One catalog, five tools** — skills, agents, and MCP servers installed into Claude Code, Codex, Amp, GitHub Copilot, and Cursor from a single command\n- **Source-driven** — every resource comes from a GitHub or Bitbucket repo you control; no bundled content\n- **Security scanner** — blocks curl-to-shell, reverse shells, invisible Unicode injection, SSRF, path traversal, and more before install\n- **Interactive TUI** — React Ink browser, installer, and updater with search, filters, and multi-select\n- **Content-hashed lockfile** — `toolkit check` shows exactly what's outdated; `toolkit update` applies changes\n- **Zero runtime dependencies** — single bundled executable, runs on `npx` without a clone\n- **TypeScript strict mode** — 31 unit + integration tests, typechecked on Node 20 + 22\n\n---\n\n## Table of Contents\n\n- [Install](#install)\n- [Quick Start](#quick-start)\n- [Resource Types](#resource-types)\n  - [Skills](#skills) · [Agents](#agents) · [MCPs](#mcps) · [Bundles](#bundles)\n- [Interactive TUI](#interactive-tui)\n- [CLI Commands](#cli-commands)\n- [External Sources](#external-sources)\n- [Security](#security)\n  - [What We Scan](#what-we-scan) · [Trust Model](#trust-model) · [Security Disclosure](#security-disclosure)\n- [Create Your Own Resources](#create-your-own-resources)\n- [How Storage Works](#how-storage-works)\n- [Related Projects](#related-projects)\n- [Development](#development)\n\n---\n\n## Quick Start\n\n```bash\n# 1. Launch the interactive browser\nnpx toolkit-ai\n\n# 2. Or install something in one command\nnpx toolkit-ai source add vercel-labs/agent-skills\nnpx toolkit-ai skill brainstorming\n\n# 3. Check what's installed and what needs updating\nnpx toolkit-ai list\nnpx toolkit-ai check\n```\n\n---\n\n## Install\n\n```bash\n# Recommended — install once, get the short `toolkit` command,\n# and get a clear update notice when a newer version is available.\nnpm install -g toolkit-ai\ntoolkit                    # launch the TUI\ntoolkit --help             # CLI reference\n\n# One-off use (never installs anything globally)\nnpx toolkit-ai\n```\n\n### Without npm\n\nDon't have npm (or just don't want to use it)? Pipe the installer instead.\nIt downloads the bundled `.mjs` from GitHub Releases and drops it in\n`~/.local/bin` (or `/usr/local/bin`). Node 20+ on PATH is the only requirement.\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/barleviatias/toolkit-ai/main/install.sh | bash\n```\n\nPin a specific version or override the install dir:\n\n```bash\nAI_TOOLKIT_VERSION=v2.1.6 curl -fsSL .../install.sh | bash\nAI_TOOLKIT_BIN_DIR=~/bin   curl -fsSL .../install.sh | bash\n```\n\n**Update notices:** toolkit-ai checks the npm registry once per 24h and, if a\nnewer version exists, prints the exact command to run:\n`npm install -g toolkit-ai@latest`. It does not auto-update. Checks are skipped\non CI (`CI=true`, `GITHUB_ACTIONS`, `CODESPACES`, etc.) and when stderr isn't a\nTTY. Opt out with `TOOLKIT_NO_UPDATE_CHECK=1`.\n\n---\n\n## Resource Types\n\nThe toolkit manages four types of resources that extend AI coding assistants.\n\n### Skills\n\nMarkdown files that teach AI agents new capabilities, domain knowledge, or workflows. Each skill is a directory containing a `SKILL.md` with YAML frontmatter.\n\n```\nskills/\n  api-design/\n    SKILL.md          # Instructions for the AI agent\n    references/       # Optional supplementary docs\n```\n\n**Example `SKILL.md`:**\n\n```markdown\n---\nname: api-design\ndescription: >\n  REST API design conventions and best practices.\n  Use when creating or reviewing API endpoints.\n---\n\n# API Design\n\n## When to use\n\nApply these conventions when designing new endpoints or reviewing API PRs.\n\n## Guidelines\n\n- Use plural nouns for resource names (`/users`, not `/user`)\n- Return 201 for successful creation, 204 for deletion\n- Include pagination for list endpoints\n```\n\n**Installs to detected targets:** `~/.claude/skills/`, `~/.copilot/skills/`, `~/.agents/skills/` (Codex), `~/.config/amp/skills/`\n\n### Agents\n\nSpecialized AI worker definitions with their own tool access, model preferences, and behavior. Agents run in isolated context and return a summary to the main conversation.\n\n**Example `code-reviewer.agent.md`:**\n\n```markdown\n---\nname: code-reviewer\ndescription: >\n  Reviews code changes for bugs, security issues, and style violations.\ntools:\n  - read\n  - grep\n  - glob\n---\n\n# Code Reviewer\n\nYou are a code review agent. Given a set of file changes, you:\n\n1. Check for common bugs and edge cases\n2. Flag security concerns (SQL injection, XSS, etc.)\n3. Verify style consistency with the codebase\n4. Suggest concrete improvements with code examples\n```\n\n**Installs to detected targets:** `~/.claude/agents/`, `~/.copilot/agents/`, plus generated Codex custom agents in `~/.codex/agents/*.toml`\n\n### MCPs\n\nModel Context Protocol server configurations. The toolkit reads these JSON files and registers the MCP server into each AI tool's config file. For Codex, it writes TOML under `~/.codex/config.toml`; for the other tools, it writes JSON config entries. The toolkit does **not** run the server itself.\n\n**Example `supabase-mcp.json`:**\n\n```json\n{\n  \"name\": \"supabase-mcp\",\n  \"description\": \"Connect to Supabase for database queries and auth\",\n  \"type\": \"sse\",\n  \"url\": \"https://mcp.supabase.com/v1/sse\",\n  \"setupNote\": \"After install, restart your agent to authorize.\"\n}\n```\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `name` | Yes | Identifier — used as the key in target config files |\n| `description` | Yes | Shown in the TUI catalog |\n| `type` | No | Transport hint for tools that expect it |\n| `url` | No | Streamable HTTP server URL |\n| `command` | No | STDIO server command |\n| `args` | No | Command arguments for STDIO servers |\n| `env` | No | Environment variables for STDIO servers |\n| `setupNote` | No | Shown to the user after install (e.g. \"restart your agent\") |\n\n**What happens on install:** The toolkit writes MCP settings into each tool's native config format:\n\n```\n~/.claude/settings.json    → mcpServers.<name>\n~/.cursor/mcp.json         → mcpServers.<name>\n~/.vscode/mcp.json         → servers.<name>\n~/.vscode-server/data/User/mcp.json → servers.<name> (stable Remote-SSH)\n~/.copilot/mcp-config.json → mcpServers.<name>\n~/.claude.json             → mcpServers.<name>\n~/.codex/config.toml       → [mcp_servers.<name>]\n```\n\nOnly config files that already exist locally are updated for editor-specific integrations.\nThe VS Code Remote-SSH config is created only when `~/.vscode-server` already exists. Global configs such as `~/.claude.json` and `~/.codex/config.toml` are created only when that target app is detected. Run `toolkit targets` to see what the toolkit will write to.\n\n### Bundles\n\nCurated collections that reference skills, agents, and MCPs by name. Installing a bundle installs all referenced items together — think of it as a preset or starter pack.\n\n**Example `fullstack-starter.bundle.json`:**\n\n```json\n{\n  \"name\": \"fullstack-starter\",\n  \"description\": \"Essential skills and MCPs for full-stack development\",\n  \"skills\": [\"api-design\", \"test-driven-development\", \"code-review\"],\n  \"agents\": [\"code-reviewer\"],\n  \"mcps\": [\"supabase-mcp\", \"playwright-mcp\"]\n}\n```\n\n**Behavior:**\n- `toolkit bundle fullstack-starter` installs all 5 items\n- `toolkit remove bundle fullstack-starter` removes all items from the bundle\n- Items can still be installed/removed individually\n\n### Plugins\n\nPlugins are bundled packages of skills, agents, commands, and MCP servers,\ndiscovered as a first-class resource type and installed across **every detected\nprovider** — Claude Code, Codex, GitHub Copilot, Cursor, VS Code, and Amp.\n\n**Discovery — manifest formats accepted:**\n\n- `.claude-plugin/plugin.json` — Claude Code's official plugin layout\n- `.codex-plugin/plugin.json` — Codex's native plugin layout\n- `plugin.json` at the plugin root — generic / cross-tool plugin packages\n- **Plugins already installed by Claude Code's `/plugin install`** — read from\n  `~/.claude/plugins/installed_plugins.json` and surfaced under the synthetic\n  `claude` source. No source configuration needed; they appear automatically\n  in `toolkit list` and the TUI catalog. Run `toolkit plugin <name>` on one to\n  mirror it across every other detected provider, using native plugin installs\n  where available and decomposed copies only for fallback providers. Toolkit\n  never writes to Claude's plugin state — `remove plugin` only removes the\n  toolkit-managed copies.\n- **Plugins already installed by Codex** — read from `~/.codex/config.toml`\n  `[plugins.\"<name>@<marketplace>\"]` entries plus\n  `~/.codex/plugins/cache/<marketplace>/<name>/<version>/`, then surfaced\n  under the synthetic `codex` source. Run `toolkit plugin <name>` to mirror\n  it across the other detected providers.\n- **Plugins already installed by GitHub Copilot CLI's `copilot plugin install`** —\n  discovered by walking `~/.copilot/installed-plugins/_direct/` (the per-plugin\n  install root the Copilot CLI populates) and surfaced under the synthetic\n  `copilot` source. Same flow as the Claude case: appear automatically in\n  `toolkit list`, run `toolkit plugin <name>` to mirror it across every\n  other detected provider. Toolkit never writes back to Copilot's installed-\n  plugins tree — `remove plugin` only removes the toolkit-managed copies.\n\n**Manifest path overrides — for plugins that don't fit Claude's layout:**\n\nMost Claude plugins put skills directly under `skills/<name>/SKILL.md` and\nagents directly under `agents/<name>.md`. Cross-tool plugin packages (AMS,\nRadware bundles, anything with per-tool adapters) often nest these — e.g.\n`skills/universal/foo/SKILL.md`, `skills/stack-specific/backend-java/foo/SKILL.md`,\n`agents/adapters/copilot/reviewer.agent.md`.\n\nThe `plugin.json` manifest may declare explicit content roots so the toolkit\nwalks the right places:\n\n```json\n{\n  \"name\": \"radware-ams\",\n  \"skills\": [\n    \"skills/universal/\",\n    \"skills/stack-specific/backend-java/\",\n    \"skills/stack-specific/frontend-react/\"\n  ],\n  \"agents\": \"agents/adapters/copilot/\",\n  \"commands\": \"commands/\",\n  \"mcps\": \"mcps/\"\n}\n```\n\nEach field accepts a string or an array of strings, all relative to the\nplugin root. The toolkit walks each declared root recursively for\n`SKILL.md` / `*.agent.md` / `*.md` / `*.prompt.md` / `*.mcp.json`, then\ninstalls or mirrors across every detected provider exactly as it does for\nClaude-shaped plugins. When fields are absent, the conventional dirs\n(`skills/`, `agents/`, `commands/`, root `.mcp.json`) are scanned instead.\n\n**Install — what happens to each component:**\n\nInstalling a plugin uses each provider's native plugin system when one is\navailable, and decomposes only for providers that do not have a plugin registry:\n\n- Claude Code → `~/.claude/plugins/cache/toolkit-ai/<name>/<version>/`\n- Codex → `~/.codex/plugins/cache/toolkit-ai/<name>/<version>/`\n- GitHub Copilot CLI → `~/.copilot/installed-plugins/toolkit-ai/<name>/`\n- Cursor / VS Code / Amp → decomposed skills, agents, commands, and MCP config in the native per-user locations those tools already read\n- `commands/<name>.md` → transformed `*.prompt.md` for VS Code / Insiders\n- `.mcp.json` → embedded in native plugin manifests for Claude Code, Codex, and GitHub Copilot so MCPs appear under the plugin; decomposed into user MCP configs only for tools without a native plugin registry (`.cursor/mcp.json`, `.vscode/mcp.json`, `.config/amp/settings.json`, etc.)\n\nThe result is that the same plugin works in every assistant the user has\ninstalled, in each one's own native shape — no provider-specific plugin\nmachinery required on the consumer side. Native plugin installs deliberately\ndo not also copy the same skills/agents/MCPs into Claude/Copilot/Codex user\ndirs, because that duplicates entries in provider UIs.\n\nFor Codex native plugin installs, command files are copied into the plugin's\n`commands/` directory with only Codex-safe frontmatter (`description` and\n`argument-hint`). Claude-only metadata such as `name`, `phase`, `persona`, or\n`model` is stripped from the Codex copy so slash commands can be discovered.\n\n**Native Copilot plugin registration**: when GitHub Copilot CLI is detected,\nplugin install also writes a real entry to Copilot's plugin manager — copies\nthe plugin tree to `~/.copilot/installed-plugins/toolkit-ai/<name>/`, adds\nto `~/.copilot/config.json` `installedPlugins[]`, enables it in\n`~/.copilot/settings.json`. This makes the plugin show up in Copilot's\n\"Plugins\" UI panel, not just as decomposed skills/agents on disk.\n`toolkit remove plugin` mirrors this — drops the registry entry, disables\nin settings, removes the cache dir.\n\n**Native Codex plugin registration**: when Codex is detected, plugin install\nalso writes a real Codex plugin install — copies the scoped plugin tree to\n`~/.codex/plugins/cache/toolkit-ai/<name>/<version>/`, registers a local\n`toolkit-ai` marketplace in `~/.codex/config.toml`, and enables\n`[plugins.\"<name>@toolkit-ai\"]`. Codex then loads the plugin from its own\nplugin system instead of only seeing decomposed standalone skills/agents.\n`toolkit remove plugin` removes the config entry and cache tree.\n\n**Hooks (`hooks/hooks.json`).** Toolkit refuses to merge a plugin's hooks\ninto the user's `~/.claude/settings.json` (those commands run on every tool\ncall across every repo and the security scanner doesn't cover them yet),\nbut a plugin-tree hooks file is a different story: each tool's plugin\nmanager loads `hooks/hooks.json` from inside the plugin's own install dir\nand scopes the hooks to that plugin's lifecycle. The toolkit copies the\n`hooks/` directory verbatim along with the rest of the plugin tree, so any\n`hooks/hooks.json` the plugin ships rides along to Claude / Copilot / Codex\nplugin installs.\n\n**Per-tool hooks.json swap.** Claude, Copilot, and Codex disagree on hook\nschema — Claude uses PascalCase events and `${CLAUDE_PLUGIN_ROOT}`, Copilot\nuses camelCase events with no documented plugin-root env var, Codex's hook\nspec is not public. A plugin can ship multiple hook configs and let the\ninstaller pick the right one per tool. The canonical\n`hooks/hooks.json` is treated as the Claude flavor; if the plugin also\nships `hooks/configs/copilot.hooks.json` or `hooks/configs/codex.hooks.json`,\nthe installer for that tool reads the matching template, substitutes the\nliteral string `__AMS_PLUGIN_ROOT__` with the install destination directory,\nand writes the result over `hooks/hooks.json` inside that tool's install.\nClaude's install is never swapped — it keeps the canonical file. During the\nsubstitution, toolkit normalizes backslashes to forward slashes so Git Bash\non Windows receives paths it can execute safely.\n\n```\nplugin/\n├─ hooks/\n│  ├─ hooks.json                    ← canonical (Claude flavor)\n│  └─ configs/\n│     ├─ copilot.hooks.json         ← swapped in for Copilot install\n│     └─ codex.hooks.json           ← swapped in for Codex install\n```\n\nThis sidesteps the missing plugin-root env var problem on Copilot and Codex:\nsince the templates carry absolute paths after substitution, the hook\ncommands resolve correctly without any runtime variable expansion.\n\n### Operation log\n\nEvery install / remove / update is appended to `~/.toolkit/log.jsonl` as one\nJSON record per line — captures the action, item, source, result, and the\nfull log lines the operation emitted. Tail the last N entries with:\n\n```bash\ntoolkit logs            # last 20\ntoolkit logs 50         # last 50\n```\n\nEach entry survives across sessions, so you can answer \"what did the toolkit\nactually do last week\" without keeping the TUI summary toast on screen.\n\n> **Coexistence with Claude Code's `/plugin install`:** the toolkit installs\n> components into each provider's standalone directories (`~/.claude/skills/`,\n> `~/.claude/agents/`, etc.). Claude Code's own `/plugin install` writes to\n> `~/.claude/plugins/cache/<marketplace>/<name>/<version>/` and tracks state\n> in `~/.claude/plugins/installed_plugins.json`. The two paths don't conflict\n> — but if you install the same plugin via both, Claude will see two copies of\n> each skill (the namespaced plugin form and the bare standalone form).\n\n```bash\ntoolkit plugin feature-dev          # install or mirror a plugin across detected providers\ntoolkit remove plugin feature-dev   # remove the plugin and every component\n```\n\n---\n\n## Interactive TUI\n\nRun `toolkit` with no arguments to launch the interactive interface:\n\n```\ntoolkit\n```\n\nAfter the first catalog load, Toolkit opens immediately with the last saved\ncatalog, including installed status and HerdR entries. Source discovery, provider\nchecks, and security scans run in a background worker; network fetches follow\nyour source cache TTL. Press `f` in Catalog to force a refresh. Cached items stay\nvisible while refreshing or offline. The loading screen is only needed when no\nusable catalog snapshot exists (first run, cleared cache, or incompatible data).\n\nDisplay snapshots are stored in `~/.toolkit/catalog-cache.json`. They are for\nbrowsing; installation still runs the normal security checks.\n\n| Tab | What you do |\n|-----|-------------|\n| **Catalog** | Browse, search, filter, install, update all resources from all sources |\n| **Installed** | View, inspect, and remove installed items |\n| **Sources** | Add/remove repos, browse items per source, refresh caches |\n\n### Keyboard shortcuts\n\n**Global:** `Tab` switch tabs · `q` quit\n\n**Catalog & Installed:**\n\n| Key | Action |\n|-----|--------|\n| `↑` `↓` | Navigate |\n| `/` | Search |\n| `1`-`6` | Filter by type (Skills / Agents / MCPs / Bundles / Commands / Plugins) |\n| `0` | Reset filter to All |\n| `Space` | Toggle selection |\n| `Enter` | Detail view (or submit if items selected) |\n| `a` | Select / deselect all |\n| `i` | Install current item |\n| `r` | Remove current item (with confirmation) |\n| `u` | Update current item |\n| `U` | Update all |\n\n**Sources:**\n\n| Key | Action |\n|-----|--------|\n| `Enter` | Browse items from selected source |\n| `a` | Add a new source |\n| `d` | Disable / re-enable source (keeps config, skips fetch) |\n| `r` | Remove source entirely (with confirmation) |\n| `f` | Refresh all sources (re-fetch repos) |\n\n---\n\n## CLI Commands\n\n```bash\n# Install\ntoolkit skill <name>               # Install a skill\ntoolkit agent <name>               # Install an agent\ntoolkit mcp <name>                 # Register an MCP server\ntoolkit bundle <name>              # Install a bundle (all items at once)\ntoolkit plugin <name>              # Install a plugin (decomposed across every detected provider)\ntoolkit herdr <name>               # Build and install one HerdR resource\n\n# Remove\ntoolkit remove skill <name>        # Remove a skill\ntoolkit remove agent <name>        # Remove an agent\ntoolkit remove mcp <name>          # Deregister an MCP server\ntoolkit remove bundle <name>       # Remove a bundle\n\n# Browse & update\ntoolkit list                       # List all available items\ntoolkit targets                    # Show detected install targets\ntoolkit settings                   # Show install/cache settings\ntoolkit check                      # Check for available updates\ntoolkit update                     # Refresh sources, then update all installed items (plugins and HerdR included)\n\n# Sources\ntoolkit source add <repo>          # Add an external source\ntoolkit source list                # List configured sources\ntoolkit source disable <name>      # Temporarily skip a source (stays in config)\ntoolkit source enable <name>       # Re-enable a disabled source\ntoolkit source remove <name>       # Remove a source entirely\ntoolkit refresh                    # Re-fetch all external sources\n\n# Settings\ntoolkit settings install-mode copy # Install skills/agents as file copies\ntoolkit settings install-mode link # Install skills/agents as symlinks\ntoolkit settings cache 24h         # Refresh stale source cache after 24h\ntoolkit settings cache 0           # Always check sources on launch/refresh\ntoolkit settings concurrency 4     # Fetch up to 4 sources in parallel\n\n# Security\ntoolkit scan                       # Scan all available items\ntoolkit scan skill <name>          # Scan a specific skill\n\n# Scaffold\ntoolkit init [dir]                 # Create a boilerplate skill repo\n\n# Meta\ntoolkit --version                  # Show version\ntoolkit --help                     # Full usage info\n```\n\n**Examples:**\n\n```bash\n# Add a source and install a skill from it\ntoolkit source add vercel-labs/agent-skills\ntoolkit skill brainstorming\n\n# Install an entire bundle\ntoolkit bundle fullstack-starter\n\n# Check what's outdated and update everything\ntoolkit check\ntoolkit update\n\n# Scan before installing something you don't trust\ntoolkit scan skill suspicious-skill\n\n# Install in CI — fail the pipeline if the scanner finds anything risky\ntoolkit skill suspicious-skill --strict\n\n# Symlink a skill/agent to the source cache instead of copying it\ntoolkit skill brainstorming --link\n\n# Make symlink installs the default for future TUI and CLI installs\ntoolkit settings install-mode link\n```\n\n---\n\n## External Sources\n\nAll content comes from external repos. The toolkit ships with no bundled resources — you add GitHub or Bitbucket repos as sources, and the toolkit discovers resources inside them.\n\n```bash\n# Add sources\ntoolkit source add owner/repo\ntoolkit source add owner/repo#feature/my-branch\ntoolkit source add owner/repo --branch feature/my-branch\ntoolkit source add owner/repo#feature/my-branch --name repo-feature\ntoolkit source add https://github.com/owner/repo\ntoolkit source add https://bitbucket.org/owner/repo\ntoolkit source add git@github.com:owner/repo.git\n```\n\n### Discovery conventions\n\nThe toolkit scans source repos recursively and discovers resources by file naming conventions:\n\n| Resource | Discovered by |\n|----------|--------------|\n| **Skills** | Any directory containing a `SKILL.md` file |\n| **Agents** | Any `*.agent.md` file |\n| **MCPs** | Any `*.json` in a `mcps/` directory, or `*.mcp.json` anywhere |\n| **Bundles** | Any `*.json` in a `bundles/` directory, or `*.bundle.json` anywhere |\n\n### Settings\n\nThe TUI includes a **Settings** tab for install mode, source cache duration, parallel source refreshes, detected providers, and the config/cache paths. The same values are stored in `~/.toolkit/config.json` and used by headless CLI commands.\n\n- `installMode: \"link\"` (default) symlinks skills/agents to the source cache, so refreshes and local source edits propagate without reinstalling.\n- `installMode: \"copy\"` installs stable snapshots of skills/agents instead — useful when you want installed content frozen at install time, independent of source-cache refreshes.\n- `cacheTTL` controls how long source clones are considered fresh before the next launch or refresh fetches updates.\n- `cacheTTL: 0` always checks remote sources.\n- `sourceConcurrency` controls how many source repos fetch in parallel.\n\nDirectories named `node_modules`, `.git`, `dist`, `build`, `.next`, and `coverage` are automatically skipped.\n\n### Caching\n\nSources are shallow-cloned (`--depth 1 --single-branch`) and cached at `~/.toolkit/cache/`. Add `#branch` or `--branch <branch>` to track a feature branch before it is merged. Use `--name <alias>` when you want two sources from the same repo on different branches. Force a refresh with:\n\n```bash\ntoolkit refresh                    # re-fetch all sources\ntoolkit source refresh my-source   # re-fetch a specific source\n```\n\n### Default sources\n\nThe toolkit ships with two default sources:\n\n```json\n{\n  \"sources\": [\n    { \"name\": \"vercel-labs\", \"type\": \"github\", \"repo\": \"vercel-labs/agent-skills\" },\n    { \"name\": \"anthropics\", \"type\": \"github\", \"repo\": \"anthropics/skills\" }\n  ]\n}\n```\n\nOverride defaults by creating `~/.toolkit/sources.json`.\n\n---\n\n## Security\n\nThis tool is built for dev teams — the goal is **informed consent, not enforcement**. The scanner surfaces risky patterns so you can decide; it does not refuse to install on your behalf.\n\n### The model: alert, never block\n\n| Context | What happens when the scanner finds something |\n|---------|-----------------------------------------------|\n| **TUI install** | A confirmation dialog shows the findings + (for stdio MCPs) the full command that will run at every agent session. `y` to proceed, `n` to cancel. |\n| **CLI install** | Findings are printed loudly in the output. The install proceeds — running the command is treated as consent. |\n| **CLI with `--strict`** | Block-severity findings cause the install to exit with `blocked`. Use this in CI when you want a hard fail. |\n\nRunning `toolkit mcp foo` in a terminal means you typed the name and pressed Enter. We don't second-guess that. The TUI is where consent prompts live because the user is browsing and may not know what they clicked on.\n\n### What we scan\n\n**Skills & Agents** (text content analysis across `.md`/`.txt`/`.json`/`.yaml`/`.js`/`.ts`/`.html` plus executable scripts `.sh`/`.bash`/`.zsh`/`.fish`/`.py`/`.rb`/`.pl`/`.php`/`.ps1`/`.bat`/`.cmd`):\n\n| Threat | Detection | Severity |\n|--------|-----------|----------|\n| Remote code execution | `curl \\| bash/sh/python/ruby/node/perl/php/fish/ksh`, `wget \\| …`, `fetch \\| …` | Block |\n| Inline interpreter exec | `python -c`, `perl -e`, `ruby -e`, `node -e`, `node -p`, `php -r`, `bash -c` | Block/Warn |\n| Reverse shells | `nc -e`, `ncat --exec`, `socat … EXEC:`/`SYSTEM:`, `/dev/tcp/`, `/dev/udp/`, PowerShell `-enc`/`-e`/`-ec`, `IEX(New-Object Net.WebClient …)` | Block |\n| Base64-decoded execution | `base64 -d \\| bash/sh/python/…`, `$(echo … \\| base64 -d)` | Block |\n| Invisible prompt injection | Zero-width Unicode (U+200B, U+FEFF, etc.) and bidirectional override characters (U+202A–U+2069) | Block |\n| Path traversal | Files that escape the skill directory via `../` | Block |\n| Symlink escape | Symlinks pointing outside the skill directory | Block |\n| Oversized files | Single file > 500KB | Warn |\n| Oversized skill | Total directory > 10MB | Warn |\n| Excessive file count | More than 200 files in a skill | Warn |\n| Broken symlinks | Symlinks that point to non-existent targets | Warn |\n\n**MCPs** (URL and config analysis):\n\n| Threat | Detection | Severity |\n|--------|-----------|----------|\n| Dangerous protocols | `file://`, `data://` URLs | Block |\n| Internal network access (SSRF) | URLs pointing to private IPs (10.x, 172.16-31.x, 192.168.x, 127.x, localhost) | Block |\n| Command injection | Shell metacharacters in URL (`;`, `&`, `\\|`, `` ` ``, `$`, `(`, `)`) | Block |\n| Stdio MCP will execute a local command | Any MCP with a `command` field — surfaces the command + first args in the UI before install | Warn |\n| Insecure protocol | HTTP instead of HTTPS | Warn |\n\nThe MCP scanner also runs every header value, env value, and arg through the same text-pattern rules — an `Authorization` header that smuggles a `curl \\| bash` payload will surface.\n\n### Running the scanner directly\n\n```bash\ntoolkit scan                    # scan everything\ntoolkit scan skill <name>       # scan a specific skill\n```\n\n### Strict mode (CI)\n\n```bash\ntoolkit skill <name> --strict   # exits non-zero if the scan finds a block-severity issue\ntoolkit update --strict         # same, for bulk updates\n```\n\nUse `--strict` in pipelines where you'd rather fail a build than install something flagged. Leave it off in day-to-day dev work.\n\n### Trust model\n\n- **Internal resources** (bundled with the toolkit): Scanned, but findings are downgraded from `block` to `warn`.\n- **External resources** (from configured sources): Fully scanned. Warnings surface in both the TUI badge and the install log, but the install proceeds unless you pass `--strict`.\n- The scanner runs automatically on every install and on every catalog render — results are cached by content hash so repeats are free.\n\n### TUI indicators\n\n- Items with blocking findings show a red **✕ blocked** badge (install will trigger a confirmation dialog, not a refusal)\n- Items with warnings show a yellow **⚠** badge\n- Stdio MCPs always show their command preview in the detail view before install\n- Clean items show no badge\n\n### Limitations\n\nThe scanner is a static analysis tool. It catches common attack patterns but is **not** a substitute for reviewing code from untrusted sources. It does not:\n\n- Execute code in a sandbox\n- Verify cryptographic signatures\n- Check for supply chain attacks in dependencies\n- Detect obfuscated or novel attack patterns\n\n**Always review resources from unknown sources before installing.**\n\n### Security Disclosure\n\nIf you discover a vulnerability in the toolkit or its scanner, please report it responsibly:\n\n1. **Do not** open a public GitHub issue for security vulnerabilities\n2. Email the maintainer or open a private security advisory at [github.com/barleviatias/toolkit-ai/security](https://github.com/barleviatias/toolkit-ai/security)\n3. Include steps to reproduce and any relevant details\n4. We aim to acknowledge reports within 48 hours\n\n---\n\n## Create Your Own Resources\n\nScaffold a boilerplate repo to publish your own skills, agents, MCPs, and bundles:\n\n```bash\ntoolkit init my-skills\n```\n\nThis creates:\n\n```\nmy-skills/\n  resources/\n    skills/\n      example-skill/SKILL.md\n    agents/\n      example-agent.agent.md\n    mcps/\n      example-mcp.json\n    bundles/\n      fullstack-starter.bundle.json\n  README.md\n  .gitignore\n```\n\nPush to GitHub, then anyone can add it as a source:\n\n```bash\ntoolkit source add your-org/my-skills\n```\n\n---\n\n## How Storage Works\n\n```\n~/.toolkit/\n  lock.json              # Tracks installed items, content hashes, timestamps\n  sources.json           # Your configured external sources\n  cache/                 # Shallow-cloned repos from external sources\n    vercel-labs/         #   cached clone of vercel-labs/agent-skills\n    anthropics/          #   cached clone of anthropics/skills\n```\n\nInstalled items are **copied or generated** into each tool's config directory:\n\n```\n~/.claude/\n  skills/api-design/SKILL.md          # Installed skill\n  agents/code-reviewer.agent.md       # Installed agent\n  settings.json                       # MCP servers registered here\n\n~/.copilot/\n  skills/api-design/SKILL.md          # Same skill, mirrored\n  agents/code-reviewer.agent.md\n\n~/.agents/\n  skills/api-design/SKILL.md          # Codex-discoverable shared skill\n\n~/.config/amp/\n  skills/api-design/SKILL.md          # Amp-discoverable skill\n  settings.json                       # MCP servers registered here (amp.mcpServers)\n\n~/.codex/\n  agents/code-reviewer.toml           # Generated Codex custom agent\n  config.toml                         # MCP servers registered here\n\n~/.cursor/mcp.json                    # MCP servers registered here\n~/.vscode/mcp.json                    # MCP servers registered here\n~/.vscode-server/data/User/mcp.json   # Remote-SSH MCP servers\n```\n\nThe **lock file** tracks every installed item with a content hash. When a resource changes upstream, `toolkit check` flags it as outdated and `toolkit update` applies the new version.\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/barleviatias/toolkit-ai.git\ncd toolkit-ai\nnpm install\nnpm run build    # Build → bin/ai-toolkit.mjs\nnpm run build:dev # Local build with a visible \"dev build\" tag\nnpm run dev      # Build with watch\nnpm test         # Typecheck + 31 unit/integration tests\nnpm link         # Link globally for testing\n```\n\n### Tech stack\n\n- [**React Ink**](https://github.com/vadimdemedes/ink) — terminal UI framework\n- [**tsup**](https://tsup.egoist.dev/) — bundles into a single zero-dependency executable\n- [**TypeScript**](https://www.typescriptlang.org/) strict mode — full type safety\n- [**node:test**](https://nodejs.org/api/test.html) — built-in test runner, no framework dependency\n\nSee [`CLAUDE.md`](CLAUDE.md) for architecture notes and [`AGENTS.md`](AGENTS.md) for contributor guidelines.\n\n---\n\n## Keywords\n\nai · ai-toolkit · ai-agents · skills · agents · mcp · mcp-server · model-context-protocol · claude · claude-code · codex · copilot · cursor · cursor-ai · cli · tui · ink · developer-tools · plugin-manager · agent-framework · prompt-engineering · skill-management · typescript · package-manager · dotfiles\n\n---\n\n## Roadmap\n\nPost-launch plans live in [ROADMAP.md](ROADMAP.md) — UX polish (cold-start spinner, `?` help overlay), perf work (parallel git clones, atomic fetch), and test-coverage gaps.\n\n## License\n\n[MIT](LICENSE) © Bar Levi Atias\n\n### HerdR resources\n\nToolkit discovers `herdr-plugin.toml` as its own resource category. HerdR\nresources are not plugins distributed across AI providers. Use the resource\ndirectory name (for example, `herdr-ams`), not the manifest display name:\n\n```sh\ntoolkit herdr herdr-ams\ntoolkit check\ntoolkit update\ntoolkit remove herdr herdr-ams\n```\n\nHerdR must be on PATH, along with the resource's build tools (AMS Buddy needs\nCargo/Rust, Bash and Python). Toolkit copies the resource into\n`~/.toolkit/herdr/<name>/install-*/`, scans it, runs supported manifest\n`[[build]]` commands as argv arrays, and calls `herdr plugin link`. It never\nedits HerdR's registry directly or distributes the resource to AI provider caches.\n\nUpdates build a new copy before linking it. Failed builds leave the previous\ninstallation intact, and disabled resources stay disabled. Older copies remain\navailable for running panes until removal; restart HerdR panes to load an update.\nRemoval calls `herdr plugin unlink` and deletes only toolkit-managed copies.\nHerdR 0.8.2 requires a running server for unlink; start HerdR before removal.\nAn unlink failure retains the files and toolkit lock record for retry.\nA resource already linked from another location must be explicitly unlinked before\ntoolkit can take over. `--force` rebuilds an owned install; it does not override\nownership checks. `--link` does not change this copy-based HerdR installation.\n\nToolkit packages runtime dependencies it owns. For AMS Buddy (`radware.ams`),\nthe adjacent `radware-ams` directory is copied beside the HerdR resource, scanned,\nand included in its update hash; it is not installed separately into agent\nclients. Runtime directories must live inside the same configured source, and\ninternal runtime symlinks are copied as regular files/directories; links escaping the package or forming cycles are rejected. Source repositories do not need\nToolkit-specific metadata.\nThe normal scanner policy applies: findings are reported; `--strict` blocks\nblock-severity findings before any build or registration.\n","readmeFilename":"README.md"}