{
  "$schema": "/schemas/skill-manifest-v1.schema.json",
  "schemaVersion": 1,
  "name": "ui-system-extractor",
  "description": "Audit an existing React or Next.js application's UI and incrementally extract its reusable primitives, component variants, patterns, themes, content adapters, and CMS layouts into a central UI package without redesigning the application. Use this skill whenever a user asks to centralize UI, create or extend a design system, migrate local components into a shared package, deduplicate Tailwind or Radix components, make an existing frontend themeable, publish a component registry, or preserve an existing design while making it reusable. Prefer existing application implementations and official upstream primitives over inventing new components.",
  "license": null,
  "compatibility": "Requires repository read/write access for implementation, a shell for deterministic inventory and validation, and browser or screenshot tooling for visual parity checks. Optimized for React, Next.js, TypeScript, Tailwind CSS, Radix Primitives, Motion, and CMS ecosystems.",
  "metadata": {},
  "revision": "291d5ac93ab061b43ab20c57c0335f7b39bcccdd",
  "generatedAt": "2026-07-26T23:35:15.967Z",
  "source": {
    "repository": "https://github.com/mleem97/mm-skills",
    "path": "ui-system-extractor",
    "ref": "291d5ac93ab061b43ab20c57c0335f7b39bcccdd"
  },
  "manifestUrl": "/registry/v1/skills/ui-system-extractor.json",
  "pageUrl": "/skills/ui-system-extractor",
  "fileCount": 8,
  "totalBytes": 50300,
  "clients": {
    "agents": {
      "label": "Shared Agent Skills",
      "user": "~/.agents/skills",
      "project": ".agents/skills"
    },
    "codex": {
      "label": "Codex",
      "user": "~/.agents/skills",
      "project": ".agents/skills"
    },
    "opencode": {
      "label": "OpenCode",
      "user": "~/.config/opencode/skills",
      "project": ".opencode/skills"
    },
    "antigravity": {
      "label": "Antigravity",
      "user": "~/.gemini/config/skills",
      "project": ".agents/skills"
    }
  },
  "files": [
    {
      "path": "evals/evals.json",
      "size": 1550,
      "sha256": "97713f782e7cb4d8ca82d922da6a75daf9765d178c09216977f0a8d5b2f1c2b9",
      "url": "/raw/ui-system-extractor/evals/evals.json"
    },
    {
      "path": "references/audit-schema.md",
      "size": 3618,
      "sha256": "eaf84dcb74ccd06a83e42d2194bfd34ad7769787d99e7338337ed47c14c07c68",
      "url": "/raw/ui-system-extractor/references/audit-schema.md"
    },
    {
      "path": "references/cms-theming.md",
      "size": 3970,
      "sha256": "a99107bcc5f67fa970285bf867a06c14e49e4f976fd0a6e3e428c0282b744d82",
      "url": "/raw/ui-system-extractor/references/cms-theming.md"
    },
    {
      "path": "references/migration-playbook.md",
      "size": 4131,
      "sha256": "d25ae0cbf85fcf27a8d077546d3765c8acc1909f4dfaa2f5e1ba109bec4ed09d",
      "url": "/raw/ui-system-extractor/references/migration-playbook.md"
    },
    {
      "path": "references/source-priority.md",
      "size": 2837,
      "sha256": "2dbdae3e427f7d4bf9c1e4e000cc7a5aba84ecac7235f5ac72e7135cffbcdad3",
      "url": "/raw/ui-system-extractor/references/source-priority.md"
    },
    {
      "path": "scripts/inventory_ui.py",
      "size": 17214,
      "sha256": "be6f6011343028afea3590f5b8b0398fba20181b3956f90efda82f3fa32ec310",
      "url": "/raw/ui-system-extractor/scripts/inventory_ui.py"
    },
    {
      "path": "scripts/test_inventory_ui.py",
      "size": 2075,
      "sha256": "466e2a684486cc61ed9ecf3eb7501454bd8ea84ba51f93326be2c1627da81529",
      "url": "/raw/ui-system-extractor/scripts/test_inventory_ui.py"
    },
    {
      "path": "SKILL.md",
      "size": 14905,
      "sha256": "8070f3052b962dcf1c763b5547afd9802754cd71d324469b2198126d297127df",
      "url": "/raw/ui-system-extractor/SKILL.md"
    }
  ]
}
