← Back to Skills Marketplace
mchusma

Cleaning And Maintenance

by mchusma · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
108
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install cleaning-and-maintenance
Description
Schedule cleanings, manage maintenance tasks, check availability, and add service professionals with TIDY.
README (SKILL.md)

Cleaning & Maintenance — TIDY

Schedule and manage cleaning jobs, create maintenance tasks, check booking availability, and add service professionals through the TIDY API. Built for property managers, Airbnb hosts, and cleaning service coordinators.

Authentication

All requests require a Bearer token.

# Log in
curl -X POST https://public-api.tidy.com/api/v2/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","password":"secret123"}'

# Returns: { "token": "abc123..." }
export TIDY_API_TOKEN="abc123..."

Tokens do not expire. Include Authorization: Bearer $TIDY_API_TOKEN on all requests.


Jobs (Cleaning Bookings)

Jobs represent scheduled cleaning appointments.

Service Types

Service Type Key Description
regular_cleaning.one_hour 1-hour regular cleaning
regular_cleaning.two_and_a_half_hours 2.5-hour regular cleaning
regular_cleaning.four_hours 4-hour regular cleaning
deep_cleaning.two_and_a_half_hours 2.5-hour deep cleaning
deep_cleaning.four_hours 4-hour deep cleaning
turnover_cleaning.two_and_a_half_hours 2.5-hour turnover cleaning
turnover_cleaning.four_hours 4-hour turnover cleaning

Booking Statuses

scheduledin_progresscompleted or cancelled or failed

Check Availability

Before creating a booking, check available time slots:

curl -s "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 $TIDY_API_TOKEN"

Required: address_id, service_type_key.

List all jobs

curl -s https://public-api.tidy.com/api/v2/jobs \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

# Filter by address
curl -s "https://public-api.tidy.com/api/v2/jobs?address_id=123" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

# Filter by status (comma-separated)
curl -s "https://public-api.tidy.com/api/v2/jobs?status=scheduled,in_progress" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

# Filter by to-do list
curl -s "https://public-api.tidy.com/api/v2/jobs?to_do_list_id=789" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Get a single job

curl -s https://public-api.tidy.com/api/v2/jobs/456 \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Response fields: id, address_id, to_do_list_id, status, price, service_type_key, service_type_name, current_start_datetime (date, time), preferred_start_datetime (date, time), start_no_earlier_than (date, time), end_no_later_than (date, time), is_partially_completed, cancelled_by, url, created_at.

Create a job

curl -X POST https://public-api.tidy.com/api/v2/jobs \
  -H "Authorization: Bearer $TIDY_API_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-04-10", "time": "09:00" },
    "end_no_later_than": { "date": "2026-04-10", "time": "17:00" },
    "preferred_start_datetime": { "date": "2026-04-10", "time": "10:00" },
    "to_do_list_id": 789
  }'

Required: address_id, service_type_key, start_no_earlier_than (with date and time), end_no_later_than (with date and time).

Optional: preferred_start_datetime (with date, time), to_do_list_id.

The time window (start_no_earlier_than to end_no_later_than) defines when the service provider can arrive. preferred_start_datetime is a soft preference within that window.

Date format: YYYY-MM-DD. Time format: HH:MM (24-hour).

Update a job

curl -X PUT https://public-api.tidy.com/api/v2/jobs/456 \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "to_do_list_id": 790,
    "start_no_earlier_than": { "date": "2026-04-11", "time": "08:00" },
    "end_no_later_than": { "date": "2026-04-11", "time": "14:00" }
  }'

Cancel a job

curl -X POST https://public-api.tidy.com/api/v2/jobs/456/cancel \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Reschedule a job

curl -X POST https://public-api.tidy.com/api/v2/jobs/456/reschedule \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "service_type_key": "regular_cleaning.two_and_a_half_hours",
    "start_no_earlier_than": { "date": "2026-04-15", "time": "09:00" },
    "end_no_later_than": { "date": "2026-04-15", "time": "17:00" },
    "preferred_start_datetime": { "date": "2026-04-15", "time": "11:00" }
  }'

Required: service_type_key, start_no_earlier_than, end_no_later_than.

Optional: preferred_start_datetime, to_do_list_id.


Tasks (Maintenance / Issue Reports)

Tasks represent maintenance issues or repair requests tied to a property.

Task Statuses

reportedin_progresscompleted

Task Urgency Levels

low, normal, high, emergency

List tasks

curl -s https://public-api.tidy.com/api/v2/tasks \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

# Filter by address, status, type, or urgency (comma-separated)
curl -s "https://public-api.tidy.com/api/v2/tasks?address_id=123&urgency=high" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

# Filter by concierge assignment
curl -s "https://public-api.tidy.com/api/v2/tasks?assigned_to_concierge=true" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Get a single task

curl -s https://public-api.tidy.com/api/v2/tasks/789 \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Response fields: id, address_id, title, description, reporter_type, reporter_name, type, status, urgency, due_date, assigned_to_concierge, archived_at, created_at.

Create a task

curl -X POST https://public-api.tidy.com/api/v2/tasks \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "address_id": 123,
    "title": "Broken window in master bedroom",
    "description": "The left window pane is cracked and letting in air. Needs glass replacement.",
    "type": "repair",
    "urgency": "high",
    "due_date": "2026-04-05",
    "assigned_to_concierge": true
  }'

Required: address_id, title, description, type.

