核心用法
xz01-dev-skill 是 Hermes 与 Claude Code 围绕 xz01 模板体系的专属开发规范,用于规范化角色编排、学习范围、测试分工及模板交付流程。
触发条件:用户提及「xz01规范」「xz01 规范」「Hermes+Claude xz01」「谁是 dev/test」「/root/.openclaw 只读」等关键词时必须命中。
角色分工:
- Main (Hermes):调度中心,负责任务拆分、委派与最终报告,不直接编码
- Dev (Claude Code):唯一编码执行者,仅在授权工作区(
/www/wwwroot/www.900az.com)修改模板 - Test (Hermes 独立会话):截图、AI 视觉分析、静态检查、功能验证
- Rule (Hermes 独立会话):流程审计、规则固化、技能更新建议
硬性边界:
/root/.openclaw及其全部子目录为只读学习资料库,禁止写入任何文件- 模板开发严禁修改 PHP/后端/控制器/模型/配置文件(
application/**/*.php,config/**/*.php,route/**/*.php等),仅限public/themes/<theme>/** - 测试输出写入
/www/wwwroot/www.900az.com,验证通过的模板按编号压缩到/root/.hermes/workspace/xz01/
核心规范:
1. 双端导航:PC 与移动端顶部导航必须成对按菜单数据渲染,禁止硬编码
2. 分页规则:非排行榜列表页数据超一页时,PC 用数字分页,移动端用「上一页/下一页」,必须照搬 xz01_demo 的 getPcPageData/getMobilePageData → $page_code → {$page_code|raw} 数据链
3. 资源图标化:App/游戏/应用资源项必须以卡片、图标网格或图文列表展示,禁止纯文本横排
4. 详情页混合模块:所有详情页右侧/底部必须混合游戏+应用+资讯/攻略模块
5. 视觉验收:必须整页截图+分段 AI 检查,禁止仅首屏截图即 PASS
6. 搜索弱化:PC 搜索禁止顶部居中,移动端搜索为紧凑放大镜样式,默认禁用功能行为
Karpathy 原则吸收:精准修改、目标驱动、简化实现、编辑前思考、以独立验证为准。
Hook-style 门禁:pre-dev/post-dev/pre-test/post-test/pre-package 五道关卡,防止越权写入、遗漏验证、非法打包。
显著优点
- 角色隔离清晰:彻底避免 Dev/Test/Rule 职责混淆,消除「自测自证」风险
- 只读边界强制:
/root/.openclaw的不可写入性被编码为硬性规则,防止污染学习资料库 - 规范即代码:分页、导航、图标化等规则具体到模板标签级别,可自动化检查
- 视觉验收完整:整页截图+AI 复检机制,避免首屏假象导致的漏检
- 超时恢复机制:Dev/Test 超时后先检查中间产物,拆分任务继续,不直接重跑或误判
- 技能自进化:用户纠正「这是规范」即触发 SKILL.md + references + 版本同步 + 自动发布
潜在缺点与局限性
- 串行队列效率:默认禁止并发 Dev/Test/Rule,大规模模板批量生产时可能成为瓶颈
- 无后端修改权:模板需求若依赖缺失的路由/数据字段,只能报告限制而非自行修补
- AI 视觉依赖:截图+AI 检查对长页面分段、Contact Sheet 生成有额外工具链要求
- Lanhu MCP 外置:设计稿联动需独立 Docker 服务,未内嵌于核心技能
- 版本同步繁琐:
SKILL.md/skill.json/_meta.json三文件版本必须手动审计同步
适合人群
- 需要严格分离开发与测试的模板工程团队
- 希望将口头规范转化为可执行技能的技术负责人
- 使用 ThinkPHP 模板体系、需维护 PC/移动双端一致性的开发者
- 追求可审计、可追溯交付流程的质量管控场景
常规风险
| 风险 | 说明 |
|------|------|
| 边界误突破 | 新手易在紧急修复时直接修改 `/root/.openclaw` 或 PHP 后端,触发无效包 |
| 分页伪实现 | 仅复制 `$page_code\|raw` 标签,未引入 `common_data/_list_*_common.html` 导致空分页 |
| 移动端域混淆 | 用 `www.900az.com` 390px 视口模拟代替 `m.900az.com` 真实域名,产生假阴性 |
| 导航硬编码回退 | 图方便直接写死「软件/排行/必备」等标签,未从 `get_nav_menu` 数据渲染 |
| 搜索功能残留 | 视觉弱化搜索时遗漏 `form action` 或 JS 绑定,导致功能未真正禁用 |
| 运行时缓存污染 | 开发变更后未清空 `/www/wwwroot/www.900az.com/runtime/`,验证看到旧结果 |
| 版本漂移 | 技能编辑后未同步三文件版本即发布,导致技能库元数据不一致 |