gradeNot graded
list_circuit_optionsAnswer
List every selectable Collserola circuit origin, its arrival mode, and graph-verified short, medium, or long distance profiles. These are not difficulty ratings.
View tool JSON
{
"name": "list_circuit_options",
"kind": "answer",
"impl": "imperative",
"description": "List every selectable Collserola circuit origin, its arrival mode, and graph-verified short, medium, or long distance profiles. These are not difficulty ratings.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}validate_circuitAnswer
Dry-run a listed start and verified target against the loaded directed TrailPack. It proves closure and distance without rendering or changing the customer’s active route.
View tool JSON
{
"name": "validate_circuit",
"kind": "answer",
"impl": "imperative",
"description": "Dry-run a listed start and verified target against the loaded directed TrailPack. It proves closure and distance without rendering or changing the customer’s active route.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"start",
"target_km",
"prefer_waymarked"
],
"properties": {
"start": {
"type": "string",
"enum": [
"vista_rica_parking",
"passeig_aigues_parking",
"budellera_parking",
"panta_vallvidrera",
"santa_creu_olorda",
"can_jane_sant_cugat",
"can_coll_cerdanyola",
"mirador_xiprers"
]
},
"target_km": {
"type": "number",
"description": "One of the verified_targets_km values returned by list_circuit_options."
},
"prefer_waymarked": {
"type": "boolean"
}
}
}
}record_session_noteAction
Record a short agent test result, product insight, or human handoff in the page’s visible session worklog. It is local to the current tab and makes agent work reviewable.
View tool JSON
{
"name": "record_session_note",
"kind": "act",
"impl": "imperative",
"description": "Record a short agent test result, product insight, or human handoff in the page’s visible session worklog. It is local to the current tab and makes agent work reviewable.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"note"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"test",
"product_insight",
"handoff"
]
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 240
}
}
}
}plan_routeAction
Plan and render a genuine Collserola circuit, then automatically check the next-three-day forecast and official Park alerts for a conversational, source-labelled recommendation. Either live source can be unavailable without invalidating the graph-verified route. Every listed start has a small set of graph-verified target distances; use only its published values, returned in errors when needed. The pack excludes urban footways and paved access roads. An ICGC LiDAR-based ascent estimate is added after rendering.
View tool JSON
{
"name": "plan_route",
"kind": "act",
"impl": "imperative",
"description": "Plan and render a genuine Collserola circuit, then automatically check the next-three-day forecast and official Park alerts for a conversational, source-labelled recommendation. Either live source can be unavailable without invalidating the graph-verified route. Every listed start has a small set of graph-verified target distances; use only its published values, returned in errors when needed. The pack excludes urban footways and paved access roads. An ICGC LiDAR-based ascent estimate is added after rendering.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"start",
"target_km",
"prefer_waymarked"
],
"properties": {
"start": {
"type": "string",
"enum": [
"vista_rica_parking",
"passeig_aigues_parking",
"budellera_parking",
"panta_vallvidrera",
"santa_creu_olorda",
"can_jane_sant_cugat",
"can_coll_cerdanyola",
"mirador_xiprers"
],
"description": "Verified circuit origin. Use arrival_mode to choose car or public transport; the enum contains all currently selectable origins."
},
"arrival_mode": {
"type": "string",
"enum": [
"car",
"public_transport"
],
"description": "Optional arrival context. When supplied, it must agree with the chosen origin."
},
"target_km": {
"type": "number",
"minimum": 1,
"maximum": 30,
"multipleOf": 0.5,
"description": "Desired circuit distance in 0.5 km steps, from 1 through 30. A result is accepted only within ±0.5 km."
},
"prefer_waymarked": {
"type": "boolean",
"description": "Bias toward the Park’s published A–E marked-path network while retaining OSM trail connectors needed to close a loop. It does not confirm present-day conditions."
},
"max_ascent_m": {
"type": "number",
"description": "Unsupported at plan-selection time; ascent is estimated after the route has rendered."
},
"max_grade": {
"type": "string",
"description": "Unsupported: this TrailPack has incomplete grade tags."
}
}
}
}get_route_summaryAnswer
Read the active data-backed route totals and at most five TrailPack segments.
View tool JSON
{
"name": "get_route_summary",
"kind": "answer",
"impl": "imperative",
"description": "Read the active data-backed route totals and at most five TrailPack segments.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}explain_difficultyAction
Classify the active route against Switchback's easy, moderate, and difficult walking rubric, with its measured ascent, evidence, and missing terrain data.
View tool JSON
{
"name": "explain_difficulty",
"kind": "act",
"impl": "imperative",
"description": "Classify the active route against Switchback's easy, moderate, and difficult walking rubric, with its measured ascent, evidence, and missing terrain data.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}explain_segmentAction
Read OSM terrain tags and official-match evidence for a segment of the active route.
View tool JSON
{
"name": "explain_segment",
"kind": "act",
"impl": "imperative",
"description": "Read OSM terrain tags and official-match evidence for a segment of the active route.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"segment_name"
],
"properties": {
"segment_name": {
"type": "string",
"maxLength": 120,
"description": "physical_id from get_route_summary.notable_segments."
}
}
}
}avoid_segmentAction
Replan the active directed TrailPack loop while blocking one active physical segment. The route changes only after a verified replacement loop is found and rendered; otherwise it fails closed.
View tool JSON
{
"name": "avoid_segment",
"kind": "act",
"impl": "imperative",
"description": "Replan the active directed TrailPack loop while blocking one active physical segment. The route changes only after a verified replacement loop is found and rendered; otherwise it fails closed.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"segment_name"
],
"properties": {
"segment_name": {
"type": "string",
"maxLength": 120,
"description": "physical_id from get_route_summary.notable_segments."
}
}
}
}prepare_gpxAction
Prepare a full-resolution GPX 1.1 trail trace with five named TrailPack transitions and reveal a user-gesture download control. It never starts a download or shares a file itself.
View tool JSON
{
"name": "prepare_gpx",
"kind": "act",
"impl": "imperative",
"description": "Prepare a full-resolution GPX 1.1 trail trace with five named TrailPack transitions and reveal a user-gesture download control. It never starts a download or shares a file itself.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}get_trail_weatherAnswer
Compare the next three local forecast days for the active route, including a 17:00–20:00 evening candidate and sunrise/sunset. Set time_of_day to evening when the person asks about an evening hike. This is planning context, not a trail-safety or weather-alert assessment.
View tool JSON
{
"name": "get_trail_weather",
"kind": "answer",
"impl": "imperative",
"description": "Compare the next three local forecast days for the active route, including a 17:00–20:00 evening candidate and sunrise/sunset. Set time_of_day to evening when the person asks about an evening hike. This is planning context, not a trail-safety or weather-alert assessment.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"time_of_day": {
"type": "string",
"enum": [
"any",
"morning",
"afternoon",
"evening"
],
"description": "Optional preference for the recommended forecast window. Use evening for an after-work hike."
}
}
}
}get_hiking_conditionsAnswer
Assemble the active route’s decision context for a hiking conversation: graph route facts, conservative difficulty evidence, requested-time forecast and daylight, plus the Park’s official active-alert count. It never certifies that hiking is safe; the agent must explain what remains to be checked locally.
View tool JSON
{
"name": "get_hiking_conditions",
"kind": "answer",
"impl": "imperative",
"description": "Assemble the active route’s decision context for a hiking conversation: graph route facts, conservative difficulty evidence, requested-time forecast and daylight, plus the Park’s official active-alert count. It never certifies that hiking is safe; the agent must explain what remains to be checked locally.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"time_of_day": {
"type": "string",
"enum": [
"any",
"morning",
"afternoon",
"evening"
],
"description": "Use evening when the person asks whether an after-work hike is sensible."
}
}
}
}get_park_alertsAnswer
Read the Park's official active-alert list through Switchback's same-origin adapter. It returns notices with their publication dates and source links; it does not decide whether a notice applies to this exact route or remains in force. Request up to eight notice summaries when analysing hiking conditions.
View tool JSON
{
"name": "get_park_alerts",
"kind": "answer",
"impl": "imperative",
"description": "Read the Park's official active-alert list through Switchback's same-origin adapter. It returns notices with their publication dates and source links; it does not decide whether a notice applies to this exact route or remains in force. Request up to eight notice summaries when analysing hiking conditions.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"notice_limit": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"description": "Optional number of active notices to return. Use 8 for a fuller hiking-conditions review."
}
}
}
}prepare_route_briefingAction
Prepare a concise, copyable route briefing for a family or friends chat and reveal the same text in the page for the person to review. It never sends a message or accesses a messaging account.
View tool JSON
{
"name": "prepare_route_briefing",
"kind": "act",
"impl": "imperative",
"description": "Prepare a concise, copyable route briefing for a family or friends chat and reveal the same text in the page for the person to review. It never sends a message or accesses a messaging account.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}describe_last_editAnswer
Read the most recent manual map edit and its measured route effect.
View tool JSON
{
"name": "describe_last_edit",
"kind": "answer",
"impl": "imperative",
"description": "Read the most recent manual map edit and its measured route effect.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}