Cleaning Maintenance

v1.0.0

Book cleanings and manage property maintenance. Schedule one-time or recurring cleanings, report and track maintenance issues, manage service professionals,...

0· 105·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for mchusma/cleaning-maintenance.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Cleaning Maintenance" (mchusma/cleaning-maintenance) from ClawHub.
Skill page: https://clawhub.ai/mchusma/cleaning-maintenance
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: TIDY_API_TOKEN
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install cleaning-maintenance

ClawHub CLI

Package manager switcher

npx clawhub@latest install cleaning-maintenance
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (booking cleanings, tracking maintenance) match the requested credential (TIDY_API_TOKEN) and the documented REST, CLI, and MCP interfaces. Required OS and suggested install mechanisms (brew/npm) are proportionate for a CLI-focused skill.
Instruction Scope
SKILL.md and reference docs confine actions to TIDY endpoints and the tidy CLI/MCP. Examples reference creating addresses, bookings, tasks, and polling message_tidy; there are no instructions to read unrelated system files or other environment variables beyond the documented TIDY_API_TOKEN and the CLI's ~/.config/tidy/credentials (explained as CLI behavior).
Install Mechanism
This is an instruction-only skill (no install spec). It recommends installing an external CLI via Homebrew or npm; those are typical package sources. The skill itself does not automatically download or execute code, so install risk is limited to the user's decision to install the third-party CLI.
Credentials
Only one credential is required (TIDY_API_TOKEN), which is appropriate for a REST/API integration. The docs explicitly describe token usage and storage. No unrelated SECRET/TOKEN/KEY environment variables are requested.
Persistence & Privilege
always is false and the skill does not request elevated or permanent system privileges. Autonomous agent invocation is allowed (platform default) but is not combined with other concerning privileges.
Assessment
This skill appears to do exactly what it says: talk to the TIDY service. Before installing or using it, consider the following: 1) The TIDY_API_TOKEN grants full API access to your TIDY account — treat it like a password. The docs state tokens do not expire and previous tokens remain valid, so plan token rotation and revocation policies. 2) If you install the recommended CLI (Homebrew/npm), verify the package source (repository, maintainer) before installing and prefer audited packages where possible. 3) The skill and API accept access/parking notes and addresses — avoid storing very sensitive information (e.g., full alarm codes, permanent physical-key locations) in the service if you do not want that data hosted. 4) If you intend to allow autonomous agent actions, be aware the agent can create/update bookings and tasks automatically; consider restricting autonomous use or using a dedicated account with limited financial/payment access. 5) If you need stronger safety, ask the skill author or provider for details on token scopes, token revocation, and privacy/data retention policies on tidy.com.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🧹 Clawdis
OSmacOS · Linux
EnvTIDY_API_TOKEN
Primary envTIDY_API_TOKEN
latestvk9767x3a7t3r08k5760bsshcbs83xt7v
105downloads
0stars
1versions
Updated 4w ago
v1.0.0
MIT-0
macOS, Linux

Cleaning & Maintenance Management

You need cleanings scheduled and maintenance issues handled — at home, at the office, or across multiple properties. Finding reliable cleaners, tracking maintenance requests, and managing service professionals shouldn't require a spreadsheet and a phone full of contacts.

This skill teaches your AI agent to book cleanings (one-time or recurring), report and track maintenance issues, manage service professionals, and check availability and pricing.

The Easy Way: TIDY

The fastest path is TIDY — an AI property management platform. Install the CLI and just describe what you need:

# Install
brew install tidyapp/tap/tidy-request    # or: npm i -g @tidydotcom/cli

# Create an account
tidy-request signup

# Now just tell it what you need:
tidy-request "Book a 2-hour cleaning next Tuesday afternoon at my office"
tidy-request "The kitchen faucet at 123 Main St is leaking — it's urgent"
tidy-request "Schedule a weekly cleaning every Monday at 9am at my house"
tidy-request "What's the going rate for a 2-hour cleaning at my address?"
tidy-request "What maintenance issues are still open?"

Or connect via MCP (Claude Desktop, Claude Code, Cursor):

