
ui-ux-pro-max-skill 仓库中的三处 data / scripts / templatessrc、cli/assets 与 .claude/skills 的区别与同步维护指南【免费下载链接】ui-ux-pro-max-skillAn AI skill that provides design intelligence for building professional UI/UX across multiple platforms.项目地址: https://gitcode.com/gh_mirrors/ui/ui-ux-pro-max-skill导读在 ui-ux-pro-max-skill 仓库中data设计数据 CSV/JSON、scriptsPython 工具脚本和templatesSkill 模板分别存在于三个不同的物理位置src/ui-ux-pro-max/、cli/assets/和.claude/skills/ui-ux-pro-max/。三者用途截然不同却常常让维护者困惑到底该改哪一份、哪一份能删、为什么会漂移。本文以 docs/三个>const sourceRoot join(repoRoot, src, ui-ux-pro-max); const assetRoot join(repoRoot, cli, assets); const dirsToSync [data, scripts, templates]; const checkOnly process.argv.includes(--check);src/ui-ux-pro-max/{data,scripts,templates}→cli/assets/npm 打包用.claude/skills/下的6 个子 Skillbanner-design、brand、design、design-system、slides、ui-styling→cli/assets/skills/这样uipro init安装的是全部7 个 Skill1 个编排器 6 个子 Skill而不是只有模板渲染出来的编排器src/ui-ux-pro-max/{data,scripts}→.claude/skills/ui-ux-pro-max/{data,scripts}Claude Code 插件方式加载时实际读取的副本。第三块尤为重要注释里写明Nothing previously checked it against src/, so it silently drifted——即.claude/skills/ui-ux-pro-max/这份副本此前从未被检查曾静默漂移缺少 stack CSV、多个数据文件内容过期。这正是三处结构容易出问题的历史根源。为什么不镜像 templates 到 .claude/skills同样在注释里说明了原因第 3038 行.claude/skills/ui-ux-pro-max/SKILL.md是手工编写的与 CLI 那份由模板渲染的 SKILL.md 不同因此只有data/和scripts/被镜像永远不镜像templates/或 SKILL.md 本身。这也解释了为什么.claude/skills/ui-ux-pro-max/目录下只有data、scripts、references而没有templates。排除规则与行尾归一化脚本对同步内容有两条精细规则排除重二进制资产第 4446 行canvas-fonts、__pycache__目录以及ttf/otf/woff2/png/jpg/gif/ico/coverage/pyc等扩展名全部跳过——canvas 字体约 5.8MBSkill 注册依赖 SKILL.md 而非字体文件打包时排除可以避免 npm 包膨胀CRLF → LF 归一化第 50 行所有同步的文本资产在写入与哈希前统一转为 LF避免 Gitautocrlf跨平台检出造成字节哈希漂移。哈希比对与孤儿文件清理diffDir用 SHA-256fileHash先toLF再哈希逐文件比对源与目标把差异归为三类可读消息extra asset file目标多出来的文件、missing asset file缺失、stale asset file内容过期。而syncDir在复制前会先删除整个目标目录再重建这样源里删掉的文件不会在目标里留下孤儿残留。安全边界assertInsideRepo第 6167 行会在写入前校验解析后的路径必须以repoRoot开头防止脚本意外修改仓库之外的任何路径——这是对发布流水线的一项防御性保障。推荐工作流按原文档日常维护遵循以下步骤只改src/ui-ux-pro-max/data/、scripts/、templates/不要直接修改cli/assets/data/、cli/assets/scripts/或.claude/skills/ui-ux-pro-max/{data,scripts}/提交或发布 npm 前执行cd cli npm run sync:assets npm run check:assetssync:assets对应node scripts/sync-assets.mjs执行同步check:assets对应node scripts/sync-assets.mjs --check只比对不写入发现漂移时以非零退出码失败并提示Run: npm run sync:assets。check:assets 与 CI漂移的守门员check:assets不只是本地命令它还由Check asset syncCI 工作流执行见 .github/workflows/check-asset-sync.yml。该工作流在pull_request涉及src/ui-ux-pro-max/**、cli/assets/**、.claude/skills/**、sync-assets.mjs、cli/package.json等路径与push到 main 时触发在 Node 20 环境运行npm --prefix cli run check:assets由于脚本只用 Node 内置模块无需npm install检查快速且稳定额外执行一项路径契约检查对应 issue #474grep各 SKILL.md 中是否出现硬编码的~/.claude/skills/...用户级路径——这类路径只在一种安装上下文用户级安装下有效在 marketplace/plugin 安装Skill 位于插件缓存或项目级 CLI 安装下会失效因此 Skill 指令必须使用 Skill 相对路径。在cli/package.json中还能看到发布前的完整校验链prepublishOnlyprepublishOnly: npm run sync:assets npm run verify:data npm run typecheck npm run build而verify:data又串起了 CSV 校验、语义校验、Agent 指南校验、catalog-summary 校验、Python 单元测试、相关性评估、领域/技术栈冒烟测试以及check:assets。也就是说同步校验被嵌入了完整的发布质量门禁任何未同步的 src 修改都会被拦截在发布之前。三处目录在安装链路上的落点理解cli/assets/的打包含义可以从 CLI 安装实现 cli/src/commands/init.ts 看出运行时通过ASSETS_CANDIDATES依次探测dist/assets与cli/assets定位随包携带的资源目录第 2329 行默认走模板生成路径uipro init --ai assistant用 cli/src/utils/template.ts 按目标 AI 平台claude/cursor/windsurf/copilot/kiro/codex/roocode/qoder/gemini/trae/opencode/universal 等见 cli/README.md渲染出对应的 Skill 文件模板即来自src/ui-ux-pro-max/templates/同步到cli/assets/templates/的副本若指定--legacy则先尝试从 GitHub Release 下载 ZIPtryGitHubInstall失败或--offline时回退到copyFolders(ASSETS_DIR, ...)此时安装的正是cli/assets/里打包的 data/scripts/templates 与子 Skill复制逻辑见 cli/src/utils/extract.ts 的copyFolders。这解释了原文档表格中用户执行npm i -g ui-ux-pro-max-cli再uipro init时安装的是这里打包的 data/scripts/templates 和子 Skill这句话的完整链路src → sync 脚本 → cli/assets → npm 包 → uipro init 分发。同样地当本仓库以 Claude Code 插件方式安装时.claude/skills/ui-ux-pro-max/中的data/scripts副本就是 Claude Code 实际读取的内容SKILL.md 里也明确要求通过${CLAUDE_PLUGIN_ROOT}/.claude/skills/ui-ux-pro-max/scripts/search.py这样的 Skill 相对路径调用搜索脚本见 .claude/skills/ui-ux-pro-max/SKILL.md 的 Running the search tool 一节。常见误区与规避要点误区一只改 cli/assets 以为能影响 npm 包。cli/assets/是同步产物直接修改会在下一次sync:assets或 CI 的check:assets中被判定为漂移stale asset file/extra asset file并失败。误区二把 .claude/skills/ui-ux-pro-max/{data,scripts} 当独立维护区。它是 Claude Code 实际加载的副本但必须由 src 同步而来否则会重蹈静默漂移覆辙。误区三给副本做符号链接。Windows Git 检出下符号链接失效脚本的删除重建策略也天然不兼容链接。误区四改了 SKILL.md 却期待它被同步。.claude/skills/ui-ux-pro-max/SKILL.md手工维护不参与同步CLI 侧由模板渲染生成的 SKILL.md 则来自 templates两者不可混为一谈。总结三处 data/scripts/templates 的本质是一份真相源 两个按用途生成的镜像src/ui-ux-pro-max/是唯一手工维护的源码cli/assets/服务于 npm 分发.claude/skills/ui-ux-pro-max/服务于 Claude Code 插件加载。维护者只需遵守只在 src 改、提交前跑sync:assetscheck:assets这一条纪律再借助 CI 中的资产同步检查与路径契约检查做兜底即可长期保持三处目录一致、可追溯、可发布。【免费下载链接】ui-ux-pro-max-skillAn AI skill that provides design intelligence for building professional UI/UX across multiple platforms.项目地址: https://gitcode.com/gh_mirrors/ui/ui-ux-pro-max-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考