dev-gray-deep-verifylisted
Install: claude install-skill ayouaiyouwei-arch/claude_pm_workflows
# Skill · dev-gray-deep-verify
> 🔧 项目无关骨架版 · 项目专属配置见 PROJECT-PROFILE.md · 由 /init-project 填充
>
> 一句话定位:升 .done 后,PM 端**独立**到 dev 灰度环境真 click 一次确认功能落地,不依赖研发回归脚本(其本地代码门常因 PM 机器环境挂)。
## 触发条件
- 包从 `.draft / .active → .done`(含手动追认 / promote-deliverable B-后置)
- 用户 `/dev-verify <包名>`
- 周期性 `/dev-verify --all-pending-done`
## 核心能力
### 1. 通用 UI 登录 helper
`lib/dev-login.cjs`:
- 抓 DOM 上的 captcha `<img>` → 解码 → 提取验证码 → 填表 → 提交
- 多平台支持(按项目实际平台数 · admin / big-screen / 其他端)
- 默认假设 captcha 是 **SVG 明文渲染**(`<text>` 标签内含明文)—— **如你项目 captcha 不是 SVG,改 `decodeCaptchaFromDataUrl` 为图片 OCR 或 API 登录+cookie 持久化**
### 2. 标准化 helper
`lib/deep-verify-helpers.cjs`:
- `shot(page, dir, name)` / `fullPageShot(...)` 截图归档
- `recordApiCalls(page, urlSubstr)` 录 API 请求 · 含 filter/count 工具
- `checkElements(page, queries)` 批量查 selector
- `extractTitleFonts(page)` 抓标题字体(视觉一致性证据)
- `startErrorCollector(page)` console error / pageerror 收集器
### 3. 每包 check 模板
`templates/package-check-template.cjs` —— 每个新包从这里派生:
```js
const PKG_CHECKS = [
{
pkg: '<包名>', name: '<中文功能名>',
platform: 'admin', // 你项目实际平台
route: '/#/<你项目的路由>',
elements: { keyEl: 'button:has-text(\"...\")', ... },
expectApiPaths: ['/api/v1/your-endpoint'],
customCheck: async (page) => ({ ... }), // 可选 · 自定义检查
},
];
```
## 项目接入(/init-project 完成后由 PM 配)
新项目首次用本 skill 前,要在 `PROJECT-PROFILE.md § 六 验收环境` 填好:
- dev 灰度 base URL
- 测试账号 + 密码
- 平台清单(你项目有哪些端 · 各自 base URL)
- captcha 类型(