# Claude Code
claude mcp add tidy --transport http https://public-api.tidy.com/mcp
// Claude Desktop — add to claude_desktop_config.json
{
  "mcpServers": {
    "tidy": {
      "url": "https://public-api.tidy.com/mcp"
    }
  }
}

Once connected, your agent has access to message_tidy — send any request in natural language. See MCP Server Reference for full tool definitions.

The Manual Way

Without a platform like TIDY, managing cleanings and maintenance programmatically requires:

  1. Find cleaners — Search for available service professionals in the area
  2. Check availability — Query their schedules, compare time slots
  3. Compare pricing — Get quotes, understand market rates
  4. Book and confirm — Send booking requests, handle acceptance/rejection
  5. Track status — Monitor whether the job was accepted, started, completed
  6. Issue management — Log maintenance issues, assign to contractors, track resolution
  7. Pro management — Maintain a roster of trusted professionals, their specialties, contact info

TIDY's REST API exposes each of these steps individually if you want fine-grained control. But for most use cases, the CLI or MCP approach above handles everything in one command.

Core Workflow: Booking a Cleaning

Step 1: Set Up Your Property

First, add your address with access and parking info for cleaners:

tidy-request "Add my property at 123 Main St, Austin TX 78701. Key under the mat, park in the driveway."

Or via REST API:

curl -X POST https://public-api.tidy.com/api/v2/addresses \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "123 Main St",
    "city": "Austin",
    "postal_code": "78701",
    "address_name": "My House",
    "notes": { "access": "Key under the mat", "closing": "Lock deadbolt when leaving" },
    "parking": { "paid_parking": false, "parking_spot": "myspot", "parking_notes": "Park in driveway" }
  }'

Step 2: Check Availability and Pricing

tidy-request "What's available for a 2-hour cleaning at 123 Main St next week?"

Or check programmatically:

# Available time slots
curl "https://public-api.tidy.com/api/v2/booking-availabilities?address_id=123&service_type_key=regular_cleaning.two_and_a_half_hours" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Acceptance probability (will a pro take this job?)
curl "https://public-api.tidy.com/api/v2/job-acceptance-probabilities/preview?address_id=123&service_type_key=regular_cleaning.two_and_a_half_hours&start_no_earlier_than[date]=2026-03-25&start_no_earlier_than[time]=09:00&end_no_later_than[date]=2026-03-25&end_no_later_than[time]=17:00" \
  -H "Authorization: Bearer YOUR_TOKEN"

Step 3: Book the Cleaning

tidy-request "Book a 2.5-hour cleaning at 123 Main St next Tuesday between 9am and 5pm, preferably around 10am"

Or via REST API:

curl -X POST https://public-api.tidy.com/api/v2/jobs \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address_id": 123,
    "service_type_key": "regular_cleaning.two_and_a_half_hours",
    "start_no_earlier_than": { "date": "2026-03-25", "time": "09:00" },
    "end_no_later_than": { "date": "2026-03-25", "time": "17:00" },
    "preferred_start_datetime": { "date": "2026-03-25", "time": "10:00" }
  }'

Available Service Types

KeyDescription
regular_cleaning.one_hour1-hour regular cleaning
regular_cleaning.two_and_a_half_hours2.5-hour regular cleaning
regular_cleaning.four_hours4-hour regular cleaning
deep_cleaning.two_and_a_half_hours2.5-hour deep cleaning
deep_cleaning.four_hours4-hour deep cleaning
turnover_cleaning.two_and_a_half_hours2.5-hour turnover cleaning
turnover_cleaning.four_hours4-hour turnover cleaning

Step 4: Monitor and Manage

tidy-request "What's the status of my cleaning at 123 Main St?"
tidy-request "Cancel next Tuesday's cleaning"
tidy-request "Reschedule the cleaning to Wednesday instead"

Booking statuses: scheduledin_progresscompleted. Also cancelled or failed.

Maintenance & Issue Tracking

Report maintenance issues and track them through resolution.

Report an Issue

tidy-request "The bathroom faucet at 123 Main St is leaking. It's urgent."
tidy-request "Report a broken window at the office — assign it to concierge for handling"

