Install
openclaw skills install xz01-dev-skillUse when 用户提到“xz01规范”时必须命中本技能;xz01规范=xz01-dev-skill。用于 Hermes + Claude Code 围绕用户现有 OpenClaw/xz01 模板资料进行角色编排、开发学习范围、测试/规范分工,并严格将 /root/.openclaw 作为只读学习资料库;编码修复交给 Claude dev,测试输出写入 /www/wwwroot/www.900az.com,彻底验证通过的模板按编号压缩到 /root/.hermes/workspace/xz01/。
openclaw skills install xz01-dev-skillxz01规范 = xz01-dev-skill
当用户提到以下中文触发词时,必须优先加载并遵循本技能:
references/lanhu-mcp-installation.md — recommended Docker Compose + HTTP MCP setup for dsphper/lanhu-mcp, including Hermes native MCP and Claude Code connection examples.references/demo-xz01-may-2026-source-update.md — read-only learning notes from the May 2026 demo_xz01 source update, including the user-confirmed rule that front-end PC/mobile search is canceled/weakened and should not be a default QA failure.references/xz01-template-factory-architecture.md — architecture notes for upgrading the current main/dev/test/rule loop into a 60-template dual-end xz01 automation factory with corpus ingestion, DB/route learning, planning, rendering, validation, repair loops, rule review, and packaging.references/hermes-native-xz01-first-run.md — first-run pattern for building a safe Hermes-native xz01 prototype under /root/.hermes/workspace/xz01-factory, including minimal output shape, static validation checklist, and prototype-vs-production boundary.references/hermes-native-xz01-live-deploy-validation.md — live temporary deployment pattern for /www/wwwroot/www.900az.com/public/themes/default/, including backup, cache clearing, HTTP/PHP/static/browser/AI validation, fallback data blocks, trace-overlay hiding, and screenshot artifact paths.references/run-0002-visual-repair.md — session-specific repair notes for making a temporary xz01 homepage more demo-like after AI visual review: PC density/card-count fixes, topic-background cleanup, desktop-vs-mobile-UA validation, true 390px mobile screenshots, right-side alignment/overflow probes, long mobile screenshots for lower modules, and viewport clipping remedies.references/session-2026-05-16-main-role-boundary-correction.md — user correction that xz01 coding/HTML/CSS/template fixes must be delegated to Claude Code dev even when the fix is small or obvious; main must not directly patch implementation files.references/session-2026-05-16-pc-gap-dev-test-rule-loop.md — concrete example of handling a small PC quick-topic spacing defect through Claude dev → independent test screenshot/AI review → rule audit, including constrained dev prompt shape and test acceptance criteria.references/session-2026-05-16-right-sidebar-height-balance.md — follow-up lesson from repeated PC gap corrections: if a lower section is pushed down by a taller right sidebar, reduce right-side content height (e.g. 专题推荐 4→3) instead of only compressing margins.references/session-2026-05-16-packaging-gate-runtime-list-detail.md — user correction after an invalid package: every dev change must clear /www/wwwroot/www.900az.com/runtime/ before validation, and packaging is forbidden until homepage/list/detail rendering, jQuery, trailing-slash links, data images, and dynamic data gates all pass.references/session-2026-05-16-no-php-controller-template-dev.md — user correction that xz01 template development must never modify PHP/backend/controller/model/config files; dev scope is theme templates/assets only unless the user explicitly authorizes a non-template backend task.references/session-2026-05-16-theme-only-data-links-search.md — theme-only repair notes after backend restoration: restore data with existing template tags, make slash-ending column links absolute with the correct PC/mobile host, avoid double-prefix domains, keep PC search out of the top center, fix missing detail templates in the theme, and keep test artifacts out of /root/.openclaw.references/session-2026-05-16-max-turns-task-splitting-validation-scripts.md — user correction for repeated max_turns and long-running tasks: do not raise max-turns, split work to minimum units, use fixed validation scripts, do not enable the no-re-exploration rule for now, time-box dev/test tasks, use Claude interactive/tmux only as a supervised workbench for a sequence of small tasks, and prioritize stability with a single serial queue unless the user explicitly re-enables concurrency.references/session-2026-05-16-demo-xz01-systematic-validation.md — user correction that demo_xz01 must be learned systematically: dual-end list/detail templates must exist and render, pagination variables/data rendering must follow demo patterns, runtime cache must be cleared after every dev change, PC+mobile static/HTTP/browser/screenshot/AI gates are mandatory before packaging, and the validation scripts are part of this skill.This skill is for operating a Hermes + Claude Code workflow around the user's existing OpenClaw/xz01 material. The existing OpenClaw tree is a read-only learning corpus, not a place to write configs, skills, memory, cron state, sessions, templates, or generated reports unless the user explicitly authorizes a specific write.
Authoritative read-only boundary:
/root/.openclaw/ and every subdirectory = read-only learning material
Default runtime division:
Hermes current session = main / dispatcher / final reporter
Claude Code = dev / implementation worker
Hermes independent test role = test / validation worker
Hermes independent rule role = rule / process and standard reviewer
Use this skill when the user asks about:
/root/.openclawDo not use this skill to modify /root/.openclaw files. Treat them as reference-only.
All roles must obey:
Do not write to /root/.openclaw/
Do not patch /root/.openclaw/
Do not update /root/.openclaw/openclaw.json
Do not modify /root/.openclaw/workspace/*
Do not modify /root/.openclaw/agents/*
Do not modify /root/.openclaw/cron/*
Do not modify /root/.openclaw/memory/*
Do not modify /root/.openclaw/flows/*
Do not modify /root/.openclaw/workspace/demo_xz01
Allowed operations on /root/.openclaw:
Template-development backend boundary:
For xz01 template development, NEVER modify PHP/backend/controller/model/config files.
Forbidden paths include: application/**/*.php, config/**/*.php, route/**/*.php, thinkphp/**/*.php, vendor/**/*.php, and any controller/model/service/backend PHP file.
Allowed template scope by default: public/themes/<theme>/** only (HTML templates, CSS, JS, theme assets).
If required data/routes are unavailable through existing backend/template tags, report the limitation; do not patch PHP to make a template pass.
Any package created after PHP/controller/config changes is invalid until those backend changes are reverted and the template is revalidated with theme-only changes.
If writes are required, write only to:
~/.hermes/skills/...) when creating/updating Hermes skills/www/wwwroot/www.900az.com for all test-side outputs, validation artifacts, screenshots, reports, and website verification outputs unless the user explicitly changes it/root/.hermes/workspace/xz01/ for numbered zip packages of templates that have fully passed verificationPackaging rule for verified templates:
Only templates that are thoroughly verified as passed may be packed.
Package verified templates as numbered compressed archives under /root/.hermes/workspace/xz01/.
Do not store final verified template packages under /root/.openclaw/.
Hard packaging gate:
- After every add/modify/delete development change, delete all directories/items under `/www/wwwroot/www.900az.com/runtime/` before validation.
- Do not package until PC/mobile homepage, software/game list pages, and detail pages are generated/available and render correctly from existing database routes; list/detail pages must not be merely referenced or assumed.
- Do not package if rendered pages contain missing header/head jQuery loading, no-slash column URLs, malformed duplicate-host absolute URLs, `cms/page/index/id` / `cms/Page/index` / `mobile/Page/index` errors, prohibited filler SVG data images, mostly `暂无...数据` placeholders, or zero real content/detail links while DB records exist.
- For every rendered column/category URL whose path ends with `/`, output an absolute URL with protocol and the correct host: PC uses `https://www.900az.com/.../`, mobile uses `https://m.900az.com/.../`. Normalize helper output first so an already-absolute URL is not prefixed again.
- PC header/search layout gate: the PC search box must never be placed at the top center of the header. Use a right-side, below-header, or otherwise non-center placement. Mobile is evaluated separately.
| Role | Default assignee | Purpose | May write /root/.openclaw? |
|---|---|---|---|
| main | Hermes current session | receive requests, split work, dispatch, supervise, final report | No |
| dev | Claude Code | implement code/template changes in authorized workdir | No |
| test | independent Hermes test role/session | screenshots, AI visual analysis, lint/HTML/CSS/template validation | No |
| rule | independent Hermes rule role/session | process audit, rule review, skill/spec suggestions | No |
Main learns coordination and boundaries, not implementation.
Read-only sources:
/root/.openclaw/workspace/IRON_RULES.md/root/.openclaw/workspace/AGENTS.md/root/.openclaw/workspace/MEMORY.md/root/.openclaw/workspace/error.md/root/.openclaw/workspace/DREAMS.md/root/.openclaw/workspace/scripts/flow-controller.js/root/.openclaw/workspace/scripts/check-flow-stuck.js/root/.openclaw/workspace/scripts/violation-tracker.js/root/.openclaw/openclaw.json/root/.openclaw/cron/jobs.json/root/.openclaw/agents/*/sessions only when targeted history/debug context is needed/root/.openclaw/memory/*.sqlite only when targeted memory inspection is explicitly neededMain must learn:
/root/.openclaw is read-onlyMain must not:
Dev is Claude Code by default. Dev learns implementation standards and writes only in an authorized non-OpenClaw workdir.
Read-only sources:
/root/.openclaw/workspace/IRON_RULES.md/root/.openclaw/workspace/AGENTS.md/root/.openclaw/workspace/TEMPLATE-SPEC.md/root/.openclaw/workspace-dev/MEMORY.md/root/.openclaw/workspace-dev/skills/root/.openclaw/workspace-dev/memory/root/.openclaw/workspace/demo_xz01/root/.openclaw/workspace/memory/team/project targeted template-development notesDev must learn:
include, foreach, if)is_hide=0 and status=1demo_xz01 nuance: front-end PC/mobile header search forms are no longer mandatory by default after the May 2026 source update; do not re-add or require full search unless the specific template/design explicitly includes itzyxz_module entirely or inline sidebar/recommendation blocks instead of using fixed _side_*.html partials; preserve the specific template's structure instead of forcing old module inventoriesgetPcPageData / getMobilePageData and $page_code|raw or an explicitly confirmed equivalent./themes/default/common_cms/common/jquery.min.js; load jQuery from the correct PC/mobile asset path. Include UIkit and Swiper only when needed, using the correct PC/mobile asset CSS+JS pair.Dev must not:
/root/.openclawdemo_xz01application/**/*.php, config/**/*.php, routes, ThinkPHP core, vendor, backend services). Template tasks are limited to public/themes/<theme>/** unless the user explicitly authorizes a non-template backend task.Dev output should include:
Test is an independent Hermes role/session. It validates; it does not fix.
Read-only sources:
/root/.openclaw/workspace/IRON_RULES.md/root/.openclaw/workspace/AGENTS.md/root/.openclaw/workspace/TEMPLATE-SPEC.md/root/.openclaw/workspace-test/MEMORY.md/root/.openclaw/workspace-test/skills/root/.openclaw/workspace-test/scripts/root/.openclaw/workspace-test/skills/template-qa/scripts/root/.openclaw/workspace/demo_xz01/root/.openclaw/workspace/memory/team/project targeted testing/screenshot/AI-vision notesTest must learn:
demo_xz01 nuance: missing PC/mobile header search form is not a default failure because the May 2026 source update cancels/weakens front-end dual-end search; only fail search when a required search element in the specific design/template is brokenTest must not:
/root/.openclawTest output should include:
/www/wwwroot/www.900az.com/www/wwwroot/www.900az.comAll test-side artifacts must be written under /www/wwwroot/www.900az.com unless the user explicitly changes the output location.
Rule is an independent Hermes role/session. It audits workflow and proposes/maintains durable rules. Under the read-only boundary, it must not update OpenClaw files unless explicitly authorized.
Read-only sources:
/root/.openclaw/workspace/IRON_RULES.md/root/.openclaw/workspace/AGENTS.md/root/.openclaw/workspace/TEMPLATE-SPEC.md/root/.openclaw/workspace-rule/MEMORY.md/root/.openclaw/workspace-rule/skills/root/.openclaw/workspace-rule/memory/root/.openclaw/workspace/skills/root/.openclaw/workspace/memory/team/project/root/.openclaw/workspace/memory/violations/root/.openclaw/workspace/error.mdRule must learn:
Rule must not:
/root/.openclawRule output should include:
When the user says to “继续” after a first xz01 prototype or says the page is not close enough to xz01_demo, do not stop at a functional page. Run an AI-vision-driven repair loop until the visible defects are fixed.
Workflow:
demo_xz01 target as a high-density download-station portal, not a sparse landing page./www/wwwroot/www.900az.com/runtime/ after every add/modify/delete development change and before any validation. Do this before rendering screenshots or HTTP checks so stale ThinkPHP cache cannot hide template/controller changes.target="_blank", and screenshots.
https://www.900az.com/ with a desktop UA.https://m.900az.com/ with a real Android/iPhone Mobile User-Agent. Do not validate m.900az.com using the same desktop/PC browser access method as PC.Common repairs from run-0002:
xz01_demo, reduce excessive modern-card spacing and increase list/module density.https://m.900az.com/ and with DevTools mobile emulation at multiple CSS widths such as 390px and 430px.overflow-x:hidden.顶) button visually crowds or overlaps content, prefer a non-intrusive document-flow placement near the page bottom with safe-area spacing over a fixed floating overlay.max-width:390px; it can pass a 390px screenshot but leave a blank strip on wider real phones. Under phone breakpoints prefer width:100%; max-width:100% plus safe padding/grid rules, then verify both 390px and 430px.www.900az.com, mobile with real Android/iPhone UA on m.900az.com; do not share access mode.documentElement.scrollWidth and overflowing elements, then unify .xz-wrap, hero grid, sidebar, lower sections, and card grids to the same right boundary.Detailed notes: references/run-0002-visual-repair.md.
For xz01 work that needs Lanhu requirements/designs, the Lanhu MCP service is installed and managed outside /root/.openclaw:
references/lanhu-mcp-discovery-notes.md for the currently exposed tools and the no-account-wide-project-list limitation.Install path: /root/.hermes/workspace/lanhu-mcp
Docker container: lanhu_mcp_service
HTTP MCP endpoint: http://127.0.0.1:8000/mcp?role=Developer&name=HermesMain
Hermes MCP server name: lanhu
Operational rules:
/root/.hermes/workspace/lanhu-mcp to manage the service./root/.hermes/workspace/lanhu-mcp/.env; do not write them to /root/.openclaw.mcp_servers.lanhu in /root/.hermes/config.yaml.export http_proxy=http://192.168.1.9:1080
export https_proxy=http://192.168.1.9:1080
export all_proxy=socks5://192.168.1.9:1080
Verification commands:
cd /root/.hermes/workspace/lanhu-mcp
docker compose ps
curl -fsS http://127.0.0.1:8000/health
hermes mcp test lanhu
Discovered Lanhu tools include page analysis, design analysis, slice extraction, team messages, and member listing.
Do not port OpenClaw-only runtime mechanisms into Hermes workflow design.
OpenClaw-specific concepts such as sessions_send(sessionKey: agent:dev:main, ...), /root/.openclaw/agents/*/sessions, and the OpenClaw flow-controller.js state machine are read-only legacy/reference material for this workflow. They must not be treated as Hermes-native execution primitives.
Hermes-native replacements:
| OpenClaw concept | Hermes-native replacement | Use case |
|---|---|---|
sessions_send to dev/test/rule sessions | delegate_task | Short synchronous subtasks; parent waits for result |
| Persistent role sessions | Hermes profiles + hermes kanban | Durable multi-worker queues and role separation |
flow-controller.js single JSON state | Kanban board / factory SQLite queue | Multi-task durable workflow state |
| OpenClaw cron progress monitor | Hermes cronjob / hermes cron | Scheduled watchdogs and periodic reports |
| Manual subprocess role agents | terminal(background=True) or tmux-spawned hermes / claude | Long-running autonomous workers |
| Feishu-only role routing | Hermes gateway / WebUI / kanban notifications | User-facing delivery and status updates |
For xz01 automation, prefer a Hermes-native design:
Hermes main/orchestrator
-> xz01-factory queue/SQLite/Kanban task
-> dev worker: Claude Code or Hermes profile for implementation
-> renderer/test worker: deterministic scripts + independent Hermes/vision validation
-> rule worker: Hermes profile or main-side review task
-> packaging/reporting
Rules:
sessions_send unless an explicit OpenClaw compatibility bridge is installed and verified./root/.openclaw writable state.delegate_task for quick isolated checks, hermes kanban for durable multi-agent work, and deterministic scripts/SQLite queues for production xz01 factory state.hermes or claude processes via terminal(background=True)/tmux, or use Kanban dispatcher profiles./root/.hermes/workspace/xz01-factory, generate a prototype without touching production, run deterministic static validation, then report remaining production-validation steps. See references/hermes-native-xz01-first-run.md.User-specific rules for xz01 work after repeated max_turns interruptions and one task exceeding 50 minutes:
Do not solve this by increasing Claude Code max-turns.
Split all work into the smallest practical units.
Use fixed validation scripts.
Do not enable a hard "禁止重新探索" / no-re-exploration rule for now.
Stability first: do not use concurrency for xz01 template execution unless the user explicitly re-enables it.
Avoid long-running single tasks; time-box dev/test calls and split earlier.
Operational rules:
/root/.hermes/workspace/xz01-factory/tools/ whenever applicable, or the embedded skill copies under scripts/ when installing/reusing this skill:
xz01-runtime-clear.sh — clear /www/wwwroot/www.900az.com/runtime/ after every add/modify/delete and before validation.xz01-backend-baseline-check.sh — verify PHP/backend/controller/model/config scope was not modified for a template task.xz01-theme-diff-check.sh — inspect theme-only change boundaries.xz01-quick-http-gate.py — quick HTTP checks for key PC/mobile URLs.xz01-template-static-scan.py — scan template code for PC/mobile core template completeness, bad jQuery/UI resource paths, pagination-pattern gaps, malformed links, mobile target="_blank", and forbidden filler assets.xz01-full-url-scan.py — crawl same-host PC/mobile front-end URLs and fail on 5xx/ThinkPHP errors, malformed links, mobile blank targets, many empty placeholders, and zero-count software/game list pages.xz01-screenshot-core.sh — deterministic Chromium headless screenshots for core PC/mobile homepage, software/game list, and news list pages; use before AI visual review and copy artifacts into /root/.hermes/workspace/... for WebUI media.--max-turns task-appropriate, but do not raise it as the mitigation. If a task cannot complete without raising turns, it is too large and must be split.Main routes tasks by type:
| User request type | Route to |
|---|---|
| code/template development or repair | dev |
| screenshot, validation, visual QA, lint, functional checking | test |
| rule changes, process audit, durable lessons | rule |
| final synthesis and user-facing status | main |
When in doubt:
--max-turns setting as the fix for long tasks游戏活动), treat it as a new visible defect and repeat the loop rather than relying on the previous PASS专题推荐 from 4 entries to 3) before doing further margin-only tweaks; keep the sidebar structure intact and validate the resulting gap with screenshot/AI reviewDefault flow:
user → Hermes main → Claude dev → Hermes test
↘ fail → dev fixes → test repeats
pass → Hermes rule → Hermes main → user
Main should preserve role separation even if a task is small.
For Hermes-native xz01 workflow reports, do not use the old OpenClaw 10-column table unless the user explicitly asks for it. Use a concise xz01 report format instead:
## xz01 执行报告|<阶段/任务名>
**结论**:✅/⚠️/❌ 一句话状态
### 已完成
- ...
### 发现问题与处理
- 问题:...
- 处理:...
### 验证结果
- PC:...
- 移动端:...
- 静态检查:...
- AI视觉:...
### 产物
- 模板目录:...
- 报告:...
- 截图:MEDIA:/root/.hermes/... (不要用 /www 的媒体路径直接给 WebUI)
### 下一步
- ...
Media artifact rule:
/www/wwwroot/www.900az.com for website-side records./root/.hermes/workspace/... or another Hermes-allowed media location and reference that path with MEDIA:/absolute/path./www/... paths as WebUI media links because the WebUI media API may return 403 Path not in allowed location.Hermes should continuously improve this skill when actual workflow reveals gaps, but only within Hermes skill storage or another user-authorized non-OpenClaw location.
Patch this skill when:
Do not patch this skill for:
Before finishing a complex task that changed the workflow, check whether this skill needs a patch.
/root/.openclaw as a writable config home. It is read-only for this workflow unless explicitly authorized.application/**/*.php, config/**/*.php, routes, ThinkPHP core, models, services, or backend PHP to make a theme render. Use existing routes/template tags/data variables; otherwise report the limitation and keep work theme-only.cmf_url() may already return an absolute URL. Normalize before prefixing; do not produce https://www.900az.comhttps://... or https://m.900az.comhttps//....demo_xz01 is a sample corpus, not an editable/copy target./root/.openclaw. Treat /root/.openclaw as read-only; screenshots/reports should go under /root/.hermes/workspace/... for Hermes media or /www/wwwroot/www.900az.com for site-side records.Grep/Glob if the task requires locating selectors/files; otherwise permission denials can burn turns and trigger error_max_turns. If that happens, resume the same Claude session with the missing tools allowed, or ask for a no-edit completion summary before moving to test.Before reporting role orchestration status:
/root/.openclaw treated as read-onlypublic/themes/<theme>/** unless the user explicitly authorized backend work/www/wwwroot/www.900az.com/runtime/ before validationxz01-template-static-scan.py against the deployed/default theme or candidate themexz01-full-url-scan.py or equivalent browser/curl scan before packaging; no existing DB route checked returns 500/ThinkPHP errorgetPcPageData / getMobilePageData and $page_code|raw (or an equivalent confirmed project pattern), so missing pagination variables do not break pages such as /gzos//common_cms/common/jquery.min.js; UIkit and Swiper assets are included only when needed using the correct PC/mobile asset paths; column URLs that end with / are absolute with the correct PC/mobile host and are not double-prefixed; PC search is not top-center; no cms/page/index/id links; no prohibited filler SVG data images; mobile no target="_blank"; and real data/detail links are present when DB records exist