Skip to main content

ops-marketing

Centralizes marketing efforts by integrating email, ads, analytics, SEO, and social media metrics into one dashboard.

Install this skill

or
0/100

Security score

The ops-marketing skill was audited on May 29, 2026 and we found 220 security issues across 5 threat categories, including 18 high-severity. Review the findings below before installing.

Categories Tested

Security Issues

high line 27

Template literal with variable interpolation in command context

SourceSKILL.md
271. **Preferences**: Read `${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json`
high line 32

Template literal with variable interpolation in command context

SourceSKILL.md
322. **Daemon health**: Read `${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json`
high line 48

Template literal with variable interpolation in command context

SourceSKILL.md
48**Auth header**: `Authorization: Klaviyo-API-Key ${KLAVIYO_KEY}` | **Revision header**: `revision: 2024-10-15`
high line 54

Template literal with variable interpolation in command context

SourceSKILL.md
54| `https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,...&date_preset=last_7d` | GET | Account-level ad spend |
high line 55

Template literal with variable interpolation in command context

SourceSKILL.md
55| `https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,insights{...}` | GET | Campaign breakdown |
high line 58

Template literal with variable interpolation in command context

SourceSKILL.md
58**Auth header**: `Authorization: Bearer ${META_TOKEN}`
high line 64

Template literal with variable interpolation in command context

SourceSKILL.md
64| `https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport` | POST | Run custom report |
high line 72

Template literal with variable interpolation in command context

SourceSKILL.md
72| `https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query` | POST | Search performance data |
medium line 99

Template literal with variable interpolation in command context

SourceSKILL.md
99```bash
medium line 107

Template literal with variable interpolation in command context

SourceSKILL.md
107```bash
medium line 116

Template literal with variable interpolation in command context

SourceSKILL.md
116```bash
medium line 123

Template literal with variable interpolation in command context

SourceSKILL.md
123```bash
medium line 130

Template literal with variable interpolation in command context

SourceSKILL.md
130```bash
medium line 194

Template literal with variable interpolation in command context

SourceSKILL.md
194```bash
medium line 201

Template literal with variable interpolation in command context

SourceSKILL.md
201```bash
medium line 208

Template literal with variable interpolation in command context

SourceSKILL.md
208```bash
medium line 215

Template literal with variable interpolation in command context

SourceSKILL.md
215```bash
medium line 243

Template literal with variable interpolation in command context

SourceSKILL.md
243```bash
medium line 249

Template literal with variable interpolation in command context

SourceSKILL.md
249```bash
medium line 258

Template literal with variable interpolation in command context

SourceSKILL.md
258```bash
medium line 311

Template literal with variable interpolation in command context

SourceSKILL.md
311```bash
high line 322

Template literal with variable interpolation in command context

SourceSKILL.md
322Print: `Campaign "${CAMPAIGN_NAME}" created (ID: <ID>, status: PAUSED, budget: $<BUDGET>/day). Enable via Meta Ads Manager or add ad sets first.`
medium line 334

Template literal with variable interpolation in command context

SourceSKILL.md
334```bash
high line 361

Template literal with variable interpolation in command context

SourceSKILL.md
361Print: `Ad set ${ADSET_ID} targeting updated: ${COUNTRIES}, ages ${AGE_MIN}-${AGE_MAX}${GENDER_LABEL}.`
medium line 373

Template literal with variable interpolation in command context

SourceSKILL.md
373```bash
medium line 394

Template literal with variable interpolation in command context

SourceSKILL.md
394# real Page ID — the ad account ID (with `act_` stripped) is NOT a Page ID and
medium line 432

Template literal with variable interpolation in command context

SourceSKILL.md
432```bash
medium line 442

Template literal with variable interpolation in command context

SourceSKILL.md
442```bash
medium line 467

Template literal with variable interpolation in command context

SourceSKILL.md
467```bash
medium line 501

Template literal with variable interpolation in command context

