{
  "schemaVersion": "1.0",
  "item": {
    "slug": "grazy",
    "name": "Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/thomyg/grazy",
    "canonicalUrl": "https://clawhub.ai/thomyg/grazy",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/grazy",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=grazy",
    "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-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-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/grazy"
    },
    "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/grazy",
    "agentPageUrl": "https://openagent3.xyz/skills/grazy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/grazy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/grazy/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": "grazy Skill",
        "body": "Dieser Skill ermöglicht den Zugriff auf die grazy CLI für Grazer Stadt-Informationen."
      },
      {
        "title": "⚠️ WICHTIG FÜR AGENTS",
        "body": "Der Agent soll bei Unsicherheit IMMER zuerst grazy help aufrufen um alle Möglichkeiten zu sehen!\n\n# IMMER zuerst help aufrufen wenn du unsicher bist!\ngrazy help\n\n# Oder für spezifische Commands:\ngrazy events --category help\ngrazy events --when help\ngrazy poi help"
      },
      {
        "title": "Installation",
        "body": "Die CLI ist bereits global installiert: npm install -g @grazy/cli\n\nOder alternativ mit npx (sandbox):\n\nnpx @grazy/cli events"
      },
      {
        "title": "Source & Verification",
        "body": "NPM Package: https://www.npmjs.com/package/@grazy/cli\nGitHub Repo: https://github.com/thomyg/grazy\nAutor: Thomas Gölles (@thomyg)"
      },
      {
        "title": "🚇 Öffentlicher Verkehr",
        "body": "grazy departures <stop>     # Echtzeit-Abfahrten\ngrazy search <name>          # Haltestelle suchen\ngrazy route <von> <nach>    # Route planen"
      },
      {
        "title": "🌤️ Wetter & Luftqualität",
        "body": "grazy weather                # Aktuelles Wetter\ngrazy weather --days 7       # 7-Tage Forecast\ngrazy air                   # Luftqualität (AQI, PM2.5, PM10)"
      },
      {
        "title": "📰 News",
        "body": "grazy news                   # Alle News (ORF + Kleine Zeitung)\ngrazy news --source orf     # Nur ORF\ngrazy news --source kleine  # Nur Kleine Zeitung\ngrazy news --source sport   # Nur Sport"
      },
      {
        "title": "📅 Events",
        "body": "grazy events                 # Alle Events (kultur.graz.at)\ngrazy events --category musik          # Nur Musik\ngrazy events --category theater        # Theater & Tanz\ngrazy events --category ausstellungen  # Ausstellungen\ngrazy events --category kabarett       # Kabarett\ngrazy events --category kinder         # Kinder & Jugend\ngrazy events --category lesungen       # Lesungen & Vorträge\ngrazy events --category fuehrungen      # Führungen\ngrazy events --category film           # Film & Neue Medien\n\ngrazy events --when heute      # Heute\ngrazy events --when morgen     # Morgen\ngrazy events --when woche     # Diese Woche\ngrazy events --when wochenende # Wochenende (Sa/So)\ngrazy events --when monat      # Diesen Monat\n\ngrazy events --category help   # Alle Kategorien anzeigen\ngrazy events --when help      # Alle Zeitfilter anzeigen\n\n# Kombiniert:\ngrazy events -c musik -w wochenende\ngrazy events -c theater -w woche"
      },
      {
        "title": "🔍 POI-Suche",
        "body": "grazy poi <type>            # POI-Typ suchen\ngrazy poi help              # Alle verfügbaren Typen anzeigen\n\nVerfügbare POI-Typen: restaurant, cafe, bar, fast_food, pub, cinema, theatre, museum, library, pharmacy, hospital, doctors, parking, fuel, atm, bank, playground"
      },
      {
        "title": "📋 Sonstiges",
        "body": "grazy status                # API-Status prüfen\ngrazy help                  # Hilfe anzeigen"
      },
      {
        "title": "Bekannte Haltestellen (für Öffi)",
        "body": "Jakomini → Jakominiplatz\nFH Joanneum / FH → FH Joanneum\nHauptbahnhof / Bahnhof → Graz Hauptbahnhof\nStadion → Merkur Arena\nLKH / Med Uni → LKH Med Uni"
      },
      {
        "title": "⚡ Erster Schritt: IMMER help aufrufen!",
        "body": "# Bei ANY Unsicherheit - zuerst help!\ngrazy help\n\n# Für Events:\ngrazy events --category help\ngrazy events --when help\n\n# Für POI:\ngrazy poi help"
      },
      {
        "title": "Dann Commands nutzen",
        "body": "# Events\ngrazy events --limit 10\ngrazy events --category musik\ngrazy events --when wochenende\ngrazy events -c theater -w wochenende\n\n# Wetter\ngrazy weather\n\n# Öffi\ngrazy departures \"Jakomini\"\ngrazy departures \"FH Joanneum\"\n\n# News\ngrazy news --limit 5\n\n# Luft\ngrazy air\n\n# POI\ngrazy poi restaurant --limit 10\ngrazy poi cafe --limit 5\ngrazy poi pharmacy"
      },
      {
        "title": "Output-Format",
        "body": "● = Echtzeit-Daten verfügbar\n+Xmin = Verspätung\nAQI: 0-50 Gut, 51-100 Moderat, >100 Ungesund"
      },
      {
        "title": "Wichtig",
        "body": "Immer English Commands verwenden (departures, weather, news, poi, events, etc.)\nBEI UNSICHERHEIT: grazy help aufrufen!\ngrazy ist keyless (keine API-Keys nötig)\nDaten kommen von: EFA, Open-Meteo, ORF RSS, OpenStreetMap, kultur.graz.at RSS"
      }
    ],
    "body": "grazy Skill\n\nDieser Skill ermöglicht den Zugriff auf die grazy CLI für Grazer Stadt-Informationen.\n\n⚠️ WICHTIG FÜR AGENTS\n\nDer Agent soll bei Unsicherheit IMMER zuerst grazy help aufrufen um alle Möglichkeiten zu sehen!\n\n# IMMER zuerst help aufrufen wenn du unsicher bist!\ngrazy help\n\n# Oder für spezifische Commands:\ngrazy events --category help\ngrazy events --when help\ngrazy poi help\n\nInstallation\n\nDie CLI ist bereits global installiert: npm install -g @grazy/cli\n\nOder alternativ mit npx (sandbox):\n\nnpx @grazy/cli events\n\nSource & Verification\nNPM Package: https://www.npmjs.com/package/@grazy/cli\nGitHub Repo: https://github.com/thomyg/grazy\nAutor: Thomas Gölles (@thomyg)\nCommands\n🚇 Öffentlicher Verkehr\ngrazy departures <stop>     # Echtzeit-Abfahrten\ngrazy search <name>          # Haltestelle suchen\ngrazy route <von> <nach>    # Route planen\n\n🌤️ Wetter & Luftqualität\ngrazy weather                # Aktuelles Wetter\ngrazy weather --days 7       # 7-Tage Forecast\ngrazy air                   # Luftqualität (AQI, PM2.5, PM10)\n\n📰 News\ngrazy news                   # Alle News (ORF + Kleine Zeitung)\ngrazy news --source orf     # Nur ORF\ngrazy news --source kleine  # Nur Kleine Zeitung\ngrazy news --source sport   # Nur Sport\n\n📅 Events\ngrazy events                 # Alle Events (kultur.graz.at)\ngrazy events --category musik          # Nur Musik\ngrazy events --category theater        # Theater & Tanz\ngrazy events --category ausstellungen  # Ausstellungen\ngrazy events --category kabarett       # Kabarett\ngrazy events --category kinder         # Kinder & Jugend\ngrazy events --category lesungen       # Lesungen & Vorträge\ngrazy events --category fuehrungen      # Führungen\ngrazy events --category film           # Film & Neue Medien\n\ngrazy events --when heute      # Heute\ngrazy events --when morgen     # Morgen\ngrazy events --when woche     # Diese Woche\ngrazy events --when wochenende # Wochenende (Sa/So)\ngrazy events --when monat      # Diesen Monat\n\ngrazy events --category help   # Alle Kategorien anzeigen\ngrazy events --when help      # Alle Zeitfilter anzeigen\n\n# Kombiniert:\ngrazy events -c musik -w wochenende\ngrazy events -c theater -w woche\n\n🔍 POI-Suche\ngrazy poi <type>            # POI-Typ suchen\ngrazy poi help              # Alle verfügbaren Typen anzeigen\n\n\nVerfügbare POI-Typen: restaurant, cafe, bar, fast_food, pub, cinema, theatre, museum, library, pharmacy, hospital, doctors, parking, fuel, atm, bank, playground\n\n📋 Sonstiges\ngrazy status                # API-Status prüfen\ngrazy help                  # Hilfe anzeigen\n\nBekannte Haltestellen (für Öffi)\nJakomini → Jakominiplatz\nFH Joanneum / FH → FH Joanneum\nHauptbahnhof / Bahnhof → Graz Hauptbahnhof\nStadion → Merkur Arena\nLKH / Med Uni → LKH Med Uni\nNutzung als Assistant - WICHTIG\n⚡ Erster Schritt: IMMER help aufrufen!\n# Bei ANY Unsicherheit - zuerst help!\ngrazy help\n\n# Für Events:\ngrazy events --category help\ngrazy events --when help\n\n# Für POI:\ngrazy poi help\n\nDann Commands nutzen\n# Events\ngrazy events --limit 10\ngrazy events --category musik\ngrazy events --when wochenende\ngrazy events -c theater -w wochenende\n\n# Wetter\ngrazy weather\n\n# Öffi\ngrazy departures \"Jakomini\"\ngrazy departures \"FH Joanneum\"\n\n# News\ngrazy news --limit 5\n\n# Luft\ngrazy air\n\n# POI\ngrazy poi restaurant --limit 10\ngrazy poi cafe --limit 5\ngrazy poi pharmacy\n\nOutput-Format\n● = Echtzeit-Daten verfügbar\n+Xmin = Verspätung\nAQI: 0-50 Gut, 51-100 Moderat, >100 Ungesund\nWichtig\nImmer English Commands verwenden (departures, weather, news, poi, events, etc.)\nBEI UNSICHERHEIT: grazy help aufrufen!\ngrazy ist keyless (keine API-Keys nötig)\nDaten kommen von: EFA, Open-Meteo, ORF RSS, OpenStreetMap, kultur.graz.at RSS"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/thomyg/grazy",
    "publisherUrl": "https://clawhub.ai/thomyg/grazy",
    "owner": "thomyg",
    "version": "0.5.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/grazy",
    "downloadUrl": "https://openagent3.xyz/downloads/grazy",
    "agentUrl": "https://openagent3.xyz/skills/grazy/agent",
    "manifestUrl": "https://openagent3.xyz/skills/grazy/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/grazy/agent.md"
  }
}