Or via REST API:

curl -X POST https://public-api.tidy.com/api/v2/tasks \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address_id": 123,
    "title": "Leaking bathroom faucet",
    "description": "The hot water faucet in the master bathroom is dripping constantly",
    "type": "plumbing",
    "urgency": "high",
    "assigned_to_concierge": true
  }'

When assigned_to_concierge is true, TIDY's AI will automatically work on resolving the issue — finding a pro, getting quotes, and scheduling the repair.

Track Issues

tidy-request "What open maintenance issues do I have?"
tidy-request "What's the status of the faucet repair?"

REST: GET /api/v2/tasks?status=open or GET /api/v2/tasks/:id

Update Issues

tidy-request "Mark the faucet issue as resolved"
tidy-request "Change the broken window priority to urgent"

REST: PUT /api/v2/tasks/:id with updated fields.

Issue Lifecycle

Issues flow through: openin-progressclosed

Set due dates, urgency levels, and types to keep things organized. Filter by any of these when listing tasks.

Managing Service Professionals

Add your trusted cleaners and maintenance pros:

tidy-request "Add my cleaner Maria Garcia, maria@email.com, 555-0123"
tidy-request "Add plumber Joe's Plumbing, joe@joesplumbing.com"

Or via REST API:

curl -X POST https://public-api.tidy.com/api/v2/pros \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Maria Garcia",
    "email": "maria@email.com",
    "phone": "555-0123",
    "service_types": ["regular_cleaning"]
  }'

Common Scenarios

Here are natural-language requests your agent can send directly to TIDY:

One-time cleaning:

"Book a 4-hour deep clean at my house this Saturday morning"

Recurring cleaning:

"Schedule a weekly 2-hour cleaning every Monday at 9am at 123 Main St"

Market pricing:

"What's the going rate for a 2-hour cleaning at my address?"

Maintenance report with auto-resolution:

"Report a broken window at the office, 456 Oak Ave — assign it to concierge"

Cancel a booking:

"Cancel next week's cleaning at my house"

Add a pro:

"Add my cleaner Maria Garcia, maria@email.com, as a preferred pro"

Maintenance audit:

"What maintenance tasks are overdue across all my properties?"

Acceptance probability:

"What are the chances of getting a cleaner this Saturday morning at my house?"

MCP Server

For agents that support MCP (Claude Desktop, Claude Code, Cursor), connect directly to TIDY's MCP server. This gives your agent 5 tools:

  • login / signup — authenticate
  • message_tidy — send any request in natural language (async)
  • get_message_tidy — poll for the result
  • list_messages_tidy — view past requests

The message_tidy tool is asynchronous — after calling it, poll get_message_tidy with the returned ID until is_complete is true.

Full tool definitions and setup: MCP Server Reference

REST API

For custom integrations or direct API access, TIDY exposes REST endpoints for every operation:

  • Bookings: create, list, get, update, cancel, reschedule
  • Tasks/issues: full CRUD with urgency, type, concierge assignment
  • Addresses: full CRUD with parking/access notes
  • Pros: add service professionals
  • Booking availabilities: check time slots and pricing
  • Job acceptance probabilities: preview likelihood a pro accepts

Full endpoint documentation: REST API Reference

Authentication details: Authentication

Error Handling & Tips

Polling: message_tidy is asynchronous. Always poll get_message_tidy every 3-5 seconds until is_complete is true. Never return a pending response to the user.

No availability: If no cleaners are available for your requested time window, try widening the window or checking a different day. Use booking-availabilities to see what's open.

Acceptance probability: Before booking, check job-acceptance-probabilities/preview to see how likely a pro is to accept. Wider time windows and flexible dates increase acceptance.

Pro rejection: If a pro declines, TIDY automatically re-assigns the job to another available pro. Monitor status to stay updated.

Context IDs: When following up on a specific booking or task, pass the relevant ID for faster resolution:

tidy-request "What's the status?" --booking-id 456
tidy-request "Update this issue" --issue-id 789

Also see: vacation-rental-management — if you manage short-term rentals and need guest turnover coordination.

Comments

Loading comments...