Claude Cursor Skill

paid-ads-x

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 chan

LLM Mart · 0 points · 22 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download nowork-studio-notfair-plugin-paid-ads_paid-ads-x-daf87d3.zip · 2 KB
Part of nowork-studio/notfair-plugin — 88 skills

Install

skills CLI npx skills add https://github.com/nowork-studio/notfair-plugin/tree/main/paid-ads/paid-ads-x
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install nowork-studio-notfair-plugin@llmmart
Git git clone https://github.com/nowork-studio/notfair-plugin.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole nowork-studio/notfair-plugin collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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.

Files (notfair-plugin)
  • agents
    • openai.yaml 190 B
      interface:
        display_name: "X Ads"
        short_description: "Audit and operate X Ads safely"
        default_prompt: "Use $paid-ads-x to audit my connected X Ads account and prioritize improvements."
      
  • evals
    • evals.json 1.7 KB
      {
        "skill_name": "paid-ads-x",
        "evals": [
          {
            "id": 1,
            "prompt": "My connected X Ads account spent $4,200 in the last 7 days. One line item has primary_web_event_tag=null, while WEB_CONVERSION stats show 18 sign-ups. Audit it and tell me whether conversions are broken.",
            "expected_output": "A live-data-first audit that does not mistake optimization configuration for attributed performance, checks account context and stats, and reports findings with currency and date-window discipline.",
            "files": [],
            "expectations": [
              "Confirms the X Ads connector and selected account before claiming live access",
              "Does not infer zero conversions from primary_web_event_tag=null",
              "Uses WEB_CONVERSION performance data as the source for attributed sign-ups",
              "States the complete date window, currency, and conversion definition",
              "Keeps recommendations separate from any mutation"
            ]
          },
          {
            "id": 2,
            "prompt": "Increase my X campaign budget from $100/day to $160/day and launch a new line item now.",
            "expected_output": "An approval-gated plan that verifies the live account, previews spend-affecting changes with dry-run when available, creates new entities paused, and waits for exact approval before applying.",
            "files": [],
            "expectations": [
              "Shows the current and proposed daily and implied monthly spend",
              "Uses a dry-run preview when the connector supports it",
              "Creates the new line item paused rather than immediately active",
              "Requires explicit approval for the exact spend-affecting changes",
              "Verifies applied changes from before/after evidence or a fresh read"
            ]
          }
        ]
      }
      
  • SKILL.md 3.6 KB
    ---
    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
    
    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.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related