--- name: journey description: "Plan multi-waypoint journeys with route optimization, feasibility analysis, and time budget constraints. Use when you need to plan trips with multiple stops or check if an itinerary is achievable." metadata: {"clawdbot":{"emoji":"🗺️","requires":{"env":["CAMINO_API_KEY"],"binaries":["curl","jq"]},"primaryEnv":"CAMINO_API_KEY"}} --- ## Installation **Companion Skills**: This is part of the Camino AI location intelligence suite. Install all available skills (query, places, relationship, context, route, journey, real-estate, hotel-finder, ev-charger, school-finder, parking-finder, fitness-finder, safety-checker, travel-planner) for comprehensive coverage. ```bash # Install all skills from repo npx skills add https://github.com/barneyjm/camino-skills # Or install specific skills npx skills add https://github.com/barneyjm/camino-skills --skill journey ``` **Via clawhub:** ```bash npx clawhub@latest install journey # or: pnpm dlx clawhub@latest install journey # or: bunx clawhub@latest install journey ``` # Journey - Multi-Stop Planning Plan multi-waypoint journeys with route optimization, feasibility analysis, and time budget constraints. ## Setup **Instant Trial (no signup required):** Get a temporary API key with 25 calls: ```bash curl -s -X POST -H "Content-Type: application/json" \ -d '{"email": "you@example.com"}' \ https://api.getcamino.ai/trial/start ``` Returns: `{"api_key": "camino-xxx...", "calls_remaining": 25, ...}` For 1,000 free calls/month, sign up at [https://app.getcamino.ai/skills/activate](https://app.getcamino.ai/skills/activate). **Add your key to Claude Code:** Add to your `~/.claude/settings.json`: ```json { "env": { "CAMINO_API_KEY": "your-api-key-here" } } ``` Restart Claude Code. ## Usage ### Via Shell Script ```bash # Plan a simple journey ./scripts/journey.sh '{ "waypoints": [ {"lat": 40.7128, "lon": -74.0060, "purpose": "Start at hotel"}, {"lat": 40.7484, "lon": -73.9857, "purpose": "Visit Empire State Building"}, {"lat": 40.7614, "lon": -73.9776, "purpose": "Lunch in Midtown"} ] }' # With transport mode and time budget ./scripts/journey.sh '{ "waypoints": [ {"lat": 40.7128, "lon": -74.0060, "purpose": "Start"}, {"lat": 40.7484, "lon": -73.9857, "purpose": "Empire State"}, {"lat": 40.7614, "lon": -73.9776, "purpose": "MoMA"} ], "constraints": { "transport": "foot", "time_budget": "3 hours" } }' ``` ### Via curl ```bash curl -X POST -H "X-API-Key: $CAMINO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "waypoints": [ {"lat": 40.7128, "lon": -74.0060, "purpose": "Start"}, {"lat": 40.7484, "lon": -73.9857, "purpose": "Empire State"} ], "constraints": {"transport": "foot"} }' \ "https://api.getcamino.ai/journey" ``` ## Parameters | Field | Type | Required | Default | Description | |-------|------|----------|---------|-------------| | waypoints | array | Yes | - | List of waypoints with lat, lon, and purpose (min 2) | | constraints.transport | string | No | "walking" | Transport mode: "walking", "car", or "bike" | | constraints.time_budget | string | No | - | Time constraint (e.g., "2 hours", "90 minutes") | | constraints.preferences | array | No | [] | Route preferences | ### Waypoint Object | Field | Type | Required | Description | |-------|------|----------|-------------| | lat | float | Yes | Latitude of the waypoint | | lon | float | Yes | Longitude of the waypoint | | purpose | string | No | Description of why you're visiting this waypoint | ## Response Format ```json { "feasible": true, "total_distance_km": 4.2, "total_time_minutes": 52, "total_time_formatted": "52 minutes", "transport_mode": "foot", "route_segments": [ { "from": "Start", "to": "Empire State", "distance_km": 4.2, "duration_minutes": 52 } ], "analysis": { "summary": "This walking journey is feasible...", "optimization_opportunities": [] } } ``` ## Examples ### Day trip planning ```bash ./scripts/journey.sh '{ "waypoints": [ {"lat": 48.8584, "lon": 2.2945, "purpose": "Eiffel Tower"}, {"lat": 48.8606, "lon": 2.3376, "purpose": "Louvre Museum"}, {"lat": 48.8530, "lon": 2.3499, "purpose": "Notre-Dame"}, {"lat": 48.8867, "lon": 2.3431, "purpose": "Sacré-Cœur"} ], "constraints": { "transport": "foot", "time_budget": "6 hours" } }' ``` ### Business meeting route ```bash ./scripts/journey.sh '{ "waypoints": [ {"lat": 40.7128, "lon": -74.0060, "purpose": "Office"}, {"lat": 40.7580, "lon": -73.9855, "purpose": "Client meeting"}, {"lat": 40.7614, "lon": -73.9776, "purpose": "Lunch"}, {"lat": 40.7128, "lon": -74.0060, "purpose": "Return to office"} ], "constraints": { "transport": "car", "time_budget": "2 hours" } }' ``` ### Cycling tour ```bash ./scripts/journey.sh '{ "waypoints": [ {"lat": 37.7749, "lon": -122.4194, "purpose": "Start downtown SF"}, {"lat": 37.8199, "lon": -122.4783, "purpose": "Golden Gate Bridge"}, {"lat": 37.8270, "lon": -122.4230, "purpose": "Sausalito"} ], "constraints": { "transport": "bike" } }' ``` ## Use Cases - **Trip itinerary validation**: Check if a planned itinerary is feasible within time constraints - **Route optimization**: Get suggestions for optimizing multi-stop journeys - **Travel time estimation**: Understand total journey time across multiple destinations - **Tour planning**: Plan walking tours, cycling routes, or driving trips