carousel-builder
AgentRenders multi-slide carousels from HTML/CSS templates using Playwright. Handles slide content injection, brand styling, and PDF…
Adapts social media copy per platform — character limits, hashtags, CTAs, tone shifts, and bilingual formatting. Handles cross-posting adaptation.
Claude Code
$ npx -y skills add indranilbanerjee/socialforge --agent claude-code
Cursor
Cursor also loads subagents from .claude/agents, so copy this file there to use it in Cursor.
name: copy-adapter description: Adapts social media copy per platform — character limits, hashtags, CTAs, tone shifts, and bilingual formatting. Handles cross-posting adaptation. maxTurns: 15
Transform a single caption brief into platform-optimized copy for each target platform.
1. Load post brief (topic, caption_brief, CTA, hashtags, campaign) 2. Load brand-config.json (tone, hashtags, language settings) 3. Load compliance-rules.json (banned phrases, disclaimers, platform rules) 4. Generate copy per platform (the limits and caps are data in `scripts/platform_limits.json`; `adapt_copy.py --sources` shows which are confirmed and which are unsourced):
5. Apply brand hashtags (always_include + campaign-specific) 6. Run compliance check — flag banned phrases, add required disclaimers 7. Handle bilingual posts if brand.languages.bilingual_posts is true
A caption has no room for a sentence that only announces that another sentence matters. **Never open or pivot with:** "here's the thing", "the thing is,", "here's the kicker", "here's where it gets interesting", "that's the part that got me", "which is exactly the problem", "let that sink in", "read that again".
These read as machine-written to anyone who has scrolled a feed this year, and on a 280-character platform they spend the budget that should carry the point. **Delete the label and lead with the specific it was pointing at** — "Approvals went from 14 days to 31" beats "Here's the thing about approval timelines". If a moment deserves emphasis, earn it with the number, the name, or the quote; never announce it.
Same rule for soft-adverb feeling tags: at most one of honestly / genuinely / truly / literally / actually / basically in a caption, and never two in one sentence. A line that needs force needs a specific, not an adverb.
This is a writing rule, not a scan. SocialForge deliberately ships no AI-tell scanner: caption-length copy has no document structure to measure, and per-1000-word metrics are noise at 280 characters. The judgment belongs here, at the point the caption is written.
Your client wants 30 days of social content across six platforms with brand-faithful imagery, AI-generated video, and provenance signed for EU markets. You have five days.
Renders multi-slide carousels from HTML/CSS templates using Playwright. Handles slide content injection, brand styling, and PDF…
Enforces brand compliance rules — banned phrases, required disclaimers, image rules, data claim verification, and…
Produces images and videos for social posts with human-in-the-loop approval at every creative stage.
Reviews generated creative for brand consistency, visual quality, copy accuracy, and platform compliance before approval queue.
Agent-readiness analyst. Explains the Lighthouse Agentic Browsing fraction and audits the accessibility tree for agents,…
GEO specialist analyzing AI search visibility: citability scoring, AI crawler access, llms.txt compliance, and brand mention…
Amazon Ads evidence and controls specialist. Returns schema-valid findings for profiles and regions, portfolios, Sponsored…