{
  "schemaVersion": "1.0",
  "item": {
    "slug": "willhaben",
    "name": "Willhaben",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/benjaminorthner/willhaben",
    "canonicalUrl": "https://clawhub.ai/benjaminorthner/willhaben",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/willhaben",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=willhaben",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "config/user-preferences.example.json",
      "references/categories.md",
      "references/SETUP.md",
      "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/willhaben"
    },
    "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/willhaben",
    "agentPageUrl": "https://openagent3.xyz/skills/willhaben/agent",
    "manifestUrl": "https://openagent3.xyz/skills/willhaben/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/willhaben/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": "Willhaben Listing Creator",
        "body": "Create listings on Willhaben.at via browser automation."
      },
      {
        "title": "First-Time Setup",
        "body": "Check if config/user-preferences.json exists in the skill folder.\n\nIf missing → run setup flow (see references/SETUP.md)\nIf exists → read preferences and apply to all listings\n\nUser preferences include: location, shipping, description style, pricing strategy, disclaimers."
      },
      {
        "title": "1. Receive Item Details",
        "body": "User sends photos (via WhatsApp/chat)\nOptional: user provides details (condition, category, price range)"
      },
      {
        "title": "2. Market Research",
        "body": "Before suggesting a price, search Willhaben for similar/identical items:\n\nSearch willhaben.at for the item\nNote price range of comparable listings\nCheck sold prices if available\nReport findings to user:\n\nNeupreis (new price)\nMarktpreis (what similar items are listed for)\nEmpfohlener Preis (recommended selling price)"
      },
      {
        "title": "3. Generate Listing",
        "body": "Analyze photos to understand the item\nGenerate:\n\nTitle: Concise, searchable (German)\nDescription: SHORT and casual - real people don't write essays. 2-3 sentences max. Mention key facts only.\nPrice: Based on market research, suggest realistic price\nPackage size: Estimate weight category for shipping (3kg / 10kg / 31.5kg)\n\n\nAsk user:\n\nLocation (Bezirk) - if not in preferences\nAny damage/issues to mention\nIf they want a more detailed description (default: no)\n\n\nPresent draft for confirmation including package size estimate"
      },
      {
        "title": "Listing Summary Template",
        "body": "Show the user something like:\n\n📝 Listing Draft\n\nTitle: [title]\nDescription: [description]\nPrice: €XX VB\nLocation: [location]\nPickup: ✅ / Shipping: ✅\n\n📦 Package: ~Xkg (selecting [size] package)\n   → If wrong, let me know!\n\nPhotos: X attached\n\nReady to post?\n\nIf package weight is unclear (e.g., unusual item), ask the user rather than guessing wrong."
      },
      {
        "title": "4. Post to Willhaben",
        "body": "See detailed browser automation steps below."
      },
      {
        "title": "Description Style",
        "body": "Default: Casual & short\n\nBlue Yeti USB Mikrofon, schwarz. Funktioniert einwandfrei, inkl. Kabel und Standfuß. Privatverkauf, keine Garantie/Rücknahme.\n\nNOT like this (too AI/formal):\n\nZum Verkauf steht ein hochwertiges Blue Yeti USB Kondensatormikrofon in der eleganten Blackout Edition. Dieses professionelle Mikrofon eignet sich perfekt für Podcasting, Streaming, Gaming oder Home-Office...\n\nOnly add detail if user explicitly asks for it."
      },
      {
        "title": "Language",
        "body": "All listings in German (Austrian market). Keep it natural, like a real person wrote it."
      },
      {
        "title": "Browser Automation Guide",
        "body": "Use clawd browser profile with saved Willhaben login."
      },
      {
        "title": "Step 1: Start Listing",
        "body": "Navigate to: https://www.willhaben.at/iad/anzeigenaufgabe\nClick \"Kostenlose Anzeige aufgeben\" (link to Marktplatz free listing)"
      },
      {
        "title": "Step 2: Fill Details Page",
        "body": "The form has these fields:"
      },
      {
        "title": "Images",
        "body": "Upload method: Use browser upload action with inputRef pointing to the \"Bild auswählen\" button\nExample: browser upload inputRef=e12 paths=[...] where e12 is the button ref\nCan upload multiple images at once via paths array\nAfter upload, verify images appear as thumbnails before proceeding"
      },
      {
        "title": "Price (Verkaufspreis)",
        "body": "Textbox, just enter the number (no € symbol needed)"
      },
      {
        "title": "Title (Titel)",
        "body": "Textbox with placeholder \"z.B. Levi's 501 Jeans, schwarz, Größe 32\"\nKeep concise and searchable"
      },
      {
        "title": "Category (Kategorie)",
        "body": "Auto-suggests based on title - a radio option appears\nIMPORTANT: Must click the category option to select it (even if it looks selected)\nIf wrong category suggested, click \"Andere Kategorie wählen\""
      },
      {
        "title": "Condition (Zustand)",
        "body": "Appears AFTER category is selected\nOptions: Neu / Neuwertig / Gebraucht / Defekt\nUsually select \"Gebraucht\" for used items"
      },
      {
        "title": "Description (Beschreibung)",
        "body": "Rich text editor (contenteditable paragraph)\nClick on the paragraph area first, then type\nKeep it short!"
      },
      {
        "title": "Contact & Location",
        "body": "Pre-filled from account settings\nShows name, email, address"
      },
      {
        "title": "Step 3: Click \"Weiter\"",
        "body": "Proceeds to shipping options."
      },
      {
        "title": "Delivery Options",
        "body": "Selbstabholung: Pickup (usually keep checked)\nVersand: Shipping (check if offering shipping)"
      },
      {
        "title": "PayLivery (willhaben's shipping service)",
        "body": "If Versand is checked:\n\nPackage Size (Versandgröße) - Choose based on actual item weight!\n\nPaket bis 3 kg - Small items\nPaket bis 10 kg - Medium items (electronics, small appliances)\nPaket bis 31,5 kg - Heavy items (appliances with compressors, etc.)\n\nExample weights:\n\nIce cream maker with compressor: ~9kg → select 10kg\nKeyboard/mouse: ~1kg → select 3kg\nMonitor: ~5kg → select 10kg\nBooks/games: ~0.5kg → select 3kg\nLaptop: ~2-3kg → select 3kg\nKitchen appliance (mixer, blender): ~3-5kg → select 10kg\n\n⚠️ If weight is unclear: This should have been confirmed with user in the listing summary step. If you reach this point unsure, go back and ask!\n\nCarrier: Post or DPD (Post is default, fine for most)\n\nSperrgut: Check if item is oversized (>100×60×60cm) or non-rectangular\n\nBuyer pays shipping (shown at bottom)."
      },
      {
        "title": "Step 5: Click \"Weiter\"",
        "body": "Proceeds to upsells page."
      },
      {
        "title": "Step 6: Upsells Page (Zusatzprodukte)",
        "body": "Shows paid promotion options:\n\nAnzeige vorreihen (€14.99)\nFarblich hervorheben (€7.99)\nTOP Anzeige options (€21.99 - €89.99)\n\nSkip all - just click \"Veröffentlichen\" to publish for free.\n\nShows \"Gewählt: € 0\" at bottom confirming no paid options."
      },
      {
        "title": "Step 7: Success!",
        "body": "Confirmation page shows:\n\n✅ \"Anzeige erfolgreich aufgegeben\"\nListing preview with image\nwillhaben-Code: The listing ID (e.g., 1832624977)\nNote: \"Die Veröffentlichung kann bis zu 24h dauern\" (review period)\n\nListing URL: https://www.willhaben.at/iad/object?adId={willhaben-code}"
      },
      {
        "title": "Category not selecting",
        "body": "Even if the category appears, you must click on the radio/option area to actually select it. The validation error \"Kategorie muss gewählt werden\" means it wasn't clicked."
      },
      {
        "title": "Images not uploading",
        "body": "Use inputRef with the \"Bild auswählen\" button reference (e.g., inputRef=e12). Do NOT use selector: input[type=\"file\"] - it doesn't work reliably on this site."
      },
      {
        "title": "Element refs going stale",
        "body": "Always take a fresh snapshot before interacting. Refs change after page updates."
      },
      {
        "title": "Login required",
        "body": "If not logged in, the profile should have saved credentials. If needed, navigate to login page or ask user to log in manually in the browser."
      },
      {
        "title": "Quick Reference",
        "body": "StepURL/ActionStarthttps://www.willhaben.at/iad/anzeigenaufgabeFree listingClick \"Kostenlose Anzeige aufgeben\"Upload imagesupload with inputRef pointing to \"Bild auswählen\" buttonNext\"Weiter\" buttonPublish\"Veröffentlichen\" buttonView listinghttps://www.willhaben.at/iad/object?adId={ID}"
      }
    ],
    "body": "Willhaben Listing Creator\n\nCreate listings on Willhaben.at via browser automation.\n\nFirst-Time Setup\n\nCheck if config/user-preferences.json exists in the skill folder.\n\nIf missing → run setup flow (see references/SETUP.md)\nIf exists → read preferences and apply to all listings\n\nUser preferences include: location, shipping, description style, pricing strategy, disclaimers.\n\nWorkflow\n1. Receive Item Details\nUser sends photos (via WhatsApp/chat)\nOptional: user provides details (condition, category, price range)\n2. Market Research\n\nBefore suggesting a price, search Willhaben for similar/identical items:\n\nSearch willhaben.at for the item\nNote price range of comparable listings\nCheck sold prices if available\nReport findings to user:\nNeupreis (new price)\nMarktpreis (what similar items are listed for)\nEmpfohlener Preis (recommended selling price)\n3. Generate Listing\nAnalyze photos to understand the item\nGenerate:\nTitle: Concise, searchable (German)\nDescription: SHORT and casual - real people don't write essays. 2-3 sentences max. Mention key facts only.\nPrice: Based on market research, suggest realistic price\nPackage size: Estimate weight category for shipping (3kg / 10kg / 31.5kg)\nAsk user:\nLocation (Bezirk) - if not in preferences\nAny damage/issues to mention\nIf they want a more detailed description (default: no)\nPresent draft for confirmation including package size estimate\nListing Summary Template\n\nShow the user something like:\n\n📝 Listing Draft\n\nTitle: [title]\nDescription: [description]\nPrice: €XX VB\nLocation: [location]\nPickup: ✅ / Shipping: ✅\n\n📦 Package: ~Xkg (selecting [size] package)\n   → If wrong, let me know!\n\nPhotos: X attached\n\nReady to post?\n\n\nIf package weight is unclear (e.g., unusual item), ask the user rather than guessing wrong.\n\n4. Post to Willhaben\n\nSee detailed browser automation steps below.\n\nDescription Style\n\nDefault: Casual & short\n\nBlue Yeti USB Mikrofon, schwarz. Funktioniert einwandfrei, inkl. Kabel und Standfuß. Privatverkauf, keine Garantie/Rücknahme.\n\n\nNOT like this (too AI/formal):\n\nZum Verkauf steht ein hochwertiges Blue Yeti USB Kondensatormikrofon in der eleganten Blackout Edition. Dieses professionelle Mikrofon eignet sich perfekt für Podcasting, Streaming, Gaming oder Home-Office...\n\n\nOnly add detail if user explicitly asks for it.\n\nLanguage\n\nAll listings in German (Austrian market). Keep it natural, like a real person wrote it.\n\nBrowser Automation Guide\n\nUse clawd browser profile with saved Willhaben login.\n\nStep 1: Start Listing\nNavigate to: https://www.willhaben.at/iad/anzeigenaufgabe\nClick \"Kostenlose Anzeige aufgeben\" (link to Marktplatz free listing)\nStep 2: Fill Details Page\n\nThe form has these fields:\n\nImages\nUpload method: Use browser upload action with inputRef pointing to the \"Bild auswählen\" button\nExample: browser upload inputRef=e12 paths=[...] where e12 is the button ref\nCan upload multiple images at once via paths array\nAfter upload, verify images appear as thumbnails before proceeding\nPrice (Verkaufspreis)\nTextbox, just enter the number (no € symbol needed)\nTitle (Titel)\nTextbox with placeholder \"z.B. Levi's 501 Jeans, schwarz, Größe 32\"\nKeep concise and searchable\nCategory (Kategorie)\nAuto-suggests based on title - a radio option appears\nIMPORTANT: Must click the category option to select it (even if it looks selected)\nIf wrong category suggested, click \"Andere Kategorie wählen\"\nCondition (Zustand)\nAppears AFTER category is selected\nOptions: Neu / Neuwertig / Gebraucht / Defekt\nUsually select \"Gebraucht\" for used items\nDescription (Beschreibung)\nRich text editor (contenteditable paragraph)\nClick on the paragraph area first, then type\nKeep it short!\nContact & Location\nPre-filled from account settings\nShows name, email, address\nStep 3: Click \"Weiter\"\n\nProceeds to shipping options.\n\nStep 4: Shipping Page (Übergabe & Versand)\nDelivery Options\nSelbstabholung: Pickup (usually keep checked)\nVersand: Shipping (check if offering shipping)\nPayLivery (willhaben's shipping service)\n\nIf Versand is checked:\n\nPackage Size (Versandgröße) - Choose based on actual item weight!\n\nPaket bis 3 kg - Small items\nPaket bis 10 kg - Medium items (electronics, small appliances)\nPaket bis 31,5 kg - Heavy items (appliances with compressors, etc.)\n\nExample weights:\n\nIce cream maker with compressor: ~9kg → select 10kg\nKeyboard/mouse: ~1kg → select 3kg\nMonitor: ~5kg → select 10kg\nBooks/games: ~0.5kg → select 3kg\nLaptop: ~2-3kg → select 3kg\nKitchen appliance (mixer, blender): ~3-5kg → select 10kg\n\n⚠️ If weight is unclear: This should have been confirmed with user in the listing summary step. If you reach this point unsure, go back and ask!\n\nCarrier: Post or DPD (Post is default, fine for most)\n\nSperrgut: Check if item is oversized (>100×60×60cm) or non-rectangular\n\nBuyer pays shipping (shown at bottom).\n\nStep 5: Click \"Weiter\"\n\nProceeds to upsells page.\n\nStep 6: Upsells Page (Zusatzprodukte)\n\nShows paid promotion options:\n\nAnzeige vorreihen (€14.99)\nFarblich hervorheben (€7.99)\nTOP Anzeige options (€21.99 - €89.99)\n\nSkip all - just click \"Veröffentlichen\" to publish for free.\n\nShows \"Gewählt: € 0\" at bottom confirming no paid options.\n\nStep 7: Success!\n\nConfirmation page shows:\n\n✅ \"Anzeige erfolgreich aufgegeben\"\nListing preview with image\nwillhaben-Code: The listing ID (e.g., 1832624977)\nNote: \"Die Veröffentlichung kann bis zu 24h dauern\" (review period)\n\nListing URL: https://www.willhaben.at/iad/object?adId={willhaben-code}\n\nTroubleshooting\nCategory not selecting\n\nEven if the category appears, you must click on the radio/option area to actually select it. The validation error \"Kategorie muss gewählt werden\" means it wasn't clicked.\n\nImages not uploading\n\nUse inputRef with the \"Bild auswählen\" button reference (e.g., inputRef=e12). Do NOT use selector: input[type=\"file\"] - it doesn't work reliably on this site.\n\nElement refs going stale\n\nAlways take a fresh snapshot before interacting. Refs change after page updates.\n\nLogin required\n\nIf not logged in, the profile should have saved credentials. If needed, navigate to login page or ask user to log in manually in the browser.\n\nQuick Reference\nStep\tURL/Action\nStart\thttps://www.willhaben.at/iad/anzeigenaufgabe\nFree listing\tClick \"Kostenlose Anzeige aufgeben\"\nUpload images\tupload with inputRef pointing to \"Bild auswählen\" button\nNext\t\"Weiter\" button\nPublish\t\"Veröffentlichen\" button\nView listing\thttps://www.willhaben.at/iad/object?adId={ID}"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/benjaminorthner/willhaben",
    "publisherUrl": "https://clawhub.ai/benjaminorthner/willhaben",
    "owner": "benjaminorthner",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/willhaben",
    "downloadUrl": "https://openagent3.xyz/downloads/willhaben",
    "agentUrl": "https://openagent3.xyz/skills/willhaben/agent",
    "manifestUrl": "https://openagent3.xyz/skills/willhaben/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/willhaben/agent.md"
  }
}