安装与下载
1 ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install toilet-triage-ranger
2 手动安装
将技能文件夹复制到以下位置之一
~/.openclaw/skills/
{'/skills/'}
优先级:工作区 › 全局 › 内置
3 提示词安装
将此提示词复制到 Openclaw 即可自动安装。
请帮我使用 Clawhub 安装 skill-toilet-triage-ranger。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
基本信息
toilet-triage-ranger
安装指南
- ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install toilet-triage-ranger - 手动安装
将技能文件夹复制到以下位置之一
全局模式
~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置 - 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 toilet-triage-ranger。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
下载技能 (.zip)
什么是
马桶故障分诊员是 Openclaw Skills 中的一款工具,可用于排查马桶持续流水、无故自动补水和冲水无力等问题。它会根据症状列出可能原因并排序,然后建议进行染色测试或抬起浮球等确认测试。针对不同组件的说明涵盖止水皮、进水阀、链条和法兰螺栓。
该技能还会估算浪费的水量和费用,帮助你决定自行维修还是联系水管工,并提供有关止水阀和陶瓷部件的安全指导。它使用 Python 标准库离线运行,专注于家庭马桶问题,不涵盖污水倒灌、洁具开裂或供水管冻结和爆裂等情况。
应用场景
马桶持续流水,或每隔几分钟就自动补水。
冲水间隔时听到嘶嘶声或滴水声,需要找出可能的原因。
冲水无力、不彻底,或水位先升高又回落,却没有正常冲净。
想在决定何时处理之前,估算浪费的水量和费用。
需要更换止水皮或进水阀、调整链条或处理松动法兰螺栓的分步指导。
想通过后续染色测试确认维修是否成功。
作为租客,需要记录问题及其紧急程度并告知房东。
发现马桶底座周围有水,需要判断可能是蜡圈问题还是水箱问题。
工作原理
确定症状类别,例如 runs-constantly 或 phantom-refill,然后运行诊断命令,查看排序后的可能原因和确认测试。
使用 waste 命令估算漏水的严重程度和用水费用。提供流速,还可选填水价和货币;使用水表检查来核实实际用水量。
使用 decide 评估紧急程度,并判断是自行维修,还是关闭水源并联系水管工。--renter 选项可提供针对租客的指导。
使用 fix 选择受影响的组件,以获取相应的维修流程、工具和注意事项。止水皮维修流程约需 10 分钟;进水阀维修流程约需 30 分钟。
如果冲水无力或不彻底,请参照冲水无力故障排查指导,查看喷射孔、水位和通气等原因的排序结果。
按照建议进行染色测试以复查维修效果,并确认水箱水位线、链条松弛度和地面状况。
配置指南
该技能说明为离线运行,且仅使用 Python 标准库;未提及安装软件包或访问网络。请在技能目录中运行脚本,文档中提供的路径为 scripts/toilet_triage.py。
python3 scripts/toilet_triage.py diagnose --symptom runs-constantly
python3 scripts/toilet_triage.py waste --rate running --price 4.1 --currency EUR
python3 scripts/toilet_triage.py decide --symptom phantom-refill --renter
python3 scripts/toilet_triage.py fix --part flapper
python3 scripts/toilet_triage.py fix --part fill-valve
触碰水箱组件之前,如果可以安全操作,请先关闭供水。不要强行转动卡住的止水阀;请遵循该技能提供的应急处理指导,或联系水管工。不要过度拧紧陶瓷部件上的连接件。
数据架构
该技能使用精简的元数据与脚本结构,而非持久化的家庭数据库。
项目 用途
SKILL.md 技能说明、工作流程、安全须知、示例和验证清单。
scripts/toilet_triage.py 文档中诊断、浪费估算、决策和维修命令所引用的 Python CLI。
Frontmatter 元数据 name、description、version、author、license,以及 plumbing、toilet、repair、home、water 和 DIY 等标签。
CLI 接受各命令专属的参数:diagnose 接受症状;waste 接受流速,也可以接受水价和货币;decide 接受症状,也可以接受 --renter;fix 接受部件。该技能提供终端指导和计算,不会生成报告或保存数据文件。可通过家庭水表核对用水浪费估算。
高级特性
根据症状对可能原因排序,并配合染色、抬起浮球和听声检查等确认测试。
按日、月和年计算估算用水量和费用,并可选填水价和货币。
提供紧急程度评估,以及自行维修或联系水管工的决策指导,并考虑租客的情况。
针对止水皮、进水阀、链条和法兰螺栓提供专门的维修流程,包含所需工具和常见问题。
涵盖冲水无力故障排查,包括水位、喷射孔和通气情况。
提供止水阀卡住时的应急处理方案,并明确说明哪些问题需要水管工处理。
使用 Python 标准库离线运行,工作流程轻量且不依赖网络服务。
name: toilet-triage-ranger
description: "Use when a toilet runs constantly, refills by itself, phantom-flushes, or the flush is weak and you're staring into the tank wondering what to touch — symptom-based diagnosis tree (flapper vs fill-valve vs chain vs flange), exact water-waste math from your meter (a stuck flapper wastes 950-9500 L/day, doubling a household's water use), safe DIY-vs-shutoff decision, the 10-minute flapper replacement protocol, weak-flush causes ranked, and a shutoff-valve-stuck rescue path."
version: 1.0.0
author: Denis Voronin
license: MIT
tags: [plumbing, toilet, repair, home, water, diy]
Toilet Triage Ranger
Overview
A running toilet is the highest-ROI household repair most people postpone: a stuck-open flapper passes 200+ gallons a day silently — that's 2-4× a typical household's entire indoor use, flowing while you sleep. And the diagnosis is easier than people fear: the tank is just a container of clean water with three parts that fail in known ways.
This skill is the 2 AM tank-staring companion:
diagnose — symptom → ranked causes → which part → test that confirms it (dye test, lift-the-float test, listening protocol).
waste — waste math from your situation (drip/ trickle/ running): liters and money per day/month/year, with meter-verification steps.
decide — DIY now / DIY this week / water-off + plumber, based on symptom class and your answers.
fix — step protocols per part: flapper (10 min), fill valve (30 min), chain, flange bolts; tool list; what NOT to do.
weak — weak/partial flush causes ranked (jet holes, water level, venting) with the trap-siphon explanation.
Pure stdlib, offline. Water is clean in the tank; the only real risks are over-tightening porcelain (crack = new toilet) and the stuck shutoff valve.
When to Use
Toilet runs continuously, or refills itself every few minutes (phantom flush)
Hissing/trickling sounds between flushes
Weak or incomplete flush, water rising then settling without going down
Post-repair verification (did the dye test clear?)
"How much water is this actually wasting?" before deciding urgency
Rental/landlord situations: document waste + urgency for the notice
Don't use for: sewage backup into the bowl (that's a main-line problem — plumber), tank or bowl cracks leaking water onto the floor (water supply off, replace toilet), or frozen/burst supply lines.
The Parts Map (60-second orientation)
[fill valve tower] [overflow tube]
| |
[float] ---+ | water line ↑
[flapper] ------hinge------ [flush valve seat]
| [chain] to flush handle
Flapper (rubber seal at tank bottom): lifts to flush, drops to seal. Fails by warping/ mineral buildup → tank drains to bowl slowly → phantom refills. #1 failure by far.
Fill valve (tower with float): refills tank after flush, stops at set height. Fails by not shutting off (overflow rattle) or filling slowly/noisily.
Overflow tube: the tank's safety drain — water that rises too high dumps here into the bowl. Constant trickle into it = fill valve set too high or not shutting off.
Chain: too tight = flapper can't seal; too loose = doesn't lift fully; kinked = double-flush or no flush.
How It Works — Numbered Steps
Identify the symptom class, then run the tree:
python3 scripts/toilet_triage.py diagnose --symptom runs-constantly
python3 scripts/toilet_triage.py diagnose --symptom phantom-refill
Quantify what the silence is costing:
python3 scripts/toilet_triage.py waste --rate running --price 4.1 --currency EUR
python3 scripts/toilet_triage.py waste --rate trickle
Decide urgency and who fixes it:
python3 scripts/toilet_triage.py decide --symptom phantom-refill --renter
Execute the part-specific protocol:
python3 scripts/toilet_triage.py fix --part flapper
python3 scripts/toilet_triage.py fix --part fill-valve
Verify with the dye test afterward (in fix output), and for weak flush: weak command.
Waste Math (why this is urgent-adjacent)
Flow through a stuck flapper or running fill valve, by severity:
Sound Est. flow Liters/day @ $4/kl (EUR-ish)
intermittent trickle 0.1 L/min 144 $0.58
constant trickle 0.4 L/min 576 $2.30
quietly running 1.5 L/min 2,160 $8.64
loud running 4 L/min 5,760 $23/day ≈ $700/yr
A "quietly running" toilet doubles a 2-person household's typical 11,000-14,000 L/month. Phantom refills every 10 min ≈ a stuck flapper: 3-5 L per event, 6-9 kl/month. Meter check (below) turns estimates into facts in 30 minutes.
Common Pitfalls
Over-tightening anything on porcelain. Snug + quarter-turn. Cracked tanks = new toilet. This is THE toilet-repair injury.
Replacing the flapper without cleaning the seat. Mineral scale under the new flapper = same leak. Scour the seat with a scrubbie (not steel wool).
Chain tension ignored. ½-1 cm of slack. Too tight: flapper drops but sits propped → constant run. Too loose: weak flush.
Tank bricks / bricks in the tank "to save water." Disintegrate, jam the flapper. If saving water: dual-flush valve or fill-cycle diverter, not bricks.
Bleach tablets in the tank. Chlorine attacks rubber — flappers and seals die in months. Bowl-side only, never tank.
Forcing a stuck shutoff valve. Snap the handle → spray. Fix: gentle work loose, or wrench on the SUPPLY after closing upstream; see decide output.
Mistaking bowl-refill vs tank-refill sounds. The refill after flush refills BOTH (the bowl via the overflow tube) — a few seconds is normal; minutes is not.
Ignoring the wax ring when the floor is wet. Water AROUND the base isn't the tank's fault — rocking toilet compresses the ring: that's the flange-bolt protocol, and it's a different job.
Example
$ toilet_triage.py diagnose --symptom phantom-refill
SYMPTOM: tank refills by itself every few minutes
- [70%] FLAPPER not sealing (warped/ mineral/ chain propping it)
CONFIRM: dye test — food coloring in tank, wait 15 min NO FLUSH;
color in bowl = flapper passing water.
FIX: fix --part flapper (10 min, $8) - [20%] Water level set ABOVE overflow tube top
CONFIRM: waterline at/over the tube? trickle into tube?
FIX: bend float arm down / adjust screw 1-2 cm - [10%] Fill valve not shutting off (internal diaphragm)
CONFIRM: lift float arm fully — does water STOP? if not → valve
FIX: fix --part fill-valve (30 min, $15)
$ toilet_triage.py waste --rate running
quietly running ≈ 1.5 L/min → 2,160 L/day → ~$8.6/day at $4/kl
≈ 65 kl/month — your whole household usually uses 11-14.
VERDICT: fix today; it's a $8 flapper, not a plumber call.
Verification Checklist
Symptom class identified; dye test run where indicated
Waste quantified (and meter-verified if bill-anxiety is high)
Water off at supply before touching parts
Correct part protocol followed; seat cleaned before new flapper
Chain slack ½-1 cm; waterline 1-2 cm below overflow top
Dye test RE-RUN after repair: clear bowl after 20 min
Floor around base dry (else: wax ring job, different protocol)
保险理赔指南针
人体工学办公桌校准器