DEV Community

Cover image for Agent Skill 開發:用 lets-social 自動將文章轉化為 IG、Threads、FB 社群貼文
Let's Write
Let's Write

Posted on Originally published at letswrite.tw

Agent Skill 開發:用 lets-social 自動將文章轉化為 IG、Threads、FB 社群貼文

本篇要解決的問題

以前流行手寫套件,分享到 GitHub 上讓人取用,而現在,流行的是寫 Skill 了。

因為來自 Google 的流量一直在下降,所以 Let's Write 這陣子建了 InstagramThreads 帳號,增加導流的平台。

只是每個社群都有各自的風格。

為了讓一篇文章出來後,可以針對不同的平台,撰寫不同的貼文,就讓 AI 建立了本篇的 Skill,期待有效的增加本站流量。

這是公開的 Skill,大家可以直接從 GitHub 上下載,安裝方式寫在簡易版的 README.md 中,以下筆記文是把安裝、使用的說明貼上來。

GitHub:https://github.com/letswritetw/lets-social

取用前請給本專案一個星星,你一個小小的動作,對本站都是大大的鼓勵。


lets-social

功用:把一篇文章轉寫成符合 Instagram、Facebook、Threads 與 Telegram 等,符合社群平台特性的貼文內容。

lets-social 是純指令型 Agent Skill。

當我們提供已完成的文章、Markdown、純文字、本機檔案後,Agent 都能讀取的內容,然後先建立一份內部 Source Brief,再針對每個指定平台獨立撰寫發文文字。

Instagram 預設會附上 Nano Banana 2 與 ChatGPT Images 2.0 的可直接使用 prompt。

Threads 只在圖片能補充內容時提供。

它不負責發佈、排程,也不替來源補上未經證實的資料。

所有輸出都必須保留原文的事實、不確定性、立場與作者語氣。


為什麼要用 lets-social?

每個社群平台都有不同的閱讀方式:

  • Facebook 適合補充背景。
  • Threads 適合從一個明確觀察切入。
  • Telegram 則重視資訊密度與掃讀效率。

lets-social 會依平台重新判斷 Hook、資訊順序、語氣與 CTA,不會只把同一份文案改成不同長度。

圖片也採用相同原則:

  • Instagram 預設需要視覺素材。
  • Threads 不會為了湊格式加入裝飾圖。

支援平台

平台 預設輸出 內容重點
Instagram Caption、CTA、可選 Hashtag 或 Carousel、產圖 prompt 手機閱讀、實用價值與配圖
Facebook Post、CTA 背景、寫作動機與作者觀點
Threads 單篇貼文或適合的串文;必要時附產圖 prompt 口語觀察與討論感
Telegram Message、連結位置建議 清楚、易掃讀與資訊密度

運作方式

來源文章
    -> 內部 Source Brief
        -> Instagram 草稿
        -> Facebook 草稿
        -> Threads 草稿
        -> Telegram 草稿
        -> Instagram Image Brief
        -> 可選的 Threads Image Brief
    -> 每份 Image Brief 產生兩個模型的完整 prompt
    -> 來源忠實度與平台差異檢查
    -> Markdown 輸出
Enter fullscreen mode Exit fullscreen mode

每個平台都從同一份 Source Brief 出發,不會拿某個平台的草稿當成另一個平台的輸入。

同一平台的兩份產圖 prompt 使用相同 Image Brief,讓主體、構圖與訊息保持一致。


安裝

Clone 或下載此 repository

再將完整的 lets-social 目錄放到 Agent 支援的 Skill 路徑。

請保留 SKILL.mdreferences/examples/ 的相對位置。

若希望之後能更新,請使用 Git Clone,並直接 Clone 到下列 Skill 路徑,因為下載 ZIP 的安裝方式不會保留 Git 更新紀錄。

Claude Code

安裝為個人 Skill:

git clone https://github.com/letswritetw/lets-social.git ~/.claude/skills/lets-social
Enter fullscreen mode Exit fullscreen mode

Windows 使用者

Git Bash 可以直接用上面的指令,但 PowerShell 和 cmd 不會展開 ~,會在當前目錄建一個名字叫 ~ 的資料夾,所以請改用下面的指令。

PowerShell:

git clone https://github.com/letswritetw/lets-social.git "$HOME/.claude/skills/lets-social"
Enter fullscreen mode Exit fullscreen mode

cmd:

git clone https://github.com/letswritetw/lets-social.git "%USERPROFILE%/.claude/skills/lets-social"
Enter fullscreen mode Exit fullscreen mode

或安裝在單一專案,在專案根目錄執行:

git clone https://github.com/letswritetw/lets-social.git .claude/skills/lets-social
Enter fullscreen mode Exit fullscreen mode

Claude Code 可以依 description 自動選用,也可以用 /lets-social 明確呼叫。

/lets-social 把 ./article.md 轉成 Instagram 與 Threads 貼文。
Enter fullscreen mode Exit fullscreen mode

Codex

安裝為個人 Skill:

