{
  "schemaVersion": "1.0",
  "item": {
    "slug": "meetup-planner",
    "name": "Meetup Planner",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/apresmoi/meetup-planner",
    "canonicalUrl": "https://clawhub.ai/apresmoi/meetup-planner",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/meetup-planner",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=meetup-planner",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "BOOTSTRAP.md",
      "README.md",
      "SKILL.md",
      "package.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "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."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/meetup-planner"
    },
    "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."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/meetup-planner",
    "agentPageUrl": "https://openagent3.xyz/skills/meetup-planner/agent",
    "manifestUrl": "https://openagent3.xyz/skills/meetup-planner/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/meetup-planner/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "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."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Meetup Planner",
        "body": "An intelligent assistant that helps you discover, track, and never miss events that match your interests."
      },
      {
        "title": "One-time Setup",
        "body": "IMPORTANT: After installing this skill, the agent will automatically run the bootstrap setup process from BOOTSTRAP.md.\n\nThe bootstrap process:\n\nChecks for web search and crawling capabilities\nCollects your event preferences\nSets up automated daily searches (optional)\nCreates workspace structure\n\nIf you don't have search/crawling capabilities, I'll ask you to provide the necessary tools."
      },
      {
        "title": "What This Skill Does",
        "body": "After setup:\n\nDaily Search: Automatically searches for events matching your profile every morning (if enabled)\nEvent Discovery: Uses available search and scraping tools to find events across the web\nEvent Tracking: Saves and presents new events for your review\nSmart Reminders: Sets up notifications 24 hours and 2 hours before confirmed events\nPreference Management: Updates your interests and search criteria anytime"
      },
      {
        "title": "First Time Setup",
        "body": "When you first run this skill, I will guide you through setup by following BOOTSTRAP.md.\n\nThe setup process is interactive and friendly:\n\n✅ Check for web search and crawling capabilities\n🎯 Learn your event preferences through a friendly conversation\n⏰ Set up automated daily searches (optional)\n📁 Create workspace structure with proper permissions\n\nSetup takes 2-3 minutes. If you don't have search/crawling tools installed, I'll ask you to provide them."
      },
      {
        "title": "Initial Run",
        "body": "Run the meetup-planner skill to begin setup"
      },
      {
        "title": "Daily Operations",
        "body": "Once set up, the skill will:\n\nSearch for events every morning automatically\nSave findings to events.json\nPresent new events for your review\nTrack events you're interested in"
      },
      {
        "title": "When You Find an Event You Like",
        "body": "Tell me \"I'm interested in [event name]\" and I will:\n\nMark it as confirmed\nSend you the registration link\nSet up reminders (24h and 2h before the event)"
      },
      {
        "title": "Commands",
        "body": "update preferences - Modify your event preferences\nshow upcoming - Display all tracked events\nremove event [name] - Stop tracking an event\npause search - Temporarily stop daily searches\nresume search - Resume daily searches"
      },
      {
        "title": "Data Storage",
        "body": "The skill maintains:\n\nuser-preferences.json - Your event preferences\nevents.json - All discovered and tracked events\nevent-reminders.json - Scheduled reminders"
      },
      {
        "title": "Technical Details",
        "body": "Capabilities Required:\n\nWeb search capability (any search tool or skill)\nWeb crawling/scraping capability (any scraping tool or skill)\n\nScheduling:\n\nUses system cron jobs (or equivalent) for daily searches\nUses scheduled tasks for event reminders"
      },
      {
        "title": "Privacy Note",
        "body": "All data is stored locally on your machine. Your preferences and tracked events are never sent anywhere except to search for new events via the configured APIs."
      },
      {
        "title": "Data Transmission & External API Usage",
        "body": "This skill makes external network requests to search and scrape event information. The exact services depend on what search/crawling tools you have installed.\n\nWhat is sent:\n\nSearch query strings constructed from your preferences (e.g., \"AI meetup San Francisco February 2026\")\nURLs of event pages to scrape\nYour IP address (automatically sent by your network stack)\nAny authentication credentials required by the search/crawling tools you use\n\nWhat is NOT sent:\n\nYour complete preference profile\nEvent registration status or history\nPersonal notes or modifications\nOther tracked events\n\nPurpose: To discover public events matching your interests and extract structured event details."
      },
      {
        "title": "Data Minimization Practices",
        "body": "Only essential data is transmitted to accomplish the task\nAll credentials are transmitted securely over HTTPS only\nNo telemetry, analytics, or usage tracking is performed\nNo data is sent to any services beyond your configured search/crawling tools"
      },
      {
        "title": "Agent Instructions",
        "body": "IMPORTANT: After installing this skill, ALWAYS run the bootstrap setup from BOOTSTRAP.md before first use.\n\nWhen this skill is invoked:"
      },
      {
        "title": "Phase 0: Check Bootstrap Status (ALWAYS RUN THIS FIRST)",
        "body": "Before doing anything else, check if bootstrap is complete:\n\n# Check if bootstrap config exists\ncat ~/.openclaw/workspace/meetup-planner/config.json 2>/dev/null\n\nIf file doesn't exist OR bootstrapComplete: false:\n\nTell human: \"👋 Welcome to Meetup Planner! I need to set up a few things first. This will only take a couple of minutes.\"\nFollow BOOTSTRAP.md step-by-step (all steps in order)\nDo NOT proceed to Phase 1/2/3 until bootstrap is complete\n\nIf file exists AND bootstrapComplete: true:\n\nBootstrap is done, proceed to the appropriate phase based on what human asked for:\n\n\"search now\" → Phase 2 (Daily Search Routine)\n\"show upcoming\" → Phase 3 (Event Confirmation & Tracking)\n\"update preferences\" → Re-run the preference collection from BOOTSTRAP.md\nNo specific request → Ask: \"What would you like to do? I can search for events, show upcoming events, or update your preferences.\""
      },
      {
        "title": "Phase 1: Setup",
        "body": "All setup is handled by BOOTSTRAP.md. See Phase 0 above."
      },
      {
        "title": "Phase 2: Daily Search Routine",
        "body": "Load preferences:\n\nRead ~/.openclaw/workspace/meetup-planner/user-preferences.json\nParse the human's interests, location, preferred event types, etc.\n\n\n\nSearch for events:\n\nUse your available search tool or skill to search for events matching preferences\nSearch queries should be constructed like:\n\n\"{topic} meetup {location} {current_month}\"\n\"{topic} conference {location} upcoming\"\n\"{topic} workshop {location}\"\n\n\nRun multiple searches covering all their topics of interest\n\n\n\nExtract event details:\n\nFor each promising search result, use your available scraping tool or skill to scrape the event page\nExtract: event name, date, time, location, description, registration link, cost\nLook for: Eventbrite, Meetup.com, Luma, conference sites, etc.\n\n\n\nFilter and save:\n\nLoad existing events from ~/.openclaw/workspace/meetup-planner/events.json\nFilter out duplicates and events that don't match criteria\nAdd new events to the file\nMark each event with: {id, name, date, time, location, url, description, cost, added_date, status: \"new\"}\n\n\n\nPresent to human:\n\nFormat new events nicely with all key details\nAsk: \"I found X new events that match your interests. Would you like to hear about them?\"\nShare event details one by one or as a list\nFor each event, ask if they're interested"
      },
      {
        "title": "Phase 3: Event Confirmation & Tracking",
        "body": "When human expresses interest:\n\nUpdate event status to \"interested\" in events.json\nProvide the registration link: \"Here's the link to register: {url}\"\nAsk: \"Let me know when you've registered!\"\n\n\n\nWhen human confirms registration:\n\nUpdate event status to \"registered\" in events.json\nSchedule reminders in ~/.openclaw/workspace/meetup-planner/reminders.json:\n{\n  \"event_id\": \"abc123\",\n  \"event_name\": \"...\",\n  \"reminders\": [\n    {\"time\": \"24_hours_before\", \"sent\": false},\n    {\"time\": \"2_hours_before\", \"sent\": false}\n  ]\n}\n\n\nConfirm: \"Great! I'll remind you 24 hours before and 2 hours before the event.\""
      },
      {
        "title": "Phase 4: Reminder System",
        "body": "Check for due reminders (run this check every hour):\n\nLoad ~/.openclaw/workspace/meetup-planner/reminders.json\nCheck current time against event time\nIf within 24-25 hours before event and 24h reminder not sent:\n\nNotify human: \"Reminder: {event_name} is tomorrow at {time}! Location: {location}\"\nMark 24h reminder as sent\n\n\nIf within 2-3 hours before event and 2h reminder not sent:\n\nNotify human: \"Heads up! {event_name} starts in 2 hours at {time}. Time to get ready!\"\nMark 2h reminder as sent\n\n\n\n\n\nPost-event cleanup:\n\nAfter event date passes, move event to \"past\" status\nOptionally ask: \"How was {event_name}? Would you like me to look for similar events?\""
      },
      {
        "title": "Phase 5: Ongoing Commands",
        "body": "Support these commands from your human:\n\n\"update preferences\" / \"change preferences\": Re-run the preference collection interview\n\"show upcoming\": Display all events with status \"interested\" or \"registered\"\n\"show new events\": Display events with status \"new\" that haven't been reviewed\n\"remove event [name]\": Remove an event from tracking\n\"pause search\": Stop daily automated searches (update config)\n\"resume search\": Resume daily automated searches\n\"search now\": Run the search routine immediately\n\"list past events\": Show events that have already occurred"
      },
      {
        "title": "Error Handling",
        "body": "If skills fail to install: Provide manual instructions and the GitHub links\nIf API keys are invalid: Ask human to verify and provide new keys\nIf searches return no results: Try broader search terms or suggest different topics\nIf cron setup fails: Offer to search manually when user requests\nIf event scraping fails: Fall back to showing just the search result link\nAlways preserve data: Never overwrite events.json or preferences.json without backing up"
      },
      {
        "title": "File Structure",
        "body": "~/.openclaw/workspace/meetup-planner/\n├── user-preferences.json    # Human's event preferences\n├── events.json              # All discovered and tracked events\n├── reminders.json           # Scheduled reminders\n├── config.json              # Skill configuration (cron schedule, etc.)\n└── backups/                 # Automatic backups of data files"
      }
    ],
    "body": "Meetup Planner\n\nAn intelligent assistant that helps you discover, track, and never miss events that match your interests.\n\nOne-time Setup\n\nIMPORTANT: After installing this skill, the agent will automatically run the bootstrap setup process from BOOTSTRAP.md.\n\nThe bootstrap process:\n\nChecks for web search and crawling capabilities\nCollects your event preferences\nSets up automated daily searches (optional)\nCreates workspace structure\n\nIf you don't have search/crawling capabilities, I'll ask you to provide the necessary tools.\n\nWhat This Skill Does\n\nAfter setup:\n\nDaily Search: Automatically searches for events matching your profile every morning (if enabled)\nEvent Discovery: Uses available search and scraping tools to find events across the web\nEvent Tracking: Saves and presents new events for your review\nSmart Reminders: Sets up notifications 24 hours and 2 hours before confirmed events\nPreference Management: Updates your interests and search criteria anytime\nFirst Time Setup\n\nWhen you first run this skill, I will guide you through setup by following BOOTSTRAP.md.\n\nThe setup process is interactive and friendly:\n\n✅ Check for web search and crawling capabilities\n🎯 Learn your event preferences through a friendly conversation\n⏰ Set up automated daily searches (optional)\n📁 Create workspace structure with proper permissions\n\nSetup takes 2-3 minutes. If you don't have search/crawling tools installed, I'll ask you to provide them.\n\nHow to Use\nInitial Run\nRun the meetup-planner skill to begin setup\n\nDaily Operations\n\nOnce set up, the skill will:\n\nSearch for events every morning automatically\nSave findings to events.json\nPresent new events for your review\nTrack events you're interested in\nWhen You Find an Event You Like\n\nTell me \"I'm interested in [event name]\" and I will:\n\nMark it as confirmed\nSend you the registration link\nSet up reminders (24h and 2h before the event)\nCommands\nupdate preferences - Modify your event preferences\nshow upcoming - Display all tracked events\nremove event [name] - Stop tracking an event\npause search - Temporarily stop daily searches\nresume search - Resume daily searches\nData Storage\n\nThe skill maintains:\n\nuser-preferences.json - Your event preferences\nevents.json - All discovered and tracked events\nevent-reminders.json - Scheduled reminders\nTechnical Details\n\nCapabilities Required:\n\nWeb search capability (any search tool or skill)\nWeb crawling/scraping capability (any scraping tool or skill)\n\nScheduling:\n\nUses system cron jobs (or equivalent) for daily searches\nUses scheduled tasks for event reminders\nPrivacy Note\n\nAll data is stored locally on your machine. Your preferences and tracked events are never sent anywhere except to search for new events via the configured APIs.\n\nData Transmission & External API Usage\n\nThis skill makes external network requests to search and scrape event information. The exact services depend on what search/crawling tools you have installed.\n\nWhat is sent:\n\nSearch query strings constructed from your preferences (e.g., \"AI meetup San Francisco February 2026\")\nURLs of event pages to scrape\nYour IP address (automatically sent by your network stack)\nAny authentication credentials required by the search/crawling tools you use\n\nWhat is NOT sent:\n\nYour complete preference profile\nEvent registration status or history\nPersonal notes or modifications\nOther tracked events\n\nPurpose: To discover public events matching your interests and extract structured event details.\n\nData Minimization Practices\nOnly essential data is transmitted to accomplish the task\nAll credentials are transmitted securely over HTTPS only\nNo telemetry, analytics, or usage tracking is performed\nNo data is sent to any services beyond your configured search/crawling tools\nAgent Instructions\n\nIMPORTANT: After installing this skill, ALWAYS run the bootstrap setup from BOOTSTRAP.md before first use.\n\nWhen this skill is invoked:\n\nPhase 0: Check Bootstrap Status (ALWAYS RUN THIS FIRST)\n\nBefore doing anything else, check if bootstrap is complete:\n\n# Check if bootstrap config exists\ncat ~/.openclaw/workspace/meetup-planner/config.json 2>/dev/null\n\n\nIf file doesn't exist OR bootstrapComplete: false:\n\nTell human: \"👋 Welcome to Meetup Planner! I need to set up a few things first. This will only take a couple of minutes.\"\nFollow BOOTSTRAP.md step-by-step (all steps in order)\nDo NOT proceed to Phase 1/2/3 until bootstrap is complete\n\nIf file exists AND bootstrapComplete: true:\n\nBootstrap is done, proceed to the appropriate phase based on what human asked for:\n\"search now\" → Phase 2 (Daily Search Routine)\n\"show upcoming\" → Phase 3 (Event Confirmation & Tracking)\n\"update preferences\" → Re-run the preference collection from BOOTSTRAP.md\nNo specific request → Ask: \"What would you like to do? I can search for events, show upcoming events, or update your preferences.\"\nPhase 1: Setup\n\nAll setup is handled by BOOTSTRAP.md. See Phase 0 above.\n\nPhase 2: Daily Search Routine\n\nLoad preferences:\n\nRead ~/.openclaw/workspace/meetup-planner/user-preferences.json\nParse the human's interests, location, preferred event types, etc.\n\nSearch for events:\n\nUse your available search tool or skill to search for events matching preferences\nSearch queries should be constructed like:\n\"{topic} meetup {location} {current_month}\"\n\"{topic} conference {location} upcoming\"\n\"{topic} workshop {location}\"\nRun multiple searches covering all their topics of interest\n\nExtract event details:\n\nFor each promising search result, use your available scraping tool or skill to scrape the event page\nExtract: event name, date, time, location, description, registration link, cost\nLook for: Eventbrite, Meetup.com, Luma, conference sites, etc.\n\nFilter and save:\n\nLoad existing events from ~/.openclaw/workspace/meetup-planner/events.json\nFilter out duplicates and events that don't match criteria\nAdd new events to the file\nMark each event with: {id, name, date, time, location, url, description, cost, added_date, status: \"new\"}\n\nPresent to human:\n\nFormat new events nicely with all key details\nAsk: \"I found X new events that match your interests. Would you like to hear about them?\"\nShare event details one by one or as a list\nFor each event, ask if they're interested\nPhase 3: Event Confirmation & Tracking\n\nWhen human expresses interest:\n\nUpdate event status to \"interested\" in events.json\nProvide the registration link: \"Here's the link to register: {url}\"\nAsk: \"Let me know when you've registered!\"\n\nWhen human confirms registration:\n\nUpdate event status to \"registered\" in events.json\nSchedule reminders in ~/.openclaw/workspace/meetup-planner/reminders.json:\n{\n  \"event_id\": \"abc123\",\n  \"event_name\": \"...\",\n  \"reminders\": [\n    {\"time\": \"24_hours_before\", \"sent\": false},\n    {\"time\": \"2_hours_before\", \"sent\": false}\n  ]\n}\n\nConfirm: \"Great! I'll remind you 24 hours before and 2 hours before the event.\"\nPhase 4: Reminder System\n\nCheck for due reminders (run this check every hour):\n\nLoad ~/.openclaw/workspace/meetup-planner/reminders.json\nCheck current time against event time\nIf within 24-25 hours before event and 24h reminder not sent:\nNotify human: \"Reminder: {event_name} is tomorrow at {time}! Location: {location}\"\nMark 24h reminder as sent\nIf within 2-3 hours before event and 2h reminder not sent:\nNotify human: \"Heads up! {event_name} starts in 2 hours at {time}. Time to get ready!\"\nMark 2h reminder as sent\n\nPost-event cleanup:\n\nAfter event date passes, move event to \"past\" status\nOptionally ask: \"How was {event_name}? Would you like me to look for similar events?\"\nPhase 5: Ongoing Commands\n\nSupport these commands from your human:\n\n\"update preferences\" / \"change preferences\": Re-run the preference collection interview\n\"show upcoming\": Display all events with status \"interested\" or \"registered\"\n\"show new events\": Display events with status \"new\" that haven't been reviewed\n\"remove event [name]\": Remove an event from tracking\n\"pause search\": Stop daily automated searches (update config)\n\"resume search\": Resume daily automated searches\n\"search now\": Run the search routine immediately\n\"list past events\": Show events that have already occurred\nError Handling\nIf skills fail to install: Provide manual instructions and the GitHub links\nIf API keys are invalid: Ask human to verify and provide new keys\nIf searches return no results: Try broader search terms or suggest different topics\nIf cron setup fails: Offer to search manually when user requests\nIf event scraping fails: Fall back to showing just the search result link\nAlways preserve data: Never overwrite events.json or preferences.json without backing up\nFile Structure\n~/.openclaw/workspace/meetup-planner/\n├── user-preferences.json    # Human's event preferences\n├── events.json              # All discovered and tracked events\n├── reminders.json           # Scheduled reminders\n├── config.json              # Skill configuration (cron schedule, etc.)\n└── backups/                 # Automatic backups of data files"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/apresmoi/meetup-planner",
    "publisherUrl": "https://clawhub.ai/apresmoi/meetup-planner",
    "owner": "apresmoi",
    "version": "0.1.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/meetup-planner",
    "downloadUrl": "https://openagent3.xyz/downloads/meetup-planner",
    "agentUrl": "https://openagent3.xyz/skills/meetup-planner/agent",
    "manifestUrl": "https://openagent3.xyz/skills/meetup-planner/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/meetup-planner/agent.md"
  }
}