[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EGY2TH1KPBCAMWBHC4NEZ4":3,"skill-same:01M6EGY2TH1KPBCAMWBHC4NEZ4":91},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6EGY2TH1KPBCAMWBHC4NEZ4","crosspost",null,"Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faffaan-m\u002Feverything-claude-code\u002Fcrosspost\u002FSKILL.md",[],[5,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33],"content","engine","linkedin","user","use","never","bluesky","patterns","social","cross-platform","across","platform","distribute","distribution","multi","2026-11-10 10:12:30",false,"---\nname: crosspost\ndescription: Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.\norigin: ECC\n---\n\n# Crosspost\n\nDistribute content across multiple social platforms with platform-native adaptation.\n\n## When to Activate\n\n- User wants to post content to multiple platforms\n- Publishing announcements, launches, or updates across social media\n- Repurposing a post from one platform to others\n- User says \"crosspost\", \"post everywhere\", \"share on all platforms\", or \"distribute this\"\n\n## Core Rules\n\n1. **Never post identical content cross-platform.** Each platform gets a native adaptation.\n2. **Primary platform first.** Post to the main platform, then adapt for others.\n3. **Respect platform conventions.** Length limits, formatting, link handling all differ.\n4. **One idea per post.** If the source content has multiple ideas, split across posts.\n5. **Attribution matters.** If crossposting someone else's content, credit the source.\n\n## Platform Specifications\n\n| Platform | Max Length | Link Handling | Hashtags | Media |\n|----------|-----------|---------------|----------|-------|\n| X | 280 chars (4000 for Premium) | Counted in length | Minimal (1-2 max) | Images, video, GIFs |\n| LinkedIn | 3000 chars | Not counted in length | 3-5 relevant | Images, video, docs, carousels |\n| Threads | 500 chars | Separate link attachment | None typical | Images, video |\n| Bluesky | 300 chars | Via facets (rich text) | None (use feeds) | Images |\n\n## Workflow\n\n### Step 1: Create Source Content\n\nStart with the core idea. Use `content-engine` skill for high-quality drafts:\n- Identify the single core message\n- Determine the primary platform (where the audience is biggest)\n- Draft the primary platform version first\n\n### Step 2: Identify Target Platforms\n\nAsk the user or determine from context:\n- Which platforms to target\n- Priority order (primary gets the best version)\n- Any platform-specific requirements (e.g., LinkedIn needs professional tone)\n\n### Step 3: Adapt Per Platform\n\nFor each target platform, transform the content:\n\n**X adaptation:**\n- Open with a hook, not a summary\n- Cut to the core insight fast\n- Keep links out of main body when possible\n- Use thread format for longer content\n\n**LinkedIn adaptation:**\n- Strong first line (visible before \"see more\")\n- Short paragraphs with line breaks\n- Frame around lessons, results, or professional takeaways\n- More explicit context than X (LinkedIn audience needs framing)\n\n**Threads adaptation:**\n- Conversational, casual tone\n- Shorter than LinkedIn, less compressed than X\n- Visual-first if possible\n\n**Bluesky adaptation:**\n- Direct and concise (300 char limit)\n- Community-oriented tone\n- Use feeds\u002Flists for topic targeting instead of hashtags\n\n### Step 4: Post Primary Platform\n\nPost to the primary platform first:\n- Use `x-api` skill for X\n- Use platform-specific APIs or tools for others\n- Capture the post URL for cross-referencing\n\n### Step 5: Post to Secondary Platforms\n\nPost adapted versions to remaining platforms:\n- Stagger timing (not all at once — 30-60 min gaps)\n- Include cross-platform references where appropriate (\"longer thread on X\" etc.)\n\n## Content Adaptation Examples\n\n### Source: Product Launch\n\n**X version:**\n```\nWe just shipped [feature].\n\n[One specific thing it does that's impressive]\n\n[Link]\n```\n\n**LinkedIn version:**\n```\nExcited to share: we just launched [feature] at [Company].\n\nHere's why it matters:\n\n[2-3 short paragraphs with context]\n\n[Takeaway for the audience]\n\n[Link]\n```\n\n**Threads version:**\n```\njust shipped something cool — [feature]\n\n[casual explanation of what it does]\n\nlink in bio\n```\n\n### Source: Technical Insight\n\n**X version:**\n```\nTIL: [specific technical insight]\n\n[Why it matters in one sentence]\n```\n\n**LinkedIn version:**\n```\nA pattern I've been using that's made a real difference:\n\n[Technical insight with professional framing]\n\n[How it applies to teams\u002Forgs]\n\n#relevantHashtag\n```\n\n## API Integration\n\n### Batch Crossposting Service (Example Pattern)\nIf using a crossposting service (e.g., Postbridge, Buffer, or a custom API), the pattern looks like:\n\n```python\nimport os\nimport requests\n\nresp = requests.post(\n    \"https:\u002F\u002Fyour-crosspost-service.example\u002Fapi\u002Fposts\",\n    headers={\"Authorization\": f\"Bearer {os.environ['POSTBRIDGE_API_KEY']}\"},\n    json={\n        \"platforms\": [\"twitter\", \"linkedin\", \"threads\"],\n        \"content\": {\n            \"twitter\": {\"text\": x_version},\n            \"linkedin\": {\"text\": linkedin_version},\n            \"threads\": {\"text\": threads_version}\n        }\n    },\n    timeout=30,\n)\nresp.raise_for_status()\n```\n\n### Manual Posting\nWithout Postbridge, post to each platform using its native API:\n- X: Use `x-api` skill patterns\n- LinkedIn: LinkedIn API v2 with OAuth 2.0\n- Threads: Threads API (Meta)\n- Bluesky: AT Protocol API\n\n## Quality Gate\n\nBefore posting:\n- [ ] Each platform version reads naturally for that platform\n- [ ] No identical content across platforms\n- [ ] Length limits respected\n- [ ] Links work and are placed appropriately\n- [ ] Tone matches platform conventions\n- [ ] Media is sized correctly for each platform\n\n## Related Skills\n\n- `content-engine` — Generate platform-native content\n- `x-api` — X\u002FTwitter API integration\n\n","# Crosspost\n\nDistribute content across multiple social platforms with platform-native adaptation.\n\n## When to Activate\n\n- User wants to post content to multiple platforms\n- Publishing announcements, launches, or updates across social media\n- Repurposing a post from one platform to others\n- User says \"crosspost\", \"post everywhere\", \"share on all platforms\", or \"distribute this\"\n\n## Core Rules\n\n1. **Never post identical content cross-platform.** Each platform gets a native adaptation.\n2. **Primary platform first.** Post to the main platform, then adapt for others.\n3. **Respect platform conventions.** Length limits, formatting, link handling all differ.\n4. **One idea per post.** If the source content has multiple ideas, split across posts.\n5. **Attribution matters.** If crossposting someone else's content, credit the source.\n\n## Platform Specifications\n\n| Platform | Max Length | Link Handling | Hashtags | Media |\n|----------|-----------|---------------|----------|-------|\n| X | 280 chars (4000 for Premium) | Counted in length | Minimal (1-2 max) | Images, video, GIFs |\n| LinkedIn | 3000 chars | Not counted in length | 3-5 relevant | Images, video, docs, carousels |\n| Threads | 500 chars | Separate link attachment | None typical | Images, video |\n| Bluesky | 300 chars | Via facets (rich text) | None (use feeds) | Images |\n\n## Workflow\n\n### Step 1: Create Source Content\n\nStart with the core idea. Use `content-engine` skill for high-quality drafts:\n- Identify the single core message\n- Determine the primary platform (where the audience is biggest)\n- Draft the primary platform version first\n\n### Step 2: Identify Target Platforms\n\nAsk the user or determine from context:\n- Which platforms to target\n- Priority order (primary gets the best version)\n- Any platform-specific requirements (e.g., LinkedIn needs professional tone)\n\n### Step 3: Adapt Per Platform\n\nFor each target platform, transform the content:\n\n**X adaptation:**\n- Open with a hook, not a summary\n- Cut to the core insight fast\n- Keep links out of main body when possible\n- Use thread format for longer content\n\n**LinkedIn adaptation:**\n- Strong first line (visible before \"see more\")\n- Short paragraphs with line breaks\n- Frame around lessons, results, or professional takeaways\n- More explicit context than X (LinkedIn audience needs framing)\n\n**Threads adaptation:**\n- Conversational, casual tone\n- Shorter than LinkedIn, less compressed than X\n- Visual-first if possible\n\n**Bluesky adaptation:**\n- Direct and concise (300 char limit)\n- Community-oriented tone\n- Use feeds\u002Flists for topic targeting instead of hashtags\n\n### Step 4: Post Primary Platform\n\nPost to the primary platform first:\n- Use `x-api` skill for X\n- Use platform-specific APIs or tools for others\n- Capture the post URL for cross-referencing\n\n### Step 5: Post to Secondary Platforms\n\nPost adapted versions to remaining platforms:\n- Stagger timing (not all at once — 30-60 min gaps)\n- Include cross-platform references where appropriate (\"longer thread on X\" etc.)\n\n## Content Adaptation Examples\n\n### Source: Product Launch\n\n**X version:**\n```\nWe just shipped [feature].\n\n[One specific thing it does that's impressive]\n\n[Link]\n```\n\n**LinkedIn version:**\n```\nExcited to share: we just launched [feature] at [Company].\n\nHere's why it matters:\n\n[2-3 short paragraphs with context]\n\n[Takeaway for the audience]\n\n[Link]\n```\n\n**Threads version:**\n```\njust shipped something cool — [feature]\n\n[casual explanation of what it does]\n\nlink in bio\n```\n\n### Source: Technical Insight\n\n**X version:**\n```\nTIL: [specific technical insight]\n\n[Why it matters in one sentence]\n```\n\n**LinkedIn version:**\n```\nA pattern I've been using that's made a real difference:\n\n[Technical insight with professional framing]\n\n[How it applies to teams\u002Forgs]\n\n#relevantHashtag\n```\n\n## API Integration\n\n### Batch Crossposting Service (Example Pattern)\nIf using a crossposting service (e.g., Postbridge, Buffer, or a custom API), the pattern looks like:\n\n```python\nimport os\nimport requests\n\nresp = requests.post(\n    \"https:\u002F\u002Fyour-crosspost-service.example\u002Fapi\u002Fposts\",\n    headers={\"Authorization\": f\"Bearer {os.environ['POSTBRIDGE_API_KEY']}\"},\n    json={\n        \"platforms\": [\"twitter\", \"linkedin\", \"threads\"],\n        \"content\": {\n            \"twitter\": {\"text\": x_version},\n            \"linkedin\": {\"text\": linkedin_version},\n            \"threads\": {\"text\": threads_version}\n        }\n    },\n    timeout=30,\n)\nresp.raise_for_status()\n```\n\n### Manual Posting\nWithout Postbridge, post to each platform using its native API:\n- X: Use `x-api` skill patterns\n- LinkedIn: LinkedIn API v2 with OAuth 2.0\n- Threads: Threads API (Meta)\n- Bluesky: AT Protocol API\n\n## Quality Gate\n\nBefore posting:\n- [ ] Each platform version reads naturally for that platform\n- [ ] No identical content across platforms\n- [ ] Length limits respected\n- [ ] Links work and are placed appropriately\n- [ ] Tone matches platform conventions\n- [ ] Media is sized correctly for each platform\n\n## Related Skills\n\n- `content-engine` — Generate platform-native content\n- `x-api` — X\u002FTwitter API integration\n\n",{"name":5,"origin":39,"description":7},"ECC","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faffaan-m\u002Feverything-claude-code\u002Fcrosspost",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill crosspost",{"tool":55,"command":56},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill crosspost",{"tool":58,"command":59},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill crosspost","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faffaan-m\u002Feverything-claude-code\u002Fcrosspost\u002FSKILL.md",true,[63,69,73,77,81,85],{"path":64,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":67,"sourceHtmlUrl":68},"agents\u002Fopenai.yaml","REFERENCE","参考文档",263,"https:\u002F\u002Fgithub.com\u002Fkylehughes\u002Fagent-plugins-for-making-good-software\u002Fblob\u002Fmain\u002Fplugins\u002Funiversal\u002Fskills\u002Fwriting-technical-prose\u002Fagents\u002Fopenai.yaml",{"path":70,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fdocument-patterns.md",8149,"https:\u002F\u002Fgithub.com\u002Fkylehughes\u002Fagent-plugins-for-making-good-software\u002Fblob\u002Fmain\u002Fplugins\u002Funiversal\u002Fskills\u002Fwriting-technical-prose\u002Freferences\u002Fdocument-patterns.md",{"path":74,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Flinter-usage.md",1528,"https:\u002F\u002Fgithub.com\u002Fkylehughes\u002Fagent-plugins-for-making-good-software\u002Fblob\u002Fmain\u002Fplugins\u002Funiversal\u002Fskills\u002Fwriting-technical-prose\u002Freferences\u002Flinter-usage.md",{"path":78,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Freview-checklist.md",4452,"https:\u002F\u002Fgithub.com\u002Fkylehughes\u002Fagent-plugins-for-making-good-software\u002Fblob\u002Fmain\u002Fplugins\u002Funiversal\u002Fskills\u002Fwriting-technical-prose\u002Freferences\u002Freview-checklist.md",{"path":82,"resourceType":65,"resourceTypeDesc":66,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fstyle-examples.md",962,"https:\u002F\u002Fgithub.com\u002Fkylehughes\u002Fagent-plugins-for-making-good-software\u002Fblob\u002Fmain\u002Fplugins\u002Funiversal\u002Fskills\u002Fwriting-technical-prose\u002Freferences\u002Fstyle-examples.md",{"path":86,"resourceType":87,"resourceTypeDesc":88,"sizeBytes":89,"sourceHtmlUrl":90},"scripts\u002Flint_technical_writing.py","SCRIPT","脚本",7978,"https:\u002F\u002Fgithub.com\u002Fkylehughes\u002Fagent-plugins-for-making-good-software\u002Fblob\u002Fmain\u002Fplugins\u002Funiversal\u002Fskills\u002Fwriting-technical-prose\u002Fscripts\u002Flint_technical_writing.py",[92,106,116,125,131,138],{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":102,"publishedAt":34},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[97],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[103,104,105],"model","model hierarchy","model hierarchy skill",{"skillNo":107,"name":108,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":34},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[111],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},[113,114,115],"MCP","zoom","zoom mcp",{"skillNo":117,"name":118,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":121,"publishedAt":34},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[122,123,124,114],"sdk","zoom apps sdk","apps",{"skillNo":126,"name":127,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":130,"publishedAt":34},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[127],{"skillNo":132,"name":133,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":34},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[136],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},[133],{"skillNo":139,"name":140,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":141,"categories":142,"keywords":143,"publishedAt":34},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[140]]