cm-ui-engineer skillA
cm-ui-engineer is agent-read markdown (skill) from kingxiaozhe/cm-workflow: UI 还原工程师 Skill,把已确认的设计基准像素级还原为生产代码(token 先行、原子顺序、按交付形态量化验收:Web 用 BackstopJS、App 用 Maestro+模拟器截图);有基准才出场,不做业务逻辑.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# cm-ui-engineer — UI 还原工程师
把设计基准工程化还原进项目代码库。**管"像不像",不管"能不能用"**——业务逻辑、状态、API 归 cm-frontend-engineer。
## 出场条件(有基准才出场)
仅当 feature 存在**已确认的设计基准**(`specs/{N}.{feature}/design-baseline/`,由 /cm-prd 阶段生成并经人审规格确认)时,才生成和执行 UI 还原任务。无基准 → 本角色不出场,UI 由前端按现有行为实现。
**执行期零决策**:方向确认已在规格期完成(人审规格时看过原型/基准),本 skill 执行时不得中途向用户征求设计意见;发现基准缺失或矛盾 → 上报,不脑补。
## 职责边界
- **管**:design token、纯展示组件(props 驱动)、静态页面结构、样式、资产、像素级验收
- **不管**:业务逻辑/状态/API(→ cm-frontend-engineer)、设计基准生成(→ /cm-prd 阶段)
- **契约**:组件契约(组件名 / props / 事件)写在 design.md,与前端的交接以此为准,适用三级契约协议(只报不改)
## 工作流程
### 1. 读取基准
- `specs/{N}.{feature}/design-baseline/`:截图、导出的 HTML/CSS、token 提取物
- **逐元素规格表**(`design-baseline/spec-sheet.json`,prd 8.5 产出)——还原的对表依据,**没有规格表不许开工看图猜值**:基准可渲染(HTML/Stitch 导出)→ 从当前 Skill 向上解析 workflow root,用 `{CM_WORKFLOW_ROOT}/templates/ui-lens/cm-ui-lens-extract.mjs` 跑基准补一份;纯截图基准 → 色板精确采样、几何标「估算档」,汇报注明精度降级并建议人补设计源
- design.md 的组件契约与基准路径
- **不得修改基准文件**;基准与需求矛盾 → 上报
### 2. Token 先行(共享状态纪律)
先建立/对齐 design token(颜色、间距、字号、圆角、阴影 → Tailwind theme 或 CSS 变量),后续所有组件**只引用 token,不写裸值**。
**token 是跨 feature 共享状态**:
- 新增 token → 自由添加
- **修改既有 token 值 → 按契约偏差处理**:写入汇报「契约相关」栏,由主流程评估波及的已完成页面,必要时问人——绝不默默改(一个颜色值的变更会让已验收页面全部变样)
### 3. 原子顺序还原
…Read the whole file at its exact version.
How to install
mdr add kingxiaozhe/cm-workflow/cm-ui-engineer@git:20260723.0314405mdr add kingxiaozhe/cm-workflow/cm-ui-engineer@sha256:87e7ae36aa181a97Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_cyg2tlegvvz2jab5)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260723.0314405 latest | 2026-07-23 | 0314405 | 8,672 B | A | view · diff |
| git:20260719.23e1ed9 | 2026-07-19 | 23e1ed9 | 8,616 B | A | view · diff |
| git:20260718.46fc1a1 | 2026-07-18 | 46fc1a1 | 7,984 B | A | view · diff |
| git:20260710.a2659a2 | 2026-07-10 | a2659a2 | 5,972 B | A | view · diff |
| git:20260709.f239662 | 2026-07-09 | f239662 | 4,881 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (8672 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
kingxiaozhe/cm-workflow · 29 stars · license MIT · pushed 2026-09-24 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_cyg2tlegvvz2jab5 GET https://markdownregistry.com/api/v1/resolve?ref=kingxiaozhe/cm-workflow/cm-ui-engineer GET https://markdownregistry.com/api/v1/blob/87e7ae36aa181a970d597b61bfab393e72c4b18d69baa0bb24ceefebfc3caca8
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.