git clone https://github.com/letswritetw/lets-social.git ~/.agents/skills/lets-social
Enter fullscreen mode Exit fullscreen mode

Windows 使用者

Git Bash 可以直接用上面的指令。但 PowerShell 和 cmd 不會展開 ~,請改用下面的指令。

PowerShell:

git clone https://github.com/letswritetw/lets-social.git "$HOME/.agents/skills/lets-social"
Enter fullscreen mode Exit fullscreen mode

cmd:

git clone https://github.com/letswritetw/lets-social.git "%USERPROFILE%/.agents/skills/lets-social"
Enter fullscreen mode Exit fullscreen mode

或安裝在單一 repository,在 repository 根目錄執行:

git clone https://github.com/letswritetw/lets-social.git .agents/skills/lets-social
Enter fullscreen mode Exit fullscreen mode

Codex 可以依 description 自動選用,也可以用 $lets-social 明確呼叫。

$lets-social 把 ./article.md 轉成 Instagram 與 Threads 貼文。
Enter fullscreen mode Exit fullscreen mode

其他支援 Agent Skills 的工具

請依工具文件提供的安裝路徑,複製完整的 lets-social 目錄。

此專案遵循 Agent Skills 規格,使用包含 namedescription 的 YAML frontmatter、Markdown 指令本文,以及按需求讀取的 reference 檔案。

安裝後,可以從工具的 Skill 選單呼叫 lets-social,或在提示中直接指定:

使用 lets-social,把這篇文章轉成 Facebook 與 Telegram 貼文。
Enter fullscreen mode Exit fullscreen mode

Agent Skills 規格定義可攜的封裝格式,不負責統一各工具的安裝路徑,也不保證每個工具都支援相同的產品專屬功能。

lets-social 只使用共通 frontmatter 欄位與一般 Markdown 相對連結,降低對單一工具的依賴。


版本與更新

Git 更新(建議)

使用 Git Clone 安裝的使用者,可以依安裝位置執行:

# Claude Code 個人 Skill
git -C ~/.claude/skills/lets-social pull --ff-only

# Codex 個人 Skill
git -C ~/.agents/skills/lets-social pull --ff-only
Enter fullscreen mode Exit fullscreen mode

Windows 使用者

PowerShell 和 cmd 一樣不會展開 ~。Git Bash 可直接使用上面的指令。

PowerShell,Claude Code:

git -C "$HOME/.claude/skills/lets-social" pull --ff-only
Enter fullscreen mode Exit fullscreen mode

PowerShell,Codex:

git -C "$HOME/.agents/skills/lets-social" pull --ff-only
Enter fullscreen mode Exit fullscreen mode

cmd,Claude Code:

git -C "%USERPROFILE%/.claude/skills/lets-social" pull --ff-only
Enter fullscreen mode Exit fullscreen mode

cmd,Codex:

git -C "%USERPROFILE%/.agents/skills/lets-social" pull --ff-only
Enter fullscreen mode Exit fullscreen mode

專案層級或其他 Agent 的安裝位置,請將上面的路徑替換為實際的 lets-social 目錄。

--ff-only 會在本機內容與遠端版本分歧時停止,不會直接覆蓋使用者的修改。

下載 ZIP 或直接複製資料夾的使用者,請重新下載最新版,並以完整目錄取代舊版。

若曾自訂 Skill,請先備份或保留差異。

使用 Skillshare 追蹤(選用)

Skillshare 使用者可以用它安裝並更新:

skillshare install letswritetw/lets-social
skillshare sync
Enter fullscreen mode Exit fullscreen mode

之後檢查與更新:

skillshare check lets-social
skillshare update lets-social
skillshare sync
Enter fullscreen mode Exit fullscreen mode

請不要加 --track

這個 repository 把 SKILL.md 放在根目錄,--track 會改用追蹤模式,把它記成 _lets-social 並回報 0 skills,Skill 不會被 sync 到 Agent 的目錄。

不加 --trackskillshare update 一樣可以更新。

Skillshare 是選用的第三方工具,不是執行 lets-social 的必要相依套件。


使用範例

使用 lets-social,把 article.md 轉成 Instagram、Facebook、
Threads 與 Telegram 貼文。
Enter fullscreen mode Exit fullscreen mode
幫我宣傳這篇技術文章,只做 Threads 和 Telegram。Threads 口語一點,
Telegram 像頻道公告,所有平台都不要 Hashtag。
Enter fullscreen mode Exit fullscreen mode
把這篇文章改寫成 Facebook 宣傳文。保留作者的技術語氣,
CTA 要引導讀者閱讀完整文章。
Enter fullscreen mode Exit fullscreen mode
Instagram 不要產圖 prompt;Threads 這篇要一張配圖。
Enter fullscreen mode Exit fullscreen mode

如果 Agent 無法讀取網址,Skill 會停止產生貼文,並要求你提供文章本文或 Markdown。

它不會假裝已經讀過網頁。


