[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-arvindrk-extract-design-system-en":3,"guides-for-arvindrk-extract-design-system":373,"similar-k1762merk28sjnss4c76tj3wg186mqq5-en":374},{"_creationTime":4,"_id":5,"children":6,"community":45,"display":46,"evaluation":49,"identity":285,"isFallback":274,"parentExtension":288,"providers":289,"relations":296,"repo":297,"tags":370,"workflow":371},1778675594920.0762,"k1762merk28sjnss4c76tj3wg186mqq5",[7],{"_creationTime":8,"_id":9,"community":10,"display":12,"identity":18,"providers":23,"relations":38,"tags":40,"workflow":41},1778675594920.0764,"k17crev4d2b28httehcp2fbj1n86ne6p",{"reviewCount":11},0,{"description":13,"installMethods":14,"name":16,"sourceUrl":17},"Extract design primitives from a public website and generate starter token files for your project.",{"claudeCode":15},"arvindrk/extract-design-system","extract-design-system","https://github.com/arvindrk/extract-design-system",{"basePath":19,"githubOwner":20,"githubRepo":16,"locale":21,"slug":16,"type":22},"skills/extract-design-system","arvindrk","en","skill",{"evaluate":24,"extract":36},{"promptVersionExtension":25,"promptVersionScoring":26,"score":27,"tags":28,"targetMarket":34,"tier":35},"3.0.0","4.4.0",99,[29,30,31,32,33],"design-tokens","css","web-development","cli","javascript","global","verified",{"commitSha":37},"HEAD",{"parentExtensionId":5,"repoId":39},"kd70eqr3jg8v1kx2h8ctrm3tp186n6w0",[32,30,29,33,31],{"evaluatedAt":42,"extractAt":43,"updatedAt":44},1778675640657,1778675594920,1778675715462,{"reviewCount":11},{"description":47,"installMethods":48,"name":16,"sourceUrl":17},"Extract design primitives from public websites into starter token files.",{"claudeCode":16},{"_creationTime":50,"_id":51,"extensionId":5,"locale":21,"result":52,"trustSignals":265,"workflow":283},1778675618062.0847,"kn7fb5brf0ak7k9scrzpwwqcp586n3wz",{"checks":53,"evaluatedAt":239,"extensionSummary":240,"features":241,"nonGoals":247,"promptVersionExtension":25,"promptVersionScoring":26,"purpose":252,"rationale":253,"score":254,"summary":255,"tags":256,"targetMarket":34,"tier":35,"useCases":260},[54,59,62,65,69,72,76,81,84,87,91,95,98,102,105,108,111,114,117,120,124,128,132,136,140,143,146,150,154,157,160,163,166,169,172,176,180,184,187,191,194,197,200,203,206,209,212,215,218,221,225,228,231,235],{"category":55,"check":56,"severity":57,"summary":58},"Practical Utility","Problem relevance","pass","The description clearly states the problem of extracting design primitives from websites into starter token files.",{"category":55,"check":60,"severity":57,"summary":61},"Unique selling proposition","The skill offers a concrete workflow for reverse-engineering design tokens, going beyond basic prompting by providing structured output and local file generation.",{"category":55,"check":63,"severity":57,"summary":64},"Production readiness","The extension provides a complete lifecycle for extracting design tokens, from fetching the website to generating local files, and includes security considerations.",{"category":66,"check":67,"severity":57,"summary":68},"Scope","Single responsibility principle","The plugin focuses specifically on extracting design primitives from websites and generating token files, adhering to a single, coherent domain.",{"category":66,"check":70,"severity":57,"summary":71},"Description quality","The provided description accurately and concisely reflects the extension's core functionality of extracting design primitives into starter token files.",{"category":73,"check":74,"severity":57,"summary":75},"Invocation","Scoped tools","The MCP server exposes specific, scoped tools like `extract_design_system`, `init_design_system`, and `get_tokens`, avoiding a single generalist command.",{"category":77,"check":78,"severity":79,"summary":80},"Documentation","Configuration & parameter reference","info","While the README details usage and outputs, specific parameters for the CLI and MCP server, including defaults, are not explicitly documented.",{"category":66,"check":82,"severity":57,"summary":83},"Tool naming","The tool names (`extract_design_system`, `init_design_system`, `get_tokens`) are descriptive, verb-noun based, and within the declared domain.",{"category":66,"check":85,"severity":57,"summary":86},"Minimal I/O surface","The tool schema appears to request only necessary inputs (URL, options) and outputs structured token files, avoiding extraneous data.",{"category":88,"check":89,"severity":57,"summary":90},"License","License usability","The extension is licensed under the MIT license, clearly stated in a dedicated LICENSE file.",{"category":92,"check":93,"severity":57,"summary":94},"Maintenance","Commit recency","The last commit was on May 10, 2026, well within the last 3 months.",{"category":92,"check":96,"severity":57,"summary":97},"Dependency Management","The project uses npm and has a lockfile (`package-lock.json`), indicating proper dependency management.",{"category":99,"check":100,"severity":57,"summary":101},"Security","Secret Management","The extension does not appear to handle secrets directly; it operates on public website data.",{"category":99,"check":103,"severity":57,"summary":104},"Injection","The extension fetches data from public websites for analysis and does not appear to execute arbitrary code or instructions from fetched content.",{"category":99,"check":106,"severity":57,"summary":107},"Transitive Supply-Chain Grenades","The extension relies on Playwright for browser automation, which is a standard dependency, and does not appear to fetch remote scripts or content for execution.",{"category":99,"check":109,"severity":57,"summary":110},"Sandbox Isolation","The plugin operates on public websites and generates local files; there are no indications of attempts to modify files outside the intended output directory.",{"category":99,"check":112,"severity":57,"summary":113},"Sandbox escape primitives","No detached processes or retry loops around denied operations were detected in the source.",{"category":99,"check":115,"severity":57,"summary":116},"Data Exfiltration","The extension's purpose is to extract data from public websites, not to exfiltrate confidential user data.",{"category":99,"check":118,"severity":57,"summary":119},"Hidden Text Tricks","The bundled content appears to be free of hidden steering tricks or malicious unicode characters.",{"category":121,"check":122,"severity":57,"summary":123},"Hooks","Opaque code execution","The bundled CLI implementation appears to be in plain JavaScript/TypeScript, with no obfuscation detected.",{"category":125,"check":126,"severity":57,"summary":127},"Portability","Structural Assumption","The skill specifies it generates files in `./design-system/` and `.extract-design-system/`, which are relative paths and should respect user project structure.",{"category":129,"check":130,"severity":57,"summary":131},"Trust","Issues Attention","There are 0 open and 0 closed issues in the last 90 days, indicating no current issues to assess maintainer responsiveness.",{"category":133,"check":134,"severity":57,"summary":135},"Versioning","Release Management","A manifest version (0.1.11) is declared, and the installation instructions reference a specific version (via `npx skills add arvindrk/extract-design-system`), indicating clear versioning.",{"category":137,"check":138,"severity":79,"summary":139},"Code Execution","Validation","The source code suggests Playwright is used for browser interaction, which implies some level of input validation, but explicit schema validation for all parameters isn't immediately apparent.",{"category":99,"check":141,"severity":57,"summary":142},"Unguarded Destructive Operations","The tool generates new files, but it prompts for confirmation before applying changes and does not perform inherently destructive operations without user interaction.",{"category":137,"check":144,"severity":57,"summary":145},"Error Handling","The README and SKILL.md mention asking for confirmation before modifying files, and the structure suggests error handling for extraction failures.",{"category":137,"check":147,"severity":148,"summary":149},"Logging","not_applicable","The extension is focused on extracting data and generating files; it does not perform destructive actions or outbound calls that would typically require an audit log.",{"category":151,"check":152,"severity":57,"summary":153},"Compliance","GDPR","The extension operates on public website data and does not handle personal data directly.",{"category":151,"check":155,"severity":57,"summary":156},"Target market","The extension's functionality is general and not tied to any specific geographic or legal jurisdiction, thus its target market is global.",{"category":125,"check":158,"severity":57,"summary":159},"Runtime stability","The extension requires Node.js 20+ and Playwright's Chromium, which are standard dependencies, and its scripts use relative paths.",{"category":77,"check":161,"severity":57,"summary":162},"README","The README is comprehensive, clearly stating the extension's purpose and usage.",{"category":66,"check":164,"severity":57,"summary":165},"Tool surface size","The MCP server exposes 3 distinct tools, which is within the recommended range.",{"category":73,"check":167,"severity":57,"summary":168},"Overlapping near-synonym tools","The exposed tools (`extract_design_system`, `init_design_system`, `get_tokens`) have distinct functionalities and do not appear to overlap in purpose.",{"category":77,"check":170,"severity":57,"summary":171},"Phantom features","All features mentioned in the README, such as token extraction and file generation, have corresponding implementations in the CLI and MCP tools.",{"category":173,"check":174,"severity":57,"summary":175},"Install","Installation instruction","The README provides clear installation instructions using `npx skills add` and example prompts for usage.",{"category":177,"check":178,"severity":79,"summary":179},"Errors","Actionable error messages","The SKILL.md mentions asking for confirmation before modifying files, and the README notes potential failures with dynamic sites, but explicit error message framing is not detailed.",{"category":181,"check":182,"severity":57,"summary":183},"Execution","Pinned dependencies","The project uses npm and has a lockfile, indicating pinned dependencies. The scripts also include Node.js version requirements.",{"category":66,"check":185,"severity":79,"summary":186},"Dry-run preview","The SKILL.md indicates asking for confirmation before modifying files, which serves as a manual dry-run, but an automated `--dry-run` flag is not explicitly advertised for file generation.",{"category":188,"check":189,"severity":148,"summary":190},"Protocol","Idempotent retry & timeouts","The extension operates on public websites and local file generation; it does not involve remote calls or state-changing operations that would require idempotency or timeouts.",{"category":151,"check":192,"severity":57,"summary":193},"Telemetry opt-in","There is no indication of telemetry being collected or sent outwards by this extension.",{"category":73,"check":195,"severity":57,"summary":196},"Name collisions","The plugin's primary tool is `extract_design_system`, which does not appear to collide with Claude Code built-ins or other bundled tools.",{"category":73,"check":198,"severity":148,"summary":199},"Hooks-off mechanism","This plugin does not appear to utilize hooks that would require a hooks-off mechanism.",{"category":73,"check":201,"severity":148,"summary":202},"Hook matcher tightness","The plugin does not appear to use hooks, thus hook matcher tightness is not applicable.",{"category":99,"check":204,"severity":148,"summary":205},"Hook security","The plugin does not utilize hooks, so hook security checks are not applicable.",{"category":121,"check":207,"severity":148,"summary":208},"Silent prompt rewriting","The plugin does not utilize `UserPromptSubmit` hooks, so silent prompt rewriting is not applicable.",{"category":99,"check":210,"severity":148,"summary":211},"Permission Hook","The plugin does not utilize `PermissionRequest` hooks, so this check is not applicable.",{"category":151,"check":213,"severity":148,"summary":214},"Hook privacy","The plugin does not appear to use hooks for logging or telemetry, making this check not applicable.",{"category":137,"check":216,"severity":148,"summary":217},"Hook dependency","The plugin does not appear to use custom hooks, so hook dependency checks are not applicable.",{"category":77,"check":219,"severity":57,"summary":220},"Feature Transparency","The README clearly explains the core functionality and output of the extension, and the SKILL.md details the workflow.",{"category":222,"check":223,"severity":57,"summary":224},"Convention","Layout convention adherence","The repository structure follows standard conventions, with `plugin.json` in `.codex-plugin/` and the CLI source in `src/`.",{"category":222,"check":226,"severity":57,"summary":227},"Plugin state","The extension generates files in relative directories like `design-system/` and `.extract-design-system/`, implying state is managed locally and would be removed on uninstall.",{"category":99,"check":229,"severity":148,"summary":230},"Keychain-stored secrets","The plugin does not handle any secrets, so keychain storage is not applicable.",{"category":232,"check":233,"severity":57,"summary":234},"Dependencies","Tagged release sourcing","The MCP server is declared to be run via `npx`, implying it pulls from the npm registry, which aligns with tagged release sourcing.",{"category":236,"check":237,"severity":57,"summary":238},"Installation","Clean uninstall","The plugin generates local files and relies on Node.js; there are no background daemons or system-level agents that would persist after uninstall.",1778675617950,"This plugin extracts design primitives like colors, typography, and spacing from public websites using a bundled CLI and MCP server, generating starter JSON and CSS token files for local projects.",[242,243,244,245,246],"Extracts colors, typography, spacing, border radius, and shadows.","Generates starter `tokens.json` and `tokens.css` files.","Provides both an AI agent skill and a standalone CLI.","Normalizes extracted data for stability.","Includes an MCP server for structured tool calls.",[248,249,250,251],"Creating a full component library.","Pixel-perfect reproduction of a website's design.","Automatic patching of framework configurations or project-wide rewrites.","Extracting from dynamic, protected, or highly script-driven sites without limitations.","To automate the process of reverse-engineering design tokens from existing websites, providing a foundation for new projects or design system updates.","The extension is well-documented, secure, and adheres to best practices. Minor informational findings regarding parameter documentation and dry-run flag specificity do not detract from its overall quality.",96,"A robust and secure plugin for extracting design tokens from websites.",[29,257,30,258,32,259],"website-scraping","json","mcp",[261,262,263,264],"When you need starter design tokens for a new project based on an existing website's style.","When an agent needs to analyze a public website's visual primitives.","To establish a repeatable workflow for design token extraction.","To get a summary of a website's design primitives before implementing broader changes.",{"codeQuality":266,"collectedAt":268,"documentation":269,"maintenance":272,"popularity":278,"security":280,"testCoverage":282},{"hasLockfile":267},true,1778675596312,{"descriptionLength":270,"readmeSize":271},72,8133,{"closedIssues90d":11,"forks":273,"hasChangelog":274,"manifestVersion":275,"openIssues90d":11,"pushedAt":276,"stars":277},5,false,"0.1.11",1778372685000,36,{"npmDownloads":279},167868,{"hasNpmPackage":267,"license":281,"smitheryVerified":274},"MIT",{"hasCi":267,"hasTests":267},{"updatedAt":284},1778675618062,{"basePath":286,"githubOwner":20,"githubRepo":16,"locale":21,"slug":16,"type":287},"","plugin",null,{"evaluate":290,"extract":292},{"promptVersionExtension":25,"promptVersionScoring":26,"score":254,"tags":291,"targetMarket":34,"tier":35},[29,257,30,258,32,259],{"commitSha":37,"plugin":293},{"mcpCount":11,"provider":294,"skillCount":295},"classify",1,{"repoId":39},{"_creationTime":298,"_id":39,"identity":299,"providers":300,"workflow":365},1778675588522.468,{"githubOwner":20,"githubRepo":16,"sourceUrl":17},{"classify":301,"discover":341,"extract":344,"github":345,"npm":364},{"commitSha":37,"extensions":302},[303,319,329],{"basePath":286,"description":47,"displayName":16,"installMethods":304,"rationale":305,"selectedPaths":306,"source":318,"sourceLanguage":21,"type":287},{"claudeCode":16},"plugin manifest at .codex-plugin/plugin.json",[307,310,312,315],{"path":308,"priority":309},".codex-plugin/plugin.json","mandatory",{"path":311,"priority":309},"README.md",{"path":313,"priority":314},"LICENSE","high",{"path":316,"priority":317},"skills/extract-design-system/SKILL.md","medium","rule",{"basePath":19,"description":13,"displayName":16,"installMethods":320,"rationale":321,"selectedPaths":322,"source":318,"sourceLanguage":21,"type":22},{"claudeCode":15},"SKILL.md frontmatter at skills/extract-design-system/SKILL.md",[323,325,327],{"path":324,"priority":309},"SKILL.md",{"path":326,"priority":317},"references/outputs.md",{"path":328,"priority":317},"references/workflow.md",{"basePath":286,"description":330,"displayName":16,"installMethods":331,"license":281,"rationale":332,"selectedPaths":333,"source":318,"sourceLanguage":21,"type":259},"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.",{"npm":16},"package.json @modelcontextprotocol/sdk dep + bin at package.json",[334,336,337,338],{"path":335,"priority":309},"package.json",{"path":311,"priority":309},{"path":313,"priority":314},{"path":339,"priority":340},"src/mcp.ts","low",{"sources":342},[343],"manual",{"npmPackage":16},{"closedIssues90d":11,"description":330,"forks":273,"homepage":346,"license":281,"openIssues90d":11,"pushedAt":276,"readmeSize":271,"stars":277,"topics":347},"https://www.npmjs.com/package/extract-design-system",[348,349,32,350,351,352,353,354,355,356,29,357,358,259,359,360,361,30,362,363],"agent-skills","automation","cursor-skills","design-system","skills-sh","token-extractor","claude-code-skills","claude-skills","design-ops","developer-experience","frontend","playwright","ui-audit","brand-audit","design-md","nodejs",{"downloads":279},{"classifiedAt":366,"discoverAt":367,"extractAt":368,"githubAt":368,"npmAt":369,"updatedAt":366},1778675594493,1778675588522,1778675590640,1778675592702,[32,30,29,258,259,257],{"evaluatedAt":284,"extractAt":43,"updatedAt":372},1778675715285,[],[375,404],{"_creationTime":376,"_id":377,"community":378,"display":379,"identity":385,"providers":389,"relations":397,"tags":400,"workflow":401},1778696052276.008,"k173c9f6h756g95dhcd0eb0g6n86n2jw",{"reviewCount":11},{"description":380,"installMethods":381,"name":383,"sourceUrl":384},"Claude Code expertise: skills, commands, hooks, MCP, settings (7 skills)",{"claudeCode":382},"anthropic","ai-skills","https://github.com/raintree-technology/claude-starter",{"basePath":386,"githubOwner":387,"githubRepo":388,"locale":21,"slug":382,"type":287},"templates/.claude/skills/anthropic","raintree-technology","claude-starter",{"evaluate":390,"extract":396},{"promptVersionExtension":25,"promptVersionScoring":26,"score":27,"tags":391,"targetMarket":34,"tier":35},[392,382,393,32,258,394,395],"fintech","developer-tools","compression","api",{"commitSha":37},{"parentExtensionId":398,"repoId":399},"k17ab1tq0pfjcwj6czghvnwvzn86mye7","kd78ywakatnz4sjfx781sy14vh86mtty",[382,395,32,394,393,392,258],{"evaluatedAt":402,"extractAt":403,"updatedAt":402},1778696086128,1778696052276,{"_creationTime":405,"_id":406,"community":407,"display":408,"identity":413,"providers":415,"relations":425,"tags":428,"workflow":429},1778691134259.2344,"k17cfffqpe38zdvz3nv9xkmetx86mzd7",{"reviewCount":11},{"description":409,"installMethods":410,"name":411,"sourceUrl":412},"Fetch X/Twitter posts as clean LLM-friendly JSON. Paste any x.com link and get structured data with full content, author info, and engagement metrics.",{"claudeCode":411},"adhx","https://github.com/itsmemeworks/adhx",{"basePath":286,"githubOwner":414,"githubRepo":411,"locale":21,"slug":411,"type":287},"itsmemeworks",{"evaluate":416,"extract":423},{"promptVersionExtension":25,"promptVersionScoring":26,"score":27,"tags":417,"targetMarket":34,"tier":35},[418,419,420,395,421,258,422],"twitter","x","bookmarks","llm","nextjs",{"commitSha":37,"license":281,"plugin":424},{"mcpCount":11,"provider":294,"skillCount":295},{"parentExtensionId":426,"repoId":427},"k17e6xhqcgd1n5hc98vpmmcf2n86mthk","kd77mjenc5h9jr4kr1vget7bw586nz3g",[395,420,258,421,422,418,419],{"evaluatedAt":430,"extractAt":431,"updatedAt":432},1778691170439,1778691134259,1778691238025]