compliance-checker

Check affiliate content for FTC compliance and platform rules. Triggers on: "check my content for compliance", "FTC disclosure check", "is this legal", "review for compliance", "check affiliate disclosure", "am I FTC compliant", "audit my content", "compliance review", "legal check", "platform rules check", "check before publishing", "disclosure audit", "review my ad copy".

290 stars

Best use case

compliance-checker is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Check affiliate content for FTC compliance and platform rules. Triggers on: "check my content for compliance", "FTC disclosure check", "is this legal", "review for compliance", "check affiliate disclosure", "am I FTC compliant", "audit my content", "compliance review", "legal check", "platform rules check", "check before publishing", "disclosure audit", "review my ad copy".

Teams using compliance-checker should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/compliance-checker/SKILL.md --create-dirs "https://raw.githubusercontent.com/Affitor/affiliate-skills/main/skills/meta/compliance-checker/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/compliance-checker/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How compliance-checker Compares

Feature / Agentcompliance-checkerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Check affiliate content for FTC compliance and platform rules. Triggers on: "check my content for compliance", "FTC disclosure check", "is this legal", "review for compliance", "check affiliate disclosure", "am I FTC compliant", "audit my content", "compliance review", "legal check", "platform rules check", "check before publishing", "disclosure audit", "review my ad copy".

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Compliance Checker

Audit affiliate content for FTC compliance, platform-specific rules, and legal requirements. Checks disclosure placement, prohibited claims, endorsement guidelines, and platform policies. Output is a compliance scorecard with issues, severity, and fix suggestions.

## Stage

S8: Meta — The FTC has fined affiliates $4.2M+ for undisclosed endorsements. One missing disclosure can result in legal action, platform bans, or program termination. This skill is the safety net — run it on any content before publishing to catch compliance issues before they become problems.

## When to Use

- User wants to check content before publishing
- User asks about FTC rules or affiliate disclosure requirements
- User is unsure if their content is compliant
- User says "is this legal?", "do I need a disclosure?", "check my post"
- User is preparing content for a platform with strict ad policies (Facebook, Google)
- Chaining: run after any S2-S5 or S7 content-producing skill before publishing
- User wants to audit existing published content

## Input Schema

```yaml
content: string                # REQUIRED — the content to check (text, markdown, or HTML)

content_type: string           # REQUIRED — "social_post" | "blog" | "landing_page"
                               # | "email" | "ad" | "video_script"

platform: string               # OPTIONAL — "linkedin" | "twitter" | "reddit" | "facebook"
                               # | "tiktok" | "youtube" | "google_ads" | "pinterest"
                               # Platform-specific rules applied if provided

claims:                        # OPTIONAL — specific claims to verify
  - string                     # e.g., ["earn $10K/month", "guaranteed results"]
```

**Chaining context**: If content was produced by S2-S5 or S7 in the same conversation, pull it directly. The user should not have to paste content that was just generated.

## Workflow

### Step 1: Detect Affiliate Links

Scan content for:
- URLs with affiliate parameters (`ref=`, `aff=`, `partner=`, UTM tags)
- Shortened URLs (bit.ly, etc.) that may hide affiliate links
- Product mentions that imply a commercial relationship

### Step 2: Check FTC Disclosure

Read `shared/references/ftc-compliance.md` for rules. Check:
- **Presence**: Is there a disclosure? (required if any affiliate link exists)
- **Placement**: Is the disclosure before or near the affiliate link? (not buried at the bottom)
- **Clarity**: Is it clear to a reasonable consumer? ("affiliate link" is clear; "partner" alone is not)
- **Format by content type**:
  - Social post: `#ad` or `Affiliate link` visible without expanding
  - Blog: Disclosure in the opening paragraph, above the fold
  - Landing page: Medium disclosure above the fold
  - Email: Disclosure near the affiliate link
  - Ad: Platform-specific requirements

### Step 3: Check Prohibited Claims

Scan for:
- **Income claims**: "earn $X", "make money fast", "passive income guaranteed"
- **False urgency**: "only 3 left" (if not verifiable), "offer expires" (if no real deadline)
- **Health/medical claims**: unsubstantiated health benefits
- **Guaranteed results**: "guaranteed to work", "100% success rate"
- **Fake scarcity**: "limited spots" (if not actually limited)
- **Fake testimonials**: results that aren't typical without disclaimer

