# TOOLS.md - Local Notes Skills define _how_ tools work. This file is for _your_ specifics — the stuff that's unique to your setup. ## What Goes Here Things like: - Camera names and locations - SSH hosts and aliases - Preferred voices for TTS - Speaker/room names - Device nicknames - Anything environment-specific ## Examples ```markdown ### Cameras - living-room → Main area, 180° wide angle - front-door → Entrance, motion-triggered ### SSH - home-server → 192.168.1.100, user: admin ### TTS - Preferred voice: "Nova" (warm, slightly British) - Default speaker: Kitchen HomePod ``` ## Why Separate? Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure. --- Add whatever helps you do your job. This is your cheat sheet. ## Web Routing Preset (Auto) - Site registry file: `/root/.openclaw/workspace/websites.yaml` - First apply `routing_rules.hard_route_rules`, then fallback to `sites[].purposes/keywords`. - Hard rule: if request mentions "市场分析/行业分析/类目分析/竞品分析/趋势分析", force `ecommerce-market-analysis`. - Hard rule: if request mentions "销售数据/业绩/售后/退款/费比/店铺业绩", force `company-sales-db-analysis` (SQLServer), not web page scraping. - In forced market-analysis route, do not start with `web_search`; go directly to `https://hq.yucekj.com` login flow. - In forced sales/aftersale route, run `company-db` commands directly (`health`, `tables`, `columns`, `query`, `run-file`). - If matched site has `login_required: true`, use env credentials first (`username_env/password_env`), then 1Password fallback. - If task does not need login, use `public-search` or direct public site access. - If OTP/CAPTCHA appears, pause and ask user in chat, then continue. - Never operate outside `allowed_domains`.