SourceSKILL.md
501```bash
medium line 516

Template literal with variable interpolation in command context

SourceSKILL.md
516```bash
medium line 545

Template literal with variable interpolation in command context

SourceSKILL.md
545```bash
high line 560

Template literal with variable interpolation in command context

SourceSKILL.md
560Print: `Advantage+ campaign "${CAMPAIGN_NAME}" created (ID: <ID>, status: PAUSED). Meta AI will optimize targeting and creative delivery once enabled.`
medium line 574

Template literal with variable interpolation in command context

SourceSKILL.md
574```bash
medium line 592

Template literal with variable interpolation in command context

SourceSKILL.md
592```bash
medium line 606

Template literal with variable interpolation in command context

SourceSKILL.md
606```bash
medium line 659

Template literal with variable interpolation in command context

SourceSKILL.md
659```bash
medium line 696

Template literal with variable interpolation in command context

SourceSKILL.md
696```bash
medium line 747

Template literal with variable interpolation in command context

SourceSKILL.md
747```bash
medium line 800

Template literal with variable interpolation in command context

SourceSKILL.md
800```bash
medium line 872

Template literal with variable interpolation in command context

SourceSKILL.md
872```bash
medium line 926

Template literal with variable interpolation in command context

SourceSKILL.md
926```bash
medium line 932

Template literal with variable interpolation in command context

SourceSKILL.md
932```bash
medium line 945

Template literal with variable interpolation in command context

SourceSKILL.md
945```bash
medium line 959

Template literal with variable interpolation in command context

SourceSKILL.md
959```bash
medium line 998

Template literal with variable interpolation in command context

SourceSKILL.md
998```bash
medium line 1009

Template literal with variable interpolation in command context

SourceSKILL.md
1009```bash
high line 1036

Template literal with variable interpolation in command context

SourceSKILL.md
1036- `IG_ACCOUNT_ID` resolved via: `curl "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" -H "Authorization: Bearer ${META_TOKEN}"` → `data[0].instagram_business_account.i
medium line 1041

Template literal with variable interpolation in command context

SourceSKILL.md
1041```bash
medium line 1074

Template literal with variable interpolation in command context

SourceSKILL.md
1074```bash
medium line 1109

Template literal with variable interpolation in command context

SourceSKILL.md
1109```bash
medium line 1158

Template literal with variable interpolation in command context

SourceSKILL.md
1158```bash
medium line 1194

Template literal with variable interpolation in command context

SourceSKILL.md
1194```bash
medium line 1216

Template literal with variable interpolation in command context

SourceSKILL.md
1216```bash
medium line 1243

Template literal with variable interpolation in command context

SourceSKILL.md
1243```bash
medium line 1290

Template literal with variable interpolation in command context

SourceSKILL.md
1290```bash
medium line 1359

Template literal with variable interpolation in command context

SourceSKILL.md
1359```bash
medium line 1423

Template literal with variable interpolation in command context

SourceSKILL.md
1423```bash
medium line 1486

Template literal with variable interpolation in command context

SourceSKILL.md
1486```bash
medium line 1511

Template literal with variable interpolation in command context

SourceSKILL.md
1511```bash
medium line 1528

Template literal with variable interpolation in command context

SourceSKILL.md
1528```bash
high line 1550

Template literal with variable interpolation in command context

SourceSKILL.md
1550Print: `✓ Campaign "${CAMPAIGN_NAME}" created (status: PAUSED, budget: $XX.XX/day). Enable it with: /ops:marketing google-ads campaigns enable <ID>`
medium line 1558

Template literal with variable interpolation in command context

SourceSKILL.md
1558```bash
medium line 1579

Template literal with variable interpolation in command context

SourceSKILL.md
1579```bash
medium line 1599

Template literal with variable interpolation in command context

SourceSKILL.md
1599```bash
medium line 1612

Template literal with variable interpolation in command context