### Step 4: Check Platform Rules

If `platform` is provided, apply platform-specific rules:
- **Reddit**: Self-promotion rules (10:1 ratio), must disclose in post
- **Facebook/Instagram**: Branded Content tool, "Paid Partnership" label for ads
- **Google Ads**: Clear commercial intent, no misleading claims, landing page requirements
- **TikTok**: #ad or Paid Partnership toggle, no medical/financial advice claims
- **YouTube**: Verbal + written disclosure in first 30 seconds, "Includes paid promotion" checkbox

### Step 5: Score and Report

Rate compliance on three levels:
- **PASS**: No issues found
- **WARN**: Minor issues that should be fixed (e.g., disclosure placement could be better)
- **FAIL**: Critical issues that must be fixed before publishing (e.g., no disclosure at all)

### Step 6: Generate Fixes

For each issue, provide:
- What's wrong (specific quote from content)
- Why it matters (rule reference)
- How to fix it (specific replacement text)

### Step 7: Self-Validation

Before presenting output, verify:

- [ ] All affiliate links in the content are detected and flagged
- [ ] Disclosure placement check matches platform-specific rules
- [ ] Prohibited claims identified with exact quotes from content
- [ ] Fix suggestions are copy-paste ready and preserve original tone
- [ ] Corrected content would pass a re-scan by this same skill

If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.

## Output Schema

```yaml
output_schema_version: "1.0.0"  # Semver — bump major on breaking changes
compliance:
  overall_score: string        # "PASS" | "WARN" | "FAIL"
  disclosure_present: boolean
  disclosure_placement: string # "correct" | "needs_improvement" | "missing"
  prohibited_claims: number    # count of issues found
  platform_issues: number      # count of platform-specific issues

issues:
  - severity: string          # "critical" | "warning" | "info"
    category: string          # "disclosure" | "claims" | "platform" | "formatting"
    description: string       # what's wrong
    quote: string             # the problematic text
    fix: string               # suggested replacement

corrected_content: string      # full content with all fixes applied
```

## Output Format

1. **Compliance Scorecard** — overall score, disclosure status, issue counts
2. **Issues Found** — table with severity, category, description, and fix
3. **Corrected Content** — the full content with all issues fixed (copy-paste ready)
4. **Platform Notes** — any platform-specific requirements not yet addressed

## Error Handling

- **No content provided**: "Paste the content you want me to check, or tell me which skill output to review. I'll check it for FTC compliance and platform rules."
- **Content has no affiliate links**: "No affiliate links detected. FTC disclosure is only required for content with material connections (affiliate links, sponsored content, gifted products). Your content looks clean."
- **Unknown platform**: "I don't have specific rules for [platform]. I'll check general FTC compliance. For platform-specific rules, check the platform's advertising policy page."

## Examples

### Example 1: Social post with missing disclosure

**User**: "Check this tweet: 'Just tried HeyGen and it's incredible for creating AI videos. Use my link to get 10% off: heygen.com/ref/abc123'"
**Action**: FAIL — no FTC disclosure. Fix: Add `#ad` before or after the link. Output corrected tweet with disclosure.

### Example 2: Blog post with buried disclosure

**User**: [Pastes a 1000-word blog review with disclosure only in the footer]
**Action**: WARN — disclosure present but buried at bottom. Fix: Move disclosure to opening paragraph. Also check for income claims, link attributes (`rel="nofollow sponsored"`).

### Example 3: Facebook ad with income claim

**User**: "Check this ad: 'I made $5,000 last month with this one tool. You can too! Click here to start earning.'"
**Action**: FAIL — (1) income claim without typicality disclaimer, (2) no FTC disclosure, (3) Facebook requires Paid Partnership label. Output fixes for all three issues.

## References

- `shared/references/ftc-compliance.md` — FTC affiliate disclosure requirements. Read in Step 2.
- `shared/references/affitor-branding.md` — Branding guidelines. Referenced for page outputs.
- `shared/references/flywheel-connections.md` — master flywheel connection map