Optional: status, urgency, due_date (YYYY-MM-DD), assigned_to_concierge (boolean — if true, TIDY will auto-handle).

Update a task

curl -X PUT https://public-api.tidy.com/api/v2/tasks/789 \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "in_progress",
    "urgency": "medium",
    "due_date": "2026-04-12"
  }'

Delete a task

curl -X DELETE https://public-api.tidy.com/api/v2/tasks/789 \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Service Professionals (Pros)

Add your own cleaning or maintenance professionals to the TIDY platform.

curl -X POST https://public-api.tidy.com/api/v2/pros \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Maria Garcia",
    "email": "[email protected]",
    "phone": "+1-555-0199",
    "service_types": ["regular_cleaning"]
  }'

Required: name, email.

Optional: phone, service_types (array, default ["regular_cleaning"]).


To-Do Lists

To-do lists are cleaning checklists attached to jobs.

curl -s https://public-api.tidy.com/api/v2/to-do-lists \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

# Filter by address
curl -s "https://public-api.tidy.com/api/v2/to-do-lists?address_id=123" \
  -H "Authorization: Bearer $TIDY_API_TOKEN"

Natural Language (message-tidy)

For complex or multi-step operations, send a natural language request:

curl -X POST https://public-api.tidy.com/api/v2/message-tidy \
  -H "Authorization: Bearer $TIDY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Schedule a deep clean at my Beach House for next Tuesday afternoon",
    "context": { "address_id": 123 }
  }'

This is asynchronous. Poll GET /api/v2/message-tidy/{id} every 3–5 seconds until status is completed.

Example requests

  • "Schedule a 2.5 hour deep clean at address 123 for next Tuesday between 9am and 5pm"
  • "Cancel booking 456"
  • "Reschedule my cleaning to Friday"
  • "Create a maintenance task: the dishwasher is leaking at my Beach House"
  • "Show me all scheduled cleanings"
  • "What time slots are available for a 4-hour cleaning at address 123?"

CLI Alternative

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

tidy-request login
tidy-request "Schedule a deep clean for next Tuesday" --address-id 123
tidy-request "Cancel booking 456" --booking-id 456
tidy-request "Report a broken dishwasher" --address-id 123
tidy-request "What cleaning slots are available next week?" --address-id 123

Error Handling

HTTP Status Error Type When
400 invalid_request_error Missing or invalid parameters
401 authentication_error Bad credentials or missing token
404 not_found_error Resource does not exist
500 internal_error Server error
Usage Guidance
This skill appears to be a straightforward TIDY API wrapper and only needs your TIDY_API_TOKEN. Before installing, confirm the homepage (https://tidy.com) is legit and that the token you provide is scoped appropriately (use a least-privilege or service-specific token if available). Note that the skill will make network requests to public-api.tidy.com using that token — treat it as a long-lived secret (the doc says tokens do not expire). If you are concerned about accidental leaks, rotate or revoke the token after testing, and avoid providing high-privilege account credentials. Because this is an instruction-only skill (no code bundled), there is less local risk, but network-exposed credentials remain sensitive.
Capability Analysis
Type: OpenClaw Skill Name: cleaning-and-maintenance Version: 1.0.0 The skill bundle provides a legitimate integration for the TIDY cleaning and maintenance service API. The SKILL.md file contains standard documentation for managing service bookings, maintenance tasks, and service professionals via the public-api.tidy.com endpoint. No evidence of malicious intent, data exfiltration, or unauthorized execution was found; all instructions and examples are consistent with the stated purpose of property management automation.
Capability Assessment
Purpose & Capability
Name/description match the runtime instructions: all calls target tidy.com public-api endpoints and the single required env var is TIDY_API_TOKEN, which is appropriate for a TIDY integration.
Instruction Scope
SKILL.md contains concrete curl examples for listing/creating/updating jobs and tasks and only requires the TIDY bearer token; it does not instruct the agent to read unrelated files, other env vars, or send data to unexpected endpoints.
Install Mechanism
No install spec and no code files (instruction-only). This minimizes disk-write risk. The docs use curl in examples (common for REST APIs) but no installer is required.
Credentials
Only one credential is required (TIDY_API_TOKEN) and it is the declared primary credential. No unrelated secrets or config paths are requested.
Persistence & Privilege
The skill is not always-enabled and does not request elevated or persistent system privileges. It does not modify other skills or system-wide settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install cleaning-and-maintenance
  3. After installation, invoke the skill by name or use /cleaning-and-maintenance
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of the Cleaning & Maintenance skill for TIDY integration. - Schedule and manage cleaning appointments (jobs) including create, update, cancel, and reschedule features - Create and track maintenance/repair tasks with support for urgency levels and concierge assignment - Add and manage service professionals on the TIDY platform - Check booking availability before scheduling services - Work with to-do lists (cleaning checklists) linked to jobs - Requires TIDY API token authentication for all actions
Metadata
Slug cleaning-and-maintenance
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Cleaning And Maintenance?

Schedule cleanings, manage maintenance tasks, check availability, and add service professionals with TIDY. It is an AI Agent Skill for Claude Code / OpenClaw, with 108 downloads so far.

How do I install Cleaning And Maintenance?

Run "/install cleaning-and-maintenance" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Cleaning And Maintenance free?

Yes, Cleaning And Maintenance is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Cleaning And Maintenance support?

Cleaning And Maintenance is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Cleaning And Maintenance?

It is built and maintained by mchusma (@mchusma); the current version is v1.0.0.

💬 Comments