> "create a social media calendar", "30-day content plan", "social media schedule", "content calendar for [product]", "plan my social posts", "social media strategy", "schedule my affiliate posts", "content plan for LinkedIn", "30 days of content", "social posting schedule", "what should I post this month", "write my social content", "create posts for LinkedIn X Facebook", "affiliate content calendar", "social media plan for my affiliate program".
npx skills add https://github.com/Affitor/affiliate-skills --skill social-media-scheduler
Generate a complete 30-day social media content calendar with post copy, hashtags, and scheduling times for LinkedIn, X (Twitter), Facebook, and Reddit. Follows the 80/20 rule: 80% value and engagement content, 20% affiliate promotions. Every post is ready to copy-paste or load into a scheduling tool.
S5: Distribution — Social media is the top free traffic channel for affiliate marketers. This skill eliminates "what do I post today?" paralysis by giving you 30 days of content in one shot, optimized for each platform's algorithm and audience behavior.
product:
name: string # REQUIRED — product being promoted (e.g., "Semrush")
affiliate_url: string # REQUIRED — affiliate tracking link
category: string # OPTIONAL — e.g., "SEO tool", "AI writing tool"
key_benefits: string[] # OPTIONAL — top benefits. Inferred if not provided.
price: string # OPTIONAL — e.g., "starts at $119/mo"
free_trial: boolean # OPTIONAL — does the product have a free trial?
creator:
niche: string # REQUIRED — your content niche (e.g., "SEO for freelancers")
audience: string # REQUIRED — who follows you (e.g., "freelance SEO consultants")
tone: string # OPTIONAL — "professional" | "casual" | "educational" | "bold"
# Default: "educational"
personal_story: string # OPTIONAL — brief personal experience with the product
platforms:
- string # REQUIRED — list of platforms: "linkedin" | "x" | "facebook" | "reddit"
# Default: ["linkedin", "x"]
calendar:
start_date: string # OPTIONAL — ISO date (e.g., "2026-04-01"). Default: next Monday.
posts_per_week: number # OPTIONAL — 3-7. Default: 5 (weekdays only)
promotion_ratio: number # OPTIONAL — % of posts that are affiliate promo. Default: 20
Chaining context: If S1 (product research) was run, auto-fill product.name, product.affiliate_url, product.key_benefits. If S3 (blog post) was run, include 2 posts linking to the blog post. If S4 (landing page) was run, include posts driving to the landing page.
Collect required fields. If product details are available from S1, use them. Otherwise ask:
Divide the month into 4 weeks with a strategic arc:
| Week | Theme | Promo Ratio |
|------|-------|-------------|
| Week 1 | Education + awareness — establish authority, zero sell | 0% |
| Week 2 | Problem agitation — surface pain points the product solves | 10% |
| Week 3 | Solution introduction — introduce product, soft sell | 30% |
| Week 4 | Social proof + urgency — testimonials, results, hard CTA | 40% |
Overall month target: 20% promotional, 80% value/engagement.
Post type mix (apply across all 4 weeks):
Write distinct copy for each platform. Do NOT copy the same post across platforms.
LinkedIn (professional, 150-300 words per post):
X / Twitter (concise, punchy, under 280 characters for single tweets):
Facebook (conversational, 100-200 words):
Reddit (community-first, never salesy):
Output a table-based calendar followed by individual post copy blocks.
Calendar table format:
WEEK 1 — Education & Awareness
| Day | Platform | Type | Topic |
|-----|----------|------|-------|
| Mon Apr 7 | LinkedIn | Educational | 5 SEO mistakes killing your traffic |
| Tue Apr 8 | X | Engagement | Hot take: [opinion] |
...
Then write each post in full:
---
POST [N] — [Day, Date] — [Platform] — [Type]
---
[Full post copy, ready to paste]
Hashtags: #tag1 #tag2 #tag3
CTA: [specific action]
Best time to post: [time]
[If promo: Affiliate disclosure included]
---
After all posts, provide scheduling tool recommendations and import instructions.
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
calendar:
product_name: string
platforms: string[]
total_posts: number
promo_posts: number
value_posts: number
date_range: string # e.g., "Apr 7 – May 6, 2026"
weeks:
- week_number: number
theme: string
posts:
- day: string # e.g., "Monday April 7"
platform: string
type: string # educational | engagement | personal | curated | promotional
topic: string # one-line topic summary
copy: string # full post copy
hashtags: string[]
cta: string
post_time: string # recommended posting time
affiliate_link: string | null
scheduler:
recommended_tools: string[] # e.g., ["Buffer", "Later", "Hypefury"]
import_format: string # "CSV" or "manual"
notes: string
Deliver in three parts:
Part 1: Calendar Overview — platform breakdown, total post count, week-by-week themes.
Part 2: Full Calendar — week-by-week table (quick reference) followed by each post written in full with all components.
Part 3: Scheduling Instructions — recommended tools and setup notes.
Keep the full post copy blocks clearly separated so the user can copy-paste each one directly into their scheduling tool or post manually.
[YOUR_AFFILIATE_LINK] placeholder. Remind user to replace before posting.Example 1: Single platform, known product
User: "Create a 30-day LinkedIn content calendar for promoting Semrush to freelance SEO consultants. My link: semrush.com/ref/abc"
Action: 20 LinkedIn posts (weekdays), Week 1 SEO education, Week 2 pain points (losing clients to competitors with better data), Week 3-4 introduce Semrush with case study angles. 4 promotional posts with affiliate link.
Example 2: Multi-platform, chained from S1
Context: S1 found HeyGen (AI video). User is a content creator targeting YouTubers.
User: "Now make me a social calendar for LinkedIn and X."
Action: Pull product details from S1. 40 posts (20 LinkedIn + 20 X), mix of video creation tips, hot takes on AI in content, and HeyGen promotions with creator-specific angles.
Example 3: Reddit-only for SaaS niche
User: "I want to promote Notion affiliate on Reddit to productivity communities."
Action: 4 Reddit posts targeting r/Notion, r/productivity, r/getdisciplined. Full post body leading with genuine productivity tips, affiliate disclosure + link in comments note.
shared/references/ftc-compliance.md — FTC disclosure for social posts. Every affiliate link post needs "(Affiliate link)" or "#ad" per FTC rules.shared/references/affitor-branding.md — Optional Affitor mention in post footer.shared/references/flywheel-connections.md — master flywheel connection mapAfter Week 1: which post got the most engagement? After Month 1: which platform drove the most affiliate clicks? After Month 3: what's your monthly affiliate revenue from social? If not growing 10%/week, audit your content mix with performance-report.
> Next step — copy-paste this prompt:
> "Generate a performance report for my social media affiliate content" → runs performance-report
performance-report (S6) — scheduled posts to measure engagementab-test-generator (S6) — post variants for A/B testingviral-post-writer (S2) — posts ready to scheduletwitter-thread-writer (S2) — threads to schedulecontent-pillar-atomizer (S2) — atomized micro-content to scheduletiktok-script-writer (S2) — scripts to schedule for filmingperformance-report (S6) reveals which posting times and platforms drive most engagement → optimize schedulingBefore delivering output, verify:
Any NO → rewrite before delivering.
chain_metadata:
skill_slug: "social-media-scheduler"
stage: "distribution"
timestamp: string
suggested_next:
- "performance-report"
- "ab-test-generator"
Create SEO-optimized marketing content with consistent brand voice. Includes brand voice analyzer, SEO optimizer, content frameworks, and social media templates. Use when writing blog posts, creating social media content, analyzing brand voice, optimizing SEO, planning content calendars, or when user mentions content creation, brand voice, SEO optimization, social media marketing, or content strategy.
Creates comprehensive content outlines and topic clusters for SEO. Plans content calendars and identifies topic gaps. Use PROACTIVELY for content strategy and planning.
Handle mental health crisis situations in AI coaching safely. Use when implementing crisis detection, safety protocols, emergency escalation, or suicide prevention features. Activates for crisis keywords, safety planning, hotline integration, and risk assessment.
When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms. Also use when the user mentions 'LinkedIn post,' 'Twitter thread,' 'social media,' 'content calendar,' 'social scheduling,' 'engagement,' or 'viral content.' This skill covers content creation, repurposing, and platform-specific strategies.
Build and scale partner ecosystems that drive revenue and platform adoption. Use when building partner programs from scratch, tiering partnerships, managing co-marketing, making build-vs-partner decisions, or structuring crawl-walk-run partner deployment.
Brainstorm 3-5 monetization strategies with audience fit, risks, and validation experiments. Use when exploring revenue models, evaluating pricing strategies, or deciding how to monetize a product.
Brainstorm product positioning ideas differentiated from competitors. Identifies top competitors and generates positioning statements with rationale. Use when developing product positioning, differentiating from competitors, or crafting brand positioning strategy.
Generate a full campaign brief with objectives, audience, messaging, channel strategy, content calendar, and success metrics. Use when planning a product launch, lead-gen push, or awareness campaign, when you need a week-by-week content calendar with dependencies, or when translating a marketing goal into a structured, executable plan.
Take affitor/social-media-scheduler 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.