Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sergeyizmailov/knowledge-delta-skills --skill meta-grey-opsgit clone --depth 1 https://github.com/sergeyizmailov/knowledge-delta-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sergeyizmailov/knowledge-delta-skills/meta-grey-ops)<a href="https://agentmods.dev/skills/sergeyizmailov/knowledge-delta-skills/meta-grey-ops"><img src="https://agentmods.dev/badge/skills/sergeyizmailov/knowledge-delta-skills/meta-grey-ops/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sergeyizmailov/knowledge-delta-skills/meta-grey-ops"><img src="https://agentmods.dev/badge/skills/sergeyizmailov/knowledge-delta-skills/meta-grey-ops.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00229 | $0.02480 |
| Opus 5 | $0.00114 | $0.01240 |
| Sonnet 5 | $0.00046 | $0.00496 |
| Haiku 4.5 | $0.00023 | $0.00248 |
Grade A, and why
meta-grey-ops scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Meta Grey Ops
Reviewed 2026-09-03. Baseline 2026-09-03 (Sonnet 5 blind): bulk-launch task [K] — shared BM pixel still needs per-account attach (1815045). Launch/operate via API on your own token (= autolaunch SaaS without UI, 13) + grey survival. "buy well" → meta-ads · "count & sync" → tracker-ops · "portfolio decisions" → senior-buyer-ops.
Start here
| You are… | Read | Then |
|---|---|---|
In a directory with workspace.json |
references/16-metaops-agent-cli.md |
use metaops --workspace … --json; before activation also read 00 §6–8 |
| Handed a token / asked to launch anything via API | references/00-launch-runbook.md |
create a workspace in a project dir outside the skill (scripts/specs/example-workspace.json), validate it, then use metaops |
| Setting up access, deciding MCP vs API, minting/handing over a token | references/02-access-tokens-and-mcp.md |
come back to 00 |
| Hit an error, a gate, a rejection, a dead token | 00 § "When a step fails" |
the one file it names |
Agent writes a JSON spec; metaops controls the lifecycle; launch.py writes Graph
payloads. Never hand-assemble a payload or invoke a low-level Graph mutation directly.
New shape → extend metaops/the implementation and its tests.
Launch defaults (what every ad set/ad gets unless the spec says otherwise)
| Setting | Default | Enforced by | Override |
|---|---|---|---|
| Object status at create | PAUSED, all levels |
internal launcher; spend only via metaops activate --confirm-ui REVIEWED --confirm SPEND |
none |
| Attribution | 1d click / 1d engaged-view / 1d view on conversion goals; 1d click only on LINK_CLICKS/REACH/etc. (Meta rejects view windows there, 1885501). Set at CREATE (immutable after, 1504040) | launch.py DEFAULT_ATTRIBUTION; verify.py reads it back |
attribution: {...} or "account_default" |
| Advantage+ creative enhancements | every feature OPT_OUT incl. adapt_to_placement; music via audios: [] |
launch.py DEFAULT_OPT_OUT; verify.py flags any OPT_IN |
creative.opt_out_features |
| Multi-advertiser ads | contextual_multi_ads: OPT_OUT on every creative (Meta Ads MCP cannot set it — its creatives inherit OPT_IN) |
launch.py; readable on link/template creatives, UI check while PAUSED on FORMAT_AUTOMATION collections |
creative.multi_advertiser: true |
| Advantage+ audience | must be explicit true/false in targeting; true caps age_min at 25 and forces age_max 65 — any hard age/gender requirement means false (04) |
spec rejected without it (v23+ Graph rule) | — |
| Placements | Advantage+ (all) | pass publisher_platforms/positions to restrict; ["facebook"] alone is warned (it is the wrong 1772103 fix) |
targeting keys |
| Budget mode | CBO (campaign.daily_budget_minor) or ABO (every adsets[].daily_budget_minor) |
spec rejected if both/neither; cap strategies need bid_amount_minor |
— |
| Budget unit | integer minor units; whole units on no-offset currencies (TWD, JPY, KRW, HUF…) | launch.py prints every budget in major units and fails on spec.currency ≠ account currency |
put currency in the spec |
start_time |
conversions 06:00–08:00 geo-time, never 00:00; reach/traffic next 00:00 | spec required; metaops activate --refresh-start |
— |
| Identity | Page + PBIA (instagram_user_id: "auto") |
internal launcher resolves it; metaops doctor --create-pbia creates it |
explicit id |
| EU/EEA geo | dsa_beneficiary + dsa_payor required |
spec rejected without them | — |
| Tracking | spec-level url_tags inherited by every ad; catalog cards need template_url |
launch.py; verify.py diffs destination per creative kind |
per-creative url_tags |
| Special ad categories | must be declared explicitly ([] or the real one) |
spec rejected if absent | — |
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 91 B
- playbooks/casino.md 6.8 KB
- playbooks/crypto-trading.md 2.5 KB
- playbooks/news-tg.md 3.5 KB
- playbooks/nutra.md 2.8 KB
- pyproject.toml 941 B
- references/00-launch-runbook.md 15 KB
- references/01-infra-and-identity.md 4.7 KB
- references/02-access-tokens-and-mcp.md 17 KB
- references/03-agency-accounts-and-bm.md 7.9 KB
- references/04-mass-launch-api.md 29 KB
- references/05-api-error-catalog.md 2.1 KB
- references/06-portfolio-forensics.md 3.6 KB
- references/07-review-layer-and-cloaking.md 16 KB
- references/08-geo-fees-and-waba.md 4.4 KB
- references/09-verification-gates.md 12 KB
- references/10-no-path-and-permissions.md 11 KB
- references/11-pwa-funnel-builders.md 5.9 KB
- references/12-meta-ads-cli.md 7.1 KB
- references/13-autolaunch-parity.md 6.6 KB
- references/15-mcp-tools-live.md 13 KB
- references/16-metaops-agent-cli.md 16 KB
- references/17-catalog-via-google-sheets.md 5.7 KB
- references/18-fanpage-lifecycle-and-shielding.md 12 KB
- schemas/result.v1.json 636 B
- schemas/workspace.v1.json 2.4 KB
- scripts/activate.py 8.9 KB runs code
- scripts/asset_graph.py 9.0 KB runs code
- scripts/bulk.py 11 KB runs code
- scripts/clone.py 10 KB runs code
- scripts/cmd_business.py 23 KB runs code
- scripts/cmd_catalog.py 24 KB runs code
- scripts/cmd_edit.py 20 KB runs code
- scripts/cmd_operate.py 40 KB runs code
- scripts/comments.py 7.1 KB runs code
- scripts/edit.py 9.3 KB runs code
- scripts/feed_upload.py 3.1 KB runs code
- scripts/graph.py 20 KB runs code
- scripts/insights.py 7.2 KB runs code
- scripts/launch.py 49 KB runs code
- scripts/mcp.py 4.7 KB runs code
- scripts/media.py 9.9 KB runs code
- scripts/meta_workspace.py 12 KB runs code
- scripts/metaops.py 81 KB runs code
- scripts/monitor.py 9.2 KB runs code
- scripts/mutate_set.py 3.9 KB runs code
- scripts/page.py 4.1 KB runs code
- scripts/probe.py 18 KB runs code
- scripts/rules.py 14 KB runs code
- scripts/selftest.py 27 KB runs code
- scripts/sheetfeed.py 19 KB runs code
- scripts/specs/example-abo-1-3-1.json 3.4 KB
- scripts/specs/example-accounts.json 1.0 KB
- scripts/specs/example-catalog-collection-tr.json 1.6 KB
- scripts/specs/example-catalog-single.json 1.7 KB
- scripts/specs/example-dlo.json 2.5 KB
- scripts/specs/example-eu-dsa.json 1.3 KB
- scripts/specs/example-link-video.json 1.4 KB
- scripts/specs/example-workspace.json 775 B
- scripts/test_cmd_business.py 19 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago Changed · +1 lines da37bcb61859
- 7d ago Changed · +6 lines · +117 tokens per session 44c00ad18535
- 11d ago First seen · 89 lines · 112 tokens per session scan A 99d986d3bb6c
meta-grey-ops is a skill published in the GitHub repository sergeyizmailov/knowledge-delta-skills (3 stars, last pushed 3d ago), licensed MIT. It adds 229 tokens to every session and 2,480 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
copilotkit-upgrade
Use when migrating a CopilotKit v1 application to v2 -- updating package imports, replacing deprecated hooks and components, switching from GraphQL runtime to AG-UI protocol runtime, and resolving breaking API changes.
langbot-dev
Develop, build, and debug the LangBot core backend and web frontend. Use when working inside the LangBot repository — backend (Python/Quart, src/langbot/pkg), the Vite/React web UI, HTTP API controllers/services, Alembic migrations, or the MCP server. Covers the dev environment (uv, pnpm), repo layout, the API auth…
stripe-apps
Use when building, modifying, or reviewing a Stripe App — or when the user describes something that implies one (e.g. "add a panel to the customer page", "customize my Stripe Dashboard", "react to Stripe events from my app", "connect my service to Stripe without sharing API keys"). Covers the full app development…
firebase-auth
Use when setting up auth, managing auth state, implementing email/password or social sign-in, handling auth errors, or managing users.
architecture-feature-first
Use when creating a feature, designing folder structure, adding repositories/services/view models, wiring dependency injection, or deciding which layer owns logic.
testing
Verify a Skyvern deployment is working correctly by smoke-testing the backend API, frontend rendering, browser session provisioning, and workflow execution. Use when the user says 'is Skyvern working', 'test my deployment', 'verify the installation', 'smoke test', or needs to check that a self-hosted or local Skyvern…