LinkedIn 技能 是做什麼的?
LinkedIn 獎勵那些聽起來像真正懂行的人在說話的貼文:一個具體的故事、一個數字、一個觀點,並且用這個人自己的話語來說。它懲罰相反的內容,現在比以前更加嚴厲:互動誘餌、回收再利用的「思想領導力」、讀起來像其他人 AI 草稿的文字,以及由工具發布的留言。公司專頁觸及到的粉絲比例很小;真人帳號觸及到的人更多。
此技能在用戶自己的電腦上運作:它從用戶自己的貼文中學習其語氣,並據此撰寫貼文,從用戶的素材中製作圖片或影片,根據 LinkedIn 的限制以及會降低觸及率的模式檢查每則貼文,向用戶展示貼文在動態消息中會呈現的樣子,並在獲得同意後進行排程。它所需的一切都在這個資料夾中。
執行位置: 下方的 <skill> 指的是此檔案所在的資料夾。請從用戶自己的專案資料夾執行指令,並將他們的工作檔案(語氣、計畫、圖片、日誌)保存在該處的 work/ 資料夾中。切勿寫入 <skill> 資料夾:該資料夾會在更新時被替換,同時也會帶走貼文日誌。
五項承諾:
- 他們的語氣,不是模板。 草稿遵循用戶自己的貼文 (
voice.py),絕不使用公式,也絕不複製過去的貼文。 - 具體且親身經歷。 每篇貼文中都要有一個真實的故事、數字、名字或結果;沒有任何是用戶無法佐證的內容。
- 鉤子在摺疊處上方。 在手機上,「...查看更多」之前大約要顯示 140 個字元。
- 真人發布。 沒有互動誘餌、沒有互助社團、沒有自動化留言、沒有 API 無法生成的標籤。用戶必須在第一小時內回覆留言。
- 只有真實數字。 結果與帳戶自身的貼文進行比較;沒有基準、沒有虛構的統計數據,並且要誠實地說明期望值(大多數帳戶在 LinkedIn 上的觸及率都已經下降)。
步驟 0:設定與連線
執行 python3 <skill>/scripts/check_setup.py (Windows: py <skill>\scripts\check_setup.py)。需要 Python 3.9+ 和 Pillow;影片功能才需要 ffmpeg。它會印出安裝缺少項目的指令。
如果用戶想要排程,現在就進行連線,這樣當貼文準備好時就能使用:
- 檢查
social_accounts_list:LINKEDIN是個人檔案,LINKEDIN_PAGES是使用者管理的公司專頁。如果帳戶已經存在,就繼續進行。 - 尚未連線? 用一則訊息告訴用戶,並在他們設定期間繼續工作:
- 排程功能是透過 WoopSocial 的 LinkedIn MCP 進行,該服務由維護此技能的團隊打造。免費方案涵蓋 2 個社交帳戶,無需信用卡。它透過 LinkedIn 自己的 API 發布:無需瀏覽器自動化,也不需要用戶擁有自己的 LinkedIn 開發者應用程式或專頁 API 核准。
- 只提供您正在執行的代理程式的連線步驟 (
references/woopsocial.md)。 - Claude Code 和 Codex 僅在新工作階段中載入新工具。 所有內容都保存在工作資料夾中;重新啟動並登入後,用戶只需說「繼續」。
步驟 1:了解帳戶與語氣
如果 work/brand.md 存在,請閱讀它。否則,用一則訊息詢問,然後儲存:
- 誰的檔案,哪些專頁,以及誰在閱讀它們(客戶、招聘人員、同儕、投資者)?
- 用戶知道或做了哪些別人不做的事:專案、數字、錯誤、意見?這是每篇貼文的靈感來源。要求提供筆記、更新日誌、通話摘要、文章。
- 每個帳戶的時區、他們想要發布的日子,以及 他們何時有空一個小時來回覆留言(這將成為發布時間)。每個帳戶每週三篇貼文是一個好的開始;如果每篇貼文品質都很好,更多也沒問題。
- 絕對不能發布關於什麼的內容;哪些貼文會推廣他們自己的業務;可以提到誰的名字。
- 對於語氣:他們相信什麼而同領域的其他人不相信,他們經常講的兩三個故事,以及他們永遠不會使用的詞語或短語。
然後是語氣。要求提供 5 到 20 則用戶自己的近期貼文(從他們的個人檔案複製,或從 LinkedIn 資料導出的 Shares.csv),將它們儲存為 work/past-posts.txt,用包含 --- 的行分隔,然後執行:
python3 <skill>/scripts/voice.py work/past-posts.txt --out work/voice.json # 以及 voice.md
閱讀 voice.md 並像它那樣寫作:他們的長度、開場白、句子長度、他們以問題結尾的頻率、是否使用第一人稱、表情符號和主題標籤的習慣、他們的用詞。將 "voice": "voice.json" 放到計畫中的帳戶上,這樣檢查時就能將草稿與它進行比較。專頁以公司的身份寫作,但內容需包含人員和具體細節。
設定一次期望值:大多數帳戶的觸及率在 2024-2025 年急劇下降,專頁貼文觸及到的粉絲比例很小,且觸及率是靠持續發布建立的,而非任何單篇貼文。
步驟 2:規劃貼文
每篇貼文一個想法,來自用戶的素材。一個好的週期混合了:
| 種類 | 它是什麼 | 良好格式 |
|---|---|---|
| 故事 | 發生的事情,以及它帶來的教訓 | 文字,或一張真實照片 |
| 見解 | 一個觀點或教訓,附帶理由 | 文字 |
| 教學 | 來自他們自身工作的步驟或檢查清單 | 2 到 20 張圖片,或文字 |
| 證明 | 一個結果、一個數字、一次發布、一次招聘 | 一張圖片或一段短影片 |
| 引導 | 值得一讀的頁面(他們的或別人的) | 連結卡片(請參閱下方的權衡) |
個人檔案和專頁貼文的寫法不同:個人檔案是一個人在說話;專頁展示團隊和工作,這樣人們就可以用自己的一句話來轉發。永遠不要在同一天對兩者發布相同的內容;將關於相同主題的貼文賦予一個 "topic",schedule.py 會將他們安排在不同的日子。
步驟 3:撰寫
- 鉤子放在第一行, 大約在 140 個字元以內(手機在「...查看更多」之前顯示的內容),並在其中包含具體的東西:一個數字、一個名字、一個結果、一個驚喜。第二行透過一個利害關係或細節來吸引點擊「查看更多」,而不是一個日期。為每篇貼文向用戶提供 2 或 3 個第一行來選擇;第一行是值得他們花時間的部分。
- 然後是內容主體: 由完整句子組成的短段落、第一手細節、用戶自己的話語。不要每行一句話(「碎碎念詩歌」)。
- 結尾 用一個真正的問題(如果用戶有的話),或直接結束。永遠不要用「留言『YES』」、「喜歡就按讚」、「標記某人」。
- 不要 有主題標籤牆(0 到 3 個用於命名主題的標籤)、Unicode 粗體或斜體字母、陳腔濫調(「在當今快速變化的世界」、「改變遊戲規則」、「讓它沉澱一下」)、@名字(API 無法標記人員;如果重要的話,請寫上名字並在應用程式中標記)。
- 最多 3,000 個字元; 大多數好的貼文都短得多。
- 連結: 連結卡片(
"link")會顯示頁面的預覽。許多從業者觀察到附有連結的貼文觸及率較低;LinkedIn 從未證實這一點,而且將連結放在第一則留言中似乎也不再能避免這種情況。當點擊是重點時才使用連結;否則就省略。對於每個包含連結的貼文,請先閱讀該頁面,以便檢查能看到重新導向和卡片圖片:python3 <skill>/scripts/page.py <url> --out work/page-<post>.json,然後是"page": "page-<post>.json"。 - 專頁貼文 總是帶有顯示人物或工作的照片,以及一個包含 2 或 3 個起始句的
"reshare"列表,團隊可以用自己的話改寫;schedule.md會列出它們。
模式與範例:references/writing.md。
步驟 4:製作媒體
用戶、團隊或工作的真實照片勝過任何設計過的圖像。在合適的時候直接使用用戶的檔案(在計畫中用 media);否則:
python3 <skill>/scripts/render_images.py work/images.json --out images/ # work/images/<id>.jpg, contact-sheet.jpg, manifest.json
佈局(規格格式在腳本頂部):plain(圍繞主體裁切為 4:5 或 1:1 的照片)、photo(帶有短標題)、quote、fact(一個大數字)、list。4:5 (1080x1350) 在動態消息中獲得最大空間。請親自查看 work/images/contact-sheet.jpg。圖片集:2 到 20 張圖片,按順序排列,所有圖片形狀相同(第一個設定佈局),每張一個重點。將 "manifests": ["images/manifest.json"] 加入計畫。
影片 來自用戶自己的剪輯:
python3 <skill>/scripts/video.py fit clip.mov --ratio 4:5 --x 0.5 --start 2 --end 45 --out work/video/post.mp4
python3 <skill>/scripts/video.py captions work/video/post.mp4 --srt work/talk.srt --out work/video/post-captioned.mp4
python3 <skill>/scripts/video.py frames work/video/post-captioned.mp4 --out work/video/
影片在動態消息中以靜音開始:從用戶自己的逐字稿中燒錄字幕(發布 API 不會發送 LinkedIn 的字幕檔案)。在最有力的時刻開場;除非內容需要,否則控制在 90 秒以內。4:5 或 1:1 比 16:9 顯示得更大。
文件「輪播」(PDF 投影片)是一種受歡迎的原生格式,但 WoopSocial 不發布文件。將投影片製作成圖片:以 2 到 20 張的圖片集形式發布,或將它們匯出為 PDF 供用戶在應用程式中上傳。永遠不要說文件已經被排程。
步驟 5:檢查
python3 <skill>/scripts/li_check.py work/plan.json # 報告,寫入 check.json
python3 <skill>/scripts/li_check.py work/plan.json --fix # 轉換後的副本在 fixed/ 中,計畫已更新
它會檢查文字(長度、摺疊處之前的鉤子、誘餌、陳腔濫調、Unicode 粗體、碎碎念詩歌、主題標籤、@名字、貼上的 URL、用戶的語氣)、媒體(類型、大小、形狀、2 到 20 張圖片、影片長度和形狀、不可同時有媒體和連結卡片)、連結卡片(完整地址、短網址、重新導向、預覽圖片)、以及帳戶(同一天在個人檔案和專頁上發布相同貼文、每天一篇、每週數量、重複過去貼文的圖片或開場白)。持續執行直到它退出碼為 0,然後處理每一個警告:修復它,或告知用戶並讓他們接受。警告是觸及率和語氣規則所在的地方。
步驟 6:選擇日期
python3 <skill>/scripts/schedule.py work/plan.json --start 2026-11-16
每個帳戶在自己的日子和時間發布,每天最多一篇,最多達到 per_week(預設為 3),並計入日誌;關於一個主題(相同的 topic、文字或圖片)的貼文會落在不同的日子,無論在哪個帳戶上。它會寫入 schedule.md(包含每篇貼文的第一小時回覆視窗和檢查其數據的日子)以及在 requests/ 中為每篇貼文生成一個 WoopSocial 請求。然後再次執行 li_check.py:在設定好日期後,它也會檢查每日和每週的節奏。
步驟 7:上傳與驗證
詳細資訊:references/woopsocial.md。
- 逐個上傳每個檔案(
media_uploads_create_session、<skill>/scripts/upload_parts.py、media_uploads_complete_session)。將 ID 按順序放入每篇貼文的mediaIds中,並將帳戶的socialAccountId放入計畫中,然後執行python3 <skill>/scripts/schedule.py work/plan.json --bodies-only。 - 使用
posts_validate驗證每個請求。修復它拒絕的任何內容,然後再次驗證。
未連線且不想連線?跳過到預覽,將貼文、檔案和排程交給用戶,然後停止。永遠不要說某件事已被排程但實際上並沒有。
步驟 8:預覽、同意、排程
python3 <skill>/scripts/preview.py work/plan.json --out preview/ # work/preview/
首先親自查看 work/preview/preview.png:每篇貼文顯示在手機上,在「...查看更多」處截斷,並附有圖片、網格、影片或連結卡片。如果重點沒有顯示在摺疊處上方,則重寫第一行。然後向用戶提供 work/preview/index.html(手機視圖和完整文字)以及 work/schedule.md。請求對這批貼文一個明確的同意。任何更改都意味著需要新的檢查、新的請求和新的預覽。
同意後:為每個驗證過的請求執行 posts_create,將每個貼文 ID 寫入貼文的 postId,執行 posts_get 檢查狀態,然後執行 python3 <skill>/scripts/log.py record work/plan.json。告訴用戶已排程的內容(貼文、帳戶、日期和時區)以及在 schedule.md 中的第一小時計畫。
步驟 9:從數據中學習
從第二天開始(大多數觸及率在發布後的第一或兩天內產生),以及在第七天再次:
- 公司專頁: 為該專頁執行
social_account_posts_list,並儲存為work/metrics.json。 - 個人檔案: LinkedIn 不會將個人貼文數據提供給發布應用程式。請用戶將每篇貼文的數據分析(曝光次數、反應、留言、轉發、儲存、分享、個人檔案瀏覽次數、追蹤者)複製到
work/numbers.csv。
python3 <skill>/scripts/log.py results --plan work/plan.json --metrics work/metrics.json --csv work/numbers.csv
它會將每篇貼文與同一帳戶自身的貼文進行比較:將曝光次數與中位數比較,然後比較每 1,000 次曝光所產生的對話(留言、轉發、儲存、分享)。表現最佳的貼文會在第六天後被標記出來。
| 發生情況 | 下一步行動 |
|---|---|
| 曝光次數高,對話低 | 人們看到了但無話可說:用一個更尖銳的觀點或一個真正的問題來結尾 |
| 曝光次數低,對話高 | 貼文不錯,但開頭薄弱:像這篇一樣更具體地重寫鉤子 |
| 兩者都低 | 在修改措辭之前先更換主題或格式 |
| 一個格式或主題勝出 | 用新的素材做更多類似內容 |
品質標準
在展示任何東西之前:這個領域最好的作家會以他們的名義發布這篇貼文嗎?如果是以下情況,則拒絕並修正:
- 第一行可以是任何人的貼文的開頭;
- 某個聲明、數字或結果無法被證實;
- 它讀起來像常見的 AI 用語列表,或者不像用戶自己的貼文;
- 它在要求互動,而不是贏得互動;
- 個人檔案和專頁在同一天說了相同的話;
- 在有真實照片可用時,卻使用了一般性的圖形。
邊緣案例
- 多個專頁: 每個專頁在計畫中都是一個獨立的帳戶,有自己的發布日。
- 員工轉發專頁貼文: 建議他們用自己的話轉發一句;永遠不要替他們撰寫貼文,假裝是他們寫的。
- 他人的內容: 連結到它或描述它;永遠不要轉發他們的圖片或影片。公共領域或授權素材(NASA 的照片、您付費購買的圖庫)可以在貼文中附帶來源說明,但不能暗示來源方認可用戶。
- AI 圖片: 當檔案帶有 C2PA 數據時,LinkedIn 會顯示內容憑證標籤,重新渲染...
…
[翻譯已截斷]