Dubai Guide Skill
⚠️ API Key Required: This skill requires the
goplacesskill and a Google Places API key. Set upgoplacesfirst and configure your API key viagoplaces author environment variable.
This skill manages memory/dubai-tracker.json. Use it to log new visits, update entries, or ask for recommendations.
Data Source
- •File:
memory/dubai-tracker.json - •Helper:
goplacesCLI (for fetching address, rating, location data).
First-Time Setup
If memory/dubai-tracker.json doesn't exist, the skill will create it with this structure:
json
{
"city": "Dubai",
"places": []
}
Actions
1. Log a New Place
Trigger: "Log [Place Name]", "I went to [Place]", "Add [Place]" Procedure:
- •Check Database: Ensure
memory/dubai-tracker.jsonexists. If not, create it with the structure above. - •Search: Run
goplaces search "[Place Name] Dubai" --limit 1 --json. - •Verify: Check if the result matches the user's intent.
- •Read DB: Read
memory/dubai-tracker.json. - •Append: Add a new entry to the
placesarray using the Schema below.- •Auto-fill: Name, Google Place ID, Details (rating, address), Location.
- •Infer: Area (from address), Type (from
types), Environment (Indoor/Outdoor based on type/photos if available, or ask user). - •Ask User: specific notes, "Summer Safe?" (if unclear), "Vibe".
- •Save: Write back to
memory/dubai-tracker.json.
2. Log a Repeat Visit
Trigger: "We went back to [Place]", "Visited [Place] again" Procedure:
- •Find: Locate the place in
memory/dubai-tracker.json. - •Update: Add a new object to the
visitsarray withdate(YYYY-MM-DD) andnotes.
3. Recommend
Trigger: "Where should I go?", "Suggest a place for [activity]", "Dinner spot?" Procedure:
- •Analyze Context:
- •Weather: Is it "burning hot" (Summer) or "nice" (Winter)?
- •Vibe: Chill, fancy, work, kids?
- •Filter DB: Query
memory/dubai-tracker.json.- •If Summer: Filter for
environment: "Indoor"orseasonality: "Summer Safe". - •If Winter: Prefer
environment: "Outdoor"orseasonality: "Winter Only".
- •If Summer: Filter for
- •Vibe Check (Consensus Search):
- •For the top candidate, run multiple targeted searches across different platforms:
- •Reddit: "[Place] Dubai reddit review tips"
- •Twitter/X: "[Place] Dubai twitter review experience"
- •TripAdvisor: "[Place] Dubai tripadvisor review"
- •Google Reviews: "[Place] Dubai google reviews recent"
- •Blogs: "[Place] Dubai blog review 2026"
- •Look for: Parking chaos, best arrival times, hidden gems, "tourist trap" warnings, crowd levels, and recent experiences.
- •For the top candidate, run multiple targeted searches across different platforms:
- •Output: Present 3 top options with their status (Visited/Wishlist) and a "Pro Tip" derived from the search (e.g., "Go at 5 PM for sunset, park at Mall").
JSON Schema (Enforced)
json
{
"name": "string (Official Name)",
"area": "string (e.g. Jumeirah, DIFC)",
"type": "string (Cafe, Beach, Mall, Dinner, Activity)",
"environment": "Indoor ❄️ | Outdoor ☀️ | Hybrid 🌓",
"seasonality": "Summer Safe 🛡️ | Winter Only ❄️ | All Year 🗓️",
"vibe": "comma-separated tags (e.g. work, date-night, loud, quiet)",
"status": "Visited ✅ | Wishlist 📌",
"google_place_id": "string",
"details": {
"rating": number,
"address": "string",
"location": { "lat": number, "lng": number }
},
"visits": [
{
"date": "YYYY-MM-DD",
"notes": "User comments (parking, food, service)",
"companions": ["names"]
}
]
}
Nuance Guide
- •Summer Safe: Malls, heavily AC'd cafes, indoor play areas.
- •Winter Only: Beaches, parks, outdoor terraces, Global Village, Miracle Garden.
- •Parking: Always note if parking is "Valet only" or "Easy".