## Revenue & Action Plan

### Expected Outcomes
- **Revenue protection**: The FTC has fined affiliates $4.2M+ for undisclosed endorsements. A single violation can result in program termination (losing ALL commissions), platform bans, or legal action. Compliance isn't about making money — it's about not losing the money you've already earned
- **Benchmark**: Amazon Associates terminates 10,000+ affiliate accounts per year for policy violations. One missing disclosure on one post can end your entire affiliate business overnight
- **Key metric to track**: Compliance score across ALL your published content. Target: 100% PASS. Any FAIL = fix before publishing. Any WARN = fix within 48 hours

### Do This Right Now (15 min)
1. **Fix all FAIL issues immediately** — do not publish until every critical issue is resolved
2. **Fix WARN issues** — update disclosure placement, fix any claim language
3. **Copy the Corrected Content** from the output and replace your original content
4. **Audit your top 5 existing posts** — run this skill on your most-trafficked affiliate content to ensure they're compliant

### Track Your Results
Run this skill monthly on all new content before publishing. Keep a compliance log — if the same issue appears 3+ times, update your content creation workflow to prevent it at the source (e.g., add FTC disclosure to your post template).

> **Next step — copy-paste this prompt:**
> "Plan my entire affiliate funnel from research to revenue" → runs `funnel-planner`

## Flywheel Connections

### Feeds Into
- All content skills (S2-S5, S7) — compliance status acts as a pass/fail gate before publishing

### Fed By
- All content-producing skills — content to check for compliance
- `landing-page-creator` (S4) — landing pages to audit for FTC compliance
- `email-drip-sequence` (S5) — emails to check for disclosure

### Feedback Loop
- Compliance issues found repeatedly in specific content types → flag to the relevant skill for structural improvement

```yaml
chain_metadata:
  skill_slug: "compliance-checker"
  stage: "meta"
  timestamp: string
  suggested_next:
    - "self-improver"
    - "funnel-planner"
```

Related Skills

your-skill-name

290
from Affitor/affiliate-skills

Replace with when the AI should activate this skill. Be pushy — cover multiple phrasings so the AI activates for a wide range of user prompts.

trending-content-scout

290
from Affitor/affiliate-skills

Scan social platforms for top-performing content by engagement before you create anything. Use this skill when the user wants to see what content is winning in a niche, find viral content patterns, research what's working on YouTube/TikTok/X/Reddit, benchmark engagement, discover content gaps, or says "what content is working for [topic]", "show me top performing content about [keyword]", "what's trending in [niche]", "find viral content about [product]", "content research for [keyword]", "what gets views in [niche]", "engagement analysis for [topic]", "scout the competition", "what videos are getting the most views about [keyword]", "social listening for [topic]", "trending content in [niche]", "top content analysis", "what hooks work for [keyword]", "content intelligence", "find winning formats".

traffic-analyzer

290
from Affitor/affiliate-skills

Analyze website traffic, global rank, engagement metrics, and traffic sources for any domain. Use this skill to evaluate affiliate program websites, compare competitor traffic, assess advertiser strength, or understand where an audience comes from. Triggers on: "analyze traffic for [domain]", "how much traffic does [site] get", "compare traffic between [site A] and [site B]", "is [program] worth promoting based on traffic", "traffic analysis", "website analytics for [domain]", "where does [site] get traffic", "check if [advertiser] is legit", "evaluate [program] website health", "SimilarWeb analysis", "traffic sources for [domain]", "how popular is [site]", "website rank", "domain authority check", "compare affiliate program websites".

purple-cow-audit

290
from Affitor/affiliate-skills

Score product remarkability 1-10 to decide if it's worth promoting. Seth Godin's Purple Cow test. Triggers on: "is this product worth promoting", "should I promote", "product audit", "purple cow", "remarkable product", "is it remarkable", "rate this product", "product quality check", "worth my reputation", "product evaluation", "would I recommend without commission", "product remarkability score", "evaluate this affiliate product", "quality gate for promotion".

niche-opportunity-finder

290
from Affitor/affiliate-skills

