{
  "schemaVersion": "1.0",
  "item": {
    "slug": "guruwalk-free-tours",
    "name": "GuruWalk Free Tours Search",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/gdanielwalk/guruwalk-free-tours",
    "canonicalUrl": "https://clawhub.ai/gdanielwalk/guruwalk-free-tours",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/guruwalk-free-tours",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=guruwalk-free-tours",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/guruwalk-free-tours"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/guruwalk-free-tours",
    "agentPageUrl": "https://openagent3.xyz/skills/guruwalk-free-tours/agent",
    "manifestUrl": "https://openagent3.xyz/skills/guruwalk-free-tours/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/guruwalk-free-tours/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "GuruWalk Free Tours",
        "body": "Use the GuruWalk MCP server to search free tours:\n\nhttps://guruwalk-api-44909317956.europe-southwest1.run.app/mcp\n\nThe server currently exposes one tool:\n\nsearch"
      },
      {
        "title": "Tool Contract",
        "body": "search input:\n\ncity (string): lowercase slug in English with spaces replaced by -\nstart_date (string): yyyy-mm-dd\nend_date (string): yyyy-mm-dd\nlanguage (string): two-letter code, usually es, en, de, it\n\nsearch output:\n\nTool returns content[0].text containing a JSON string.\nParse that string to get an array of tours.\nEach tour contains:\n\ntitle, url, meetpoint_address, average_rating, duration, guru.name, image_url\nevents[] with start_time (UTC), available_spots, language"
      },
      {
        "title": "Execution Workflow",
        "body": "Determine city, date range, and preferred language from user request.\nNormalize city to slug format:\n\nnew york -> new-york\nsan sebastian -> san-sebastian\n\n\nUse valid ISO dates for both fields.\nCall search.\nParse JSON from content[0].text.\nFilter and rank results for user-facing output:\n\nkeep only events with available_spots > 0\nprioritize events matching requested language when possible\nprefer higher average_rating, then earlier upcoming time\n\n\nReturn concise options with booking URL and next available slots."
      },
      {
        "title": "Defaults",
        "body": "If user does not specify language, use:\n\nes for Spanish conversation\nen otherwise\n\n\nIf user does not specify dates, ask for dates before calling the tool.\nIf date intent is relative, convert to explicit dates before calling."
      },
      {
        "title": "Response Format to User",
        "body": "For each recommended tour include:\n\nTour title\nRating\nDuration\nGuide name\nMeeting point\n1-3 next available sessions (with timezone label)\nBooking URL\n\nIf no tours are found:\n\nexplain that no availability was returned for the given city/date range\npropose adjusting one variable at a time: city slug, dates, or language"
      },
      {
        "title": "Observed Edge Cases (from live MCP inspection)",
        "body": "search is the only available tool; no MCP resources/prompts/templates are exposed.\ncity with spaces (e.g. New York) can return empty results.\nstart_date > end_date can return empty results instead of validation error.\nNon-ISO dates can still be accepted by backend, but always send ISO yyyy-mm-dd.\nSome locale/language combinations can return tours with title: null; handle gracefully."
      },
      {
        "title": "Validation Notes",
        "body": "Keep executable validation commands outside this skill file.\nValidate behavior by confirming:\n\nthe MCP server exposes the search tool\nsearch results arrive as a JSON string in content[0].text"
      }
    ],
    "body": "GuruWalk Free Tours\n\nUse the GuruWalk MCP server to search free tours:\n\nhttps://guruwalk-api-44909317956.europe-southwest1.run.app/mcp\n\nThe server currently exposes one tool:\n\nsearch\nTool Contract\n\nsearch input:\n\ncity (string): lowercase slug in English with spaces replaced by -\nstart_date (string): yyyy-mm-dd\nend_date (string): yyyy-mm-dd\nlanguage (string): two-letter code, usually es, en, de, it\n\nsearch output:\n\nTool returns content[0].text containing a JSON string.\nParse that string to get an array of tours.\nEach tour contains:\ntitle, url, meetpoint_address, average_rating, duration, guru.name, image_url\nevents[] with start_time (UTC), available_spots, language\nExecution Workflow\nDetermine city, date range, and preferred language from user request.\nNormalize city to slug format:\nnew york -> new-york\nsan sebastian -> san-sebastian\nUse valid ISO dates for both fields.\nCall search.\nParse JSON from content[0].text.\nFilter and rank results for user-facing output:\nkeep only events with available_spots > 0\nprioritize events matching requested language when possible\nprefer higher average_rating, then earlier upcoming time\nReturn concise options with booking URL and next available slots.\nDefaults\nIf user does not specify language, use:\nes for Spanish conversation\nen otherwise\nIf user does not specify dates, ask for dates before calling the tool.\nIf date intent is relative, convert to explicit dates before calling.\nResponse Format to User\n\nFor each recommended tour include:\n\nTour title\nRating\nDuration\nGuide name\nMeeting point\n1-3 next available sessions (with timezone label)\nBooking URL\n\nIf no tours are found:\n\nexplain that no availability was returned for the given city/date range\npropose adjusting one variable at a time: city slug, dates, or language\nObserved Edge Cases (from live MCP inspection)\nsearch is the only available tool; no MCP resources/prompts/templates are exposed.\ncity with spaces (e.g. New York) can return empty results.\nstart_date > end_date can return empty results instead of validation error.\nNon-ISO dates can still be accepted by backend, but always send ISO yyyy-mm-dd.\nSome locale/language combinations can return tours with title: null; handle gracefully.\nValidation Notes\nKeep executable validation commands outside this skill file.\nValidate behavior by confirming:\nthe MCP server exposes the search tool\nsearch results arrive as a JSON string in content[0].text"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/gdanielwalk/guruwalk-free-tours",
    "publisherUrl": "https://clawhub.ai/gdanielwalk/guruwalk-free-tours",
    "owner": "gdanielwalk",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/guruwalk-free-tours",
    "downloadUrl": "https://openagent3.xyz/downloads/guruwalk-free-tours",
    "agentUrl": "https://openagent3.xyz/skills/guruwalk-free-tours/agent",
    "manifestUrl": "https://openagent3.xyz/skills/guruwalk-free-tours/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/guruwalk-free-tours/agent.md"
  }
}