skills$openclaw/local-places
steipete8.6k

by steipete

local-places – OpenClaw Skill

local-places is an OpenClaw Skills integration for coding workflows. Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.

8.6k stars1.0k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

namelocal-places
descriptionSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost. OpenClaw Skills integration.
ownersteipete
repositorysteipete/local-places
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @steipete/local-places
last updatedFeb 7, 2026

Maintainer

steipete

steipete

Maintains local-places in the OpenClaw Skills directory.

View GitHub profile
File Explorer
10 files
.
src
local_places
__init__.py
48 B
google_places.py
8.9 KB
main.py
1.7 KB
schemas.py
3.0 KB
_meta.json
278 B
pyproject.toml
481 B
SERVER_README.md
2.0 KB
SKILL.md
2.4 KB
SKILL.md

name: local-places description: Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost. homepage: https://github.com/Hyaxia/local_places metadata: {"clawdbot":{"emoji":"📍","requires":{"bins":["uv"],"env":["GOOGLE_PLACES_API_KEY"]},"primaryEnv":"GOOGLE_PLACES_API_KEY"}}

📍 Local Places

Find places, Go fast

Search for nearby places using a local Google Places API proxy. Two-step flow: resolve location first, then search.

Setup

cd {baseDir}
echo "GOOGLE_PLACES_API_KEY=your-key" > .env
uv venv && uv pip install -e ".[dev]"
uv run --env-file .env uvicorn local_places.main:app --host 127.0.0.1 --port 8000

Requires GOOGLE_PLACES_API_KEY in .env or environment.

Quick Start

  1. Check server: curl http://127.0.0.1:8000/ping

  2. Resolve location:

curl -X POST http://127.0.0.1:8000/locations/resolve \
  -H "Content-Type: application/json" \
  -d '{"location_text": "Soho, London", "limit": 5}'
  1. Search places:
curl -X POST http://127.0.0.1:8000/places/search \
  -H "Content-Type: application/json" \
  -d '{
    "query": "coffee shop",
    "location_bias": {"lat": 51.5137, "lng": -0.1366, "radius_m": 1000},
    "filters": {"open_now": true, "min_rating": 4.0},
    "limit": 10
  }'
  1. Get details:
curl http://127.0.0.1:8000/places/{place_id}

Conversation Flow

  1. If user says "near me" or gives vague location → resolve it first
  2. If multiple results → show numbered list, ask user to pick
  3. Ask for preferences: type, open now, rating, price level
  4. Search with location_bias from chosen location
  5. Present results with name, rating, address, open status
  6. Offer to fetch details or refine search

Filter Constraints

  • filters.types: exactly ONE type (e.g., "restaurant", "cafe", "gym")
  • filters.price_levels: integers 0-4 (0=free, 4=very expensive)
  • filters.min_rating: 0-5 in 0.5 increments
  • filters.open_now: boolean
  • limit: 1-20 for search, 1-10 for resolve
  • location_bias.radius_m: must be > 0

Response Format

{
  "results": [
    {
      "place_id": "ChIJ...",
      "name": "Coffee Shop",
      "address": "123 Main St",
      "location": {"lat": 51.5, "lng": -0.1},
      "rating": 4.6,
      "price_level": 2,
      "types": ["cafe", "food"],
      "open_now": true
    }
  ],
  "next_page_token": "..." 
}

Use next_page_token as page_token in next request for more results.

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install local-places?

Run openclaw add @steipete/local-places in your terminal. This installs local-places into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/steipete/local-places. Review commits and README documentation before installing.