# Send WastePickupReminder to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "waste-reminder",
    "name": "WastePickupReminder",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Apenklit/waste-reminder",
    "canonicalUrl": "https://clawhub.ai/Apenklit/waste-reminder",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/waste-reminder",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=waste-reminder",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "waste_cron.py",
      "waste_reminder.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/waste-reminder"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/waste-reminder",
    "downloadUrl": "https://openagent3.xyz/downloads/waste-reminder",
    "agentUrl": "https://openagent3.xyz/skills/waste-reminder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/waste-reminder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/waste-reminder/agent.md"
  }
}
```
## Documentation

### Waste Reminder Skill

A flexible, token-efficient skill for automated waste container collection reminders.

### Overview

This skill helps automate waste collection reminders based on user-defined schedules. It uses simple JSON configuration for maximum flexibility and minimal token usage.

How it works:
The skill reads your config and schedule, determines which reminders need to be sent, and outputs them in a format that your AI assistant can process. The AI then sends the actual messages to the specified channels.

Output format:

SEND_TO:recipient_id
CHANNEL:whatsapp
Your message here
---

This approach keeps your configuration simple and token-efficient - the skill doesn't need API keys or direct network access.

### Features

Multiple container types
Custom reminder schedules (up to 4 times per pickup)
Flexible targeting (group, personal, escalation)
Multi-channel support (WhatsApp, Telegram, Discord, Email) - messages sent by your AI
Confirmation system (stops further reminders)
Single schedule file
Token-efficient - generates reminders without using AI tokens

### Installation

clawhub install waste-reminder

### Setup for Users

When you install this skill, the AI assistant will send you a config template. Reply in any language - the AI will understand and convert it to the correct format!

### Example Template (Complete example with all options)

I want to set up waste reminders!

My containers:
- blue: Paper (🔵)
- gray: Residual (⚫)
- orange: Plastic (🟠)
- green: Garden (🟢)

Reminder times:
- 18:00: to group_whatsapp (day before, group notification)
- 22:00: to group_whatsapp (evening reminder to group)
- 06:30: to partner_whatsapp (morning, specific person)
- 09:30: to me_telegram (escalation, different channel)

My contacts:
- group_whatsapp: 123456789@g.us
- partner_whatsapp: +31600000001
- me_telegram: 222222222

Upcoming pickups:
- 2026-02-24: orange
- 2026-02-25: gray
- 2026-03-02: blue

The AI will convert this to the correct JSON format and set everything up.

### Configuration

The skill stores configuration in:
/data/.openclaw/workspace/data/waste-reminder/

### Files

waste-reminder/
├── config.json      # Your containers, reminder times, targets
└── schedule.json   # Your pickup dates and status

### Complete config.json Example (all options shown)

{
  "config_version": "1.0",
  "containers": {
    "blue": {"name": "Paper", "color": "blue", "emoji": "🔵"},
    "gray": {"name": "Residual", "color": "gray", "emoji": "⚫"},
    "orange": {"name": "Plastic", "color": "orange", "emoji": "🟠"},
    "green": {"name": "Garden", "color": "green", "emoji": "🟢"}
  },
  "reminder_times": {
    "18:00": {
      "type": "group",
      "template": "Tomorrow: {container_emoji} {container_name} will be collected!",
      "target": "group_whatsapp"
    },
    "22:00": {
      "type": "group",
      "template": "Not confirmed yet - {container_emoji} needs to go out by 7am!",
      "target": "group_whatsapp"
    },
    "06:30": {
      "type": "personal",
      "template": "⚠️ {container_emoji} put out NOW!",
      "target": "partner_whatsapp"
    },
    "09:30": {
      "type": "escalation",
      "template": "Container still not outside!",
      "target": "me_telegram"
    }
  },
  "targets": {
    "group_whatsapp": {"id": "123456789@g.us", "channel": "whatsapp"},
    "partner_whatsapp": {"id": "+31600000001", "channel": "whatsapp"},
    "partner_telegram": {"id": "111111111", "channel": "telegram"},
    "me_whatsapp": {"id": "+31600000002", "channel": "whatsapp"},
    "me_telegram": {"id": "222222222", "channel": "telegram"},
    "me_discord": {"id": "https://discord.com/api/webhooks/...", "channel": "discord"}
  }
}

### Complete schedule.json Example

{
  "2026-02-24": {
    "orange": {
      "confirmed": false,
      "reminded_18:00": false,
      "reminded_22:00": false,
      "reminded_06:30": false,
      "reminded_09:30": false
    }
  },
  "2026-02-25": {
    "gray": {
      "confirmed": false,
      "reminded_18:00": false,
      "reminded_22:00": false,
      "reminded_06:30": false,
      "reminded_09:30": false
    }
  }
}

### Cron Job

Add ONE cron job that runs every 15 minutes:

Name: "Waste Reminder Check"
Schedule: every 15 minutes
Script: /data/.openclaw/workspace/skills/waste-reminder/waste_cron.py

The cron script checks if any reminders need to be sent and outputs them. Your AI assistant (triggered by the cron job) reads this output and sends the actual messages to the appropriate channels.

### User Commands

Confirm: "container is out"
View: "waste schedule" or "waste status"
Add: "waste add [date] [container]"
Remove: "waste remove [date] [container]"

### Files

waste-reminder/
├── SKILL.md           # This file
├── waste_reminder.py # CLI tool (manual commands)
└── waste_cron.py      # Cron script (every 15 min)

### Template Placeholders

{container_emoji} - The emoji
{container_name} - The name
{date} - The date

### Channel Support

Supported channels:

whatsapp - Use phone number or group ID as ID
telegram - Use chat ID
discord - Use webhook URL
email - Use email address

Each target must specify both id and channel.

### Target Naming Convention

Targets should be named with channel suffix:

group_whatsapp, group_telegram, group_discord
me_whatsapp, me_telegram, me_discord
partner_whatsapp, partner_telegram, partner_discord

The channel is extracted from the target name automatically.

### License

MIT License
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: Apenklit
- Version: 1.0.2
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-05-07T17:22:31.273Z
- Expires at: 2026-05-14T17:22:31.273Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/waste-reminder)
- [Send to Agent page](https://openagent3.xyz/skills/waste-reminder/agent)
- [JSON manifest](https://openagent3.xyz/skills/waste-reminder/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/waste-reminder/agent.md)
- [Download page](https://openagent3.xyz/downloads/waste-reminder)