SourceSKILL.md
1612```bash
medium line 1632

Template literal with variable interpolation in command context

SourceSKILL.md
1632```bash
medium line 1676

Template literal with variable interpolation in command context

SourceSKILL.md
1676```bash
medium line 1694

Template literal with variable interpolation in command context

SourceSKILL.md
1694```bash
high line 1712

Template literal with variable interpolation in command context

SourceSKILL.md
1712Print: `✓ Ad group "${AD_GROUP_NAME}" created in campaign ${CAMPAIGN_ID} (CPC bid: $X.XX)`
medium line 1716

Template literal with variable interpolation in command context

SourceSKILL.md
1716```bash
medium line 1736

Template literal with variable interpolation in command context

SourceSKILL.md
1736```bash
high line 1755

Template literal with variable interpolation in command context

SourceSKILL.md
1755Print: `✓ Keyword "${KEYWORD_TEXT}" (${MATCH_TYPE}) added to ad group ${AD_GROUP_ID}`
medium line 1763

Template literal with variable interpolation in command context

SourceSKILL.md
1763```bash
medium line 1778

Template literal with variable interpolation in command context

SourceSKILL.md
1778```bash
medium line 1808

Template literal with variable interpolation in command context

SourceSKILL.md
1808```bash
medium line 1889

Template literal with variable interpolation in command context

SourceSKILL.md
1889```bash
medium line 1948

Template literal with variable interpolation in command context

SourceSKILL.md
1948```bash
medium line 151

Curl to non-GitHub URL

SourceSKILL.md
151GADS_ACCESS_TOKEN=$(curl -s -X POST https://oauth2.googleapis.com/token \
medium line 195

Curl to non-GitHub URL

SourceSKILL.md
195curl -s "https://a.klaviyo.com/api/lists/?fields[list]=name,id,profile_count" \
medium line 202

Curl to non-GitHub URL

SourceSKILL.md
202curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10&fields[campaign]=name,status,created_at,send_time" \
medium line 209

Curl to non-GitHub URL

SourceSKILL.md
209curl -s "https://a.klaviyo.com/api/flows/?filter=equals(status,'live')&fields[flow]=name,status,created,trigger_type" \
medium line 217

Curl to non-GitHub URL

SourceSKILL.md
217curl -s "https://a.klaviyo.com/api/metrics/" \
medium line 244

Curl to non-GitHub URL

SourceSKILL.md
244curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,impressions,clicks,ctr,cpc,actions,action_values&date_preset=last_7d&level=account" \
medium line 250

Curl to non-GitHub URL

SourceSKILL.md
250curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,insights{spend,impressions,clicks,actions,action_values}&date_preset=last_7d" \
medium line 259

Curl to non-GitHub URL

SourceSKILL.md
259curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/ads?fields=name,adset_id,insights{spend,impressions,clicks,actions,action_values,ctr,cpc}&date_preset=last_7d&limit=10" \
medium line 313

Curl to non-GitHub URL

SourceSKILL.md
313curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \
medium line 356

Curl to non-GitHub URL

SourceSKILL.md
356curl -s -X POST "https://graph.facebook.com/v20.0/${ADSET_ID}" \
medium line 377

Curl to non-GitHub URL

SourceSKILL.md
377UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \
medium line 382

Curl to non-GitHub URL

SourceSKILL.md
382UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \
medium line 405

Curl to non-GitHub URL

SourceSKILL.md
405CREATIVE_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adcreatives" \
medium line 417

Curl to non-GitHub URL

SourceSKILL.md
417curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/ads" \
medium line 433

Curl to non-GitHub URL

SourceSKILL.md
433curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library?fields=name,status,evaluation_spec,execution_spec" \
medium line 444

Curl to non-GitHub URL

SourceSKILL.md
444curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \
medium line 469

Curl to non-GitHub URL

SourceSKILL.md
469curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \
medium line 502

Curl to non-GitHub URL

SourceSKILL.md
502curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \
medium line 518

Curl to non-GitHub URL

SourceSKILL.md
518curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \
medium line 547

Curl to non-GitHub URL

SourceSKILL.md
547curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \
medium line 575

Curl to non-GitHub URL

SourceSKILL.md
575curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
medium line 593

Curl to non-GitHub URL

SourceSKILL.md
593curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
medium line 607

Curl to non-GitHub URL

SourceSKILL.md
607curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
medium line 661

Curl to non-GitHub URL

SourceSKILL.md
661RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runRealtimeReport" \
medium line 705

Curl to non-GitHub URL

SourceSKILL.md
705RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1alpha/properties/${GA4_PROPERTY}:runFunnelReport" \
medium line 752

Curl to non-GitHub URL

SourceSKILL.md
752RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
medium line 804

Curl to non-GitHub URL

SourceSKILL.md
804AUDIENCES=$(curl -s "https://analyticsadmin.googleapis.com/v1alpha/properties/${GA4_PROPERTY}/audiences" \
medium line 836

Curl to non-GitHub URL

SourceSKILL.md
836STATUS_RESP=$(curl -s "https://analyticsdata.googleapis.com/v1beta/${EXPORT_NAME}" \
medium line 875

Curl to non-GitHub URL

SourceSKILL.md
875RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runPivotReport" \
medium line 933

Curl to non-GitHub URL

SourceSKILL.md
933curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \
medium line 946

Curl to non-GitHub URL

SourceSKILL.md
946curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \
medium line 960

Curl to non-GitHub URL

SourceSKILL.md
960curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \
medium line 1000

Curl to non-GitHub URL

SourceSKILL.md
1000curl -s "https://graph.facebook.com/v18.0/me/accounts?fields=instagram_business_account" \
medium line 1004

Curl to non-GitHub URL

SourceSKILL.md
1004curl -s "https://graph.facebook.com/v18.0/${IG_ACCOUNT_ID}?fields=followers_count,media_count,profile_views" \
medium line 1011

Curl to non-GitHub URL

SourceSKILL.md
1011curl -s "https://www.googleapis.com/youtube/v3/channels?part=statistics&mine=true" \
high line 1036

Curl to non-GitHub URL

SourceSKILL.md
1036- `IG_ACCOUNT_ID` resolved via: `curl "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" -H "Authorization: Bearer ${META_TOKEN}"` → `data[0].instagram_business_account.i
medium line 1044

