Install
openclaw skills install marktplaats-publisherMarktplaats met self-healing diagnose en herstelpaden.
openclaw skills install marktplaats-publisherPublisher: Roel Broersma.
Gebruik deze skill voor Marktplaats-advertenties: voorbereiden, categorie/formulier inspecteren, foto's uploaden, plaatsen, bewerken, controleren en lokaal registreren.
Belangrijk uitgangspunt: werk zoveel mogelijk background-first en sessie-veilig. Vermijd storende foreground-browserbediening. Gebruik Safari/Chrome alleen als sessiebron of geïsoleerde automation-context wanneer HTTP/browser-fetch niet genoeg is.
Commentaar: bestuur niet zomaar de actieve browser van de gebruiker. De juiste volgorde is: eerst API/scrape/browser-context, pas daarna een geïsoleerde browser-tab als het echt moet.
Deze skill is vooral bedoeld voor normale, lage-volume Marktplaats-verkoop:
Niet bedoeld voor:
Commentaar: behandel deze skill als een veilige verkoopassistent voor normale advertenties, niet als algemene Marktplaats-bot.
~/Documents/OpenClaw/Data/marktplaats/advertenties.json en per-advertentiemap.Commentaar: sessiegebruik mag, sessie-extractie/logging niet. Gebruik een ingelogde browsercontext alleen als veilige uitvoeromgeving; print nooit auth-data.
Standaard is de workflow gericht op gratis of nul-euro advertenties:
Commentaar: “gratis route niet gevonden” is een stopconditie, geen reden om blind een betaalde flow te accepteren.
Commentaar: elke stap moet bewijs opleveren. Een submit zonder live verificatie is niet “klaar”.
Voor Marktplaats-advertenties moet de omschrijving standaard rijk en SEO-geoptimaliseerd zijn, maar rond/onder 3500 tekens blijven.
description_nl-NL.length en of het einde van de tekst, inclusief SEO-/zoekvariantensectie, aanwezig is.Commentaar: de praktische regel is niet “zoveel mogelijk woorden”, maar “maximaal nuttige SEO binnen wat Marktplaats zichtbaar accepteert”. Eerdere live tests lieten zien dat circa 3.5k tekens betrouwbaar werkt en veel langere teksten onbetrouwbaar kunnen worden.
SEO-werkwijze:
Commentaar: SEO-varianten moeten klinken alsof een mens het advertentieveld slim invult, niet alsof er onderaan een spamwoordenlijst staat.
Voor monitor-/tv-beugels zijn nuttige varianten:
monitorarm, monitor arm, monitorbeugelbeeldschermarm, beeldscherm beugelwandsteun, wand steunmuurbeugel, muur beugeltv beugel, schermbeugelVESA, vesa, incidenteel vessaGebruik een spelfoutvariant hooguit incidenteel en natuurlijk, niet overdreven.
Gebruik deze volgorde voor plaatsing en bewerking:
Local preparation
~/Documents/OpenClaw/Data/marktplaats/<slug>/.Commentaar: lokaal voorbereiden is goedkoop, stil en veilig. Pas als de advertentie inhoudelijk klaar is, Marktplaats aanraken.
HTTP/browser-fetch probe zonder foreground
Commentaar: dit is de voorkeursroute. Als server HTML leeg is maar browser-fetch authenticated werkt, gebruik die sessie als transportlaag zonder UI te kapen.
Geïsoleerde tab alleen indien nodig
front document.activate, System Events, keypresses en visuele foreground-wissels.Commentaar: meerdere tabs kunnen door elkaar lopen. Maak altijd eerst een tab-inventaris en match exact op advertentie-id of edit-URL.
DOM-event automation, geen handmatige UI
input/change events.Commentaar: hidden fields direct zetten kan soms lijken te werken, maar React-validatie kan het negeren. Bij rijke editor: editor zelf vullen én hidden field controleren.
Live verificatie
Commentaar: “submit gelukt” telt pas als live advertentiepagina de nieuwe inhoud toont. Vooral controleren op laatste SEO-zin, prijs en foto-aantal.
Gebruik self-healing bij normale technische breuken, maar niet bij security-, captcha-, betaal- of login-uitdagingen die menselijke actie vereisen.
Self-healing betekent hier:
Commentaar: self-healing is geen vrijbrief om blind door te drukken. Het is een gecontroleerde diagnose- en herstel-ladder.
Signalen:
Herstel:
Stopconditie:
Signalen:
l1, l2, bucket ontbreekt of geeft fout.Herstel:
l1, l2, bucket, category full name en form fields als bron van waarheid.Stopconditie:
Signalen:
description_nl-NL, price.value, images.ids, selectedBundle, etc.Herstel:
input, textarea, select, button, contenteditable, labels en foutteksten.input/change events.new FormData(form) en zichtbare foutteksten.Stopconditie:
Signalen:
description_nl-NL wijzigt, maar live tekst blijft oud.Herstel:
description_nl-NL alleen als fallback.Stopconditie:
Signalen:
images.urls.0 van 24 of lager dan verwacht.Herstel:
images.idsimages.urlsStopconditie:
Signalen:
Je hebt geen advertentievorm gekozen.selectedBundle leeg.0,00.Herstel:
bundle-selection=FREE en selectedBundle=FREE indien aanwezig.Stopconditie:
Signalen:
Herstel:
Stopconditie:
Signalen:
do JavaScript timeout.Herstel:
Stopconditie:
Signalen:
Herstel:
Signalen:
advertenties.json mist record of oude status.ad.json ontbreekt.Herstel:
advertenties.json bij.ad.json en description.md.Als een self-healing poging faalt door veranderde Marktplaats-structuur, onbekende React-flow, of inconsistente form state:
Commentaar: noem dit geen verplichte
GPT 5.5 xtreme high thinkingafhankelijkheid. Formuleer het als “gebruik de zwaarste beschikbare redeneermodus” zodat de skill toekomstvast blijft.
0,00 zijn tenzij de gebruiker expliciet betaalde opties wil.Commentaar: als Marktplaats terugkomt met validatiefout, lees de fouttekst en herstel gericht. Niet opnieuw blind submitten.
https://www.marktplaats.nl/plaats/<adId>/editform#syi-forminput[name="description_nl-NL"][contenteditable="true"][role="textbox"]images.ids en images.urlsdocument.execCommand('insertText', false, text) of vergelijkbare echte editor-inputdescription_nl-NL als fallback, maar hidden field alleen is niet voldoende bewijsdescription_nl-NLOpslaan-knop via DOM-event./seller/view/<adId> dat nieuwe titel/omschrijving zichtbaar zijn.ad.json bij.Commentaar: de zichtbare editor kan anders rapporteren dan hidden field. Bewijs is pas voldoende als de live advertentie na opslaan de nieuwe tekst toont.
Centrale locatie:
~/Documents/OpenClaw/Data/marktplaats/advertenties.json
Per advertentie:
~/Documents/OpenClaw/Data/marktplaats/<slug>/ad.json
~/Documents/OpenClaw/Data/marktplaats/<slug>/description.md
~/Documents/OpenClaw/Data/marktplaats/<slug>/photos/
Werk bij na dry-run, plaatsing, wijziging, validatiefout, verwijdering, statuscheck of herplaatsing.
Commentaar: het register is niet alleen administratie; het voorkomt dat toekomstige taken opnieuw moeten gokken welke prijs, titel, foto's of status gelden.
Stop en rapporteer wanneer:
images.urls opbouwt.Commentaar: stoppen is hier beter dan “nog even proberen” als dat de browser stoort of een betaal/security-flow raakt.