Install
openclaw skills install searchiteventsFinds new upcoming IT events worldwide based on user-selected interests and location, avoids duplicates, and helps return official registration or payment links on request.
openclaw skills install searchiteventsThis skill is used to find upcoming IT events based on the user's selected interests and location, and send only new events that were not sent before.
Supported event types include:
This skill must work for both:
Find only future IT events that match the user's selected interests and selected location.
Core rules:
The user may specify the directions they are interested in.
Examples:
The skill must use the interests provided by the user in the current request.
If the user gives multiple interests, include events matching at least one of them.
If the user does not specify interests, the skill must ask which IT directions or topics they want.
The assistant must not start searching until both of these are known:
Include an event if:
Exclude an event if:
If relevance is doubtful, exclude it.
The assistant must know the location scope before searching.
Location scope may be:
If the user does not specify a country or worldwide scope, the assistant must ask before searching.
Include only events that match the selected location scope.
If a specific country was requested:
If worldwide was requested:
If the country, audience, or location relevance is unclear, prefer excluding the event.
Only include future events.
Do not include past events.
Do not include events that already ended.
If the event date is unclear or missing, exclude it.
Prefer sources in this order:
Do not rely on low-quality reposts if an official page exists.
When possible, extract both:
Use this file for deduplication:
memory/it-events-sent.json
If the file does not exist, create it with this content:
{
"sent": []
}
Each sent event should be stored in memory/it-events-sent.json like this:
{
"id": "normalized_name|date|normalized_location",
"type": "conference",
"name": "Conference name",
"date": "2026-05-18",
"location": "Berlin, Germany",
"topics": ["JavaScript", "Frontend"],
"matchedInterests": ["JavaScript", "Frontend"],
"eventUrl": "https://example.com/event",
"registrationUrl": "https://example.com/register",
"sentAt": "2026-04-06"
}
Allowed values for type include:
If registrationUrl is not available, store an empty string or reuse the official event page only when necessary.
An event is considered the same if these values match in meaning:
normalized name date normalized location
Use this id format:
normalized_name|date|normalized_location
Rules:
Before searching, the assistant must know:
If interests are missing, ask for them.
If location is missing, ask whether to search in a specific country or worldwide.
If both are missing, ask both questions before searching.
When searching for events:
memory/it-events-sent.jsonIf no new matching events are found, return:
За вказаними темами та локацією нових IT-подій не знайшов.
Start with:
Нові IT-події:
Then for each event include:
If a registration page exists, also include:
Keep the message compact and easy to scan.
Example structure:
If the user asks something like:
Then:
memory/it-events-sent.jsonPriority:
If checkout requires login, selecting ticket type, or several manual steps, explain this briefly and return the nearest official registration page.
Never invent a payment link.
Never return unofficial or suspicious payment links.
If the user says:
Use the most recently discussed relevant event from the current conversation context.
If multiple events were discussed and the reference is ambiguous, prefer the most recent clearly mentioned event.
Only include an event if all of the following are clear enough:
If one of these is unclear, exclude the event.
Never guess missing important details.
This skill must accept user input in any language.
The user may ask for:
The skill must determine the user's intent regardless of language.
Prefer responding in the user's language.
If global assistant or project rules require a specific language, follow those rules.
For event searches:
For registration or payment follow-ups:
This skill may use local helper scripts stored inside the skill directory.
Available scripts:
"$SKILL_DIR/scripts/search-events.sh" "<interests>" "<location>""$SKILL_DIR/scripts/setup-cron.sh" "<interests>" "<location>"If the user asks to find IT events one time, search manually, or test the skill, run:
"$SKILL_DIR/scripts/search-events.sh" "<interests>" "<location>"
Use this for requests like:
If the user provides interests, pass them as a single argument string.
If the user provides a country, pass it as the second argument.
If the user wants global search, pass:
"worldwide"
If the user does not provide interests, ask them which IT directions they want.
If the user does not provide location, ask which country to search in or whether to search worldwide.
If the user asks to enable, install, configure, or set up a weekly digest of IT events, run:
"$SKILL_DIR/scripts/setup-cron.sh" "<interests>" "<location>"
Use this for requests like:
If the user provides interests, pass them as a single argument string.
If the user provides a country, pass it as the second argument.
If the user wants global search, pass:
"worldwide"
If the user does not provide interests, ask them which IT directions they want before running the setup script.
If the user does not provide location, ask which country to use or whether to search worldwide before running the setup script.
This skill requires the local openclaw CLI to be installed and available in PATH.
The helper scripts rely on:
openclaw agentopenclaw cronIf the openclaw command is not available, the scripts must not run and should return a clear error message.
setup-cron.sh creates a persistent recurring cron job through OpenClaw.
This script must run only when the user explicitly asks for recurring or weekly delivery.
Do not run setup-cron.sh for one-time searches.
Before creating a cron job, the assistant must ensure that:
search-events.sh for one-time searches.setup-cron.sh only when the user explicitly wants recurring automatic delivery."worldwide" when the user wants global search.chmod +x "$SKILL_DIR/scripts/search-events.sh" "$SKILL_DIR/scripts/setup-cron.sh"setup-cron.sh may create memory/it-events-sent.json if it does not exist.search-events.sh may also create memory/it-events-sent.json if it does not exist.