> "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".
npx skills add https://github.com/Affitor/affiliate-skills --skill 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.
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.
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.
Scan content for:
ref=, aff=, partner=, UTM tags)Read shared/references/ftc-compliance.md for rules. Check:
#ad or Affiliate link visible without expandingScan for:
If platform is provided, apply platform-specific rules:
Rate compliance on three levels:
For each issue, provide:
Before presenting output, verify:
If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes.
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
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.
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").
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.
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 mapRun 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
landing-page-creator (S4) — landing pages to audit for FTC complianceemail-drip-sequence (S5) — emails to check for disclosurechain_metadata:
skill_slug: "compliance-checker"
stage: "meta"
timestamp: string
suggested_next:
- "self-improver"
- "funnel-planner"
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take affitor/compliance-checker from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.