Ik bouwde een Claude-vaardigheid die mijn Facebook-advertenties beheert — hier is de code
Ik bouwde een Claude-vaardigheid die mijn Meta Ads-account leest via de Graph API, underperformers identificeert, advertentieteksten herschrijft in mijn merkstem en nieuwe advertentiesets aanmaakt zonder dat ik de Advertentiebeheerder hoef aan te raken. Het geheel is minder dan 300 regels TypeScript. Het rendement was onmiddellijk: ik reduceerde de wekelijkse advertentiebeheer-tijd van ~3 uur naar ongeveer 20 minuten.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Controleer je inbox — klik op de bevestigingslink om je aanmelding te voltooien.
✓ Je bent aangemeld!
✓ Je staat al op de lijst.
Inhoudsopgave
Bijgewerkt juni 2026.
TL;DR: Ik bouwde een Claude-vaardigheid die mijn Meta Ads-account leest via de Graph API, underperformers identificeert, advertentieteksten herschrijft in mijn merkstem en nieuwe advertentiesets aanmaakt zonder dat ik de Advertentiebeheerder hoef aan te raken. Het geheel is minder dan 300 regels TypeScript. Het rendement was onmiddellijk: ik reduceerde de wekelijkse advertentiebeheer-tijd van ~3 uur naar ongeveer 20 minuten.
[Operatorslectuur] Ik beheer advertenties voor Pickleland en voor mijn consultancymerk. Twee accounts, verschillende doelgroepen, constante creatieve vermoeidheid. Ik bracht zondagmiddagen door in de Advertentiebeheerder met dingen die een model zou moeten doen. Dus automatiseerde ik het.
Waarom ik stopte met het handmatig beheren van Facebook-advertenties
Het eigenlijke werk van het beheren van Facebook-advertenties valt uiteen in drie taken:
- Monitoring — controleren welke advertentiesets geld verbranden vs. verdienen
- Diagnose — uitzoeken waarom iets onderpresteert (creatieve vermoeidheid? slechte targeting? landingspagina?)
- Iteratie — nieuwe teksten schrijven, nieuwe advertentiesets aanmaken, budgetten aanpassen
Taak 1 is mechanisch. Taak 3 is grotendeels mechanisch (met een stembepaling). Taak 2 vereist oordeel — en is de enige die baat heeft bij een mens in de lus.
Een Claude-vaardigheid kan 1 en 3 doen. Ik controleer de resultaten van taak 2 voordat er iets wordt gepubliceerd. Dat is de architectuur waarop ik me heb vastgelegd.
De Meta Graph API-instelling (dit is het vervelende deel)
Vóór enige code: u heeft een Meta Business-account, een Systeemgebruiker en een permanent toegangstoken nodig. Het ontwikkelaarsportaal van Facebook is vijandig, maar het pad is:
- Een Meta App aanmaken op developers.facebook.com (type: Business)
- Het product Marketing API toevoegen
- Onder uw Bedrijfsportfolio → Instellingen → Gebruikers → Systeemgebruikers een systeemgebruiker aanmaken en hem de rol
ADVERTISERgeven op uw advertentieaccount - Een token genereren met deze machtigingen:
ads_read,ads_management,business_management
Sla het token op als META_ACCESS_TOKEN en uw advertentieaccount-ID (formaat: act_XXXXXXXX) als META_AD_ACCOUNT_ID in uw .env.
De bestandsstructuur van de vaardigheid
.claude/skills/fb-ads/
SKILL.md ← instructies die Claude leest
index.ts ← de daadwerkelijke tool-implementatie
types.ts ← gedeelde typenDe SKILL.md vertelt Claude wanneer en hoe de vaardigheid te gebruiken. De mijne zegt:
# Facebook Ads Manager Skill
Use this skill when the user says "check my ads", "run ads report",
"pause underperformers", or "write new ad copy". Never run this
without explicit user instruction — it touches live ad spend.
## What it can do
- Pull performance data for all active ad sets (last 7 or 30 days)
- Flag ad sets with ROAS < 1.5 or CTR < 0.8% as underperformers
- Rewrite ad copy for flagged creatives in Ale's voice
- Create new ad sets with revised copy (PAUSED by default — you approve before activating)
## What it will NOT do
- Change budgets on live ad sets without explicit confirmation
- Activate new ad sets automatically
- Delete anythingDe beperking “nooit automatisch activeren” is niet onderhandelbaar. Deze vaardigheid maakt dingen aan in de status GEPAUZEERD. Ik controleer en activeer handmatig. Alles wat live advertentie-uitgaven aanraakt, heeft een menselijk controlepunt nodig.
De kern TypeScript-code
(Codeblokken blijven in het Engels — alleen de omringende tekst wordt vertaald.)
Hoe ik het dagelijks gebruik
De vaardigheid wordt aangeroepen vanuit Claude Code (mijn dagelijkse tool). Een typische maandagochtend-sessie:
> check my ads from the last 7 daysClaude voert runAdsReport(7) uit, formatteert de resultaten als een tabel, markeert underperformers en vraagt of ik herschrijvingen wil. Ik zeg ja. Het genereert nieuwe tekst, toont me beide versies naast elkaar en maakt GEPAUZEERDE advertentiesets aan met het nieuwe creatief. Ik controleer ze in de Advertentiebeheerder, activeer de ones die ik leuk vind en archiveer de verliezers.
Totale tijd: 20 minuten. Nul zondagmiddagen in de Advertentiebeheerder.
Wat dit niet vervangt
De vaardigheid kan me niet vertellen of een product-markt-fit-probleem zich vermomt als een tekstprobleem. Als de ROAS overal slecht is, is dat een funnel- of aanbodprobleem, geen kopprobleem. Claude zal getrouw teksten herschrijven op een kapotte funnel — en de herschrijvingen zullen het niet redden.
De diagnosestap is nog steeds van mij. Ik lees het rapport, bekijk de funnel-gegevens en besluit of we creatief itereren of iets stroomopwaarts oplossen. De agent is snel in alles behalve dat oordeel.
De conclusie van de operator
Als u advertenties handmatig beheert en meer dan twee keer per week de Advertentiebeheerder aanraakt, doet u operaties die een script zou moeten doen. De Graph API is goed gedocumenteerd en de Meta-machtigingsstroom, hoewel vervelend, is een eenmalige instelling. Bouw de vaardigheid in een middag. De terugverdientijd in teruggewonnen tijd is zichtbaar in week één.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Controleer je inbox — klik op de bevestigingslink om je aanmelding te voltooien.
✓ Je bent aangemeld!
✓ Je staat al op de lijst.
Ontvang het AI-playbook in je inbox
Elke woensdag. 28.400+ operators. Geen opvulling.
Controleer je inbox.
We hebben je een bevestigingsmail gestuurd — klik op de link om je aanmelding te voltooien. Controleer je spam als je hem niet binnen een minuut ziet.
Je bent aangemeld.
Welkom — de volgende editie valt binnenkort in je inbox.
Je staat al op de lijst — kijk er elke woensdag naar uit.