← Back to Skills Marketplace
surlebeat

Conference Intern

by surlebeat · GitHub ↗ · v2.1.4 · MIT-0
cross-platform ✓ Security Clean
205
Downloads
0
Stars
0
Active Installs
16
Versions
Install in OpenClaw
/install conference-intern
Description
Discover, curate, and register for crypto conference side events via Luma and Google Sheets
README (SKILL.md)

Conference Intern

Discover, 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.

Quick Start

# 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

Commands

Command Script Description
setup bash scripts/setup.sh \x3Cname> Interactive config — walks you through preferences, URLs, auth
discover bash scripts/discover.sh \x3Cid> Fetch events from Luma + Google Sheets → events.json
curate bash scripts/curate.sh \x3Cid> LLM-driven filtering and ranking → curated.md
register bash scripts/register.sh \x3Cid> Auto-RSVP on Luma for recommended events
monitor bash scripts/monitor.sh \x3Cid> Re-discover + re-curate, flag new events

File Locations

Per-conference data lives in conferences/{conference-id}/:

  • config.json — user preferences, URLs, strategy, user info
  • events.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 cookies
  • custom-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)

Agent Instructions

CRITICAL: Always Use the Scripts

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:

  • Set up a conference → run bash scripts/setup.sh \x3Cconference-id>
  • Find/discover events → run bash scripts/discover.sh \x3Cconference-id>
  • Curate/filter events → run bash scripts/curate.sh \x3Cconference-id>
  • Register for events → run bash scripts/register.sh \x3Cconference-id> (processes 10 events per batch)
  • Retry events needing input → run bash scripts/register.sh \x3Cconference-id> --retry-pending
  • Check for new events → run bash scripts/monitor.sh \x3Cconference-id>
  • Run the full pipeline → run each script in sequence: discover → curate → register

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.

Browser Usage

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:

  • Navigate to URLs and read the page content
  • Interpret the page like a human — find event listings, registration forms, buttons
  • This approach is evergreen — it works regardless of Luma UI changes

Registration (batch flow)

Registration processes events in batches of 10. You MUST follow this loop until all events are processed:

  1. Run bash scripts/register.sh \x3Cconference-id>
  2. IMMEDIATELY tell the user the batch results (registered/failed/needs-input/remaining counts)
  3. Read conferences/\x3Cid>/registration-status.json
  4. If new_fields is not empty: ask the user for answers, write them to conferences/\x3Cid>/custom-answers.json
  5. If done is false: run register.sh again immediately for the next batch — do NOT wait for the user to ask
  6. When done is true and there are ⏳ Needs input events: run register.sh --retry-pending
  7. Read registration-status.json — if manual_registration is not empty, present the list to the user: "These events need manual registration (not on Luma):"
  8. Report final results to the user

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:

  • Fill only mandatory/required fields on RSVP forms. Leave optional fields blank.
  • If you encounter required fields you cannot fill, return needs-input status with the field labels.
  • Never guess answers for custom fields — always defer to the user.
  • If the user is already registered, return registered status without touching the form.
  • Close the browser tab after each event — unless CAPTCHA is detected (keep that tab open).

Error Handling

The scripts handle most error recovery automatically. When invoked for a single event:

  • Page fails to load → return failed status
  • CAPTCHA detected → return captcha status (script will stop the loop)
  • Event full/closed → return closed status
  • Session expired → return session-expired status (script will stop the loop)

Stop Conditions

The registration script (register.sh) automatically stops and asks the user when:

  • CAPTCHA is detected (Luma likely flagged the session)
  • Session expires mid-run
  • Custom fields need answers (collects all unique fields, asks once per field)

Other pipeline stop conditions:

  • Zero events discovered → skip curate and register
  • Zero events curated → skip register
