{"_id":"extract-design-system","_rev":"10-f92a9dd5ad4da9b89ac92c2bbf892d76","name":"extract-design-system","dist-tags":{"latest":"0.1.11"},"versions":{"0.1.0":{"name":"extract-design-system","version":"0.1.0","keywords":["design-system","design-tokens","skills","cli","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.0","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"28087860fa575df5b0d8b5cf8d46da453aa611d5","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.0.tgz","fileCount":16,"integrity":"sha512-9Fvn4t/W4Pp0kjRlGV6vFeGEw/eBzR1WhBd0k9wIOy3QL5gNFCQZZdKbOUuoFmGCA0K7Lll0GwNk3T7pw/0UHQ==","signatures":[{"sig":"MEUCIQC0qvOYdQP8SiDb0H5bJRjyNn4es5AECScGBGyFjuZj6QIgd11WoLCvC2gOCyt3CLKnp6W+fxgi9QynWvKUfxsrKgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18909},"type":"module","engines":{"node":">=20"},"gitHead":"becb781dc8bcf96689f17711a30ba1ff31e1b5e8","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"node -e \"import('node:fs').then(fs => fs.rmSync('dist', { recursive: true, force: true }))\" && tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"_npmVersion":"11.6.2","description":"Extract design primitives from public websites and generate starter token files.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.0_1774208896160_0.2189262831967671","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"extract-design-system","version":"0.1.1","keywords":["design-system","design-tokens","skills","cli","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.1","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"845fba3edcf26dd05eb82f3c79f6de47c2775c59","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.1.tgz","fileCount":16,"integrity":"sha512-Cgy11zF2Gjv0NqPiBIeaEAQ0moKgC3j8L6aVsLLBqSZx9t5o0I/QWuYjUhReXHLdKpQP+W7BNCV5yvRNUK1I5g==","signatures":[{"sig":"MEUCIQC3qUhLrly8yNlFgWwEFSlDgfJWWM2I8JFRpz9PwrmgDAIgLc5VfZTniecmS9xZrrRuYd1TG+XwTelNP9IOLb/Ivnc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18909},"type":"module","engines":{"node":">=20"},"gitHead":"3b9e13b8ce025cc5679cb3790f7af2e7e051da6c","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"node -e \"import('node:fs').then(fs => fs.rmSync('dist', { recursive: true, force: true }))\" && tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"_npmVersion":"11.6.2","description":"Extract design primitives from public websites and generate starter token files.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.1_1774209322642_0.3629813245099802","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"extract-design-system","version":"0.1.2","keywords":["design-system","design-system-extraction","design-tokens","agent-skill","skills.sh","skills","cli","cursor","codex","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.2","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"d8b67bc92e41dc234e0fc89f90759a08fb76d717","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.2.tgz","fileCount":16,"integrity":"sha512-dXL54X6l2hFqFjnRhh/TrIinlkamhHegHqqm2bCOOca/HW3h6X07FthG+LC3C25Lyn7KhPj77XBDTeWNRMu/mQ==","signatures":[{"sig":"MEQCIGy8D+FVfUGSOotf8EC9YZT1WDhkT//uif83uHMu6H5kAiAEl3WOzMx8a9l+pbLQStrrMwmBG9spFAlcpnaEk5y9Lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21195},"type":"module","engines":{"node":">=20"},"gitHead":"7db41a6db3c57b5f220e9296a33cb197fa8f3f30","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"node -e \"import('node:fs').then(fs => fs.rmSync('dist', { recursive: true, force: true }))\" && tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"repository":{"url":"git+https://github.com/arvindrk/extract-design-system.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI for extracting design primitives from public websites and generating starter token files for the extract-design-system agent skill workflow.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.2_1774210393272_0.24666131221119758","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"extract-design-system","version":"0.1.3","keywords":["design-system","design-system-extraction","design-tokens","agent-skill","skills.sh","skills","cli","cursor","codex","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.3","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"5a5c37e23c070d79861f74fec5e2ee45f6888dd1","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.3.tgz","fileCount":16,"integrity":"sha512-XKA4z7QeoqWQQlzTqYSx6DNwlHcTVu0cRwEMUwsrLCcvYn4ZQ4opV9yJdrjiWw3o+PFR6WIkzaufO15dbvwdPw==","signatures":[{"sig":"MEUCIHADGhyhorAjSYlidHdJc9Hi0mKbxolV6r+bohDtdT34AiEAgWF2+wlkuKyFfDDFCXL6Zz9GU1rSrWTIYuH+giJfYL8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21397},"type":"module","engines":{"node":">=20"},"gitHead":"20bb8af47faba8fd5765bf123bd2a767d1c09eef","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"repository":{"url":"git+https://github.com/arvindrk/extract-design-system.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI for extracting design primitives from public websites and generating starter token files for the extract-design-system agent skill workflow.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.3_1774211186014_0.6557098608635321","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"extract-design-system","version":"0.1.5","keywords":["design-system","design-system-extraction","design-tokens","agent-skill","skills.sh","skills","cli","cursor","codex","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.5","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"bf4f0ef100da3cc4de61327b4230cd1c2dbd33d4","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.5.tgz","fileCount":16,"integrity":"sha512-LEFL89XEpzPuEqc8xblMUau+hZZX8X6xxhfqvXF8ASqwuutUAQTC8T/vms5U9mllXCFqaN7qKPvPjWn16Spdwg==","signatures":[{"sig":"MEUCICPhkBUYSpIvGaejsseQHx3xOun03Y4knOfve/C+yz4vAiEAoukFY8Vk0hOtPFOELhruRMoMOotOusCy2oMaTN+88Ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22119},"type":"module","engines":{"node":">=20"},"gitHead":"5b64a20d8815df80cbe0a3c9adc174d3f4048444","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"repository":{"url":"git+https://github.com/arvindrk/extract-design-system.git","type":"git"},"_npmVersion":"11.6.2","description":"CLI for extracting design primitives from public websites and generating starter token files for the extract-design-system agent skill workflow.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.5_1774280249445_0.6420803397973187","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"extract-design-system","version":"0.1.6","keywords":["design-system","design-system-extraction","design-tokens","agent-skill","skills.sh","skills","cli","cursor","codex","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.6","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"ff161d29a8f605341251af719808bd0b5cb629d8","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.6.tgz","fileCount":17,"integrity":"sha512-Fg6odgj7MVqbIn66KvQH7073PxK7h1lFH/UAccNeGa4F+krcHQB7pJVcoSKkgwvtAqEAyONcj0RL1NeF92vjtw==","signatures":[{"sig":"MEYCIQCZVaXx22fPMP9TZw3It+egZgOdPcjQvIpLD/vOgcScbwIhAMwo7UCXkKqriCm6HRVH4qcN76hdIXq7RA//0ewfOSpk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24016},"type":"module","engines":{"node":">=20"},"gitHead":"62b9df338f65b2cabcd9211f40edcc2bd00c429a","scripts":{"cli":"node dist/cli.js","dev":"tsx src/cli.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"repository":{"url":"git+https://github.com/arvindrk/extract-design-system.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent skill and bundled CLI for extracting design primitives from public websites into starter token files.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.6_1774669900634_0.8828093464829834","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"extract-design-system","version":"0.1.8","keywords":["design-system","design-system-extraction","design-tokens","agent-skill","skills.sh","skills","cli","cursor","codex","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.8","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"19557e2fadd40cc946920e800412877aaf7caa2d","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.8.tgz","fileCount":17,"integrity":"sha512-MiHF2/lheleq954K7UZjROalx3udL++seWZCj/4PIj0OaCvDloPfEkhTMpSelagTvF85SNca3oVG4J8AHSnUXg==","signatures":[{"sig":"MEUCIQDkZkr4P4pg3qXzI8+tZyVFqJOEMkxHGp0+ECd63XHCHAIgHIKsG2K8Fzj3yh7sGjPEf3T1oWcH0ZkCsS0Sli5Rmho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26041},"type":"module","engines":{"node":">=20"},"gitHead":"bf5bae26d87374d950f1aa1b3375d60de2bd2828","scripts":{"cli":"node dist/cli.js","dev":"tsx src/cli.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"repository":{"url":"git+https://github.com/arvindrk/extract-design-system.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent skill and bundled CLI for extracting design primitives from public websites into starter token files.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.8_1775012150138_0.7183520938434294","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"extract-design-system","version":"0.1.9","keywords":["design-system","design-system-extraction","design-tokens","token-generator","css-custom-properties","website-analysis","agent-skill","skills.sh","skills","cli","cursor","codex","dembrandt"],"license":"MIT","_id":"extract-design-system@0.1.9","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"bin":{"extract-design-system":"dist/cli.js"},"dist":{"shasum":"efbdcb02c9c7e022e1b882f1fce52b28915f1fde","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.9.tgz","fileCount":17,"integrity":"sha512-XlHPN8wkgDplvPGYqCqGQlkrnth7hWHjVTIMcDd4sJCUaJPgQFfVhiA4Pu05flRaRUzwwERKH5QxgAaNjcvQRQ==","signatures":[{"sig":"MEUCIFo6tw51T2BUrmms1OtwjaPGDLiVj4fhNGBrR40rGMVHAiEAghboYLinx9l5G80G5oDEK0BC8VF4F5bBquh/ijzCyd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27021},"type":"module","engines":{"node":">=20"},"gitHead":"97e3d333d8d25c84cf08a09a5c9bf62fcfb09624","scripts":{"cli":"node dist/cli.js","dev":"tsx src/cli.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"repository":{"url":"git+https://github.com/arvindrk/extract-design-system.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent skill and bundled CLI for extracting design primitives from public websites into starter token files.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.9_1775235332065_0.738082016340901","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"extract-design-system","version":"0.1.10","keywords":["design-system","design-system-extraction","design-tokens","token-generator","css-custom-properties","website-analysis","color-palette","typography","style-dictionary","tailwindcss","figma","agent-skill","skills.sh","skills","ai","llm","mcp","claude","anthropic","cli","cursor","codex","dembrandt"],"author":{"name":"arvindrk"},"license":"MIT","_id":"extract-design-system@0.1.10","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"bin":{"extract-design-system":"dist/cli.js","extract-design-system-mcp":"dist/mcp.js"},"dist":{"shasum":"faf09997d725c13d910c9963318854306ee330f8","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.10.tgz","fileCount":19,"integrity":"sha512-LZwcD/zpHaU0SNnWECStwnXRcMWt/W5lk9zBk7ozcpRBZpi1/02Jn6tXN3bUEXPl7DH0myS2PofFoIkVX+BirQ==","signatures":[{"sig":"MEYCIQDD1uKQrKP2Ne/1fNoEiXy+SOmqJDrCefVcUtObgt23XwIhAPET8PC7KYnqXopoTFGqE/NPCJtGXqPXHp+LLW75ux9Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32753},"type":"module","engines":{"node":">=20"},"funding":{"url":"https://github.com/sponsors/arvindrk","type":"github"},"gitHead":"7c6477e33db2f1056ce096a1366c1aa5eeaadfd0","scripts":{"cli":"node dist/cli.js","dev":"tsx src/cli.ts","test":"vitest run","build":"rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js dist/mcp.js","typecheck":"tsc --noEmit","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"repository":{"url":"git+https://github.com/arvindrk/extract-design-system.git","type":"git"},"_npmVersion":"10.8.2","description":"Agent skill and bundled CLI for extracting design primitives from public websites into starter token files.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^4.1.11","execa":"^9.6.0","commander":"^14.0.1","dembrandt":"^0.7.0","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^3.2.4","typescript":"^5.9.2","@types/node":"^24.5.2","@vitest/coverage-v8":"^3.2.4"},"_npmOperationalInternal":{"tmp":"tmp/extract-design-system_0.1.10_1776789608459_0.4789783490920865","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"extract-design-system","version":"0.1.11","description":"Extract design tokens (colors, typography, spacing, border radius, shadows) from any public website. Generates JSON and CSS custom properties for local projects. Available as an AI agent skill (Claude, Cursor, Codex) and standalone CLI.","type":"module","bin":{"extract-design-system":"dist/cli.js","extract-design-system-mcp":"dist/mcp.js"},"engines":{"node":">=20"},"scripts":{"dev":"tsx src/cli.ts","cli":"node dist/cli.js","build":"rm -rf dist && tsc -p tsconfig.build.json && chmod +x dist/cli.js dist/mcp.js","typecheck":"tsc --noEmit","test":"vitest run","test:coverage":"vitest run --coverage"},"author":{"name":"arvindrk"},"keywords":["design-tokens","design-system","design-system-extraction","css-custom-properties","css-variables","color-palette","color-extraction","typography","token-generator","reverse-engineer","website-analysis","w3c-design-tokens","style-dictionary","tailwindcss","figma","agent-skill","skills.sh","skills","mcp","model-context-protocol","ai","llm","claude","anthropic","cursor","codex","cli"],"repository":{"type":"git","url":"git+https://github.com/arvindrk/extract-design-system.git"},"homepage":"https://github.com/arvindrk/extract-design-system#readme","bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"funding":{"type":"github","url":"https://github.com/sponsors/arvindrk"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","commander":"^14.0.1","dembrandt":"^0.7.0","execa":"^9.6.0","zod":"^4.1.11"},"devDependencies":{"@types/node":"^24.5.2","@vitest/coverage-v8":"^3.2.4","tsx":"^4.20.6","typescript":"^5.9.2","vitest":"^3.2.4"},"_id":"extract-design-system@0.1.11","gitHead":"129457f8a032a3e0d811f84ea518f8eb7f89d7d2","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-NQfSYujydevsbM/zAHXlxqHDIV0dTP2dMv/FOghyc60hxs7UpAT2MwM6DTItPH3ACIQygEJza6IbASCh7X+Sjg==","shasum":"68eb2c741fb340c20baf3c4282a05240dfc275de","tarball":"https://registry.npmjs.org/extract-design-system/-/extract-design-system-0.1.11.tgz","fileCount":26,"unpackedSize":49405,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD8Q+ia0Q59CMpdibAaDeMnD7xLH+GXbGAAD7631/CwBgIhAKc8ufymgBgmsVgRQQKbzTfmVaciQ9uuSClzJ1C25UWI"}]},"_npmUser":{"name":"arvind94","email":"arvindsuna10@gmail.com"},"directories":{},"maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/extract-design-system_0.1.11_1778016901650_0.9606047002748559"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-22T19:48:16.159Z","modified":"2026-05-05T21:35:01.908Z","0.1.0":"2026-03-22T19:48:16.287Z","0.1.1":"2026-03-22T19:55:22.799Z","0.1.2":"2026-03-22T20:13:13.402Z","0.1.3":"2026-03-22T20:26:26.154Z","0.1.5":"2026-03-23T15:37:29.585Z","0.1.6":"2026-03-28T03:51:40.776Z","0.1.8":"2026-04-01T02:55:50.295Z","0.1.9":"2026-04-03T16:55:32.211Z","0.1.10":"2026-04-21T16:40:08.740Z","0.1.11":"2026-05-05T21:35:01.804Z"},"bugs":{"url":"https://github.com/arvindrk/extract-design-system/issues"},"author":{"name":"arvindrk"},"license":"MIT","homepage":"https://github.com/arvindrk/extract-design-system#readme","keywords":["design-tokens","design-system","design-system-extraction","css-custom-properties","css-variables","color-palette","color-extraction","typography","token-generator","reverse-engineer","website-analysis","w3c-design-tokens","style-dictionary","tailwindcss","figma","agent-skill","skills.sh","skills","mcp","model-context-protocol","ai","llm","claude","anthropic","cursor","codex","cli"],"repository":{"type":"git","url":"git+https://github.com/arvindrk/extract-design-system.git"},"description":"Extract design tokens (colors, typography, spacing, border radius, shadows) from any public website. Generates JSON and CSS custom properties for local projects. Available as an AI agent skill (Claude, Cursor, Codex) and standalone CLI.","maintainers":[{"name":"arvind94","email":"arvindsuna10@gmail.com"}],"readme":"<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/extract-design-system\">\n    <img src=\"https://img.shields.io/npm/dw/extract-design-system?logo=npm&logoColor=white\" alt=\"npm downloads\" />\n  </a>\n  <a href=\"https://skills.sh/arvindrk/extract-design-system/extract-design-system\">\n    <img src=\"https://img.shields.io/badge/skills.sh-discovery-111111\" alt=\"skills.sh\" />\n  </a>\n  <a href=\"https://github.com/arvindrk/extract-design-system/actions/workflows/ci.yml\">\n    <img src=\"https://github.com/arvindrk/extract-design-system/actions/workflows/ci.yml/badge.svg\" alt=\"ci\" />\n  </a>\n</p>\n\n# extract-design-system — Extract Design Tokens from Any Website\n\nReverse-engineer design tokens (colors, typography, spacing, border radius, shadows) from any public website and generate starter JSON and CSS custom properties for your local project. Available as an AI agent skill (Claude, Cursor, Codex) and standalone CLI.\n\nSkills follow Anthropic's [Agent Skills overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview) and are installable through the [skills.sh](https://skills.sh/arvindrk/extract-design-system/extract-design-system) ecosystem.\n\nThis repository is skills-first. It publishes an installable `extract-design-system` skill, and the bundled CLI is the executable workflow the agent runs under the hood.\n\n## What It Extracts\n\n| Token category | Examples |\n|---|---|\n| **Colors** | brand palette, backgrounds, text, borders |\n| **Typography** | font families, sizes, weights, line heights |\n| **Spacing** | padding and margin scale |\n| **Border radius** | button, card, and pill radii |\n| **Shadows** | box-shadow values across elevation levels |\n\nOutputs a W3C-compatible `tokens.json` and a `tokens.css` file of CSS custom properties, ready to drop into any project.\n\n## Quick Start\n\nInstall the skill:\n\n```bash\nnpx skills add arvindrk/extract-design-system\n```\n\nRun it from a supported coding agent with a public website:\n\n```text\nExtract the design system from https://stripe.com and generate starter token files for this project.\n```\n\nExpected starter outputs:\n\n- `.extract-design-system/raw.json`\n- `.extract-design-system/normalized.json`\n- `design-system/tokens.json`\n- `design-system/tokens.css`\n\n## About This Repository\n\nThis repository contains a focused agent skill for reverse-engineering a starter design system from a public website.\n\nThe skill is designed to give coding agents a repeatable workflow for:\n\n- analyzing a public website's colors, typography, spacing, radius, and shadows\n- normalizing the extracted output into a stable structure\n- generating project-local starter token files\n- summarizing findings before broader styling or app changes\n\n## Available Skill\n\n### extract-design-system\n\nExtract a starter design system from a public website and turn it into local token files.\n\n**Use when:**\n\n- You want an agent to analyze a public website's visual primitives\n- You want starter design tokens for an existing project\n- You want a repeatable workflow instead of ad hoc prompting\n- You want the agent to summarize findings before applying broader changes\n\n**What it produces:**\n\n- `.extract-design-system/raw.json`\n- `.extract-design-system/normalized.json`\n- `design-system/tokens.json`\n- `design-system/tokens.css`\n\n## Installation\n\nInstall the skill from GitHub with the `skills` CLI:\n\n```bash\nnpx skills add arvindrk/extract-design-system\n```\n\nYou can also browse the skill on [skills.sh](https://skills.sh/arvindrk/extract-design-system/extract-design-system).\n\n## Usage\n\nOnce installed, the skill is available to supported coding agents. The agent should use it when a request matches the extraction workflow.\n\n**Example prompts:**\n\n```text\nExtract the design system from https://stripe.com and generate starter token files for this project.\n```\n\n```text\nAnalyze https://linear.app and summarize the design primitives before generating local tokens.\n```\n\n```text\nExtract colors, typography, spacing, and radius tokens from https://vercel.com and save them for this codebase.\n```\n\n```text\nReview https://tailwindcss.com, extract the most likely design primitives, and generate starter token files only if the results look usable.\n```\n\n## How The Skill Works\n\nThe skill is designed to:\n\n- confirm that the target site is public and reachable\n- set expectations about scope and limitations\n- run the extraction workflow through the bundled CLI\n- summarize what was found in the normalized output\n- generate starter token files for the current project\n- ask before modifying existing app code, styles, or configuration\n\n## Scope And Limitations\n\n- Public websites only\n- Single-page extraction workflow\n- Starter tokens, not a full component library\n- No framework config patching or automatic app rewrites\n- Dynamic, protected, or highly script-driven sites may yield incomplete output\n- Extraction is useful for initialization, not pixel-perfect reproduction\n\n## Security Considerations\n\n- Target websites are untrusted third-party input and may influence extracted output\n- Generated tokens should be reviewed before being treated as authoritative design decisions\n- The skill is intended for extraction and starter token generation, not automatic broad app rewrites\n- Use only with public websites that you are comfortable fetching and analyzing at runtime\n- Ask for confirmation before applying extracted output to existing app code, styles, or configuration\n\n## Repository Structure\n\nThis repository currently exposes:\n\n- `skills/extract-design-system/SKILL.md` - Main skill instructions\n- `skills/extract-design-system/references/` - Supporting workflow and output references\n- `src/` - Bundled CLI implementation used by the skill\n- `tests/` - CLI and normalization test coverage\n\n## MCP Server\n\nThe package also ships an MCP server (`extract-design-system-mcp`) that exposes the same workflow as structured tool calls for Cursor, Claude Desktop, and any MCP-compatible agent.\n\n### Tools\n\n| Tool | Description |\n|---|---|\n| `extract_design_system` | Run a full extraction from a URL and write `design-system/tokens.json` + `tokens.css` |\n| `init_design_system` | Re-emit token files from the cached `.extract-design-system/normalized.json` without re-fetching |\n| `get_tokens` | Read and return the current `design-system/tokens.json` without re-extracting |\n\n### Cursor (project-local)\n\nCreate `.cursor/mcp.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"extract-design-system\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"extract-design-system-mcp\"]\n    }\n  }\n}\n```\n\nRestart Cursor. The server appears under Settings → Features → MCP with all 3 tools listed.\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"extract-design-system\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"extract-design-system-mcp\"],\n      \"cwd\": \"/path/to/your/project\"\n    }\n  }\n}\n```\n\nClaude Desktop does not infer a working directory from context, so `cwd` is required. It controls where `design-system/tokens.json` and `.extract-design-system/` are written.\n\n---\n\n## Local Development\n\nThe skill's executable workflow is backed by the published npm CLI in this repository.\n\n```bash\nnpm install\nnpx playwright install chromium\nnpm run typecheck\nnpm test\nnpm run build\nnpm run dev -- --help\nnpm run cli -- --help\n```\n\nUseful local commands:\n\n```bash\nnpm run dev -- https://example.com\nnpm run dev -- https://example.com --extract-only\nnpm run cli -- https://example.com\nnpm run cli -- init\n```\n\n## Community And Support\n\n- Read the contribution guide in [`CONTRIBUTING.md`](./CONTRIBUTING.md)\n- Review expected community behavior in [`CODE_OF_CONDUCT.md`](./CODE_OF_CONDUCT.md)\n- Report security issues using the process in [`SECURITY.md`](./SECURITY.md)\n- Support ongoing maintenance through [GitHub Sponsors](https://github.com/sponsors/arvindrk)\n\n## Notes\n\n- Node.js 20+ is required\n- If extraction fails because Chromium is missing, run `npx playwright install chromium`\n- Extraction quality depends on the target site's DOM and CSS exposure\n\n## License\n\nMIT\n","readmeFilename":"README.md"}