支援的來源

  • 已完成的純文字或 Markdown。
  • 可讀取的本機文章或文件。
  • 目前 Agent 具備網頁讀取能力時可使用網址。
  • 先前由 lets-social 產生的內容,可用於單一平台調整。

來源必須包含足以支撐貼文的文章內容。只有標題或搜尋摘要並不足夠。


產圖 prompt

Instagram 預設在文案後輸出 Image DirectionNano Banana 2 PromptChatGPT Images 2.0 Prompt

兩份 prompt 都是完整內容,可以分別貼進 Gemini 與 ChatGPT,不需要再補文章背景。

Threads 只有在圖片能說明比較、流程、具體物件、空間關係或文章支持的視覺概念時才輸出這三個欄位。純觀點與討論型貼文會保留文字形式。使用者可以明確要求加入或省略圖片 prompt。

每個平台各自建立 Image Brief。

同一平台的兩份 prompt 必須使用相同主體、構圖、圖中文字與排除條件。

視覺風格依文章挑選

不套用單一固定風格。

Skill 會依文章實際內容選一個方向,在 Image Brief 說明選擇理由,並讓同一平台的所有圖片維持同一套風格。

方向 適合的文章
知識圖卡 檢查清單、評估條件、操作步驟
編輯式圖解 架構、資料流、請求生命週期、前後對照
大字海報 單一主張或一個反直覺的結論
終端機或藍圖 底層工程、工具、協定、除錯
插畫場景 團隊流程、職涯、決策

原文若指向更合適的方向,也可以改寫成自訂風格。使用者明確指定風格時以使用者為準。

每份 prompt 都會包含的內容

  • 至少四個具名顏色,並說明每個顏色負責什麼;使用者要求單色時例外。
  • 來源支持的重點短句,直接寫在圖上。
  • 閱讀層級:哪個元素先讀、其次、最後。
  • 足夠的紋理、標註或結構細節,避免變成空泛的素材圖。

圖中文字與字體規則

圖中文字預設為必要,不是選配。

標題一句、重點三到五句、可選的結語一句,全部在 prompt 中逐字列出並指定位置,並要求模型不要輸出其他文字。

每一句都必須是原文支持的說法,不能新增數字、結果或保證。

中文、日文、韓文一律指定清楚精確的粗體無襯線字,不使用手寫、毛筆、書法或做舊效果。

產圖模型處理手寫 CJK 一定會糊,這條規則在所有風格下都成立。裝飾性手寫只用在兩到四個字的英文短語上,並且在 prompt 中明講這個分工。

兩個模型的差別

Nano Banana 2 維持單張,對應 Instagram 的 4:5 封面。

ChatGPT Images 2.0 一次最多可產 10 張,且每張可以承載不同內容,所以它那份 prompt 是一組編號系列:

第 1 張是封面,之後每個重點各一張,可選最後一張放結語或導讀 CTA。

預設為封面加三到五個重點,也就是四到六張。

輸出含 Carousel 大綱時改以大綱為準。整組共用同一個背景、色盤、字體規則與視覺語彙,只有內容改變。

需要單張時,只取第 1 張。

Skill 只撰寫 prompt,不會連線到 Gemini 或 ChatGPT。實際產圖功能與費用依使用者的帳號方案而定。


自訂品牌語氣

預設語氣清楚、專業、容易親近,並以實用與易懂的方式表達技術內容。

原文明確呈現的作者語氣擁有較高優先順序。

我們可以直接用自然語言覆寫設定:

語氣更像個人心得,不要 emoji,不要 Hashtag,技術名詞要精確。
Enter fullscreen mode Exit fullscreen mode

使用者可以調整文風,但不能藉此改變來源事實或加入沒有根據的資訊。


只產生部分平台

只要指定需要的平台:

只產生 Threads 與 Telegram。
Enter fullscreen mode Exit fullscreen mode

後續也能只調整單一平台:

Threads 再短一點,語氣更口語。
Enter fullscreen mode Exit fullscreen mode

Skill 只會修改 Threads,不會重新產生其他平台內容。


專案結構

lets-social/
├── .gitignore
├── SKILL.md
├── README.md
├── README-full.md
├── CHANGELOG.md
├── LICENSE
├── references/
│   ├── instagram.md
│   ├── facebook.md
│   ├── threads.md
│   ├── telegram.md
│   ├── brand-voice.md
│   ├── image-prompts.md
│   └── output-format.md
└── examples/
    ├── input-example.md
    └── output-example.md
Enter fullscreen mode Exit fullscreen mode

repository 不需要 runtime、套件管理工具、建置系統或 API server。

只有實際使用 prompt 產圖時才需要開啟外部產圖服務。

新增其他平台

  1. references/ 新增一份專用文件,定義平台目標、內容判斷、輸出欄位與檢查項目。
  2. SKILL.md 加入平台路由,不要把詳細規則複製回主檔。
  3. references/output-format.md 加入最小且實用的輸出格式。
  4. 補上範例,並確認 Hook、結構、資訊順序與 CTA 都和其他平台不同。

除非需要可重複且具確定性的工具操作,否則請維持純指令結構。

Top comments (0)