Install
openclaw skills install social-copy-generatorGenerate platform-optimized social media copy for product launches. One input, 14 platform outputs (Twitter/X, LinkedIn, Hacker News, Reddit, Xiaohongshu, Jike, WeChat Moments, Weibo, Zhihu, Bilibili, Douyin, Video Account, Telegram, and more). Auto-generates an HTML page with one-click copy buttons. Supports Chinese and English bilingual content.
openclaw skills install social-copy-generatorGenerate social media copy for multiple platforms from a single product description. Output as an HTML page with one-click copy buttons.
When the user wants to:
| Platform | Style | Limits |
|---|---|---|
| Twitter/X | Concise, thread format for long content | 280 chars/tweet |
| Jike (即刻) | Developer community, dry content | No limit |
| Xiaohongshu (小红书) | Casual, emoji-rich, comparison-heavy | No limit |
| WeChat Moments (朋友圈) | Personal, conversational | No limit |
| Video Account (视频号) | Title + description for video | Title < 30 chars |
| Professional, achievement-focused | No limit | |
| Low-key, helpful, anti-self-promo | Title + body | |
| Hacker News | Show HN, ultra-minimal | Title only ~80 chars |
| Product Hunt | Tagline + description | Tagline < 60 chars |
| V2EX | Chinese dev community, technical | Title + body |
| Juejin (掘金) | Tutorial-style article intro | Title + summary |
| Dev.to | English dev blog, tutorial-style | Title + summary |
Generate an HTML file with:
white-space: pre-wrap text areas (no extra whitespace when copying)navigator.clipboard<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>[Product] - Social Media Copy</title>
<style>
body { font-family: -apple-system, sans-serif; max-width: 700px; margin: 40px auto; padding: 0 20px; background: #f5f5f5; }
.card { background: #fff; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
.copy-area { background: #fafafa; border: 1px solid #e0e0e0; border-radius: 8px; padding: 16px; white-space: pre-wrap; font-size: 15px; line-height: 1.6; user-select: all; }
button { background: #000; color: #fff; border: none; border-radius: 8px; padding: 10px 20px; font-size: 14px; cursor: pointer; margin-top: 12px; }
.toast { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); background: #333; color: #fff; padding: 10px 24px; border-radius: 8px; display: none; z-index: 99; }
</style>
</head>
<body>
<!-- cards here -->
<script>
function copyText(id) {
navigator.clipboard.writeText(document.getElementById(id).innerText);
const t = document.getElementById('toast');
t.style.display = 'block';
setTimeout(() => t.style.display = 'none', 1500);
}
</script>
</body>
</html>