Curl to non-GitHub URL

SourceSKILL.md
1044IG_ACCOUNT_ID=$(curl -s "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" \
medium line 1076

Curl to non-GitHub URL

SourceSKILL.md
1076CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \
medium line 1089

Curl to non-GitHub URL

SourceSKILL.md
1089PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \
medium line 1111

Curl to non-GitHub URL

SourceSKILL.md
1111CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \
medium line 1129

Curl to non-GitHub URL

SourceSKILL.md
1129STATUS=$(curl -s "https://graph.facebook.com/v21.0/${CONTAINER_ID}?fields=status_code" \
medium line 1138

Curl to non-GitHub URL

SourceSKILL.md
1138PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \
medium line 1167

Curl to non-GitHub URL

SourceSKILL.md
1167CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \
medium line 1178

Curl to non-GitHub URL

SourceSKILL.md
1178PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \
medium line 1197

Curl to non-GitHub URL

SourceSKILL.md
1197MEDIA_TYPE=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}?fields=media_type" \
medium line 1201

Curl to non-GitHub URL

SourceSKILL.md
1201RESULT=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}/insights?metric=${METRICS}&period=lifetime" \
medium line 1221

Curl to non-GitHub URL

SourceSKILL.md
1221RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=reach,impressions,profile_views&period=day&since=${START_DATE}&until=${END_DATE}" \
medium line 1244

Curl to non-GitHub URL

