{"slug":"pdlc-ui-design-pro","title":"pdlc-ui-design-pro","summary":"UI/UX 专业设计（PDLC 集成层，依赖 ui-ux-pro-max）","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-23T18:54:27.424441Z","repo":{"url":"https://github.com/kanfu-panda/pdlc-skills","stars":15,"forks":2,"license":"MIT","updatedAt":"2026-09-23T15:59:31Z"},"bodyHtml":"<hr>\n<p>name: pdlc-ui-design-pro\ndescription: UI/UX 专业设计（PDLC 集成层，依赖 ui-ux-pro-max）\nargument-hint: &lt;功能描述 | 设计目标&gt;\nallowed-tools: Read, Write, Edit, Glob, Grep, Bash\nlayer: 3\nstage: design\nproduces:</p>\n<ul>\n<li>docs/02_design/ui-ux/**\nrequires: []\nnext_step: null\nterminal_state: null</li>\n</ul>\n<hr>\n<h1>UI/UX 专业设计（PDLC 集成层）</h1>\n\n<p>⛔ <strong>IRON LAW · 不可违反的硬门禁</strong></p>\n<p>以下规则为<strong>不可协商</strong>的执行约束：</p>\n<ol>\n<li><strong>文件必须落盘</strong>：所有带编号（功能ID / 缺陷ID）的文档，必须作为实际文件写入磁盘，不可仅在对话中输出。</li>\n<li><strong>阶段必须落章</strong>：每个阶段完成后必须在状态机 <code>docs/.pdlc-state/&lt;feature-id&gt;.json</code> 追加 history，不可跳过。</li>\n<li><strong>测试必须存在</strong>：进入 <code>/pdlc-implement</code> 前，对应测试必须存在且处于红灯状态。违反则中止。</li>\n<li><strong>自检必须执行</strong>：段二自检为强制步骤，不得以\"已经很好了\"为由跳过。</li>\n<li><strong>防循环</strong>：段三修复为单次，不递归。无法自动修复的问题记录到报告，继续往下走。</li>\n<li><strong>状态必推进</strong>：成功执行某 phase 后 <code>current_stage</code> 必须变更。收尾时若发现 <code>current_stage</code> 未推进，视为失败并报错，<strong>不得静默返回</strong>（防止外层循环拿滞后的状态空转烧额度）。唯一例外：命中人工点主动 block 时，<code>current_stage</code> 保持不变但必须写 <code>last_phase_result.ok=false</code> + <code>blocked_reason</code>。</li>\n</ol>\n<p><strong>违反任一条 = 立即中止当前命令，输出违规详情，等待人工介入。</strong></p>\n\n<p>本命令是 PDLC 的 UI 设计集成点，负责 PRD 守卫、PDLC 文档结构管理、以及调用设计智能引擎。\n优先调用 <code>ui-ux-pro-max</code> 开源 skill（67 种风格 / 161 款配色 / 57 组字体搭配 / 161 行业推理规则），skill 未安装时自动启用内置流程。</p>\n<hr>\n<h2>PDLC 前置检查（必须执行，不可跳过）</h2>\n<ol>\n<li>从用户输入中提取功能名称关键词</li>\n<li>在 <code>docs/01_requirements/prd/</code> 目录下搜索对应 PRD 文档</li>\n<li><strong>未找到</strong> → 立即停止并输出：\n<pre><code>⛔ PDLC 守卫：未找到与「&lt;功能名&gt;」相关的 PRD 文档。\nUI 设计必须基于已有的 PRD。请先运行：\n\uD83D\uDC49 /pdlc-prd &lt;需求描述&gt;\n</code></pre>\n</li>\n<li><strong>找到</strong> → 提取功能ID，读取 PRD 内容；同时读取（若存在）：\n<ul>\n<li><code>docs/02_design/api/</code> 下相关 API 设计文档</li>\n<li><code>docs/02_design/ui-ux/</code> 下已有 UI 设计文档</li>\n<li><code>docs/02_design/ui-ux/design-system/tokens.md</code>（项目 Token 规范）</li>\n</ul>\n</li>\n</ol>\n<hr>\n<h2>设计引擎选择</h2>\n<p>按如下优先级检测 ui-ux-pro-max skill 是否可用：</p>\n<table>\n<thead>\n<tr>\n<th>安装范围</th>\n<th>检测路径</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>项目级</td>\n<td><code>.claude/skills/ui-ux-pro-max/scripts/search.py</code></td>\n</tr>\n<tr>\n<td>全局</td>\n<td><code>~/.claude/skills/ui-ux-pro-max/scripts/search.py</code></td>\n</tr>\n</tbody>\n</table>\n<p>按顺序检测上述路径，将第一个找到的路径记为 <code>$UIPM_SCRIPT</code>。</p>\n<h3>✅ 路径 A：ui-ux-pro-max skill 可用（推荐）</h3>\n<blockquote>\n<p>此路径适用于已通过 <code>uipro-cli</code> 安装了 ui-ux-pro-max 的用户。\n安装方法：<code>npm install -g uipro-cli &amp;&amp; uipro init --ai claude</code></p>\n</blockquote>\n<p><strong>第一步：生成设计系统</strong></p>\n<p>从 PRD 中提取：产品类型、行业、关键词、技术栈，然后运行：</p>\n<pre><code>python3 $UIPM_SCRIPT \"&lt;产品类型&gt; &lt;行业&gt; &lt;关键词&gt;\" \\\n  --design-system --persist -p \"&lt;项目名称&gt;\"\n</code></pre>\n<ul>\n<li>输出保存到 <code>design-system/MASTER.md</code>（全局设计规范）</li>\n<li>如有具体页面，追加 <code>--page \"&lt;页面名&gt;\"</code> 生成页面级覆盖文件</li>\n</ul>\n<p><strong>第二步：补充领域搜索（按需）</strong></p>\n<pre><code># 获取动效 / 无障碍最佳实践\npython3 $UIPM_SCRIPT \"animation accessibility\" --domain ux\n\n# 获取技术栈特定最佳实践（可选値见下表）\npython3 $UIPM_SCRIPT \"&lt;关键词&gt;\" --stack &lt;栈名&gt;\n</code></pre>\n<table>\n<thead>\n<tr>\n<th>栈名</th>\n<th>适用场景</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>html-tailwind</code></td>\n<td>Tailwind CSS（默认）</td>\n</tr>\n<tr>\n<td><code>react</code></td>\n<td>React / Vite</td>\n</tr>\n<tr>\n<td><code>nextjs</code></td>\n<td>Next.js</td>\n</tr>\n<tr>\n<td><code>vue</code></td>\n<td>Vue 3</td>\n</tr>\n<tr>\n<td><code>shadcn</code></td>\n<td>shadcn/ui</td>\n</tr>\n<tr>\n<td><code>react-native</code></td>\n<td>React Native</td>\n</tr>\n<tr>\n<td><code>flutter</code></td>\n<td>Flutter</td>\n</tr>\n<tr>\n<td><code>swiftui</code></td>\n<td>iOS SwiftUI</td>\n</tr>\n</tbody>\n</table>\n<p><strong>第三步：整合为 PDLC 设计文档</strong></p>\n<p>基于 skill 输出，结构化写入以下文件：</p>\n<table>\n<thead>\n<tr>\n<th>文档</th>\n<th>路径</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>UI 主文档（线框图 + 交互规范）</td>\n<td><code>docs/02_design/ui-ux/&lt;功能ID&gt;-&lt;功能名&gt;-ui.md</code></td>\n</tr>\n<tr>\n<td>设计 Token</td>\n<td><code>docs/02_design/ui-ux/design-system/tokens.md</code></td>\n</tr>\n<tr>\n<td>组件目录</td>\n<td><code>docs/02_design/ui-ux/design-system/components.md</code></td>\n</tr>\n</tbody>\n</table>\n<p>所有文档顶部必须包含 PDLC 追溯头：</p>\n<pre><code>&lt;!-- PDLC-TRACE --&gt;\n&lt;!-- 功能ID: &lt;功能ID&gt; --&gt;\n&lt;!-- 功能名称: &lt;功能名&gt; --&gt;\n&lt;!-- 阶段: 设计 --&gt;\n&lt;!-- 前置文档: docs/01_requirements/prd/&lt;功能ID&gt;-&lt;功能名&gt;-prd.md --&gt;\n</code></pre>\n<hr>\n<h3>\uD83D\uDD04 路径 B：内置流程（skill 未安装时自动降级）</h3>\n<blockquote>\n<p>自动降级路径，功能完整但不包含 67 种风格智能推荐。</p>\n</blockquote>\n<p><strong>未检测到 skill</strong> 时输出提示后继续：</p>\n<pre><code>ℹ️  ui-ux-pro-max skill 未安装，使用内置设计流程。\n   安装后可获得 67 种风格 / 161 款配色 / 57 组字体搭配的智能推荐：\n   npm install -g uipro-cli\n   uipro init --ai claude\n</code></pre>\n<p><strong>技术栈探测</strong></p>\n<p>扫描 <code>frontend/</code> 目录，读取 <code>package.json</code>，检测：</p>\n<ul>\n<li>框架：Next.js / React / Vue 3 / Nuxt / 微信小程序 / 通用</li>\n<li>样式：Tailwind / CSS-in-JS / CSS Modules / 预处理器</li>\n<li>组件库：Ant Design / Element Plus / MUI / shadcn/ui / Vant / 自建</li>\n</ul>\n<p>输出探测结果后继续。</p>\n<p><strong>产出三类文档</strong>（路径与路径 A 相同）：</p>\n<p><strong>1. UI 主文档</strong>（<code>docs/02_design/ui-ux/&lt;功能ID&gt;-&lt;功能名&gt;-ui.md</code>）</p>\n<ul>\n<li>用户旅程图（文本箭头格式）</li>\n<li>每个页面的 ASCII 线框图（含正常态 / 加载态 / 错误态 / 空状态）</li>\n<li>交互行为规范表（触发条件 → 行为 → 反馈）</li>\n<li>响应式断点说明（Web：mobile &lt; 768px / tablet 768-1023px / desktop ≥ 1024px）</li>\n</ul>\n<p><strong>2. 设计 Token</strong>（<code>docs/02_design/ui-ux/design-system/tokens.md</code>）</p>\n<p>提取并标准化：颜色 Token（品牌色 / 语义色 / 中性色）、字体 Token（字号 / 行高 / 字重）、间距 Token（4px 基准）、圆角 / 阴影 / 动效 Token。</p>\n<p><strong>3. 组件目录</strong>（<code>docs/02_design/ui-ux/design-system/components.md</code>）</p>\n<p>每个组件含：变体矩阵（variant × size × state）、Props 定义、无障碍规范、动效说明。</p>\n<p><strong>技术栈自适应代码骨架</strong></p>\n<p>基于探测结果，在 <code>frontend/.../src/</code> 下生成：</p>\n<ul>\n<li>页面组件骨架（仅含类型和结构，业务逻辑填 <code>// TODO</code>）</li>\n<li>CSS Token 变量文件（<code>tokens.css</code>）</li>\n<li>TypeScript 类型定义（<code>types/&lt;功能名&gt;.ts</code>）</li>\n<li>API 服务层骨架（<code>services/&lt;功能名&gt;Api.ts</code>）</li>\n</ul>\n<p>支持代码格式：React/Next.js + Tailwind → TSX；Vue 3 → <code>.vue</code> SFC；小程序 → wxml/wxss/ts；未识别 → 通用伪代码骨架。</p>\n<hr>\n<h2>完成报告</h2>\n<p>所有内容完成后，输出：</p>\n<pre><code>✅ UI/UX 设计完成\n\n设计引擎: ui-ux-pro-max skill / 内置流程\n产出文件:\n  \uD83D\uDCC4 docs/02_design/ui-ux/&lt;功能ID&gt;-&lt;功能名&gt;-ui.md\n  \uD83C\uDFA8 docs/02_design/ui-ux/design-system/tokens.md\n  \uD83E\uDDE9 docs/02_design/ui-ux/design-system/components.md\n  \uD83D\uDCBB frontend/.../src/&lt;相关文件列表&gt;\n\n下一步:\n  /pdlc-tdd &lt;功能名&gt;        ← 编写测试（可引用类型文件）\n  /pdlc-implement &lt;功能名&gt;  ← 实现业务逻辑（填充 TODO）\n</code></pre>\n<hr>\n<p>设计目标: $ARGUMENTS</p>\n\n<h2>段四：交接（Handoff）</h2>\n<p>命令完成后必须输出以下格式的最终消息：</p>\n<pre><code>✅ &lt;阶段名&gt; 完成：&lt;主要产出物路径&gt;\n\uD83D\uDCCA 自检：&lt;通过数&gt;/&lt;总数&gt; 通过（若有未通过，附要点）\n\uD83D\uDCE6 状态快照：docs/.pdlc-state/&lt;feature-id&gt;.json\n\uD83D\uDC49 下一步：/pdlc-&lt;next_step&gt;\n   （如果有分叉）或 /pdlc-&lt;alt&gt;（条件：&lt;选择依据&gt;）\n</code></pre>\n<p><strong>规则：</strong></p>\n<ul>\n<li>主流程命令（写状态机的命令；下一跳见正文里「本命令的状态机取值」）必须显式输出\"下一步\"，不可省略</li>\n<li>工具型命令（Layer 3）可以没有 <code>next_step</code>，此时输出 <code>\uD83D\uDC49 下一步：（本次流程结束，无后续）</code></li>\n<li>分叉场景必须说明<strong>选择条件</strong>，例如\"若需补充测试用例 → <code>/pdlc-tdd</code>；若测试已齐 → <code>/pdlc-review</code>\"</li>\n</ul>\n\n<p><strong>本命令的 handoff 输出：</strong></p>\n<pre><code>✅ UI/UX 专业设计文档 完成\n\uD83D\uDCE6 产出：docs/02_design/ui-ux/&lt;功能ID&gt;-&lt;功能名&gt;-ui.md\n\uD83D\uDC49 下一步：（本次流程结束，无后续）\n</code></pre>\n","files":[{"path":"SKILL.md","sizeBytes":8565,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-23T18:55:13.305167Z","sha256":"6B744167A8D33738EB3FAA7699980F1C93CB2B9D679A67DA96F86FFA57700A19","sizeBytes":4505},"review":null,"source":{"repositoryUrl":"https://github.com/kanfu-panda/pdlc-skills","path":"skills/pdlc-ui-design-pro","license":"MIT","commit":"3cd2f02ab45cb1cd48962e0f298ae4dad9fb442f","subtreeSha":"A31CA75F7FCABCE63E2A63904AE672B500143BCE99D47B46FC77186E732C61D0","lastSyncedAt":"2026-09-23T18:54:21.123477Z"},"reviewedAt":"2026-09-23T18:57:10.076432Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/kanfu-panda/pdlc-skills/tree/main/skills/pdlc-ui-design-pro"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install kanfu-panda-pdlc-skills@llmmart"},{"target":"git","command":"git clone https://github.com/kanfu-panda/pdlc-skills.git"}]}