Install
openclaw skills install conference-internDiscover, curate, and register for crypto conference side events via Luma and Google Sheets
openclaw skills install conference-internDiscover, curate, and auto-register for crypto conference side events. Fetches events from Luma pages and community-curated Google Sheets, filters them using your preferences with LLM intelligence, and handles Luma RSVP via browser automation.
# First time: interactive setup
bash scripts/setup.sh my-conference
# Run the full pipeline
bash scripts/discover.sh my-conference
bash scripts/curate.sh my-conference
bash scripts/register.sh my-conference
# Or all at once
bash scripts/discover.sh my-conference && bash scripts/curate.sh my-conference && bash scripts/register.sh my-conference
# Monitor for new events
bash scripts/monitor.sh my-conference
| Command | Script | Description |
|---|---|---|
| setup | bash scripts/setup.sh <name> | Interactive config — walks you through preferences, URLs, auth |
| discover | bash scripts/discover.sh <id> | Fetch events from Luma + Google Sheets → events.json |
| curate | bash scripts/curate.sh <id> | LLM-driven filtering and ranking → curated.md |
| register | bash scripts/register.sh <id> | Auto-RSVP on Luma for recommended events |
| monitor | bash scripts/monitor.sh <id> | Re-discover + re-curate, flag new events |
Per-conference data lives in conferences/{conference-id}/:
config.json — user preferences, URLs, strategy, user infoevents.json — all discovered events (normalized schema)events-previous.json — snapshot from last run (for monitoring diff)curated.md — the curated schedule output (grouped by day, tiered)luma-session.json — persisted Luma browser session cookiescustom-answers.json — user answers to custom RSVP fields (reused across registrations)Skill-level shared files:
luma-knowledge.md — shared Luma page patterns (learned by agent, speeds up registration)You MUST run the bash scripts for every pipeline stage. Do NOT attempt to perform discovery, curation, or registration yourself by browsing pages directly. The scripts handle looping, error recovery, state tracking, and tab cleanup that you cannot reliably do in a single agent turn.
When the user asks you to:
bash scripts/setup.sh <conference-id>bash scripts/discover.sh <conference-id>bash scripts/curate.sh <conference-id>bash scripts/register.sh <conference-id> (processes 10 events per batch)bash scripts/register.sh <conference-id> --retry-pendingbash scripts/monitor.sh <conference-id>The scripts will invoke you for individual tasks (one event at a time for registration). Follow the prompts they give you. Never try to loop through events yourself — the scripts control the loop to ensure every event is attempted.
When the scripts invoke you for browser tasks, use your browser capability to interact with pages. Do not hardcode CSS selectors or DOM paths. Instead:
Registration processes events in batches of 10. You MUST follow this loop until all events are processed:
bash scripts/register.sh <conference-id>conferences/<id>/registration-status.jsonnew_fields is not empty: ask the user for answers, write them to conferences/<id>/custom-answers.jsondone is false: run register.sh again immediately for the next batch — do NOT wait for the user to askdone is true and there are ⏳ Needs input events: run register.sh --retry-pendingregistration-status.json — if manual_registration is not empty, present the list to the user:
"These events need manual registration (not on Luma):"
CRITICAL: After each batch completes, you MUST either run the next batch or tell the user why you stopped. Never silently stop between batches.
When invoked by the script for individual events:
needs-input status with the field labels.registered status without touching the form.The scripts handle most error recovery automatically. When invoked for a single event:
failed statuscaptcha status (script will stop the loop)closed statussession-expired status (script will stop the loop)The registration script (register.sh) automatically stops and asks the user when:
Other pipeline stop conditions: