New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Audit, diagnose, and safely operate connected X Ads accounts

by nowork-studio · MIT license · ★ 3,853 on GitHub · updated Sep 24

X Ads cover

Audit, diagnose, and safely operate connected X Ads (Twitter Ads) accounts through the NotFair MCP. Use for X Ads performance, campaign or line-item analysis, spend, conversions, targeting, promoted posts, audiences, budgets, bids,…

---
name: paid-ads-x
description: Audit, diagnose, and safely operate connected X Ads (Twitter Ads) accounts through the NotFair MCP. Use for X Ads performance, campaign or line-item analysis, spend, conversions, targeting, promoted posts, audiences, budgets, bids, creative, campaign setup, or approved X Ads changes.
argument-hint: "<account, campaign, date range, or X Ads goal>"
---

# X Ads

Read `../shared/operating-contract.md` and `../shared/measurement-framework.md` before acting. Use the live account data from the connected platform as the source of truth.

## Establish the live scope

1. Follow [`../../docs/mcp-connection.md`](../../docs/mcp-connection.md). Resolve `~~x-ads` to the live connection. Use its current instructions and capability descriptions to choose tools, and verify the requested platform and account from live data. Do not infer access from another connected platform.
2. Confirm the selected account with a harmless account/setup read. If the connector is missing or unauthorized, direct the user to connect or re-authorize X Ads and stop before claiming live access.
3. Record the account currency, timezone, objective, conversion definition, attribution basis, and requested date window. Treat tracking gaps as limitations, not zero performance.

## Diagnose with one broad read

Overview

Read ../shared/operating-contract.md and ../shared/measurement-framework.md before acting. Use the live account data from the connected platform as the source of truth.

Manual install (npx, ZIP)
Claude Codenpx skills add nowork-studio/notfair-plugin --skill paid-ads-x -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/nowork-studio/notfair-plugin/tar.gz/5229d2163795 \ | tar -xz -C ~/.claude/skills --strip-components=2 notfair-plugin-5229d2163795/paid-ads/paid-ads-x
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/88aa36922eafe4706a5c/paid-ads-x.zip" -OutFile "$env:TEMP\paid-ads-x.zip"; Expand-Archive "$env:TEMP\paid-ads-x.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md3.6 KB
  • agents/1 file · 190 B
  • evals/1 file · 1.7 KB
Read the files here
nowork-studio/5229d213 files
Shared references3SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text43 lines

X Ads

Read ../shared/operating-contract.md and ../shared/measurement-framework.md before acting. Use the live account data from the connected platform as the source of truth.

Establish the live scope

  1. Follow ../../docs/mcp-connection.md. Resolve ~~x-ads to the live connection. Use its current instructions and capability descriptions to choose tools, and verify the requested platform and account from live data. Do not infer access from another connected platform.
  2. Confirm the selected account with a harmless account/setup read. If the connector is missing or unauthorized, direct the user to connect or re-authorize X Ads and stop before claiming live access.
  3. Record the account currency, timezone, objective, conversion definition, attribution basis, and requested date window. Treat tracking gaps as limitations, not zero performance.

Diagnose with one broad read

Pull the campaigns, line items, funding/configuration, and performance relevant to the question. Choose available read capabilities and batch related data when useful.

Interpret the platform correctly:

  • Hierarchy is account → funding instrument → campaign → line item → promoted post/account.
  • Money fields ending in *_local_micro are local-currency major units multiplied by 1,000,000. Divide by 1,000,000 before displaying or comparing them.
  • A line item's primary_web_event_tag describes its optimization configuration. It does not prove that attributed conversions are zero; read conversion metrics from performance data.
  • Synchronous stats are suited to short, unsegmented windows. Use the connector's long-window performance read when the requested window or breakdown exceeds the script surface's current limits.
  • Compare complete equivalent periods and name spend, impressions, engagement/link CTR, conversions, CPA or ROAS only when the returned fields support them.

Lead with the business decision: strongest contributor, largest material risk, likely cause supported by data, and the smallest useful next action. Separate measured facts from inference.

Execute approved changes safely

Use a supported write capability and respect its current contract. Show the exact account, entity, current value, proposed value, spend exposure, risk, and rollback before acting. Prefer a dry-run preview for budget, bid, targeting, optimization-event, and create operations when the connector offers it.

  • Prefer pause/enable over irreversible deletion.
  • Create campaigns and line items paused, then verify configuration before activation.
  • Reuse the same client request ID only when retrying the same create after an uncertain response; use a new ID for a genuinely new entity.
  • Treat optimization-event changes as learning resets and say so before approval.
  • Resolve targeting names to platform IDs before applying criteria; preserve unrelated targeting unless the user approved a full replacement.
  • After an approved mutation, use the returned before/after evidence or a fresh read to confirm the resulting state. Report partial failures plainly.

Finish with the confirmed action, observation window, success metric, and rollback trigger. A proposal remains ready_for_review; call it published only after the live connector confirms it.

1---
2name: paid-ads-x
3description: Audit, diagnose, and safely operate connected X Ads (Twitter Ads) accounts through the NotFair MCP. Use for X Ads performance, campaign or line-item analysis, spend, conversions, targeting, promoted posts, audiences, budgets, bids, creative, campaign setup, or approved X Ads changes.
4argument-hint: "<account, campaign, date range, or X Ads goal>"
5---
6 
7# X Ads
8 
9Read `../shared/operating-contract.md` and `../shared/measurement-framework.md` before acting. Use the live account data from the connected platform as the source of truth.
10 
11## Establish the live scope
12 
131. Follow [`../../docs/mcp-connection.md`](../../docs/mcp-connection.md). Resolve `~~x-ads` to the live connection. Use its current instructions and capability descriptions to choose tools, and verify the requested platform and account from live data. Do not infer access from another connected platform.
142. Confirm the selected account with a harmless account/setup read. If the connector is missing or unauthorized, direct the user to connect or re-authorize X Ads and stop before claiming live access.
153. Record the account currency, timezone, objective, conversion definition, attribution basis, and requested date window. Treat tracking gaps as limitations, not zero performance.
16 
17## Diagnose with one broad read
18 
19Pull the campaigns, line items, funding/configuration, and performance relevant to the question. Choose available read capabilities and batch related data when useful.
20 
21Interpret the platform correctly:
22 
23- Hierarchy is account → funding instrument → campaign → line item → promoted post/account.
24- Money fields ending in `*_local_micro` are local-currency major units multiplied by 1,000,000. Divide by 1,000,000 before displaying or comparing them.
25- A line item's `primary_web_event_tag` describes its optimization configuration. It does not prove that attributed conversions are zero; read conversion metrics from performance data.
26- Synchronous stats are suited to short, unsegmented windows. Use the connector's long-window performance read when the requested window or breakdown exceeds the script surface's current limits.
27- Compare complete equivalent periods and name spend, impressions, engagement/link CTR, conversions, CPA or ROAS only when the returned fields support them.
28 
29Lead with the business decision: strongest contributor, largest material risk, likely cause supported by data, and the smallest useful next action. Separate measured facts from inference.
30 
31## Execute approved changes safely
32 
33Use a supported write capability and respect its current contract. Show the exact account, entity, current value, proposed value, spend exposure, risk, and rollback before acting. Prefer a dry-run preview for budget, bid, targeting, optimization-event, and create operations when the connector offers it.
34 
35- Prefer pause/enable over irreversible deletion.
36- Create campaigns and line items paused, then verify configuration before activation.
37- Reuse the same client request ID only when retrying the same create after an uncertain response; use a new ID for a genuinely new entity.
38- Treat optimization-event changes as learning resets and say so before approval.
39- Resolve targeting names to platform IDs before applying criteria; preserve unrelated targeting unless the user approved a full replacement.
40- After an approved mutation, use the returned before/after evidence or a fresh read to confirm the resulting state. Report partial failures plainly.
41 
42Finish with the confirmed action, observation window, success metric, and rollback trigger. A proposal remains `ready_for_review`; call it `published` only after the live connector confirms it.
43 
View all files on GitHub →

Details

Updated
Sep 24, 2026
License
MIT
Stars on the repo
★ 3,853
Checked
Source
nowork-studio/notfair-plugin ↗
Creator
nowork-studio · 61 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from nowork-studio

SkillConnect a CMS to notfair SEO tools/setup-cmsnowork-studio/notfair-plugin · by nowork-studioConnect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my CMS", "set up WordPress", "configure Strapi", "add Contentful", "connect Ghost", or "CMS setup". Also trigger if the user asks why no CMS data appears in a seo-analysis report.★ 3.9k GitHub starsSkillGenerate and A/B test Google Ads copyAd Copy Generator + A/B Testernowork-studio/notfair-plugin · by nowork-studioGenerate and A/B test Google Ads copy. Use when asked to write ad copy, headlines, descriptions, create ad variants, test ad messaging, improve CTR, or generate RSA (Responsive Search Ad) components. Trigger on "ad copy", "write ads", "headlines", "descriptions", "RSA", "responsive search ad", "ad text", "ad creative", "improve CTR", "ad A/B test", "ad variants", "write me an ad", "ad variation experiment", or when the user wants to improve click-through rate on existing ads.★ 3.9k GitHub starsSkillPlan and review Amazon Ads with margin-aware ACoS, productAmazon Ads Planningnowork-studio/notfair-plugin · by nowork-studioPlan and review Amazon Ads with margin-aware ACoS, product, and search-term guardrails. Use for Amazon advertising, Sponsored Products, Sponsored Brands, Sponsored Display, ASIN targeting, Amazon ACoS, or Amazon Ads performance exports.★ 3.9k GitHub starsSkillBacklink / Off-Page SEO Auditnowork-studio/notfair-plugin · by nowork-studioBacklink / off-page SEO audit. Works WITHOUT a paid tool by default — it uses the Google Search Console Links report (your top linking sites, most-linked pages, and anchor text) plus any backlink export the user provides (Ahrefs / Semrush / Majestic / DataForSEO CSV). Analyzes referring-domain profile, anchor-text distribution (over-optimized / spammy patterns), most-linked pages vs. money pages (internal-linking opportunity), toxic/spam link signals, and link-building priorities. Use this skill when the user asks about backlinks, link building, off-page SEO, referring domains, anchor text, toxic/spam links, disavow, or their link profile. Trigger on: "backlinks", "backlink audit", "link building", "off- page SEO", "referring domains", "anchor text", "toxic links", "spam links", disavow file", "who links to me", "link profile", "domain authority". NOTE: rich third-party metrics (DR/DA, full link index) require a paid data source; this skill is explicit about what it can and can't see without one.★ 3.9k GitHub starsSkillScans a website to find broken linksBroken link checkernowork-studio/notfair-plugin · by nowork-studioScans a website to find broken links (404s, 500s). Crawls internal pages, identifies broken outbound links, and reports source pages for easy fixing. Use this when the user asks to "check for broken links", "find 404s", audit my links", or "is my site healthy".★ 3.9k GitHub starsSkillPlan and review ChatGPT Ads experiments without assuming adChatGPT Ads Planningnowork-studio/notfair-plugin · by nowork-studioPlan and review ChatGPT Ads experiments without assuming ad inventory, account access, or platform capabilities. Use for ChatGPT advertising, OpenAI ads, conversational ad concepts, ChatGPT campaign plans, or performance reviews from a verified export.★ 3.9k GitHub stars