SourceSKILL.md
1244RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=audience_gender_age,audience_city,audience_country&period=lifetime" \
medium line 1810

Curl to non-GitHub URL

SourceSKILL.md
1810META_CAMPAIGNS=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,objective&filtering=[{\"field\":\"effective_status\",\"operator\":\
medium line 1814

Curl to non-GitHub URL

SourceSKILL.md
1814KLAVIYO_CAMPAIGNS=$(curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10" \
medium line 1892

Curl to non-GitHub URL

SourceSKILL.md
1892META_DATA=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/insights?fields=spend,actions,action_values&date_preset=last_7d&level=account" \
medium line 1918

Curl to non-GitHub URL

SourceSKILL.md
1918GA4_DATA=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
high line 2028

Curl to non-GitHub URL

SourceSKILL.md
2028**Klaviyo:** If `KLAVIYO_PRIVATE_KEY` or Dashlane entry with `ck_*` key found, use it directly. Note: Klaviyo private keys start with `ck_` (older) or `pk_` (newer). Smoke test: `curl -s -H "Authoriza
high line 2036

Curl to non-GitHub URL

SourceSKILL.md
2036**Google Ads:** More complex than other marketing credentials — requires 3 pieces: (1) developer token from Google Ads MCC → Tools & Settings → API Center, (2) OAuth2 client ID + secret from Google Cl
low line 1994

Access to hidden dotfiles in home directory

SourceSKILL.md
1994grep -h 'KLAVIYO\|META_\|FACEBOOK\|GA4\|GA_MEASUREMENT\|GOOGLE_ADS' ~/.zshrc ~/.bashrc ~/.zprofile ~/.envrc 2>/dev/null | grep -v '^#'
medium line 2010

Access to system keychain/keyring

SourceSKILL.md
2010# Keychain
low line 43

External URL reference

SourceSKILL.md
43| `https://a.klaviyo.com/api/lists/?fields[list]=name,id,profile_count` | GET | All lists + subscriber counts |
low line 44

External URL reference

SourceSKILL.md
44| `https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at` | GET | Recent campaigns |
low line 45

External URL reference

SourceSKILL.md
45| `https://a.klaviyo.com/api/flows/?filter=equals(status,'live')` | GET | Active flows |
low line 46

External URL reference

SourceSKILL.md
46| `https://a.klaviyo.com/api/metrics/` | GET | Available metrics |
low line 54

External URL reference

SourceSKILL.md
54| `https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,...&date_preset=last_7d` | GET | Account-level ad spend |
low line 55

External URL reference

SourceSKILL.md
55| `https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,insights{...}` | GET | Campaign breakdown |
low line 56

External URL reference

SourceSKILL.md
56| `https://graph.facebook.com/v18.0/me/accounts?fields=instagram_business_account` | GET | Linked Instagram account |
low line 64

External URL reference

SourceSKILL.md
64| `https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport` | POST | Run custom report |
low line 72

External URL reference

SourceSKILL.md
72| `https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query` | POST | Search performance data |
low line 151

External URL reference

SourceSKILL.md
151GADS_ACCESS_TOKEN=$(curl -s -X POST https://oauth2.googleapis.com/token \
low line 195

External URL reference

SourceSKILL.md
195curl -s "https://a.klaviyo.com/api/lists/?fields[list]=name,id,profile_count" \
low line 202

External URL reference

SourceSKILL.md
202curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10&fields[campaign]=name,status,created_at,send_time" \
low line 209

External URL reference

SourceSKILL.md
209curl -s "https://a.klaviyo.com/api/flows/?filter=equals(status,'live')&fields[flow]=name,status,created,trigger_type" \
low line 217

External URL reference

SourceSKILL.md
217curl -s "https://a.klaviyo.com/api/metrics/" \
low line 244

External URL reference

SourceSKILL.md
244curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,impressions,clicks,ctr,cpc,actions,action_values&date_preset=last_7d&level=account" \
low line 250

External URL reference

SourceSKILL.md
250curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,insights{spend,impressions,clicks,actions,action_values}&date_preset=last_7d" \
low line 259

External URL reference

SourceSKILL.md
259curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/ads?fields=name,adset_id,insights{spend,impressions,clicks,actions,action_values,ctr,cpc}&date_preset=last_7d&limit=10" \
low line 313

External URL reference

SourceSKILL.md
313curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \
low line 356

External URL reference

SourceSKILL.md
356curl -s -X POST "https://graph.facebook.com/v20.0/${ADSET_ID}" \
low line 377

External URL reference

SourceSKILL.md
377UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \
low line 382

External URL reference

SourceSKILL.md
382UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \
low line 400

External URL reference

SourceSKILL.md
400echo "Find your Page ID at https://www.facebook.com/<your-page>/about_profile_transparency"
low line 405

External URL reference

SourceSKILL.md
405CREATIVE_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adcreatives" \
low line 417

External URL reference

SourceSKILL.md
417curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/ads" \
low line 433

External URL reference

SourceSKILL.md
433curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library?fields=name,status,evaluation_spec,execution_spec" \
low line 444

External URL reference

SourceSKILL.md
444curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \
low line 469

External URL reference

SourceSKILL.md
469curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \
low line 502

External URL reference

SourceSKILL.md
502curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \
low line 518

External URL reference

SourceSKILL.md
518curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \
low line 547

External URL reference

SourceSKILL.md
547curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \
low line 575

External URL reference

SourceSKILL.md
575curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
low line 593

External URL reference

SourceSKILL.md
593curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
low line 607

External URL reference

SourceSKILL.md
607curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
low line 661

External URL reference

SourceSKILL.md
661RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runRealtimeReport" \
low line 705

External URL reference

SourceSKILL.md
705RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1alpha/properties/${GA4_PROPERTY}:runFunnelReport" \
low line 752

External URL reference

SourceSKILL.md
752RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
low line 804

External URL reference

SourceSKILL.md
804AUDIENCES=$(curl -s "https://analyticsadmin.googleapis.com/v1alpha/properties/${GA4_PROPERTY}/audiences" \
low line 813

External URL reference

SourceSKILL.md
813"https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}/audienceExports" \
low line 836

External URL reference

SourceSKILL.md
836STATUS_RESP=$(curl -s "https://analyticsdata.googleapis.com/v1beta/${EXPORT_NAME}" \
low line 853

External URL reference

SourceSKILL.md
853"https://analyticsdata.googleapis.com/v1beta/${EXPORT_NAME}:query" \
low line 875

External URL reference

SourceSKILL.md
875RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runPivotReport" \
low line 933

External URL reference

SourceSKILL.md
933curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \
low line 946

External URL reference

SourceSKILL.md
946curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \
low line 960

External URL reference

SourceSKILL.md
960curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \
low line 1000

External URL reference

SourceSKILL.md
1000curl -s "https://graph.facebook.com/v18.0/me/accounts?fields=instagram_business_account" \
low line 1004

External URL reference

SourceSKILL.md
1004curl -s "https://graph.facebook.com/v18.0/${IG_ACCOUNT_ID}?fields=followers_count,media_count,profile_views" \
low line 1011

External URL reference

SourceSKILL.md
1011curl -s "https://www.googleapis.com/youtube/v3/channels?part=statistics&mine=true" \
low line 1036

External URL reference

SourceSKILL.md
1036- `IG_ACCOUNT_ID` resolved via: `curl "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" -H "Authorization: Bearer ${META_TOKEN}"` → `data[0].instagram_business_account.i
low line 1044

External URL reference

SourceSKILL.md
1044IG_ACCOUNT_ID=$(curl -s "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" \
low line 1076

External URL reference

SourceSKILL.md
1076CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \
low line 1089

External URL reference

SourceSKILL.md
1089PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \
low line 1095

External URL reference

SourceSKILL.md
1095echo "Post published (Media ID: ${MEDIA_ID}). View at https://www.instagram.com/ — may take 1-2 min to appear."
low line 1111

External URL reference

SourceSKILL.md
1111CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \
low line 1129

External URL reference

SourceSKILL.md
1129STATUS=$(curl -s "https://graph.facebook.com/v21.0/${CONTAINER_ID}?fields=status_code" \
low line 1138

External URL reference

SourceSKILL.md
1138PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \
low line 1167

External URL reference

SourceSKILL.md
1167CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \
low line 1178

External URL reference

SourceSKILL.md
1178PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \
low line 1197

External URL reference

SourceSKILL.md
1197MEDIA_TYPE=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}?fields=media_type" \
low line 1201

External URL reference

SourceSKILL.md
1201RESULT=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}/insights?metric=${METRICS}&period=lifetime" \
low line 1221

External URL reference

SourceSKILL.md
1221RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=reach,impressions,profile_views&period=day&since=${START_DATE}&until=${END_DATE}" \
low line 1244

External URL reference

SourceSKILL.md
1244RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=audience_gender_age,audience_city,audience_country&period=lifetime" \
low line 1293

External URL reference

SourceSKILL.md
1293"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1361

External URL reference

SourceSKILL.md
1361"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1425

External URL reference

SourceSKILL.md
1425"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1488

External URL reference

SourceSKILL.md
1488"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1513

External URL reference

SourceSKILL.md
1513"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaignBudgets:mutate" \
low line 1530

External URL reference

SourceSKILL.md
1530"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaigns:mutate" \
low line 1560

External URL reference

SourceSKILL.md
1560"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaigns:mutate" \
low line 1581

External URL reference

SourceSKILL.md
1581"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaigns:mutate" \
low line 1601

External URL reference

SourceSKILL.md
1601"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1615

External URL reference

SourceSKILL.md
1615"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaignBudgets:mutate" \
low line 1638

External URL reference

SourceSKILL.md
1638"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}:generateKeywordIdeas" \
low line 1678

External URL reference

SourceSKILL.md
1678"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1697

External URL reference

SourceSKILL.md
1697"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroups:mutate" \
low line 1718

External URL reference

SourceSKILL.md
1718"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1738

External URL reference

SourceSKILL.md
1738"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroupCriteria:mutate" \
low line 1765

External URL reference

SourceSKILL.md
1765"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroupCriteria:mutate" \
low line 1781

External URL reference

SourceSKILL.md
1781"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroupCriteria:mutate" \
low line 1810

External URL reference

SourceSKILL.md
1810META_CAMPAIGNS=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,objective&filtering=[{\"field\":\"effective_status\",\"operator\":\
low line 1814

External URL reference

SourceSKILL.md
1814KLAVIYO_CAMPAIGNS=$(curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10" \
low line 1822

External URL reference

SourceSKILL.md
1822"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1892

External URL reference

SourceSKILL.md
1892META_DATA=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/insights?fields=spend,actions,action_values&date_preset=last_7d&level=account" \
low line 1904

External URL reference

SourceSKILL.md
1904"https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \
low line 1918

External URL reference

SourceSKILL.md
1918GA4_DATA=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \
low line 2028

External URL reference

SourceSKILL.md
2028**Klaviyo:** If `KLAVIYO_PRIVATE_KEY` or Dashlane entry with `ck_*` key found, use it directly. Note: Klaviyo private keys start with `ck_` (older) or `pk_` (newer). Smoke test: `curl -s -H "Authoriza
low line 2036

External URL reference

SourceSKILL.md
2036**Google Ads:** More complex than other marketing credentials — requires 3 pieces: (1) developer token from Google Ads MCC → Tools & Settings → API Center, (2) OAuth2 client ID + secret from Google Cl
Scanned on May 29, 2026
View Security Dashboard
Installation guide →