Usage Guidance
This skill appears to do what it claims, but before installing consider the following: (1) it will store per‑conference data in your OpenClaw workspace (~/.openclaw/workspace/conferences/<id>/), including optional Luma session cookies and any answers you provide to custom RSVP fields — delete those files if you don’t want persistence. (2) The skill invokes your configured LLM/agent for curation and for reading Google Sheets; any event data sent to the model provider goes through whatever model service you have configured (OpenAI or other). (3) The registration flow is batched and the scripts expect the agent to run successive batches until completion — if you want to approve each batch manually, run the scripts yourself rather than relying on full automation. (4) Review the registration helper (cli_register_event) and any code that interacts with web pages to confirm it only performs expected clicks/field fills and does not call external endpoints you don’t recognize. (5) If you prefer not to persist login state, avoid logging into Luma in the agent/browser so luma-session.json is not created. If you want extra assurance, run the scripts on a test conference and inspect created files before using real personal data.
Capability Assessment
Purpose & Capability
Name/description (Luma + Google Sheets discovery, LLM curation, browser RSVP automation) match the files and scripts. Required binaries (jq, python3, curl, sha256sum) are appropriate for JSON handling, CSV parsing, URL checks and ID generation. The scripts call the OpenClaw browser/agent CLI (expected for browser automation). No unrelated cloud credentials, extraneous binaries, or surprising install steps are requested.
Instruction Scope
SKILL.md and templates instruct the agent to run the provided bash scripts and to use the browser capability to extract pages and fill forms; that is consistent with the purpose. Two notes: (1) the runtime flow asks the agent to run batches repeatedly (register.sh is expected to be re-run until 'done'); this grants the skill automated multi-step behavior — intentional but worth knowing. (2) The agent is asked to read and write specific workspace files (e.g., config.json, registration-status.json, custom-answers.json, luma-session.json) — these are necessary for state tracking but mean personal info (name/email/custom answers) and session cookies are persisted locally.
Install Mechanism
No install spec (instruction-only + bundled scripts) — lowest risk. Nothing is downloaded from remote URLs or extracted. Scripts run locally and rely on existing CLI tools and the OpenClaw agent/browser.
Credentials
The skill reads ~/.openclaw/openclaw.json to detect the workspace and writes workspace files (config, events, curated.md, custom answers, session cookies). This is proportionate to its stated need to persist state and optional Luma session cookies, but means it will store personal registration answers and optionally Luma auth cookies locally. There are no required external API keys or unrelated credentials in the manifest.
Persistence & Privilege
always:false and the skill does not request system-wide config changes. It persists only its own workspace files and session cookies under the OpenClaw workspace. The scripts expect to re-run batches and to call the agent repeatedly, which is normal for this automation; that behavior is not flagged as a platform-level 'always' privilege.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install conference-intern
  3. After installation, invoke the skill by name or use /conference-intern
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v2.1.4
Auto-check mandatory checkboxes (ToS, consent, code of conduct)
v2.1.3
Detect pending/waitlist as already-registered to avoid retrying
v2.1.2
Fix --json flag on browser open (doesn't exist), tier filtering, tab-alive check
v2.1.1
Add --tier flag: register.sh ethcc2026 --tier must_attend
v2.1.0
Tier filtering by strategy, hardcode 15s delay, tab-alive check, agent status validation
v2.0.5
Restrict agent to 4 valid statuses — prevents misclassifying open events as closed
v2.0.4
Add inscription/rejoindre to register button patterns for French Luma pages
v2.0.3
Declare sha256sum, clarify Luma login is optional and session cookies can be deleted
v2.0.2
Clarify that LLM provider receives event data for curation/form-filling
v2.0.1
Declare all dependencies (python3, curl), add Data & Privacy section to README
v2.0.0
Batch curation (50/call), button-based closed detection, URL-based link markers, manual registration list
v1.3.1
Fix duplicate events: dedup by name only (date formats differ between Luma and Sheets)
v1.3.0
Agent fills Luma forms visually, fix duplicate events, submitted status, promotional dropdowns default No
v1.2.0
Batch registration: 10 events per run, agent asks for custom fields between batches
v1.1.0
CLI browser extraction for Luma discovery, hybrid CLI+agent registration, workspace-based data paths, isolated session IDs, 15s delay between events, tab cleanup, skip slow URL validation, 300s curate timeout
v1.0.0
- Initial release of conference-intern skill. - Discover, curate, and auto-register for crypto conference side events from Luma and Google Sheets. - LLM-powered event filtering and ranking based on user preferences. - Automated Luma RSVP via browser, including error handling and session management. - Modular pipeline with bash scripts for setup, discovery, curation, registration, and monitoring. - Per-conference data storage and clear agent instructions for use within the scripted workflow.
Metadata
Slug conference-intern
Version 2.1.4
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 16
Frequently Asked Questions

What is Conference Intern?

Discover, curate, and register for crypto conference side events via Luma and Google Sheets. It is an AI Agent Skill for Claude Code / OpenClaw, with 205 downloads so far.

How do I install Conference Intern?

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

Is Conference Intern free?

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

Which platforms does Conference Intern support?

Conference Intern is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Conference Intern?

It is built and maintained by surlebeat (@surlebeat); the current version is v2.1.4.

💬 Comments