{"id":"fa1bb37f-7b9d-4a29-978a-f32e6c5cdb61","entityType":"agent","slug":"clawhub-chris-home-maintenance-os","name":"Home Maintenance Os","canonicalUrl":"https://www.xpersona.co/agent/clawhub-chris-home-maintenance-os","canonicalPath":"/agent/clawhub-chris-home-maintenance-os","generatedAt":"2026-10-11T20:59:02.107Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T16:11:40.991Z","emptyReason":null},"description":"Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appli... Skill: Home Maintenance Os Owner: chris Summary: Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appli... Tags: HVAC:1.0.0, appliances:1.0.0, contractors:1.0.0, home:1.0.0, latest:1.0.1, maintenance schedules:1.0.0 Version history: v1.0.1 | 2026-05-13T14:06:29.164Z | user v1.0.1 - Documentation cleanup. Frontmatter","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17f63svb641q2stekk1cmcdn183k4rq:home-maintenance-os","sourceUrl":"https://clawhub.ai/chris/home-maintenance-os","homepage":"https://clawhub.ai/chris/skills/home-maintenance-os","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/chris/home-maintenance-os","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/chris/skills/home-maintenance-os","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":40,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appli..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:11:40.991Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:11:40.991Z","emptyReason":null},"stars":null,"forks":null,"downloads":1031,"packageName":null,"latestVersion":"1.0.1","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:11:40.991Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T16:11:40.991Z","lastCrawledAt":"2026-10-11T16:11:40.991Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T16:11:40.991Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.1","createdAt":"2026-05-13T14:06:29.164Z","changelog":"v1.0.1 - Documentation cleanup. Frontmatter version quoted for CLI compatibility, added CHANGELOG.md. No behavior changes.","fileCount":14,"zipByteSize":15748},{"version":"1.0.0","createdAt":"2026-04-11T18:36:59.223Z","changelog":"Initial release of Home Maintenance OS – your all-in-one home asset and maintenance tracker. - Track home appliances, systems, and equipment across multiple properties. - Maintain detailed service histories, including dates, work done, contractors, and costs. - Build a contractor directory from your service providers and job history. - Set up and manage recurring maintenance schedules with automatic reminders. - Summarize spending and service records by appliance, contractor, or property.","fileCount":12,"zipByteSize":13823}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f63svb641q2stekk1cmcdn183k4rq:home-maintenance-os","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:59:02.105Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-chris-home-maintenance-os/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T16:11:40.991Z","emptyReason":null},"readme":"Skill: Home Maintenance Os\n\nOwner: chris\n\nSummary: Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appli...\n\nTags: HVAC:1.0.0, appliances:1.0.0, contractors:1.0.0, home:1.0.0, latest:1.0.1, maintenance schedules:1.0.0\n\nVersion history:\n\nv1.0.1 | 2026-05-13T14:06:29.164Z | user\n\nv1.0.1 - Documentation cleanup. Frontmatter version quoted for CLI compatibility, added CHANGELOG.md. No behavior changes.\n\nv1.0.0 | 2026-04-11T18:36:59.223Z | user\n\nInitial release of Home Maintenance OS – your all-in-one home asset and maintenance tracker.\n\n- Track home appliances, systems, and equipment across multiple properties.\n- Maintain detailed service histories, including dates, work done, contractors, and costs.\n- Build a contractor directory from your service providers and job history.\n- Set up and manage recurring maintenance schedules with automatic reminders.\n- Summarize spending and service records by appliance, contractor, or property.\n\nArchive index:\n\nArchive v1.0.1: 14 files, 15748 bytes\n\nFiles: CHANGELOG.md (1246b), evals/eval-01-log-service.md (1023b), evals/eval-02-retrieve-history.md (864b), evals/eval-03-maintenance-due.md (1027b), evals/eval-04-contractor-lookup.md (915b), evals/eval-05-multi-property.md (1435b), evals/eval-06-smart-defaults.md (895b), evals/eval-07-cost-summary.md (951b), evals/eval-08-proactive-nudge.md (1334b), evals/eval-09-json-persistence.md (1266b), README.md (1343b), skill-card.md (1997b), SKILL.md (14941b), _meta.json (138b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: home-maintenance-os\nversion: \"1.0.1\"\ndescription: Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appliance, HVAC system, water heater, contractor, repair, maintenance schedule, warranty, service call, or anything related to keeping a house running. Trigger on casual phrases too -- \"the AC guy came today,\" \"when did we replace the filter,\" \"who's our plumber,\" \"what's due for maintenance,\" or \"how much have I spent on repairs\" should all activate this skill. Supports multiple properties for homeowners managing more than one home.\nmetadata:\n  openclaw:\n    emoji: 🏠\n---\n\n# Home Maintenance OS\n\nYou are a home maintenance assistant that acts as a living record of everything in a home -- what's installed, who services it, what's been done, and what's coming up. You help homeowners stop losing track of warranties, service dates, contractor info, and maintenance schedules.\n\nYou support multiple properties. If the user hasn't specified a property yet, ask which home they're referring to (or let them set a default). Once a property context is established, assume it until told otherwise.\n\n---\n\n## Data Persistence\n\nAll home data is stored in a structured JSON file called `home-data.json` in the skill's data directory. This file is the single source of truth and must be read at the start of every interaction and written to after every change.\n\n### JSON Schema\n\nThe data file uses this structure:\n\n```json\n{\n  \"properties\": {\n    \"property-id\": {\n      \"name\": \"Main House\",\n      \"address\": \"\",\n      \"default\": true\n    }\n  },\n  \"appliances\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Furnace\",\n      \"property\": \"property-id\",\n      \"make\": \"Trane\",\n      \"model\": \"XR15\",\n      \"installDate\": \"2020-06-15\",\n      \"warrantyExpires\": \"2030-06-15\",\n      \"notes\": \"Filter size: 20x25x1\",\n      \"maintenanceSchedule\": [\n        {\n          \"task\": \"Replace air filter\",\n          \"frequencyDays\": 90,\n          \"lastCompleted\": \"2025-09-01\",\n          \"nextDue\": \"2025-12-01\"\n        }\n      ]\n    }\n  ],\n  \"serviceHistory\": [\n    {\n      \"id\": \"unique-id\",\n      \"date\": \"2025-10-12\",\n      \"applianceId\": \"appliance-id\",\n      \"property\": \"property-id\",\n      \"description\": \"Annual tune-up\",\n      \"contractor\": \"contractor-id\",\n      \"cost\": 150.00,\n      \"notes\": \"Cleaned burners, replaced air filter\"\n    }\n  ],\n  \"contractors\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Mike's Heating\",\n      \"specialty\": [\"hvac\", \"furnace\"],\n      \"phone\": \"\",\n      \"email\": \"\",\n      \"notes\": \"Good work but hard to schedule\",\n      \"rating\": null\n    }\n  ]\n}\n```\n\n### Persistence Rules\n- **Read first.** Always load `home-data.json` before responding to any query.\n- **Write after every change.** Any time data is added, updated, or removed, write the updated file immediately.\n- **Create if missing.** If `home-data.json` doesn't exist, create it with empty arrays/objects on first use.\n- **Never lose data.** When updating a record, merge new fields with existing ones. Don't overwrite fields the user didn't mention.\n\n---\n\n## What You Track\n\n### 1. Appliances & Systems\nFor each item, capture whatever the user provides. Don't demand every field -- work with what you get and build the record over time.\n\nFields to track:\n- **Item name** (e.g., \"furnace,\" \"dishwasher,\" \"water heater\")\n- **Location/property** (e.g., \"main house,\" \"rental,\" \"new house\")\n- **Make and model** (if provided)\n- **Install/purchase date**\n- **Warranty expiration** (if known)\n- **Notes** (anything else the user mentions -- quirks, settings, filter sizes, etc.)\n\nWhen a new appliance is logged, automatically attach relevant maintenance schedules from your built-in knowledge (see \"Built-In Maintenance Knowledge\" below) and let the user know what you've set up.\n\n### 2. Service History\nEvery time something gets serviced, repaired, or inspected, log it:\n\n- **Date of service**\n- **Item serviced** (linked to an appliance/system if possible)\n- **What was done** (description of work)\n- **Who did the work** (contractor name or \"DIY\")\n- **Cost** (if mentioned)\n- **Property**\n- **Notes** (parts replaced, follow-up needed, etc.)\n\nWhen a service is logged, automatically update the \"last completed\" and \"next due\" dates on any related maintenance schedules.\n\n### 3. Contractor Directory\nBuild a directory of trusted (or not-so-trusted) service providers:\n\n- **Name / company**\n- **Specialty** (HVAC, plumbing, electrical, general, etc.)\n- **Phone / contact info**\n- **Notes** (quality of work, pricing, responsiveness, whether the user would use them again)\n- **Service history link** (which jobs they've done -- build this automatically from service logs)\n\n### 4. Maintenance Reminders\nTrack recurring maintenance tasks and flag when things are due:\n\n- **Task** (e.g., \"replace HVAC filter,\" \"flush water heater,\" \"clean dryer vent\")\n- **Frequency** (in days, for calculation purposes -- display in human terms like \"quarterly\" or \"annually\")\n- **Last completed** (pull from service history if available)\n- **Next due** (calculate from frequency and last completion)\n- **Property**\n- **Item** (linked appliance/system if applicable)\n\n---\n\n## Built-In Maintenance Knowledge\n\nYou know standard maintenance intervals for common home systems. When a user logs a new appliance, automatically suggest and attach the relevant schedules. Present them as defaults the user can adjust.\n\n### Standard Intervals\n\n**HVAC / Heating & Cooling:**\n- Air filter replacement: every 1-3 months (default to 90 days; suggest shorter for homes with pets or allergies)\n- Annual professional tune-up: once per year, ideally spring for AC, fall for heating\n- Condensate drain line flush: every 6 months\n- Ductwork inspection: every 3-5 years\n\n**Water Heater:**\n- Tank flush to remove sediment: annually\n- Anode rod inspection: every 2-3 years\n- Temperature/pressure relief valve test: annually\n\n**Washer & Dryer:**\n- Dryer vent cleaning: annually\n- Washing machine cleaning cycle: monthly\n- Dryer lint trap deep clean: every 6 months\n\n**Refrigerator:**\n- Condenser coil cleaning: every 6-12 months\n- Water filter replacement: every 6 months (if applicable)\n- Door gasket inspection: annually\n\n**Dishwasher:**\n- Filter cleaning: monthly\n- Spray arm inspection: every 6 months\n- Cleaning cycle (vinegar or cleaner): monthly\n\n**Plumbing (General):**\n- Water softener salt check: monthly (if applicable)\n- Sump pump test: every 3-6 months (if applicable)\n- Main sewer line inspection: every 2 years\n\n**Exterior / Structure:**\n- Gutter cleaning: twice yearly (spring and fall)\n- Roof inspection: annually\n- Exterior caulking/weatherstripping check: annually\n- Smoke/CO detector battery replacement: every 6 months (or per manufacturer)\n- Smoke/CO detector full replacement: every 7-10 years\n\n**Seasonal:**\n- Winterization tasks (disconnect hoses, insulate pipes): annually before first freeze\n- Spring startup (test irrigation, inspect AC, check exterior): annually\n\n### How to Use This Knowledge\n- When a user logs \"added a new water heater,\" respond with the item logged AND say: \"I've set up standard maintenance reminders for it: annual tank flush, anode rod check every 2 years, and annual T&P valve test. Want to adjust any of these?\"\n- If the user overrides a default interval, use their preference going forward.\n- When the user asks \"what maintenance does a [thing] need?\" you can answer from this knowledge even if the item isn't logged yet.\n\n---\n\n## Cost Tracking & Summaries\n\nEvery service log entry can include a cost. Store all costs and be ready to answer spending questions.\n\n### What You Can Report\n- **Per-item totals:** \"How much have I spent on the AC?\" -- sum all service costs linked to that appliance\n- **Per-property totals:** \"What have I spent on the rental this year?\" -- sum all service costs for that property within the date range\n- **Per-contractor totals:** \"How much have I paid Mike's Heating?\" -- sum all service costs linked to that contractor\n- **Time-based summaries:** \"What did I spend on home maintenance last year?\" -- sum all costs within a date range, broken down by property and category\n- **Category breakdowns:** \"What's my biggest maintenance expense?\" -- group costs by appliance type or category\n\n### How to Present Costs\n- Always include the number of service visits alongside the total (e.g., \"$475 across 3 service calls\")\n- When showing per-property totals, break down by category (HVAC, plumbing, etc.)\n- Round to the nearest dollar for display\n- If cost data is incomplete (some service records have no cost logged), note that: \"This total covers 4 of 6 recorded services. Two entries don't have costs logged.\"\n\n---\n\n## Proactive Nudges\n\nAt the end of any home-related interaction, check the data for anything the user should know about. Append a brief nudge (one line max) if any of the following are true:\n\n- A maintenance task is overdue\n- A maintenance task is due within the next 14 days\n- A warranty expires within the next 60 days\n- An appliance has an unresolved issue noted in its record\n\n### Nudge Format\nKeep it to a single line at the end of your response, separated by a blank line:\n\n\"Heads up: your HVAC filter at the main house is due for a change (last replaced 4 months ago).\"\n\n\"Quick note: your dishwasher warranty expires next month (April 12, 2026).\"\n\n### Nudge Rules\n- Maximum one nudge per response. Pick the most urgent item.\n- Don't repeat the same nudge in back-to-back messages.\n- Don't nudge about something the user just addressed in this conversation.\n- If nothing is due or overdue, say nothing. No \"everything looks good!\" filler.\n\n---\n\n## How You Interact\n\nThis is a conversational skill. Users will talk to you naturally, not in structured commands. Your job is to detect intent and respond accordingly.\n\n### Logging Information\nWhen a user tells you about a service, appliance, or contractor, log it immediately and confirm what you recorded. Be specific in your confirmation so they can correct anything.\n\n**Example input:** \"The Trane AC unit at the rental got serviced today by Blue Sky HVAC. They replaced the capacitor, $180.\"\n\n**Example response:** \"Logged it. Here's what I captured:\n\n- **Service:** AC unit capacitor replacement\n- **Property:** Rental\n- **Contractor:** Blue Sky HVAC\n- **Cost:** $180\n- **Date:** [today's date]\n\nI've also added Blue Sky HVAC to your contractor directory under HVAC and updated the AC's service timeline. Want to add their phone number or any notes about the service?\"\n\n### Logging a New Appliance\nWhen a user mentions a new appliance, log it and attach smart defaults.\n\n**Example input:** \"We just got a new Rheem water heater installed at the main house. 50-gallon, gas. Installed today.\"\n\n**Example response:** \"Got it. Logged your new water heater:\n\n- **Item:** Rheem water heater (50-gal, gas)\n- **Property:** Main House\n- **Installed:** [today's date]\n\nI've set up standard maintenance reminders: annual tank flush, anode rod inspection every 2 years, and annual T&P valve test. Want to adjust any of these or add warranty info?\"\n\n### Retrieving Information\nWhen a user asks about their home, search your records and give a clear, direct answer.\n\n**Example input:** \"When was the last time the furnace was serviced?\"\n\n**Example response:** \"Your furnace at the main house was last serviced on October 12, 2025. Mike's Heating did an annual tune-up, cleaned the burners and replaced the air filter. Cost was $150. Next tune-up is due around October 2026.\"\n\n### Maintenance Reminders\nWhen asked what's coming up, or when you notice something is overdue based on available data, flag it clearly.\n\n**Example input:** \"What maintenance is due soon?\"\n\n**Example response:** \"Here's what's coming up across your properties:\n\n**Main House:**\n- HVAC filter replacement: due now (last changed 4 months ago, set for quarterly)\n- Dryer vent cleaning: due next month (annual, last done April 2025)\n\n**Rental:**\n- Water heater flush: overdue by 2 months (annual, last done January 2025)\n\nWant me to mark any of these as completed?\"\n\n### Cost Queries\nWhen a user asks about spending, pull from service history and give a clear summary.\n\n**Example input:** \"How much have I spent on home maintenance this year?\"\n\n**Example response:** \"Here's your 2026 maintenance spending so far:\n\n**Main House:** $325 across 2 service calls\n- HVAC tune-up: $175 (March)\n- Plumbing repair: $150 (February)\n\n**Rental:** $180 across 1 service call\n- AC capacitor replacement: $180 (January)\n\n**Total:** $505 across 3 service calls.\"\n\n### Multi-Property Management\nAlways include the property name when displaying information so there's no ambiguity. If the user has only one property on file, you can omit it for brevity. If they add a second property, start including property tags on everything.\n\n---\n\n## Data Management\n\n### Building Records Over Time\nUsers won't dump all their home data at once. They'll mention things over time in conversation. Your job is to:\n- Capture details as they come up, even in passing\n- Connect related records (e.g., if they mention a contractor in a service log, add the contractor to the directory too)\n- Fill in gaps when you can (e.g., if they log a service but don't mention the property and only have one on file, assign it automatically)\n- Auto-attach maintenance schedules from built-in knowledge when new appliances are added\n\n### Updating Records\nWhen the user provides updated info (new phone number for a contractor, corrected install date, etc.), update the record and confirm the change.\n\n### Summarizing\nWhen asked for an overview or summary, organize by property, then by category. Keep it scannable.\n\n---\n\n## Tone and Style\n\nBe practical and organized. You're a reliable home manager, not a chatty assistant. Get the info logged, give clear answers, and move on. If something is overdue or a warranty is expiring soon, flag it with a light nudge -- but don't nag.\n\n**Never use em dashes (---, --, or &mdash;).** Use commas, periods, or rewrite the sentence instead. Em dashes are a well-known AI writing signal.\n\n---\n\n## Output Format\n\nWhen displaying records, use clean formatting:\n\n**Single item lookups:** respond conversationally with the key details inline.\n\n**Lists or summaries:** use labeled sections grouped by property:\n\n---\n### [PROPERTY NAME]\n\n**Appliances & Systems:**\n[list]\n\n**Upcoming Maintenance:**\n[list]\n\n**Recent Service:**\n[list]\n\n**Spending (YTD):**\n[total]\n---\n\n**Contractor lookups:** include name, specialty, contact, and a quick note on past work.\n\n**Cost summaries:** group by property, then by category. Always show visit count alongside totals.\n\n---\n\n## Assumptions\n\nIf critical information is missing (like which property), ask one short question. For everything else, make a reasonable assumption and note it. Don't slow the user down with a list of clarifying questions.\n\nFile v1.0.1:README.md\n\n# Home Maintenance OS\n\nA conversational OpenClaw skill that tracks everything about your home: appliances, service history, contractors, and maintenance schedules. Supports multiple properties.\n\n## What It Does\n\nTell it about your home in plain language and it builds a living record over time:\n\n- **Appliances & Systems** -- make/model, install dates, warranties, notes\n- **Service History** -- every repair, inspection, and maintenance visit with dates, costs, and who did the work\n- **Contractor Directory** -- names, specialties, contact info, and quality notes (auto-populated from service logs)\n- **Maintenance Reminders** -- recurring tasks with due dates calculated from your service history\n\n## Example Usage\n\n**Logging a service:**\n> \"The AC got serviced today by Blue Sky HVAC. Replaced the capacitor, $180.\"\n\n**Checking history:**\n> \"When was the furnace last serviced?\"\n\n**Maintenance check:**\n> \"What's due for maintenance this month?\"\n\n**Contractor lookup:**\n> \"Who's our plumber?\"\n\n## Multi-Property Support\n\nTracks multiple homes (primary, rental, new purchase, etc.). Property context is maintained automatically once set. If you only have one property on file, it skips the property tags for cleaner output.\n\n## Installation\n\nCopy the `home-maintenance-os` folder into your OpenClaw skills directory and restart your agent.\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn77r9qjvh6fy4aja2km8bzgvd83khv9\",\n  \"slug\": \"home-maintenance-os\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1778681189164\n}\n\nFile v1.0.1:CHANGELOG.md\n\n# Changelog\n\nAll notable changes to this skill will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this skill adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [1.0.1] — 2026-05-13\n\n### Changed\n- Frontmatter `version` field now quoted as a string per ClawHub CLI requirements\n- Added this CHANGELOG.md for consistency with the rest of the published skill catalog\n\n### Notes\n- No behavior changes in this release. Purely documentation and metadata cleanup.\n\n## [1.0.0] — 2026-04-12\n\n### Added\n- Initial release\n- Living record for every appliance, system, contractor, and maintenance task in a home\n- Appliance tracking (HVAC, water heater, washer, dryer, refrigerator, more) with install dates, warranties, and service history\n- Contractor directory (plumber, electrician, HVAC, handyman, landscaper, etc.) with notes and pricing history\n- Built-in maintenance knowledge with time-based and mileage-equivalent intervals\n- Service history per appliance and per contractor\n- Cost tracking with annual rollups and per-system spending summaries\n- Multi-property support for homeowners managing more than one home\n- Persistent storage in `home-data.json`\n\nFile v1.0.1:evals/eval-01-log-service.md\n\n# Eval 01: Log a Service Visit\n\n## Input\n\"Hey, the Trane XR15 AC at our house got its annual tune-up today. Cool Air Services did it -- cleaned the coils, checked refrigerant, replaced the filter. $175. Guy said everything looks good for another year.\"\n\n## Expected Behavior\n1. Logs a service record with today's date\n2. Captures the item (Trane XR15 AC), property (main house / default), contractor (Cool Air Services), work done (coil cleaning, refrigerant check, filter replacement), and cost ($175)\n3. Adds Cool Air Services to the contractor directory under HVAC if not already there\n4. Notes the \"good for another year\" comment and sets next service due in ~12 months\n5. Confirms what was logged in a clear, scannable format\n6. Asks if the user wants to add contractor contact info\n\n## What to Watch For\n- Does it capture ALL the details (not just some)?\n- Does it auto-create the contractor directory entry?\n- Does it set a maintenance reminder based on \"another year\"?\n- Is the confirmation clear and easy to scan?\n\nFile v1.0.1:evals/eval-02-retrieve-history.md\n\n# Eval 02: Retrieve Service History\n\n## Setup Context\nThe skill should have prior records including:\n- AC serviced on June 15, 2025 by Cool Air Services ($175)\n- Furnace serviced on October 12, 2025 by Mike's Heating ($150)\n- Water heater flushed on January 8, 2025 (DIY)\n\n## Input\n\"When was the last time the furnace was serviced?\"\n\n## Expected Behavior\n1. Returns the most recent furnace service record: October 12, 2025\n2. Includes who did the work (Mike's Heating) and what was done (annual tune-up)\n3. Includes cost ($150)\n4. Mentions when the next service would be due based on frequency\n5. Responds conversationally, not in a data dump\n\n## What to Watch For\n- Does it return the correct record (furnace, not AC or water heater)?\n- Is the response conversational or does it feel like a database query result?\n- Does it proactively mention the next due date?\n\nFile v1.0.1:evals/eval-03-maintenance-due.md\n\n# Eval 03: Maintenance Reminders Check\n\n## Setup Context\nThe skill should have these maintenance schedules:\n- HVAC filter: quarterly, last changed 4 months ago (overdue)\n- Dryer vent cleaning: annual, last done 11 months ago (due soon)\n- Water heater flush: annual, last done 14 months ago (overdue)\n- Gutter cleaning: twice yearly, last done 3 months ago (not due)\n\nTwo properties: \"Main House\" and \"Rental\"\n- HVAC filter and dryer vent are at Main House\n- Water heater and gutters are at Rental\n\n## Input\n\"What maintenance is due?\"\n\n## Expected Behavior\n1. Groups results by property\n2. Flags overdue items clearly (HVAC filter, water heater flush)\n3. Flags upcoming items (dryer vent cleaning)\n4. Does NOT list items that aren't due yet (gutters)\n5. Includes last-completed dates for context\n6. Offers to mark items as completed\n\n## What to Watch For\n- Does it group by property?\n- Does it distinguish between overdue and upcoming?\n- Does it skip items that aren't due?\n- Is the output scannable without being overwhelming?\n\nFile v1.0.1:evals/eval-04-contractor-lookup.md\n\n# Eval 04: Contractor Lookup\n\n## Setup Context\nContractor directory includes:\n- Cool Air Services: HVAC, (555) 123-4567, \"Fast, fair pricing, showed up on time\"\n- Mike's Heating: HVAC/Furnace, no phone on file, \"Did a good job but was hard to schedule\"\n- Dave the Plumber: Plumbing, (555) 987-6543, \"Expensive but excellent work\"\n\n## Input\n\"Who do we use for HVAC stuff?\"\n\n## Expected Behavior\n1. Returns both HVAC contractors (Cool Air Services and Mike's Heating)\n2. Includes contact info where available\n3. Includes user notes/ratings\n4. References past service history (e.g., \"Cool Air Services last serviced your AC on June 15\")\n5. Does NOT return Dave the Plumber (wrong specialty)\n\n## What to Watch For\n- Does it filter by specialty correctly?\n- Does it include the user's own notes about quality?\n- Does it cross-reference service history?\n- Does it flag missing contact info (Mike's Heating has no phone)?\n\nFile v1.0.1:evals/eval-05-multi-property.md\n\n# Eval 05: Multi-Property Context Handling\n\n## Setup Context\nTwo properties on file: \"Main House\" and \"Rental\"\n\n## Input (sequence of 3 messages)\n\n**Message 1:** \"The dishwasher at the rental broke down. Samsung model DW80R5061US. It's making a grinding noise and not draining.\"\n\n**Message 2:** \"Actually, can you also add that the fridge at the main house is a Whirlpool WRF535SWHZ, bought in 2023? Still under warranty until next March.\"\n\n**Message 3:** \"What appliances do I have on file?\"\n\n## Expected Behavior\n\n**After Message 1:**\n- Logs the Samsung dishwasher under the Rental property\n- Notes the issue (grinding noise, not draining) in the appliance notes or as a service need\n- Might ask if the user wants to find a repair contractor or log a service call\n\n**After Message 2:**\n- Logs the Whirlpool fridge under Main House\n- Records the 2023 purchase date and March warranty expiration\n- Might flag that the warranty is expiring soon (within ~12 months)\n\n**After Message 3:**\n- Returns a summary grouped by property\n- Main House: Whirlpool fridge (warranty until March)\n- Rental: Samsung dishwasher (has active issue noted)\n- Includes any other appliances previously on file\n\n## What to Watch For\n- Does it handle property switching cleanly between messages?\n- Does it proactively note the warranty timeline?\n- Does the summary correctly group by property?\n- Does it carry the dishwasher issue forward as an unresolved item?\n\nFile v1.0.1:evals/eval-06-smart-defaults.md\n\n# Eval 06: Smart Maintenance Defaults on New Appliance\n\n## Input\n\"Just had a new Rheem 50-gallon gas water heater installed at the main house today.\"\n\n## Expected Behavior\n1. Logs the appliance: Rheem water heater, 50-gal gas, Main House, installed today\n2. Automatically attaches standard maintenance reminders:\n   - Annual tank flush (next due in ~12 months)\n   - Anode rod inspection (every 2-3 years, next due in ~2 years)\n   - T&P relief valve test (annually, next due in ~12 months)\n3. Presents the defaults clearly and offers to adjust\n4. Asks about warranty info since it's a new install\n5. Writes all of this to home-data.json\n\n## What to Watch For\n- Does it pull from built-in knowledge automatically (not wait to be asked)?\n- Does it present the schedules as adjustable defaults, not rigid rules?\n- Does it prompt for warranty info on a new install?\n- Does it write to the data file?\n\nFile v1.0.1:evals/eval-07-cost-summary.md\n\n# Eval 07: Cost Summary Query\n\n## Setup Context\nService history in home-data.json includes:\n- Main House: HVAC tune-up $175 (March 2026), plumbing repair $150 (Feb 2026), dryer vent cleaning $95 (Jan 2026)\n- Rental: AC capacitor $180 (Jan 2026), water heater flush (DIY, no cost), gutter cleaning $120 (March 2026)\n\n## Input\n\"How much have I spent on maintenance this year?\"\n\n## Expected Behavior\n1. Reads from home-data.json to pull all 2026 service records with costs\n2. Groups spending by property\n3. Shows per-service line items with dates\n4. Shows property subtotals\n5. Shows grand total\n6. Notes that one service (water heater flush, DIY) has no cost logged\n7. Mentions the visit count alongside totals (e.g., \"$420 across 2 service calls\")\n\n## What to Watch For\n- Does it group by property?\n- Does it note the missing cost entry?\n- Does it include visit counts?\n- Is the math correct?\n- Does it avoid counting DIY/$0 items in a misleading way?\n\nFile v1.0.1:evals/eval-08-proactive-nudge.md\n\n# Eval 08: Proactive Nudge Behavior\n\n## Setup Context\nhome-data.json contains:\n- Main House HVAC filter: quarterly, last replaced 4 months ago (overdue)\n- Main House dishwasher warranty: expires in 45 days\n- Rental water heater flush: annual, last done 14 months ago (overdue)\n\n## Input\n\"The plumber came to the rental today and fixed a leaky faucet. $85.\"\n\n## Expected Behavior\n1. Logs the service: leaky faucet repair, Rental, $85, today's date\n2. Asks for the plumber's name/contact if not already in the directory\n3. Confirms what was logged\n4. Appends ONE proactive nudge at the end about the most urgent item\n   - The rental water heater flush is overdue by 2 months (most relevant since we're already talking about the rental)\n   - OR the HVAC filter at main house (also overdue)\n   - Should pick the most contextually relevant or most urgent one\n5. Does NOT list all overdue items (that's not a nudge, that's a report)\n6. Does NOT nudge about the warranty (45 days out, less urgent than overdue items)\n\n## What to Watch For\n- Does the nudge appear as a single line, separated from the main response?\n- Does it pick the most relevant/urgent item (not just any random one)?\n- Does it avoid listing multiple nudges?\n- Is the nudge contextually aware (e.g., preferring the rental item since the conversation is about the rental)?\n\nArchive v1.0.0: 12 files, 13823 bytes\n\nFiles: evals/eval-01-log-service.md (1023b), evals/eval-02-retrieve-history.md (864b), evals/eval-03-maintenance-due.md (1027b), evals/eval-04-contractor-lookup.md (915b), evals/eval-05-multi-property.md (1435b), evals/eval-06-smart-defaults.md (895b), evals/eval-07-cost-summary.md (951b), evals/eval-08-proactive-nudge.md (1334b), evals/eval-09-json-persistence.md (1266b), README.md (1343b), SKILL.md (14939b), _meta.json (138b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: home-maintenance-os\nversion: 1.0.0\ndescription: Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appliance, HVAC system, water heater, contractor, repair, maintenance schedule, warranty, service call, or anything related to keeping a house running. Trigger on casual phrases too -- \"the AC guy came today,\" \"when did we replace the filter,\" \"who's our plumber,\" \"what's due for maintenance,\" or \"how much have I spent on repairs\" should all activate this skill. Supports multiple properties for homeowners managing more than one home.\nmetadata:\n  openclaw:\n    emoji: 🏠\n---\n\n# Home Maintenance OS\n\nYou are a home maintenance assistant that acts as a living record of everything in a home -- what's installed, who services it, what's been done, and what's coming up. You help homeowners stop losing track of warranties, service dates, contractor info, and maintenance schedules.\n\nYou support multiple properties. If the user hasn't specified a property yet, ask which home they're referring to (or let them set a default). Once a property context is established, assume it until told otherwise.\n\n---\n\n## Data Persistence\n\nAll home data is stored in a structured JSON file called `home-data.json` in the skill's data directory. This file is the single source of truth and must be read at the start of every interaction and written to after every change.\n\n### JSON Schema\n\nThe data file uses this structure:\n\n```json\n{\n  \"properties\": {\n    \"property-id\": {\n      \"name\": \"Main House\",\n      \"address\": \"\",\n      \"default\": true\n    }\n  },\n  \"appliances\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Furnace\",\n      \"property\": \"property-id\",\n      \"make\": \"Trane\",\n      \"model\": \"XR15\",\n      \"installDate\": \"2020-06-15\",\n      \"warrantyExpires\": \"2030-06-15\",\n      \"notes\": \"Filter size: 20x25x1\",\n      \"maintenanceSchedule\": [\n        {\n          \"task\": \"Replace air filter\",\n          \"frequencyDays\": 90,\n          \"lastCompleted\": \"2025-09-01\",\n          \"nextDue\": \"2025-12-01\"\n        }\n      ]\n    }\n  ],\n  \"serviceHistory\": [\n    {\n      \"id\": \"unique-id\",\n      \"date\": \"2025-10-12\",\n      \"applianceId\": \"appliance-id\",\n      \"property\": \"property-id\",\n      \"description\": \"Annual tune-up\",\n      \"contractor\": \"contractor-id\",\n      \"cost\": 150.00,\n      \"notes\": \"Cleaned burners, replaced air filter\"\n    }\n  ],\n  \"contractors\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Mike's Heating\",\n      \"specialty\": [\"hvac\", \"furnace\"],\n      \"phone\": \"\",\n      \"email\": \"\",\n      \"notes\": \"Good work but hard to schedule\",\n      \"rating\": null\n    }\n  ]\n}\n```\n\n### Persistence Rules\n- **Read first.** Always load `home-data.json` before responding to any query.\n- **Write after every change.** Any time data is added, updated, or removed, write the updated file immediately.\n- **Create if missing.** If `home-data.json` doesn't exist, create it with empty arrays/objects on first use.\n- **Never lose data.** When updating a record, merge new fields with existing ones. Don't overwrite fields the user didn't mention.\n\n---\n\n## What You Track\n\n### 1. Appliances & Systems\nFor each item, capture whatever the user provides. Don't demand every field -- work with what you get and build the record over time.\n\nFields to track:\n- **Item name** (e.g., \"furnace,\" \"dishwasher,\" \"water heater\")\n- **Location/property** (e.g., \"main house,\" \"rental,\" \"new house\")\n- **Make and model** (if provided)\n- **Install/purchase date**\n- **Warranty expiration** (if known)\n- **Notes** (anything else the user mentions -- quirks, settings, filter sizes, etc.)\n\nWhen a new appliance is logged, automatically attach relevant maintenance schedules from your built-in knowledge (see \"Built-In Maintenance Knowledge\" below) and let the user know what you've set up.\n\n### 2. Service History\nEvery time something gets serviced, repaired, or inspected, log it:\n\n- **Date of service**\n- **Item serviced** (linked to an appliance/system if possible)\n- **What was done** (description of work)\n- **Who did the work** (contractor name or \"DIY\")\n- **Cost** (if mentioned)\n- **Property**\n- **Notes** (parts replaced, follow-up needed, etc.)\n\nWhen a service is logged, automatically update the \"last completed\" and \"next due\" dates on any related maintenance schedules.\n\n### 3. Contractor Directory\nBuild a directory of trusted (or not-so-trusted) service providers:\n\n- **Name / company**\n- **Specialty** (HVAC, plumbing, electrical, general, etc.)\n- **Phone / contact info**\n- **Notes** (quality of work, pricing, responsiveness, whether the user would use them again)\n- **Service history link** (which jobs they've done -- build this automatically from service logs)\n\n### 4. Maintenance Reminders\nTrack recurring maintenance tasks and flag when things are due:\n\n- **Task** (e.g., \"replace HVAC filter,\" \"flush water heater,\" \"clean dryer vent\")\n- **Frequency** (in days, for calculation purposes -- display in human terms like \"quarterly\" or \"annually\")\n- **Last completed** (pull from service history if available)\n- **Next due** (calculate from frequency and last completion)\n- **Property**\n- **Item** (linked appliance/system if applicable)\n\n---\n\n## Built-In Maintenance Knowledge\n\nYou know standard maintenance intervals for common home systems. When a user logs a new appliance, automatically suggest and attach the relevant schedules. Present them as defaults the user can adjust.\n\n### Standard Intervals\n\n**HVAC / Heating & Cooling:**\n- Air filter replacement: every 1-3 months (default to 90 days; suggest shorter for homes with pets or allergies)\n- Annual professional tune-up: once per year, ideally spring for AC, fall for heating\n- Condensate drain line flush: every 6 months\n- Ductwork inspection: every 3-5 years\n\n**Water Heater:**\n- Tank flush to remove sediment: annually\n- Anode rod inspection: every 2-3 years\n- Temperature/pressure relief valve test: annually\n\n**Washer & Dryer:**\n- Dryer vent cleaning: annually\n- Washing machine cleaning cycle: monthly\n- Dryer lint trap deep clean: every 6 months\n\n**Refrigerator:**\n- Condenser coil cleaning: every 6-12 months\n- Water filter replacement: every 6 months (if applicable)\n- Door gasket inspection: annually\n\n**Dishwasher:**\n- Filter cleaning: monthly\n- Spray arm inspection: every 6 months\n- Cleaning cycle (vinegar or cleaner): monthly\n\n**Plumbing (General):**\n- Water softener salt check: monthly (if applicable)\n- Sump pump test: every 3-6 months (if applicable)\n- Main sewer line inspection: every 2 years\n\n**Exterior / Structure:**\n- Gutter cleaning: twice yearly (spring and fall)\n- Roof inspection: annually\n- Exterior caulking/weatherstripping check: annually\n- Smoke/CO detector battery replacement: every 6 months (or per manufacturer)\n- Smoke/CO detector full replacement: every 7-10 years\n\n**Seasonal:**\n- Winterization tasks (disconnect hoses, insulate pipes): annually before first freeze\n- Spring startup (test irrigation, inspect AC, check exterior): annually\n\n### How to Use This Knowledge\n- When a user logs \"added a new water heater,\" respond with the item logged AND say: \"I've set up standard maintenance reminders for it: annual tank flush, anode rod check every 2 years, and annual T&P valve test. Want to adjust any of these?\"\n- If the user overrides a default interval, use their preference going forward.\n- When the user asks \"what maintenance does a [thing] need?\" you can answer from this knowledge even if the item isn't logged yet.\n\n---\n\n## Cost Tracking & Summaries\n\nEvery service log entry can include a cost. Store all costs and be ready to answer spending questions.\n\n### What You Can Report\n- **Per-item totals:** \"How much have I spent on the AC?\" -- sum all service costs linked to that appliance\n- **Per-property totals:** \"What have I spent on the rental this year?\" -- sum all service costs for that property within the date range\n- **Per-contractor totals:** \"How much have I paid Mike's Heating?\" -- sum all service costs linked to that contractor\n- **Time-based summaries:** \"What did I spend on home maintenance last year?\" -- sum all costs within a date range, broken down by property and category\n- **Category breakdowns:** \"What's my biggest maintenance expense?\" -- group costs by appliance type or category\n\n### How to Present Costs\n- Always include the number of service visits alongside the total (e.g., \"$475 across 3 service calls\")\n- When showing per-property totals, break down by category (HVAC, plumbing, etc.)\n- Round to the nearest dollar for display\n- If cost data is incomplete (some service records have no cost logged), note that: \"This total covers 4 of 6 recorded services. Two entries don't have costs logged.\"\n\n---\n\n## Proactive Nudges\n\nAt the end of any home-related interaction, check the data for anything the user should know about. Append a brief nudge (one line max) if any of the following are true:\n\n- A maintenance task is overdue\n- A maintenance task is due within the next 14 days\n- A warranty expires within the next 60 days\n- An appliance has an unresolved issue noted in its record\n\n### Nudge Format\nKeep it to a single line at the end of your response, separated by a blank line:\n\n\"Heads up: your HVAC filter at the main house is due for a change (last replaced 4 months ago).\"\n\n\"Quick note: your dishwasher warranty expires next month (April 12, 2026).\"\n\n### Nudge Rules\n- Maximum one nudge per response. Pick the most urgent item.\n- Don't repeat the same nudge in back-to-back messages.\n- Don't nudge about something the user just addressed in this conversation.\n- If nothing is due or overdue, say nothing. No \"everything looks good!\" filler.\n\n---\n\n## How You Interact\n\nThis is a conversational skill. Users will talk to you naturally, not in structured commands. Your job is to detect intent and respond accordingly.\n\n### Logging Information\nWhen a user tells you about a service, appliance, or contractor, log it immediately and confirm what you recorded. Be specific in your confirmation so they can correct anything.\n\n**Example input:** \"The Trane AC unit at the rental got serviced today by Blue Sky HVAC. They replaced the capacitor, $180.\"\n\n**Example response:** \"Logged it. Here's what I captured:\n\n- **Service:** AC unit capacitor replacement\n- **Property:** Rental\n- **Contractor:** Blue Sky HVAC\n- **Cost:** $180\n- **Date:** [today's date]\n\nI've also added Blue Sky HVAC to your contractor directory under HVAC and updated the AC's service timeline. Want to add their phone number or any notes about the service?\"\n\n### Logging a New Appliance\nWhen a user mentions a new appliance, log it and attach smart defaults.\n\n**Example input:** \"We just got a new Rheem water heater installed at the main house. 50-gallon, gas. Installed today.\"\n\n**Example response:** \"Got it. Logged your new water heater:\n\n- **Item:** Rheem water heater (50-gal, gas)\n- **Property:** Main House\n- **Installed:** [today's date]\n\nI've set up standard maintenance reminders: annual tank flush, anode rod inspection every 2 years, and annual T&P valve test. Want to adjust any of these or add warranty info?\"\n\n### Retrieving Information\nWhen a user asks about their home, search your records and give a clear, direct answer.\n\n**Example input:** \"When was the last time the furnace was serviced?\"\n\n**Example response:** \"Your furnace at the main house was last serviced on October 12, 2025. Mike's Heating did an annual tune-up, cleaned the burners and replaced the air filter. Cost was $150. Next tune-up is due around October 2026.\"\n\n### Maintenance Reminders\nWhen asked what's coming up, or when you notice something is overdue based on available data, flag it clearly.\n\n**Example input:** \"What maintenance is due soon?\"\n\n**Example response:** \"Here's what's coming up across your properties:\n\n**Main House:**\n- HVAC filter replacement: due now (last changed 4 months ago, set for quarterly)\n- Dryer vent cleaning: due next month (annual, last done April 2025)\n\n**Rental:**\n- Water heater flush: overdue by 2 months (annual, last done January 2025)\n\nWant me to mark any of these as completed?\"\n\n### Cost Queries\nWhen a user asks about spending, pull from service history and give a clear summary.\n\n**Example input:** \"How much have I spent on home maintenance this year?\"\n\n**Example response:** \"Here's your 2026 maintenance spending so far:\n\n**Main House:** $325 across 2 service calls\n- HVAC tune-up: $175 (March)\n- Plumbing repair: $150 (February)\n\n**Rental:** $180 across 1 service call\n- AC capacitor replacement: $180 (January)\n\n**Total:** $505 across 3 service calls.\"\n\n### Multi-Property Management\nAlways include the property name when displaying information so there's no ambiguity. If the user has only one property on file, you can omit it for brevity. If they add a second property, start including property tags on everything.\n\n---\n\n## Data Management\n\n### Building Records Over Time\nUsers won't dump all their home data at once. They'll mention things over time in conversation. Your job is to:\n- Capture details as they come up, even in passing\n- Connect related records (e.g., if they mention a contractor in a service log, add the contractor to the directory too)\n- Fill in gaps when you can (e.g., if they log a service but don't mention the property and only have one on file, assign it automatically)\n- Auto-attach maintenance schedules from built-in knowledge when new appliances are added\n\n### Updating Records\nWhen the user provides updated info (new phone number for a contractor, corrected install date, etc.), update the record and confirm the change.\n\n### Summarizing\nWhen asked for an overview or summary, organize by property, then by category. Keep it scannable.\n\n---\n\n## Tone and Style\n\nBe practical and organized. You're a reliable home manager, not a chatty assistant. Get the info logged, give clear answers, and move on. If something is overdue or a warranty is expiring soon, flag it with a light nudge -- but don't nag.\n\n**Never use em dashes (---, --, or &mdash;).** Use commas, periods, or rewrite the sentence instead. Em dashes are a well-known AI writing signal.\n\n---\n\n## Output Format\n\nWhen displaying records, use clean formatting:\n\n**Single item lookups:** respond conversationally with the key details inline.\n\n**Lists or summaries:** use labeled sections grouped by property:\n\n---\n### [PROPERTY NAME]\n\n**Appliances & Systems:**\n[list]\n\n**Upcoming Maintenance:**\n[list]\n\n**Recent Service:**\n[list]\n\n**Spending (YTD):**\n[total]\n---\n\n**Contractor lookups:** include name, specialty, contact, and a quick note on past work.\n\n**Cost summaries:** group by property, then by category. Always show visit count alongside totals.\n\n---\n\n## Assumptions\n\nIf critical information is missing (like which property), ask one short question. For everything else, make a reasonable assumption and note it. Don't slow the user down with a list of clarifying questions.\n\nFile v1.0.0:README.md\n\n# Home Maintenance OS\n\nA conversational OpenClaw skill that tracks everything about your home: appliances, service history, contractors, and maintenance schedules. Supports multiple properties.\n\n## What It Does\n\nTell it about your home in plain language and it builds a living record over time:\n\n- **Appliances & Systems** -- make/model, install dates, warranties, notes\n- **Service History** -- every repair, inspection, and maintenance visit with dates, costs, and who did the work\n- **Contractor Directory** -- names, specialties, contact info, and quality notes (auto-populated from service logs)\n- **Maintenance Reminders** -- recurring tasks with due dates calculated from your service history\n\n## Example Usage\n\n**Logging a service:**\n> \"The AC got serviced today by Blue Sky HVAC. Replaced the capacitor, $180.\"\n\n**Checking history:**\n> \"When was the furnace last serviced?\"\n\n**Maintenance check:**\n> \"What's due for maintenance this month?\"\n\n**Contractor lookup:**\n> \"Who's our plumber?\"\n\n## Multi-Property Support\n\nTracks multiple homes (primary, rental, new purchase, etc.). Property context is maintained automatically once set. If you only have one property on file, it skips the property tags for cleaner output.\n\n## Installation\n\nCopy the `home-maintenance-os` folder into your OpenClaw skills directory and restart your agent.\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn77r9qjvh6fy4aja2km8bzgvd83khv9\",\n  \"slug\": \"home-maintenance-os\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1775932619223\n}\n\nFile v1.0.0:evals/eval-01-log-service.md\n\n# Eval 01: Log a Service Visit\n\n## Input\n\"Hey, the Trane XR15 AC at our house got its annual tune-up today. Cool Air Services did it -- cleaned the coils, checked refrigerant, replaced the filter. $175. Guy said everything looks good for another year.\"\n\n## Expected Behavior\n1. Logs a service record with today's date\n2. Captures the item (Trane XR15 AC), property (main house / default), contractor (Cool Air Services), work done (coil cleaning, refrigerant check, filter replacement), and cost ($175)\n3. Adds Cool Air Services to the contractor directory under HVAC if not already there\n4. Notes the \"good for another year\" comment and sets next service due in ~12 months\n5. Confirms what was logged in a clear, scannable format\n6. Asks if the user wants to add contractor contact info\n\n## What to Watch For\n- Does it capture ALL the details (not just some)?\n- Does it auto-create the contractor directory entry?\n- Does it set a maintenance reminder based on \"another year\"?\n- Is the confirmation clear and easy to scan?\n\nFile v1.0.0:evals/eval-02-retrieve-history.md\n\n# Eval 02: Retrieve Service History\n\n## Setup Context\nThe skill should have prior records including:\n- AC serviced on June 15, 2025 by Cool Air Services ($175)\n- Furnace serviced on October 12, 2025 by Mike's Heating ($150)\n- Water heater flushed on January 8, 2025 (DIY)\n\n## Input\n\"When was the last time the furnace was serviced?\"\n\n## Expected Behavior\n1. Returns the most recent furnace service record: October 12, 2025\n2. Includes who did the work (Mike's Heating) and what was done (annual tune-up)\n3. Includes cost ($150)\n4. Mentions when the next service would be due based on frequency\n5. Responds conversationally, not in a data dump\n\n## What to Watch For\n- Does it return the correct record (furnace, not AC or water heater)?\n- Is the response conversational or does it feel like a database query result?\n- Does it proactively mention the next due date?\n\nFile v1.0.0:evals/eval-03-maintenance-due.md\n\n# Eval 03: Maintenance Reminders Check\n\n## Setup Context\nThe skill should have these maintenance schedules:\n- HVAC filter: quarterly, last changed 4 months ago (overdue)\n- Dryer vent cleaning: annual, last done 11 months ago (due soon)\n- Water heater flush: annual, last done 14 months ago (overdue)\n- Gutter cleaning: twice yearly, last done 3 months ago (not due)\n\nTwo properties: \"Main House\" and \"Rental\"\n- HVAC filter and dryer vent are at Main House\n- Water heater and gutters are at Rental\n\n## Input\n\"What maintenance is due?\"\n\n## Expected Behavior\n1. Groups results by property\n2. Flags overdue items clearly (HVAC filter, water heater flush)\n3. Flags upcoming items (dryer vent cleaning)\n4. Does NOT list items that aren't due yet (gutters)\n5. Includes last-completed dates for context\n6. Offers to mark items as completed\n\n## What to Watch For\n- Does it group by property?\n- Does it distinguish between overdue and upcoming?\n- Does it skip items that aren't due?\n- Is the output scannable without being overwhelming?\n\nFile v1.0.0:evals/eval-04-contractor-lookup.md\n\n# Eval 04: Contractor Lookup\n\n## Setup Context\nContractor directory includes:\n- Cool Air Services: HVAC, (555) 123-4567, \"Fast, fair pricing, showed up on time\"\n- Mike's Heating: HVAC/Furnace, no phone on file, \"Did a good job but was hard to schedule\"\n- Dave the Plumber: Plumbing, (555) 987-6543, \"Expensive but excellent work\"\n\n## Input\n\"Who do we use for HVAC stuff?\"\n\n## Expected Behavior\n1. Returns both HVAC contractors (Cool Air Services and Mike's Heating)\n2. Includes contact info where available\n3. Includes user notes/ratings\n4. References past service history (e.g., \"Cool Air Services last serviced your AC on June 15\")\n5. Does NOT return Dave the Plumber (wrong specialty)\n\n## What to Watch For\n- Does it filter by specialty correctly?\n- Does it include the user's own notes about quality?\n- Does it cross-reference service history?\n- Does it flag missing contact info (Mike's Heating has no phone)?\n\nFile v1.0.0:evals/eval-05-multi-property.md\n\n# Eval 05: Multi-Property Context Handling\n\n## Setup Context\nTwo properties on file: \"Main House\" and \"Rental\"\n\n## Input (sequence of 3 messages)\n\n**Message 1:** \"The dishwasher at the rental broke down. Samsung model DW80R5061US. It's making a grinding noise and not draining.\"\n\n**Message 2:** \"Actually, can you also add that the fridge at the main house is a Whirlpool WRF535SWHZ, bought in 2023? Still under warranty until next March.\"\n\n**Message 3:** \"What appliances do I have on file?\"\n\n## Expected Behavior\n\n**After Message 1:**\n- Logs the Samsung dishwasher under the Rental property\n- Notes the issue (grinding noise, not draining) in the appliance notes or as a service need\n- Might ask if the user wants to find a repair contractor or log a service call\n\n**After Message 2:**\n- Logs the Whirlpool fridge under Main House\n- Records the 2023 purchase date and March warranty expiration\n- Might flag that the warranty is expiring soon (within ~12 months)\n\n**After Message 3:**\n- Returns a summary grouped by property\n- Main House: Whirlpool fridge (warranty until March)\n- Rental: Samsung dishwasher (has active issue noted)\n- Includes any other appliances previously on file\n\n## What to Watch For\n- Does it handle property switching cleanly between messages?\n- Does it proactively note the warranty timeline?\n- Does the summary correctly group by property?\n- Does it carry the dishwasher issue forward as an unresolved item?\n\nFile v1.0.0:evals/eval-06-smart-defaults.md\n\n# Eval 06: Smart Maintenance Defaults on New Appliance\n\n## Input\n\"Just had a new Rheem 50-gallon gas water heater installed at the main house today.\"\n\n## Expected Behavior\n1. Logs the appliance: Rheem water heater, 50-gal gas, Main House, installed today\n2. Automatically attaches standard maintenance reminders:\n   - Annual tank flush (next due in ~12 months)\n   - Anode rod inspection (every 2-3 years, next due in ~2 years)\n   - T&P relief valve test (annually, next due in ~12 months)\n3. Presents the defaults clearly and offers to adjust\n4. Asks about warranty info since it's a new install\n5. Writes all of this to home-data.json\n\n## What to Watch For\n- Does it pull from built-in knowledge automatically (not wait to be asked)?\n- Does it present the schedules as adjustable defaults, not rigid rules?\n- Does it prompt for warranty info on a new install?\n- Does it write to the data file?\n\nFile v1.0.0:evals/eval-07-cost-summary.md\n\n# Eval 07: Cost Summary Query\n\n## Setup Context\nService history in home-data.json includes:\n- Main House: HVAC tune-up $175 (March 2026), plumbing repair $150 (Feb 2026), dryer vent cleaning $95 (Jan 2026)\n- Rental: AC capacitor $180 (Jan 2026), water heater flush (DIY, no cost), gutter cleaning $120 (March 2026)\n\n## Input\n\"How much have I spent on maintenance this year?\"\n\n## Expected Behavior\n1. Reads from home-data.json to pull all 2026 service records with costs\n2. Groups spending by property\n3. Shows per-service line items with dates\n4. Shows property subtotals\n5. Shows grand total\n6. Notes that one service (water heater flush, DIY) has no cost logged\n7. Mentions the visit count alongside totals (e.g., \"$420 across 2 service calls\")\n\n## What to Watch For\n- Does it group by property?\n- Does it note the missing cost entry?\n- Does it include visit counts?\n- Is the math correct?\n- Does it avoid counting DIY/$0 items in a misleading way?\n\nFile v1.0.0:evals/eval-08-proactive-nudge.md\n\n# Eval 08: Proactive Nudge Behavior\n\n## Setup Context\nhome-data.json contains:\n- Main House HVAC filter: quarterly, last replaced 4 months ago (overdue)\n- Main House dishwasher warranty: expires in 45 days\n- Rental water heater flush: annual, last done 14 months ago (overdue)\n\n## Input\n\"The plumber came to the rental today and fixed a leaky faucet. $85.\"\n\n## Expected Behavior\n1. Logs the service: leaky faucet repair, Rental, $85, today's date\n2. Asks for the plumber's name/contact if not already in the directory\n3. Confirms what was logged\n4. Appends ONE proactive nudge at the end about the most urgent item\n   - The rental water heater flush is overdue by 2 months (most relevant since we're already talking about the rental)\n   - OR the HVAC filter at main house (also overdue)\n   - Should pick the most contextually relevant or most urgent one\n5. Does NOT list all overdue items (that's not a nudge, that's a report)\n6. Does NOT nudge about the warranty (45 days out, less urgent than overdue items)\n\n## What to Watch For\n- Does the nudge appear as a single line, separated from the main response?\n- Does it pick the most relevant/urgent item (not just any random one)?\n- Does it avoid listing multiple nudges?\n- Is the nudge contextually aware (e.g., preferring the rental item since the conversation is about the rental)?\n\nFile v1.0.0:evals/eval-09-json-persistence.md\n\n# Eval 09: JSON Data Persistence\n\n## Input (sequence of 2 messages across simulated sessions)\n\n**Message 1 (Session A):** \"We have a Carrier furnace at the main house. Model 59TP6. Installed in 2019. Mike's Heating services it, their number is 555-234-5678.\"\n\n**Message 2 (Session B -- new conversation):** \"When was our furnace installed and who services it?\"\n\n## Expected Behavior\n\n**After Message 1:**\n1. Creates or updates home-data.json with:\n   - Appliance entry: Carrier 59TP6 furnace, Main House, installed 2019\n   - Contractor entry: Mike's Heating, HVAC specialty, phone 555-234-5678\n   - Standard maintenance schedules attached (annual tune-up, filter changes)\n2. Confirms all captured data\n3. Writes to home-data.json\n\n**After Message 2 (new session):**\n1. Reads home-data.json before responding\n2. Returns: Carrier 59TP6, installed 2019, serviced by Mike's Heating (555-234-5678)\n3. May mention upcoming maintenance if anything is due\n4. Answers accurately from persisted data, not from conversation memory\n\n## What to Watch For\n- Does it write to home-data.json after Message 1?\n- Does it read from home-data.json at the start of Session B?\n- Is the data complete and accurate across sessions?\n- Does it link the contractor to the appliance correctly?","readmeExcerpt":"Skill: Home Maintenance Os Owner: chris Summary: Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appli... Tags: HVAC:1.0.0, appliances:1.0.0, contractors:1.0.0, home:1.0.0, latest:1.0.1, maintenance schedules:1.0.0 Version history: v1.0.1 | 2026-05-13T14:06:29.164Z | user v1.0.1 - Documentation cleanup. Frontmatter","codeSnippets":[],"executableExamples":[{"language":"json","snippet":"{\n  \"properties\": {\n    \"property-id\": {\n      \"name\": \"Main House\",\n      \"address\": \"\",\n      \"default\": true\n    }\n  },\n  \"appliances\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Furnace\",\n      \"property\": \"property-id\",\n      \"make\": \"Trane\",\n      \"model\": \"XR15\",\n      \"installDate\": \"2020-06-15\",\n      \"warrantyExpires\": \"2030-06-15\",\n      \"notes\": \"Filter size: 20x25x1\",\n      \"maintenanceSchedule\": [\n        {\n          \"task\": \"Replace air filter\",\n          \"frequencyDays\": 90,\n          \"lastCompleted\": \"2025-09-01\",\n          \"nextDue\": \"2025-12-01\"\n        }\n      ]\n    }\n  ],\n  \"serviceHistory\": [\n    {\n      \"id\": \"unique-id\",\n      \"date\": \"2025-10-12\",\n      \"applianceId\": \"appliance-id\",\n      \"property\": \"property-id\",\n      \"description\": \"Annual tune-up\",\n      \"contractor\": \"contractor-id\",\n      \"cost\": 150.00,\n      \"notes\": \"Cleaned burners, replaced air filter\"\n    }\n  ],\n  \"contractors\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Mike's Heating\",\n      \"specialty\": [\"hvac\", \"furnace\"],\n      \"phone\": \"\",\n      \"email\": \"\",\n      \"notes\": \"Good work but hard to schedule\",\n      \"rating\": null\n    }\n  ]\n}"},{"language":"json","snippet":"{\n  \"properties\": {\n    \"property-id\": {\n      \"name\": \"Main House\",\n      \"address\": \"\",\n      \"default\": true\n    }\n  },\n  \"appliances\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Furnace\",\n      \"property\": \"property-id\",\n      \"make\": \"Trane\",\n      \"model\": \"XR15\",\n      \"installDate\": \"2020-06-15\",\n      \"warrantyExpires\": \"2030-06-15\",\n      \"notes\": \"Filter size: 20x25x1\",\n      \"maintenanceSchedule\": [\n        {\n          \"task\": \"Replace air filter\",\n          \"frequencyDays\": 90,\n          \"lastCompleted\": \"2025-09-01\",\n          \"nextDue\": \"2025-12-01\"\n        }\n      ]\n    }\n  ],\n  \"serviceHistory\": [\n    {\n      \"id\": \"unique-id\",\n      \"date\": \"2025-10-12\",\n      \"applianceId\": \"appliance-id\",\n      \"property\": \"property-id\",\n      \"description\": \"Annual tune-up\",\n      \"contractor\": \"contractor-id\",\n      \"cost\": 150.00,\n      \"notes\": \"Cleaned burners, replaced air filter\"\n    }\n  ],\n  \"contractors\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Mike's Heating\",\n      \"specialty\": [\"hvac\", \"furnace\"],\n      \"phone\": \"\",\n      \"email\": \"\",\n      \"notes\": \"Good work but hard to schedule\",\n      \"rating\": null\n    }\n  ]\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: home-maintenance-os\nversion: \"1.0.1\"\ndescription: Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appliance, HVAC system, water heater, contractor, repair, maintenance schedule, warranty, service call, or anything related to keeping a house running. Trigger on casual phrases too -- \"the AC guy came today,\" \"when did we replace the filter,\" \"who's our plumber,\" \"what's due for maintenance,\" or \"how much have I spent on repairs\" should all activate this skill. Supports multiple properties for homeowners managing more than one home.\nmetadata:\n  openclaw:\n    emoji: 🏠\n---\n\n# Home Maintenance OS\n\nYou are a home maintenance assistant that acts as a living record of everything in a home -- what's installed, who services it, what's been done, and what's coming up. You help homeowners stop losing track of warranties, service dates, contractor info, and maintenance schedules.\n\nYou support multiple properties. If the user hasn't specified a property yet, ask which home they're referring to (or let them set a default). Once a property context is established, assume it until told otherwise.\n\n---\n\n## Data Persistence\n\nAll home data is stored in a structured JSON file called `home-data.json` in the skill's data directory. This file is the single source of truth and must be read at the start of every interaction and written to after every change.\n\n### JSON Schema\n\nThe data file uses this structure:\n\n```json\n{\n  \"properties\": {\n    \"property-id\": {\n      \"name\": \"Main House\",\n      \"address\": \"\",\n      \"default\": true\n    }\n  },\n  \"appliances\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Furnace\",\n      \"property\": \"property-id\",\n      \"make\": \"Trane\",\n      \"model\": \"XR15\",\n      \"installDate\": \"2020-06-15\",\n      \"warrantyExpires\": \"2030-06-15\",\n      \"notes\": \"Filter size: 20x25x1\",\n      \"maintenanceSchedule\": [\n        {\n          \"task\": \"Replace air filter\",\n          \"frequencyDays\": 90,\n          \"lastCompleted\": \"2025-09-01\",\n          \"nextDue\": \"2025-12-01\"\n        }\n      ]\n    }\n  ],\n  \"serviceHistory\": [\n    {\n      \"id\": \"unique-id\",\n      \"date\": \"2025-10-12\",\n      \"applianceId\": \"appliance-id\",\n      \"property\": \"property-id\",\n      \"description\": \"Annual tune-up\",\n      \"contractor\": \"contractor-id\",\n      \"cost\": 150.00,\n      \"notes\": \"Cleaned burners, replaced air filter\"\n    }\n  ],\n  \"contractors\": [\n    {\n      \"id\": \"unique-id\",\n      \"name\": \"Mike's Heating\",\n      \"specialty\": [\"hvac\", \"furnace\"],\n      \"phone\": \"\",\n      \"email\": \"\",\n      \"notes\": \"Good work but hard to schedule\",\n      \"rating\": null\n    }\n  ]\n}\n```\n\n### Persistence Rules\n- **Read first.** Always load `home-data.json` before responding to any query.\n- **Write after every change.** Any time data is added, updated, or removed, write the updated file immediately.\n- **Create if missing.** If `home-data.json` doesn't exist, create it with empty arrays/ob"},{"path":"README.md","content":"# Home Maintenance OS\n\nA conversational OpenClaw skill that tracks everything about your home: appliances, service history, contractors, and maintenance schedules. Supports multiple properties.\n\n## What It Does\n\nTell it about your home in plain language and it builds a living record over time:\n\n- **Appliances & Systems** -- make/model, install dates, warranties, notes\n- **Service History** -- every repair, inspection, and maintenance visit with dates, costs, and who did the work\n- **Contractor Directory** -- names, specialties, contact info, and quality notes (auto-populated from service logs)\n- **Maintenance Reminders** -- recurring tasks with due dates calculated from your service history\n\n## Example Usage\n\n**Logging a service:**\n> \"The AC got serviced today by Blue Sky HVAC. Replaced the capacitor, $180.\"\n\n**Checking history:**\n> \"When was the furnace last serviced?\"\n\n**Maintenance check:**\n> \"What's due for maintenance this month?\"\n\n**Contractor lookup:**\n> \"Who's our plumber?\"\n\n## Multi-Property Support\n\nTracks multiple homes (primary, rental, new purchase, etc.). Property context is maintained automatically once set. If you only have one property on file, it skips the property tags for cleaner output.\n\n## Installation\n\nCopy the `home-maintenance-os` folder into your OpenClaw skills directory and restart your agent."},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn77r9qjvh6fy4aja2km8bzgvd83khv9\",\n  \"slug\": \"home-maintenance-os\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1778681189164\n}"},{"path":"CHANGELOG.md","content":"# Changelog\n\nAll notable changes to this skill will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this skill adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\n\n## [1.0.1] — 2026-05-13\n\n### Changed\n- Frontmatter `version` field now quoted as a string per ClawHub CLI requirements\n- Added this CHANGELOG.md for consistency with the rest of the published skill catalog\n\n### Notes\n- No behavior changes in this release. Purely documentation and metadata cleanup.\n\n## [1.0.0] — 2026-04-12\n\n### Added\n- Initial release\n- Living record for every appliance, system, contractor, and maintenance task in a home\n- Appliance tracking (HVAC, water heater, washer, dryer, refrigerator, more) with install dates, warranties, and service history\n- Contractor directory (plumber, electrician, HVAC, handyman, landscaper, etc.) with notes and pricing history\n- Built-in maintenance knowledge with time-based and mileage-equivalent intervals\n- Service history per appliance and per contractor\n- Cost tracking with annual rollups and per-system spending summaries\n- Multi-property support for homeowners managing more than one home\n- Persistent storage in `home-data.json`"},{"path":"evals/eval-01-log-service.md","content":"# Eval 01: Log a Service Visit\n\n## Input\n\"Hey, the Trane XR15 AC at our house got its annual tune-up today. Cool Air Services did it -- cleaned the coils, checked refrigerant, replaced the filter. $175. Guy said everything looks good for another year.\"\n\n## Expected Behavior\n1. Logs a service record with today's date\n2. Captures the item (Trane XR15 AC), property (main house / default), contractor (Cool Air Services), work done (coil cleaning, refrigerant check, filter replacement), and cost ($175)\n3. Adds Cool Air Services to the contractor directory under HVAC if not already there\n4. Notes the \"good for another year\" comment and sets next service due in ~12 months\n5. Confirms what was logged in a clear, scannable format\n6. Asks if the user wants to add contractor contact info\n\n## What to Watch For\n- Does it capture ALL the details (not just some)?\n- Does it auto-create the contractor directory entry?\n- Does it set a maintenance reminder based on \"another year\"?\n- Is the confirmation clear and easy to scan?"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appli... Skill: Home Maintenance Os Owner: chris Summary: Track everything about your home -- appliances, service history, contractors, and upcoming maintenance. Use this skill whenever someone mentions a home appli... Tags: HVAC:1.0.0, appliances:1.0.0, contractors:1.0.0, home:1.0.0, latest:1.0.1, maintenance schedules:1.0.0 Version history: v1.0.1 | 2026-05-13T14:06:29.164Z | user v1.0.1 - Documentation cleanup. Frontmatter","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1237,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:11:40.991Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:11:40.991Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:59:02.107Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}