/adapt-copy
Adapt post copy per platform — character limits, hashtags, CTAs, tone, and compliance checking.
$ npx -y skills add indranilbanerjee/socialforge --skill adapt-copy --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/adapt-copy
Context preview
The summary Claude sees to decide when to auto-load this skill.
Adapt post copy per platform — character limits, hashtags, CTAs, tone, and compliance checking.
SKILL.md
adapt-copy.SKILL.mdname: adapt-copy
description: Adapt post copy per platform — character limits, hashtags, CTAs, tone, and compliance checking.
argument-hint: "[--post <id>] [--all] [--platform <name>]"
effort: medium
user-invocable: true
/socialforge:adapt-copy — Copy Adapter
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. Generate platform-specific copy:
| Platform | Tone | Limit | Hashtags | Link | |----------|------|-------|----------|------| | LinkedIn | Professional | 3,000 chars (140 before fold) | 3-5 | Direct URL | | Instagram | Conversational | 2,200 chars | 20-30 (first comment) | Link in bio | | X/Twitter | Punchy, concise | 280 chars | 1-2 | Direct URL | | Facebook | Casual | 500 chars optimal | 1-3 | Direct URL | | YouTube | Description format | 5,000 chars | 3-5 | Direct URLs | | TikTok | Casual, trend-aware | 2,200 chars | 3-5 (trending + branded) | Link in bio | | Threads | Conversational | 500 chars | 1-3 | Direct URL | | Bluesky | Concise, community-first | 300 chars | 1-2 (via tag facets) | Direct URL |
5. Apply brand hashtags (always_include + campaign-specific) 6. Run compliance check — flag banned phrases, add disclaimers 7. Handle bilingual posts if configured 8. Save to `production/copy/post-{id}-{platform}-copy.txt`
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)
**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
Read more
name: adapt-copy description: Adapt post copy per platform — character limits, hashtags, CTAs, tone, and compliance checking. argument-hint: "[--post <id>] [--all] [--platform <name>]" effort: medium user-invocable: true
/socialforge:adapt-copy — Copy Adapter
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. Generate platform-specific copy:
| Platform | Tone | Limit | Hashtags | Link | |----------|------|-------|----------|------| | LinkedIn | Professional | 3,000 chars (140 before fold) | 3-5 | Direct URL | | Instagram | Conversational | 2,200 chars | 20-30 (first comment) | Link in bio | | X/Twitter | Punchy, concise | 280 chars | 1-2 | Direct URL | | Facebook | Casual | 500 chars optimal | 1-3 | Direct URL | | YouTube | Description format | 5,000 chars | 3-5 | Direct URLs | | TikTok | Casual, trend-aware | 2,200 chars | 3-5 (trending + branded) | Link in bio | | Threads | Conversational | 500 chars | 1-3 | Direct URL | | Bluesky | Concise, community-first | 300 chars | 1-2 (via tag facets) | Direct URL |
5. Apply brand hashtags (always_include + campaign-specific) 6. Run compliance check — flag banned phrases, add disclaimers 7. Handle bilingual posts if configured 8. Save to `production/copy/post-{id}-{platform}-copy.txt`
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)
**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
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.
Other skills on socialforge.
- /assemble-document
Assemble the final calendar delivery manifest (structured JSON) with all posts, copy, and metadata.
Open skill - /brand-manager
Set up and manage brand profiles. Use when: configuring a new brand, updating brand config, or switching brands.
Open skill - /build-review-gallery
Build an interactive HTML review gallery with all generated posts for team review.
Open skill - /c2pa-sign
Embed C2PA (Content Authenticity Initiative) provenance manifests into SocialForge AI-generated assets — images, video, audio. Use when: preparing AI-generated social posts for EU markets to comply with EU AI Act Article 50 (applicable 2 Aug 2026); making AI generation
Open skill - /compose-creative
Core creative engine. Generates images and video using 4 modes with brand assets, AI compositing, and platform resizing.
Open skill - /create-previews
Generate platform mockup previews showing how posts will look on each social platform.
Open skill

