Social Draftsmith
Overview
Use this skill to turn rough ideas into publish-ready social packages.
Default to drafting and previewing, not auto-posting. Treat the unit of output as:
- - post copy
- image or visual recommendation
- platform adaptation
- approval before publish
Current live publishing support includes Facebook Pages, X / Twitter, and an owner-subreddit posting path for Reddit. Reddit usage should be limited to the user's own subreddit unless the user explicitly chooses otherwise and understands the moderation risk.
Optimize for clarity, tone fit, and safety.
Core Workflow
- 1. Identify the source material.
- Accept raw thoughts, links, announcements, product updates, event notes, article summaries, image/caption ideas, or requested visual concepts.
- If the user provides very little context, draft from what is available instead of interrogating them.
- 2. Identify the target platform or platforms.
- Prefer platform-specific output over one-size-fits-all copy.
- If the user does not specify, offer versions for:
- X / Twitter
- Facebook
- LinkedIn
- 3. Identify the tone.
- Common tones:
- professional
- casual
- warm
- witty
- promotional
- concise
- If no tone is given, choose the safest reasonable tone for the context.
- 4. Gather source context when the topic benefits from factual grounding.
- For informational, newsy, financial, legal, policy, or technical posts, collect real context first.
- Prefer:
- official summaries
- reputable reporting
- source documents when available
- Pull key facts, recent developments, and the most relevant takeaways before drafting.
- Do not draft a confident explainer from thin context if the topic clearly needs sourcing.
- 5. Decide whether the post needs a visual.
- If the topic is informational, promotional, event-based, or announcement-like, strongly consider pairing it with an image.
- Visual outputs can be:
- use existing image
- suggest image concept
- generate a new social graphic
- write caption around the image
- Treat image selection as part of the publishing workflow, not an afterthought.
- If an image is generated, make sure it becomes a usable asset for publishing:
- capture the generated image path
- save or copy it into an accessible workspace path when needed
- pass that concrete file into the publisher
- 6. Draft multiple options.
- Prefer 2-3 good variants rather than one brittle draft.
- Make each variant meaningfully different:
- hook-first
- straightforward
- friendlier / more conversational
- 7. Build an approval-first package.
- Default behavior is:
- draft copy
- preview image plan
- present final post package
- revise
- publish only after explicit approval
- Do not assume the user wants immediate posting unless they explicitly say so.
- 8. Treat publishing as a separate integration step.
- Drafting and publishing are different actions.
- A post is only publish-ready when all of these are locked:
- final platform
- final text
- final image plan or attachment
- concrete image asset if an image is intended
- explicit user approval
- If platform integrations exist, use them only after approval.
- If integrations do not exist yet, produce a final manual posting package instead of pretending the post was published.
- Do not say an image post is ready if the image is not available as a usable file or attachment.
Output Patterns
Standard drafting output
Use this structure unless the user wants something else:
Platform: [X / Facebook / LinkedIn]
Tone: [tone]
Visual: [existing image / suggested concept / generated graphic / none]
Option 1
[post text]
Option 2
[post text]
Option 3
[post text]
Final approval package
When the user is close to publishing, use:
Platform: [platform]
Final copy:
[final post text]
Image plan:
- - [use attached image / generate graphic / no image]
- [short note on why the image fits]
Image asset:
- - [workspace file path / attached image / missing]
Publish mode:
- - [manual posting package / integration-backed publish]
Reddit posting note (if relevant):
- - [subreddit + text/link post type]
Approval status: Awaiting user approval before publish
Cross-platform adaptation output
When adapting one message to multiple platforms, use:
- - X: shorter, tighter, hook-first, and optionally add 2-4 light hashtags when they genuinely help discovery
- Facebook: more natural and conversational
- LinkedIn: cleaner, more professional, more structured
Image Rules
- - Images should support the message, not just decorate it.
- Prefer clean, readable visuals over cluttered graphics.
- If text appears in the image, keep it short and legible.
- If the user asks for a visual, offer:
- headline concept
- style direction
- image recommendation or generation
- - If the user already has an image, adapt the caption to fit it instead of forcing a new graphic.
Writing Rules
- - Keep claims aligned with the source material.
- When source context is used, anchor the post to the strongest few facts instead of dumping every detail.
- Do not invent achievements, stats, or endorsements.
- Avoid spammy engagement bait unless the user explicitly wants that style.
- Prefer readable, human wording over generic hype.
- Avoid reckless or potentially damaging auto-post language.
- For X, use hashtags lightly:
- usually 2-4 max
- prefer one broad topic tag plus one or two specific tags
- avoid bloated hashtag piles
Safety Rules
- - Treat public posting as higher-risk than private drafting.
- Default to preview/approval before publication.
- Flag wording that sounds defamatory, overly aggressive, obviously misleading, or legally risky.
- Flag images or visual ideas that would make the post look deceptive, sensationalized, or unprofessional.
- If the user asks for direct publishing, confirm the final copy and image plan first unless a trusted automation path is already established.
Good Transformations
This skill is especially good for:
- - turning a long paragraph into short social copy
- turning a link into 2-3 caption options
- turning sourced web/context material into stronger social drafts
- turning an announcement into X/Facebook/LinkedIn variants
- pairing a post with a matching image concept
- rewriting stiff text into something more natural
- drafting replies to comments or mentions
- producing a short campaign batch from one topic
Publishing Integration Roadmap
If publishing integrations are later added, keep this order of operations:
- 1. draft
- revise
- lock final platform + text + image
- confirm approval
- publish or schedule
- report success/failure clearly
Current publishing integrations:
- -
scripts/facebook_publish.py for Facebook Page posting via env-configured credentials - INLINECODE1 for X/Twitter posting via OAuth1 user-context credentials
- INLINECODE2 for Reddit posting to the user's own subreddit via env-configured credentials
- INLINECODE3 to copy a local image into a stable workspace path before publishing
- expected env vars:
-
FACEBOOK_PAGE_ID
-
FACEBOOK_PAGE_ACCESS_TOKEN
-
TWITTER_API_KEY
-
TWITTER_API_SECRET
-
TWITTER_ACCESS_TOKEN
-
TWITTER_ACCESS_TOKEN_SECRET
-
REDDIT_CLIENT_ID
-
REDDIT_CLIENT_SECRET
-
REDDIT_USERNAME
-
REDDIT_PASSWORD
-
REDDIT_USER_AGENT
-
REDDIT_DEFAULT_SUBREDDIT
- Facebook text-only post
- Facebook image + caption post via image URL
- Facebook image + caption post via local image file upload
- X/Twitter text-only post
- X/Twitter image + text post via local image file upload
- Reddit text post to owner's subreddit
- Reddit link post to owner's subreddit
- Reddit image post to owner's subreddit
- - use
--dry-run first when testing
Example image-prep flow:
CODEBLOCK0
Do not collapse these into one vague "post everywhere" action without a final preview.
Weak Spots to Watch
- - Avoid sounding identical across platforms.
- Avoid overusing hashtags.
- Avoid defaulting every post into marketing sludge.
- If source material is thin, keep the post modest instead of faking confidence.
- Do not treat image generation as a substitute for strong copy.
Suggested Next Step Behavior
After drafting, offer one useful next step such as:
- - "Want shorter versions?"
- "Want this rewritten for LinkedIn?"
- "Want me to make it more playful or more professional?"
- "Want me to add an image concept or generate a social graphic?"
- "Want a publish-ready final version with image and caption together?"
社交文案撰写师
概述
使用此技能将粗略想法转化为可发布的社交内容包。默认进行撰写和预览,而非自动发布。将输出单位视为:
当前支持的实时发布渠道包括Facebook页面、X/Twitter,以及面向Reddit的用户自有子版块发布路径。除非用户明确选择其他方式并了解审核风险,Reddit的使用应限于用户自己的子版块。
优化方向:清晰度、语气适配和安全性。
核心工作流程
- 1. 识别素材来源。
- 接受原始想法、链接、公告、产品更新、活动笔记、文章摘要、图片/标题创意或请求的视觉概念。
- 如果用户提供的背景信息很少,则根据现有内容进行撰写,而非反复追问。
- 2. 识别目标平台。
- 优先提供针对特定平台的输出,而非通用文案。
- 如果用户未指定,则提供以下平台的版本:
- X/Twitter
- Facebook
- LinkedIn
- 3. 识别语气风格。
- 常见语气:
- 专业
- 随意
- 温暖
- 风趣
- 促销
- 简洁
- 如果未指定语气,则根据上下文选择最安全合理的语气。
- 4. 当话题需要事实依据时,收集源背景信息。
- 对于信息类、新闻类、金融类、法律类、政策类或技术类帖子,先收集真实背景信息。
- 优先使用:
- 官方摘要
- 可靠报道
- 可用的源文件
- 在撰写前提取关键事实、最新进展和最相关的要点。
- 如果话题明显需要来源依据,不要仅凭薄弱背景撰写自信的解说内容。
- 5. 判断帖子是否需要配图。
- 如果话题是信息类、促销类、活动类或公告类,强烈建议搭配图片。
- 视觉输出可以是:
- 使用现有图片
- 建议图片概念
- 生成新的社交图片
- 围绕图片撰写说明文字
- 将图片选择视为发布工作流程的一部分,而非事后补充。
- 如果生成了图片,确保其成为可用的发布素材:
- 记录生成的图片路径
- 必要时将其保存或复制到可访问的工作空间路径
- 将具体文件传递给发布工具
- 6. 撰写多个选项。
- 优先提供2-3个优质变体,而非单一脆弱的草稿。
- 使每个变体有实质性差异:
- 钩子先行型
- 直截了当型
- 更友好/更对话型
- 7. 构建审批优先的内容包。
- 默认行为是:
- 撰写文案
- 预览图片方案
- 呈现最终帖子包
- 修改
- 仅在获得明确批准后发布
- 除非用户明确说明,否则不要假设用户希望立即发布。
- 8. 将发布视为独立的集成步骤。
- 撰写和发布是不同的操作。
- 只有当以下所有要素都锁定后,帖子才算可发布:
- 最终平台
- 最终文本
- 最终图片方案或附件
- 具体的图片素材(如果计划配图)
- 用户明确批准
- 如果存在平台集成,仅在批准后使用。
- 如果尚不存在集成,则生成最终的手动发布包,而非假装帖子已发布。
- 如果图片不可作为可用文件或附件提供,不要说图片帖子已准备就绪。
输出格式
标准撰写输出
除非用户有其他要求,否则使用此结构:
平台: [X / Facebook / LinkedIn]
语气: [语气]
视觉: [现有图片 / 建议概念 / 生成的图片 / 无]
选项1
[帖子文本]
选项2
[帖子文本]
选项3
[帖子文本]
最终审批包
当用户接近发布时,使用:
平台: [平台]
最终文案:
[最终帖子文本]
图片方案:
- - [使用附件图片 / 生成图片 / 无图片]
- [关于图片为何合适的简短说明]
图片素材:
发布模式:
Reddit发布说明(如相关):
审批状态: 等待用户批准后发布
跨平台适配输出
当将一条信息适配到多个平台时,使用:
- - X: 更短、更紧凑、钩子先行,可选添加2-4个轻量级话题标签(当确实有助于发现时)
- Facebook: 更自然、更对话化
- LinkedIn: 更干净、更专业、更有结构
图片规则
- - 图片应支持信息传达,而非仅仅装饰。
- 优先选择清晰、可读的视觉内容,而非杂乱的图形。
- 如果图片中包含文字,保持简短易读。
- 如果用户要求视觉内容,提供:
- 标题概念
- 风格方向
- 图片建议或生成
- - 如果用户已有图片,调整说明文字以适配图片,而非强行生成新图形。
写作规则
- - 保持主张与源材料一致。
- 使用源背景时,将帖子锚定在最有力的几个事实上,而非倾倒所有细节。
- 不要编造成就、统计数据或背书。
- 除非用户明确要求该风格,否则避免垃圾邮件式的互动诱饵。
- 优先选择可读、人性化的措辞,而非通用炒作。
- 避免鲁莽或可能造成损害的自动发布语言。
- 对于X平台,谨慎使用话题标签:
- 通常最多2-4个
- 优先使用一个广泛话题标签加一两个具体标签
- 避免臃肿的标签堆砌
安全规则
- - 将公开发布视为比私下撰写更高风险。
- 默认在发布前进行预览/审批。
- 标记听起来诽谤性、过于激进、明显误导或存在法律风险的措辞。
- 标记会使帖子看起来具有欺骗性、耸人听闻或不专业的图片或视觉创意。
- 如果用户要求直接发布,先确认最终文案和图片方案,除非已建立可信的自动化路径。
擅长转化场景
此技能特别擅长:
- - 将长段落转化为简短社交文案
- 将链接转化为2-3个标题选项
- 将来源网络/背景材料转化为更强的社交草稿
- 将公告转化为X/Facebook/LinkedIn变体
- 为帖子搭配匹配的图片概念
- 将生硬的文本改写得更自然
- 撰写对评论或提及的回复
- 从一个话题生成短期的活动批次
发布集成路线图
如果后续添加发布集成,请保持此操作顺序:
- 1. 撰写
- 修改
- 锁定最终平台 + 文本 + 图片
- 确认批准
- 发布或排期
- 清晰报告成功/失败
当前发布集成:
- - scripts/facebookpublish.py 用于通过环境配置的凭证发布Facebook页面帖子
- scripts/twitterpublish.py 用于通过OAuth1用户上下文凭证发布X/Twitter帖子
- scripts/redditpublish.py 用于通过环境配置的凭证向用户自己的子版块发布Reddit帖子
- scripts/prepareimage_asset.py 用于在发布前将本地图片复制到稳定的工作空间路径
- 预期环境变量:
- FACEBOOK
PAGEID
- FACEBOOK
PAGEACCESS_TOKEN
- TWITTER
APIKEY
- TWITTER
APISECRET
- TWITTER
ACCESSTOKEN
- TWITTER
ACCESSTOKEN_SECRET
- REDDIT
CLIENTID
- REDDIT
CLIENTSECRET
- REDDIT_USERNAME
- REDDIT_PASSWORD
- REDDIT
USERAGENT
- REDDIT
DEFAULTSUBREDDIT
- Facebook纯文本帖子
- Facebook图片+说明帖子(通过图片URL)
- Facebook图片+说明帖子(通过本地图片文件上传)
- X/Twitter纯文本帖子
- X/Twitter图片+文本帖子(通过本地图片文件上传)
- Reddit文本帖子(发往所有者子版块)
- Reddit链接帖子(发往所有者子版块)
- Reddit图片帖子(发往所有者子版块)
图片准备流程示例:
bash
python3 scripts/prepareimageasset.py /path/to/generated-image.png
python3 scripts/facebook_publish.py --message 您的帖子 --image-file /home/pi