Agent skill

Local Discovery

by AtlasOmnia in AtlasOmnia/donna-starter

local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'.

MITAuto-check passedProductivity & Automation

Install Local Discovery

skills CLI
$ npx skills add AtlasOmnia/donna-starter --skill local-discovery -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AtlasOmnia/donna-starter local-discovery --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AtlasOmnia/donna-starter.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research/local-discovery .claude/skills/local-discovery && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
local-discovery
GitHub stars
126
Token cost
~3.1k tokens
SKILL.md length
1,592 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'.

  • Works in 11 steps: Start with Google Maps for venue… → Fall back to web_search if needed → Skip review aggregator sites for browser… → …
  • Asks whats happening
  • SKILL.md covers When to Use, Venue Discovery Workflow, Workflow and Known Event Sources (metro…, plus 3 more sections
  • Reaches eventbrite.com and tripadvisor.com

What it does

Local Discovery is an agent skill from AtlasOmnia/donna-starter. local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Web search. It works with Google Maps Platform. The repository describes itself as: Donna — a starter Hermes Agent profile: opinionated persona, 73 curated skills, guided first-run orientation, optional Token Router. MIT. The licence is MIT.

When your agent uses it

  • Asks whats happening
  • What should I do this weekend

Example prompts

  • “s happening”
  • “what should I do this weekend”
  • “/local-discovery”

Requirements

  • Python 3

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. Start with Google Maps for venue discovery (PRIMARY TOOL)
  2. Fall back to web_search if needed
  3. Skip review aggregator sites for browser navigation — they CAPTCHA aggressively
  4. Go directly to venue websites via browser_navigate
  5. Go beyond the algorithmic top-10 when the category is the city's identity
  6. When the user wants bar-first / coed / date-night rather than a niche enthusiast scene
  7. Present results concisely
  8. Try web_search first (but expect failure)
  9. Fall back to web_extract on known event sources
  10. If web_extract fails or returns sparse content, use browser_navigate
  11. Filter and present results

What it can do on your machine

Read from SKILL.md and the folder at commit a3710bd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • eventbrite.com
    • tripadvisor.com
    • google.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Local Discovery loads about 3.1k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 1,592 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~43
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AtlasOmnia/donna-starter at commit a3710bd, republished under its MIT licence (© AtlasOmnia). 1,592 words, ~3,150 tokens.

Download SKILL.mdSave it as .claude/skills/local-discovery/SKILL.md (or your agent's skills folder).
name
local-discovery
description
local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'.
version
1.2.0
platforms
linux, macos, windows
metadata.tags
Local-Events, Web-Discovery, Event-Search, Research, Local-Venues, Nightlife

Local & National Discovery

Find events, activities, venues, and things happening in the user's area (default: the user's local area) or anywhere nationally. Covers two subdomains:

  1. Events — concerts, festivals, comedy, things to do tonight/this weekend
  2. Venues — bars, lounges, restaurants, nightlife spots matching specific criteria (vibe, amenities, atmosphere)

When to Use

  • User asks about local events, things to do tonight/this weekend
  • "What's happening around here?" or similar discovery requests
  • User asks for venue recommendations with specific criteria (e.g., "cigar lounge," "speakeasy," "classy bar") — local OR national
  • User asks "find me X somewhere" without specifying a city — treat as national search
  • Need to surface relevant activities based on user interests

Venue Discovery Workflow

When the user asks for venues rather than events, use this approach:

1. Start with Google Maps for venue discovery (PRIMARY TOOL)

Navigate directly to Google Maps search:

browser_navigate(url="https://www.google.com/maps/search/cigar+lounge+near+<city>+<state>")

Google Maps works reliably even when Google Search CAPTCHAs. Returns listings with ratings, review counts, addresses, hours, phone numbers, and user-submitted photos. Click individual venues for detailed info, reviews, and photos (use "Vibe" photo filter for atmosphere shots).

2. Fall back to web_search if needed

Search using specific criteria keywords (e.g., "cigar lounge", "speakeasy bar"). Collect names, addresses, and phone numbers from search results.

PITFALL: web_search relies on ddgs which is installed in the system Python (~/Library/Python/3.9/...) but Hermes runs from a venv that doesn't see it. If you get "ddgs package is not installed", skip to step 3 immediately — don't retry or try to reinstall. This is a persistent env path issue, not transient.

3. Skip review aggregator sites for browser navigation — they CAPTCHA aggressively

PITFALL: Yelp, TripAdvisor, DuckDuckGo, and Bing ALL serve CAPTCHAs to browser sessions. Don't waste time trying to extract reviews or listings from them via browser_navigate — go straight to venue websites.

EXCEPTION: web_extract works on TripAdvisor despite browser CAPTCHA. For national/regional venue discovery, use web_extract(urls=[tripadvisor_url]) instead of browser navigation.

4. Go directly to venue websites via browser_navigate

Venue websites are the most reliable source for accurate, current info:

  • Hours — always verify from the official site, never trust Google's cached hours
  • Dress code — many upscale venues post this explicitly
  • Age restrictions — check before recommending
  • Contact info — phone and email
5. Go beyond the algorithmic top-10 when the category is the city's identity

PITFALL: When a city is FAMOUS for a venue category (e.g. Louisville + bourbon, Nashville + music venues, NOLA + jazz clubs, Austin + BBQ, etc.), presenting just a Yelp/TripAdvisor top-10 feels insultingly thin. The user knows the city is dense in that category and expects the FULL directory — all options, organized by neighborhood.

Recovery pattern:

  • Run multiple web_search queries with specific venue names and cross-streets to surface listings the algorithm may have buried
  • Cross-reference Yelp snippets, TripAdvisor snippets, and niche directory sites (e.g., cigarlounges.co) from search results — even when web_extract fails on the full page, the search snippets carry review counts, ratings, and addresses
  • Search for niche directory/blog articles specific to that category (e.g., "complete list of cocktail lounges", "every jazz club in New Orleans")
  • Organize results by neighborhood/area — this adds massive value for the user planning a visit or crawl
  • Present the full count upfront ("28 across the metro") so the user knows the list is comprehensive, not truncated
6. When the user wants bar-first / coed / date-night rather than a niche enthusiast scene

Do not keep feeding them classic category leaders if the venue photos or vibe read as male-dominated / hobbyist-only. Pivot the search intentionally:

  • Reframe the target from "cigar lounge" to "restaurant or cocktail lounge with cigar patio/garden/menu".
  • Search local lifestyle/tourism sources for date night, Restaurant Row, outdoor dining, nightlife, hotel lounges, and craft cocktails.
  • Check Reddit (r/<metro>) for lived-experience notes like quiet, older crowd, good for couples, great restaurants around there, people watching, or bar hop after.
  • Distinguish three different classes clearly:
  1. Guaranteed cigar infrastructure — official site explicitly mentions cigar lounge/garden/menu/patio.
  2. Bar-first with likely cigar compatibility — local/tourism sources mention cigars, smoking patio, or cigar menu, but the venue is primarily a restaurant/bar.
  3. Great vibe but cigar certainty weak — good coed/date-night energy, but hookah/smoking policy or cigar policy is not verified.
  • Be honest when a place is hookah-forward rather than cigar-verified.
  • Prefer options where the venue identity reads mixed crowd / couples / date night over enthusiast-heavy cigar rooms when the user is going with a partner.

Useful source types for this pivot:

  • official venue sites
  • Visit <metro> / International Drive <metro> listings
  • <metro> Date Night Guide / local lifestyle blogs
  • old.reddit.com threads in r/<metro> when mainstream extractors do not support Reddit
7. Present results concisely

Format each venue with: name, address, phone, hours, vibe description, and why it fits the user's criteria. Group by neighborhood/area when the list is large. End with a clear recommendation based on their stated preferences.

Workflow

1. Try web_search first (but expect failure)
web_search(query="events tonight in my city")

PITFALL: web_search relies on ddgs which is installed in the system Python (~/Library/Python/3.9/...) but Hermes runs from a venv that doesn't see it. If you get "ddgs package is not installed", skip to step 2 immediately — don't retry or try to reinstall. This is a persistent env path issue, not transient.

When the user asks for events around a specific interest (e.g., "cigar events," "car shows," "DJ night," "food festival") across multiple cities or statewide:

  • Run parallel web_search calls with structured queries, e.g.:
  • "cigar" event "<date>" <state>
  • "cigar" tasting <city> <date>
  • "cigar" event <metro> June 20-22 2026
  • Use web_extract on Eventbrite's city-specific pages:
  • https://www.eventbrite.com/d/<state>--<city>/<category>/
  • https://www.eventbrite.com/d/<state>--<metro>/cigar/
  • etc.
  • Check niche vendors' event calendars (e.g., Cigars International, specialty lounges) — they regularly host tastings and live-music cigar nights that general aggregators miss.
  • Present results grouped by city, then date; include only events with concrete details (date/time/location).

This avoids the "only the local metro" trap when user interest is statewide.

Show full SKILL.md (638 more words)Show less
2. Fall back to web_extract on known event sources

These are the most reliable source types for a metro area's events:

  • The metro's major newspaper events page — Weekly roundups published every Monday. Most reliable source. Extracts well via web_extract.
  • The regional visitor bureau's events calendar — Has an events calendar but often redirects or blocks bots. Use as secondary.
3. If web_extract fails or returns sparse content, use browser_navigate

Navigate to the newspaper's events page directly. The page renders server-side so it loads without JS execution issues.

4. Filter and present results
  • Group by date (tonight / Saturday / Sunday)
  • Highlight free events prominently
  • Include location, time, price, and link
  • Give a brief recommendation based on what you know about the user's interests
  • Keep it concise — one section per day, bullet format
4b. Late-night follow-up searches after a main event

When the user asks follow-ups like "anything after 10pm?" after fireworks, parades, festivals, or family events:

  • Treat it as a post-event nightlife / after-party search, not just another pass over official civic event calendars.
  • Search both general web and Eventbrite city/category pages, e.g. site:eventbrite.com <metro> July 4 after party, <city> nightlife after fireworks, and city-specific Eventbrite discovery URLs.
  • Verify individual listings before recommending them. Eventbrite search snippets often surface irrelevant out-of-area events; open/extract the event page and confirm city, venue, date, start/end time, and age restriction.
  • Be explicit if no late fireworks exist. Offer adjacent late options instead: bar crawls, waterfront bars, hotel/resort parties, clubs, live music, or festivals that continue after the fireworks.
  • For late-night results, include end time prominently; it matters more than start time for this intent.

Known Event Sources (metro example)

Eventbrite (Niche + Multi-City Events)
  • Reliable for niche interests (cigar tastings, car shows, themed nights, etc.) via city-specific search pages:
  • Example: https://www.eventbrite.com/d/<state>--<city>/<category>/
  • Example: https://www.eventbrite.com/d/<state>--<city>/<category>/
  • Use web_extract(urls=[eventbrite_url]) — it extracts event listings cleanly.
  • Especially valuable when user interest spans multiple cities or is highly specific; general aggregators miss these events.

Venue-Specific Sources

Pitfalls

  • Don't retry web_search after a ddgs failure — it's an env path issue, not transient. Switch tools immediately.
  • Many event sites are JS-heavy SPAs (Eventbrite, Meetup) that return blank to the browser or 404 to extractors. Prefer the metro's major newspaper as primary source.
  • Bot detection is common on visitor/tourism sites. If blocked, move to the next source rather than fighting it.
  • Don't over-research — the user wants a quick scan, not an exhaustive database. 3–5 relevant items per day is enough.
  • Yelp and TripAdvisor CAPTCHA aggressively (DataDome). Skip them for venue research — go straight to official websites.
  • Google Maps/Reviews often blocks browser sessions with recaptcha. Use web_search for initial discovery, then navigate directly to venue sites.
  • Hours change frequently — always verify from the official website, never trust cached or third-party data.
  • Social media login walls — Instagram and Facebook require authentication to view any content (photos, posts, business page details). Skip entirely for venue research.
  • DuckDuckGo also CAPTCHAs — "Select all squares containing a duck" challenge after first search. Don't waste time trying multiple searches.
  • Bing serves Cloudflare challenges — same fate as Google Search. Use Google Maps instead.
  • web_extract works on TripAdvisor despite browser CAPTCHA — web_extract(urls=["https://www.tripadvisor.com/Attractions-g191-Activities-c20-t101-United_States.html"]) successfully extracts venue lists with ratings, locations, and review snippets even when browser navigation is blocked. Use this for national/regional venue discovery.
  • Magazine/lifestyle articles extract well — Sites like Haute Living (hauteliving.com) produce curated venue lists that web_extract handles cleanly. Search DDG/Bing for article URLs, then extract via web_extract.
  • Venue concept mismatch is real — some venue concepts (e.g., cigar bars with themed adult entertainment staff) don't exist in certain markets or nationally. After thorough research, report honestly rather than stretching a recommendation that doesn't fit the criteria.

Output Format

User expects concise, direct results organized by date. No preamble beyond a one-line intro. Format:

TONIGHT (day, date)

  • Event Name — Time, Location. Price. Brief note.

SATURDAY, <date>

  • ...

End with a short recommendation based on user interests.

© AtlasOmnia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/research/local-discovery of AtlasOmnia/donna-starter.

Open the folder on GitHubat commit a3710bd

Compare with similar skills

Local Discovery next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Local Discovery compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Local Discovery this skillAtlasOmnia/donna-starter126—~3.1kAutomated safety check: PassMIT
Brave Searchbadlogic/pi-skills2.6k5 repos~592Automated safety check: PassMIT
Enterprise AI Scenario MapMetaInFLow/Enterprise-ai-scenario-map-skill632—~1.8kAutomated safety check: PassMIT
Web Searchjjyaoao/HelloAgents3.2k1 repos~5.6kAutomated safety check: PassMIT
Ddg SearchTheSyart/claude-agent-examples4051 repos~493Automated safety check: PassNone
Local Web SearchuluckyXH/OpenMOSS1.3k—~392Automated safety check: NotesMIT

Similar skills

  • Brave Search

    badlogic/pi-skills

    Web search and content extraction via Brave Search API. An agent skill from badlogic/pi-skills.

    2.6k GitHub starsUsed in 5 repos~592 tokens
    Productivity & AutomationAuto-check passed
  • Enterprise AI Scenario Map

    MetaInFLow/Enterprise-ai-scenario-map-skill

    企业AI场景地图生成报告工具。通过 web-search 深度调研企业信息,按照V2.1标准模板生成结构化AI应用场景地图报告,包含企业画像、业务诊断、行业实践、AI场景全量表、实施路径等完整内容。

    632 GitHub stars~1.8k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Web Search

    jjyaoao/HelloAgents

    Implement web search capabilities using the z-ai-web-dev-sdk.

    3.2k GitHub starsUsed in 1 repo~5.6k tokens
    Productivity & AutomationAuto-check passed
  • Ddg Search

    TheSyart/claude-agent-examples

    Web search without an API key using DuckDuckGo Lite via webfetch.

    405 GitHub starsUsed in 1 repo~493 tokens
    Productivity & AutomationAuto-check passed
  • Local Web Search

    uluckyXH/OpenMOSS

    A skill your agent uses when the user asks for web search that should run via the local-160 Responses API with websearch tool (base URL like https://proxy.example.com, model gpt-5.2-codex(xhigh)).

    1.3k GitHub stars~392 tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check: notes
  • Ask Search

    ythx-101/ask-search

    Web search via self-hosted SearxNG. An agent skill from ythx-101/ask-search.

    537 GitHub stars~332 tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed

More from AtlasOmnia/donna-starter

All 11 skills in this repo
  • macOS Storage Management

    AtlasOmnia/donna-starter

    macos-storage-management — Use when freeing Mac storage or moving files to SSDs.

    126 GitHub stars~4.2k tokensUpdated 21 days ago
    Auto-check passed
  • Marketing Collateral Design

    AtlasOmnia/donna-starter

    marketing-collateral-design — Use when designing, recreating, critiquing, or exporting static marketing collateral such as flyers, social graphics, postcards, brochures, business cards, print ads…

    126 GitHub stars~4.2k tokensUpdated 21 days ago
    Auto-check passed
  • Hermes Self Evaluation

    AtlasOmnia/donna-starter

    hermes-self-evaluation — Use when the user asks to evaluate, audit, or optimize Hermes itself — analyzing session history, skill library, costs, and architecture to identify improvements, automation…

    126 GitHub stars~3k tokensUpdated 21 days ago
    Auto-check: notes
  • Skill Auditor

    AtlasOmnia/donna-starter

    skill-auditor — Use when auditing, reviewing, or grading Hermes skills for quality.

    126 GitHub stars~3.8k tokensUpdated 21 days ago
    Auto-check passed
  • Cross Browser Typography QA

    AtlasOmnia/donna-starter

    cross-browser-typography-qa — Diagnose and verify web typography rendering defects across Chromium, WebKit, and native Safari, including clipped glyphs, broken descenders, wrapping, font metrics…

    126 GitHub stars~2.3k tokensUpdated 21 days ago
    Auto-check passed
  • Hermes Mnemosyne

    AtlasOmnia/donna-starter

    hermes-mnemosyne — Configure, troubleshoot, and operate the Mnemosyne memory provider for Hermes Agent.

    126 GitHub stars~3.9k tokensUpdated 21 days ago
    Auto-check: notes

Questions about Local Discovery

What does Local Discovery do?

local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'. Local Discovery is an agent skill from AtlasOmnia/donna-starter. local-discovery — Find local events, venues, and activities — ad-hoc web discovery when the user asks 'what's happening' or 'what should I do this weekend'.

When should I use Local Discovery?

Local Discovery fits situations like: asks whats happening; what should I do this weekend.

How do I install Local Discovery in Claude Code?

Run `npx skills add AtlasOmnia/donna-starter --skill local-discovery -a claude-code`. Or copy the skill folder (skills/research/local-discovery in AtlasOmnia/donna-starter) into .claude/skills/local-discovery in your project. Claude Code loads it when a task matches its description.

How do I install Local Discovery in Codex?

Run `npx skills add AtlasOmnia/donna-starter --skill local-discovery -a codex`. Or copy the skill folder (skills/research/local-discovery in AtlasOmnia/donna-starter) into .agents/skills/local-discovery in your project. Codex loads it when a task matches its description.

Can I use Local Discovery in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AtlasOmnia/donna-starter --skill local-discovery -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-discovery, .gemini/skills/local-discovery, .github/skills/local-discovery and .opencode/skills/local-discovery in your project.

What does Local Discovery need to run?

SKILL.md names no scripts, command-line tools or credentials: Local Discovery is instructions for the agent only. Our summary lists: Python 3.

Does Local Discovery access the network?

SKILL.md names 3 domains. In commands or code: eventbrite.com, tripadvisor.com and google.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Local Discovery safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Local Discovery use?

Local Discovery is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Local Discovery use?

About 3.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Local Discovery?

Skills that share tags, products or a category with Local Discovery: Brave Search (badlogic/pi-skills, 2.6k stars), Enterprise AI Scenario Map (MetaInFLow/Enterprise-ai-scenario-map-skill, 632 stars), Web Search (jjyaoao/HelloAgents, 3.2k stars) and Ddg Search (TheSyart/claude-agent-examples, 405 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Local Discovery?

AtlasOmnia (a GitHub user) maintains it in AtlasOmnia/donna-starter, which has 126 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 19, 2026.

Source: AtlasOmnia/donna-starter on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.