/socialforge:adapt-copy — Copy Adapter

SkillDev tools

Adapt post copy for every target platform — character limits, hashtag counts and placement, tone, compliance, and the right CTA mechanism per platform (comment-keyword or link-in-bio on Instagram/TikTok, direct link elsewhere; the CTA is never dropped). Triggers on \"/adapt-copy\", \"adapt this copy\", \"platform versions\", \"rewrite for LinkedIn\", \"caption for each platform\", \"cross-post this\", or any time one piece of copy needs platform-native variants. Reads the brand profile for voice, hashtags, and cta_keyword.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /socialforge:adapt-copy — Copy Adapter skill

What this skill tells your AI

The instructions your AI receives, as published by indranilbanerjee/socialforge in skills/adapt-copy/SKILL.md and read by ahel’s review.

Transform a single caption brief into platform-optimized copy for each target platform.

Context efficiency

Asset-heavy skill. Grep before Read the asset catalog (${CLAUDE_PLUGIN_DATA}/socialforge/brands/<brand>/asset-index.json) — never list the asset directory. Reference generated images / videos by path, not by loading metadata. Brand profile loads once per session.

Process (Per Post x Per 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)
  4. For X/Twitter posts with live-source context, read the optional X/Twitter research intake note and use only reviewed evidence
  5. Generate platform-specific copy:
PlatformToneLimitHashtagsLink
LinkedInProfessional3,000 chars (140 before fold)3-5Direct URL
InstagramConversational2,200 chars20-30 (first comment)Link in bio
X/TwitterPunchy, concise280 chars1-2Direct URL
FacebookCasual500 chars optimal1-3Direct URL
YouTubeDescription format5,000 chars3-5Direct URLs
TikTokCasual, trend-aware2,200 chars3-5 (trending + branded)Link in bio
ThreadsConversational500 chars1-3Direct URL
BlueskyConcise, community-first300 chars1-2 (via tag facets)Direct URL
  1. Apply brand hashtags (always_include + campaign-specific)
  2. Run compliance check - flag banned phrases, add disclaimers
  3. Handle bilingual posts if configured
  4. Save to production/copy/post-{id}-{platform}-copy.txt

No significance markers. Never write a line whose only job is to announce that the next line matters: "here's the thing", "the thing is,", "here's the kicker", "here's where it gets interesting", "that's the part that got me", "let that sink in", "read that again". They read as machine-written, and on a 280-character platform they spend budget the point needs. Lead with the specific instead — "Approvals went from 14 days to 31" beats "Here's the thing about approval timelines". Same for stacked soft adverbs (honestly / genuinely / truly / literally / actually / basically): at most one per caption, never two in a sentence.

This is a writing rule enforced by the copy-adapter agent, not a scan. SocialForge ships no AI-tell scanner on purpose — caption-length copy has no document structure to measure, and per-1000-word metrics are noise at 280 characters.

Compliance Check (Mandatory)

Before saving any copy:

  • Scan against compliance-rules.json banned_phrases
  • Check data claims against data_claim_rules
  • Add required disclaimers per platform
  • Verify platform-specific rules (link policy, hashtag limits)
  • For X/Twitter source notes, verify quotes, public metrics, and dates before using them as claims

Critical violations BLOCK — copy cannot proceed. Warnings are noted but don't block.

Output

Copy adapted: Post P04
  LinkedIn: 847 chars (under 3000) ✓ | 4 hashtags ✓ | CTA: direct link ✓
  Instagram: 1,203 chars ✓ | 25 hashtags (first comment) ✓ | CTA: link in bio ✓
  X: 267 chars (under 280) ✓ | 2 hashtags ✓ | CTA: direct link ✓
  Compliance: PASSED (0 critical, 1 warning: "consider adding source for 47% claim")

Timeout & Fallback

  • Copy generation: 30-second timeout per platform variant
  • Compliance check: 10-second timeout. If fails, flag for manual review

Signals

GitHub stars
38
Forks
6
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
adapt-copy
Source
github.com/indranilbanerjee/socialforge