Find untapped affiliate niches with real earning potential. Use this skill when the user asks about picking a niche, finding a niche to start affiliate marketing, what niche to get into, niche research, niche ideas, beginner niche selection, low competition niches, profitable niches, or says "I don't know what to promote", "help me pick a niche", "what niche should I start with", "find me a niche with less competition", "niche ideas for affiliate", "is X a good niche for affiliate marketing", "best niches 2024", "untapped niches".

monopoly-niche-finder

290
from Affitor/affiliate-skills

Find intersection niches where you're the ONLY voice. Thiel's "competition is for losers" lens. Triggers on: "find my monopoly niche", "blue ocean niche", "unique niche", "niche intersection", "where am I the only one", "zero competition niche", "untapped niche", "category of one", "Thiel monopoly", "dominate a niche", "niche nobody else covers", "cross two domains", "find a niche with no competition", "monopoly positioning", "unique angle for affiliate".

list-affitor-program

290
from Affitor/affiliate-skills

Research an affiliate program and create a verified listing for list.affitor.com. Use this skill when the user asks anything about listing a program, adding an affiliate program to the directory, submitting a program to list, creating a listing, documenting an affiliate program, sharing an affiliate program, writing a program profile, posting a program to list.affitor.com, or contributing a new program. Also trigger for: "list a program", "add affiliate program", "submit program to list", "create listing for X", "document affiliate program", "share affiliate program", "write a listing", "post to list.affitor.com", "add X to the directory", "register an affiliate program", "publish affiliate program", "new program listing", "profile this affiliate program", "catalog this program".

content-angle-ranker

290
from Affitor/affiliate-skills

Rank content angles by engagement data, competition level, and platform fit. Data-driven angle selection instead of guesswork. Use this skill when the user has a keyword or product and needs to decide WHAT to create, which angle to take, which format to use, or which platform to target. Triggers on: "what angle should I use", "rank content ideas for [keyword]", "best angle for [product]", "which content idea will perform best", "help me pick an angle", "what should I write about", "content angle for [topic]", "rank my content ideas", "which approach will get the most views", "data-driven content planning", "angle ranker", "content scoring", "which hook should I use", "compare these content ideas", "prioritize my content angles", "what video should I make".

competitor-spy

290
from Affitor/affiliate-skills

Reverse-engineer successful affiliate strategies from competitors. Use this skill when the user asks about spying on competitors, researching what other affiliates promote, analyzing competitor affiliate sites, understanding how top affiliates in a niche make money, or says "what programs does X promote", "how does [site] make money", "what affiliate strategy does this site use", "spy on competitor affiliates", "reverse engineer affiliate site", "copy what works in my niche", "who are the top affiliates in X niche", "what content gets traffic in my niche", "competitor affiliate analysis".

commission-calculator

290
from Affitor/affiliate-skills

Calculate realistic affiliate earnings projections before committing to a program. Use this skill when the user asks about affiliate earnings, projecting income, calculating commissions, estimating how much they can make, comparing program payouts, or says "how much can I make promoting X", "calculate my affiliate income", "is this commission worth it", "how long to first $1000", "compare earnings between programs", "traffic to income calculator", "what conversion rate should I expect", "earnings estimate for affiliate program", "how many sales do I need".

affiliate-program-search

290
from Affitor/affiliate-skills

Research and evaluate affiliate programs to find the best ones to promote. Use this skill when the user asks anything about finding affiliate programs, comparing commission rates, evaluating affiliate opportunities, searching for products to promote, picking a niche, or mentions list.affitor.com. Also trigger for: "which SaaS should I promote", "best affiliate programs for X", "high commission programs", "recurring commission affiliate", "compare these affiliate programs", "is X affiliate program worth it", "find me something to promote", "what pays the most", "affiliate programs with long cookie duration".

skill-finder

290
from Affitor/affiliate-skills

Find the right Affitor skill for your goal. Triggers on: "which skill should I use", "find me a skill", "what skills are available", "help me choose a skill", "skill for SEO", "skill for email", "explore skills", "I'm new to Affitor", "what can Affitor do", "search skills", "skill for blog writing", "skill for landing pages", "skill for analytics".