NotFair

September 16, 2026 · View on GitHub

This file is the universal entry point. Any AI coding agent (Claude Code, Codex, Hermes, Cursor, etc.) reads this to know which NotFair skill to run for which user intent.

If you are an agent and a user mentions Google Ads, Meta Ads, SEO, GEO, or anything in the tables below, route to the named skill.


How to use this file

  1. Match the user's intent against the rows below.
  2. Read the named skill's SKILL.md from the path shown.
  3. Follow the procedure in that SKILL.md exactly.

Skills under seo/, paid-ads/, google-ads/, meta-ads/, analytics/, wordpress/, gohighlevel/, gemini/, and notfair-upgrade-skill/ are host-agnostic — they work the same on every supported agent host.


SEO

IntentSkillPath
Full-site SEO audit, traffic drop, GSC analysis, Core Web Vitalsseo-analysisseo/seo-analysis/SKILL.md
Single-page deep audit (URL-specific)seo-pageseo/seo-page/SKILL.md
Write or improve content (blog, landing, service page)content-writerseo/content-writer/SKILL.md
Plan content from GSC data, build a dated editorial calendarcontent-plannerseo/content-planner/SKILL.md
Keyword discovery, topic clusters (seed → keyword universe)keyword-researchseo/keyword-research/SKILL.md
Title tags, meta descriptions, Open Graph, CTRmeta-tags-optimizerseo/meta-tags-optimizer/SKILL.md
JSON-LD / structured data (FAQ, Product, HowTo, etc.)schema-markup-generatorseo/schema-markup-generator/SKILL.md
Broken-link / 404 / site-health crawlbroken-link-checkerseo/broken-link-checker/SKILL.md
Rank in ChatGPT / Perplexity / AI Overviews (GEO / AEO)geo-optimizerseo/geo-optimizer/SKILL.md
Local pack / Google Business Profile / Maps / NAP / "near me"local-seoseo/local-seo/SKILL.md
Hreflang, international / multilingual, multi-region targetinghreflang-internationalseo/hreflang-international/SKILL.md
XML sitemap audit, sitemap errors, crawl-coveragesitemap-auditseo/sitemap-audit/SKILL.md
Image SEO, alt text, Google Images, WebP, image schemaimage-seoseo/image-seo/SKILL.md
E-commerce SEO, product/category pages, faceted nav, product schemaecommerce-seoseo/ecommerce-seo/SKILL.md
Programmatic / templated pages at scale (pSEO)programmatic-seoseo/programmatic-seo/SKILL.md
Competitor page gap analysis, "why do they outrank me", SERP briefcompetitor-pagesseo/competitor-pages/SKILL.md
Search Experience Optimization (SXO), CTR + on-page conversionsxoseo/sxo/SKILL.md
SEO drift / regression monitoring, baseline & compare over timeseo-driftseo/seo-drift/SKILL.md
Backlink / off-page audit, anchor text, referring domains, disavowbacklink-auditseo/backlink-audit/SKILL.md
Local Application-Password / .env.local CMS setup for SEO scripts (WordPress, Strapi, Contentful, or Ghost)setup-cmsseo/setup-cms/SKILL.md
IntentSkillPath
Broad ads question, cross-channel strategy, budget, CPA/ROAS, or route to the right workflowpaid-adspaid-ads/paid-ads/SKILL.md
How NotFair paid ads works, install, plan/limit, supported platforms, or product troubleshootingpaid-ads-guidepaid-ads/paid-ads-guide/SKILL.md
Connect an account, establish marketing context, or refresh a paid-media workspacepaid-ads-setuppaid-ads/paid-ads-setup/SKILL.md
Check connector access, tools, or supported platform capabilitiespaid-ads-integrationspaid-ads/paid-ads-integrations/SKILL.md
Plan a new campaign or multi-channel experiment before it can spendpaid-ads-launchpaid-ads/paid-ads-launch/SKILL.md
Weekly/monthly performance report, scorecard, pacing, or tracking healthpaid-ads-reviewpaid-ads/paid-ads-review/SKILL.md
Wasted spend, budget allocation, overspend, or safe optimization proposalpaid-ads-optimizepaid-ads/paid-ads-optimize/SKILL.md
Cross-channel copy, creative concepts, fatigue diagnosis, or test briefspaid-ads-creativepaid-ads/paid-ads-creative/SKILL.md
X Ads performance, campaigns, line items, targeting, creative, or writespaid-ads-xpaid-ads/paid-ads-x/SKILL.md
LinkedIn Ads performance, campaigns, targeting, leads, creative, or writespaid-ads-linkedinpaid-ads/paid-ads-linkedin/SKILL.md
Reddit Ads performance, campaigns, ad groups, ads, targeting, audiences, or writespaid-ads-redditpaid-ads/paid-ads-reddit/SKILL.md
TikTok Ads performance, campaigns, creative, targeting, or writespaid-ads-tiktokpaid-ads/paid-ads-tiktok/SKILL.md
Amazon Ads plan, ACoS review, ASIN targeting, or export-based reviewpaid-ads-amazonpaid-ads/paid-ads-amazon/SKILL.md
ChatGPT Ads experiment plan or verified-export reviewpaid-ads-chatgptpaid-ads/paid-ads-chatgpt/SKILL.md

WordPress

IntentSkillPath
Live WordPress content, media, comments, design, settings, plugins, themes, HTML files, or approved site changes through NotFair MCPwordpresswordpress/SKILL.md

CRM

IntentSkillPath
GoHighLevel / HighLevel contacts, conversations, opportunities, calendars, pipelines, or approved CRM writesgohighlevelgohighlevel/SKILL.md

Analytics

IntentSkillPath
GA4 traffic, acquisition, engagement, conversions, realtime, or measurement configurationgoogle-analyticsanalytics/google-analytics/SKILL.md
Live Search Console queries/pages, traffic changes, URL inspection, or sitemapssearch-consoleanalytics/search-console/SKILL.md
IntentSkillPath
First-time setup or account health checkgoogle-ads-auditgoogle-ads/audit/SKILL.md
Performance, keywords, bids, budgets, negatives, experiments, bulk opsgoogle-adsgoogle-ads/manage/SKILL.md
Write ad copy, RSA headlines/descriptions, A/B variantsgoogle-ads-copygoogle-ads/copy/SKILL.md
Google Ads assets, extensions, sitelinks, callouts, image assets, PMax asset briefsgoogle-ads-assetsgoogle-ads/assets/SKILL.md
Landing-page quality, ad-to-page match, LPX diagnosisgoogle-ads-landinggoogle-ads/landing/SKILL.md

Meta Ads

IntentSkillPath
First-time Meta setup or account health checkmeta-ads-auditmeta-ads/audit/SKILL.md
Facebook/Instagram performance, ROAS, CPM, creative fatigue, audience overlapmeta-adsmeta-ads/manage/SKILL.md
Facebook/Instagram ad creative, copy angles, UGC concepts, asset briefs, creative refreshesmeta-ads-creativemeta-ads/creative/SKILL.md

Cross-model review

IntentSkillPath
Second opinion / review / challenge / consult via Google Geminigeminigemini/SKILL.md

Plugin maintenance

IntentSkillPath
Upgrade NotFair to the latest versionupgradenotfair-upgrade-skill/SKILL.md

External dependencies

  • Universal NotFair MCPhttps://notfair.co/api/mcp/notfair, OAuth. The plugin registers this single connection for Google Ads, Meta Ads, X Ads, LinkedIn Ads, Reddit Ads, TikTok Ads, Google Search Console, Google Analytics, WordPress, and GoHighLevel. Read docs/mcp-connection.md before live work. Use the connected server's current instructions and capability descriptions to select tools and verify workspace/platform access; do not prescribe tool names or call sequences in skills.
  • Platform connections — each live skill still requires its corresponding account or property to be connected inside the selected NotFair workspace. A universal MCP session does not imply that every platform is connected.
  • Google Gemini API key — required for gemini.

Amazon and ChatGPT Ads skills are planning/review workflows unless the current session exposes a verified connector. They do not imply account or mutation access. setup-cms is local Application-Password / .env.local setup for SEO scripts; it is not the NotFair WordPress MCP connector.

Skills check for missing credentials at startup and walk the user through setup. Do not invent credentials or skip skills silently — surface the gap.


Conventions for installers (managed-block fences)

Any installer that writes into a file the user also edits (e.g., a user's workspace AGENTS.md, CLAUDE.md, or host config) MUST wrap its inserted content in a fence:

<!-- notfair:managed -->
... auto-generated rows ...
<!-- /notfair:managed -->

Re-running the installer rewrites only inside the fence. Anything outside is preserved.


Bookkeeping

When a new skill is added or removed in this repo, update:

  1. The relevant table above in this file.
  2. .claude-plugin/plugin.jsonskills array.
  3. VERSION, .claude-plugin/plugin.json, and .claude-plugin/marketplace.json (version bump).
  4. CHANGELOG.md (user-facing note).

A skill that exists on disk but is missing from this file or plugin.json is invisible to agents.