Community寫作與編輯github.com

Bulk CMS Update(批次 CMS 更新)

透過驗證與差異預覽,在 Webflow Collection 中建立或更新多個 CMS 項目。適用於批量新增部落格文章、商品,或一次更新多個項目的欄位。

Bulk CMS Update(批次 CMS 更新) 是什麼?

這項技能讓 AI 助手能批量處理 Webflow CMS 項目,支援建立、更新與發佈操作。它透過結構化的五個階段流程(站點與 Collection 選取、資料收集與解析、驗證與分析、預覽與細粒度審核、執行與回報)來確保資料正確性與使用者掌控性。技能會自動偵測衝突(如重複的 slug、缺少必填欄位、資料型別錯誤),並在執行前顯示詳細的變更差異預覽。使用者可選擇全部處理、只處理特定項目,或完全取消。此外,技能支援立即發佈或儲存為草稿,並提供回滾功能以還原變更。此技能主要透過 Webflow MCP 工具來操作,支援 Claude Code、Coder 等支援 MCP 的 AI 開發平台。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/webflow/webflow-skills/tree/HEAD/plugins/webflow-skills/skills/bulk-cms-update

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Bulk CMS Update(批次 CMS 更新) 是做什麼的?

透過全面的驗證、細粒度審核與回滾功能,建立或更新多個 CMS 項目。

重要注意事項

一律使用 Webflow MCP 工具進行所有操作:

  • 使用 Webflow MCP 的 data_sites_tool,搭配 list_sites 動作列出可用站點
  • 使用 Webflow MCP 的 data_cms_tool,搭配 get_collection_list 動作列出 CMS Collections
  • 使用 Webflow MCP 的 data_cms_tool,搭配 get_collection_details 動作取得 Collection 結構描述
  • 使用 Webflow MCP 的 data_cms_tool,搭配 list_collection_items 動作取得現有項目
  • 使用 Webflow MCP 的 data_cms_tool,搭配 create_collection_items 動作建立項目(草稿或已發佈)
  • 使用 Webflow MCP 的 data_cms_tool,搭配 update_collection_items 動作更新項目(草稿或已發佈)
  • 使用 Webflow MCP 的 data_cms_tool,搭配 publish_collection_items 動作發佈草稿項目
  • 使用 Webflow MCP 的 webflow_guide_tool 在開始前取得最佳實務
  • 請勿使用任何其他工具或方法進行 Webflow 操作
  • 所有工具呼叫都必須包含必要的 context 參數(15–25 字,第三人稱)

操作說明

第一階段:站點與 Collection 選取

  1. 取得站點:識別目標站點。如果使用者未提供站點 ID,請詢問。
  2. 列出 Collections:使用 Webflow MCP 的 data_cms_tool,搭配 get_collection_list 動作顯示可用的 Collections
  3. 請使用者選取 Collection:使用者指定要操作的 Collection
  4. 取得 Collection 結構描述:使用 Webflow MCP 的 data_cms_tool,搭配 get_collection_details 動作取得:
    • 所有欄位定義與類型
    • 必填與選填欄位
    • 欄位驗證規則(最大長度、正規表達式等)
    • 參考欄位的目標

第二階段:資料收集與解析

  1. 詢問操作類型:釐清使用者想要執行的操作:

    • 僅建立新項目
    • 僅更新現有項目
    • 同時建立與更新
  2. 接收使用者資料:接受多種格式的資料:

    • 結構化格式(類似 JSON)
    • 自然語言描述
    • CSV 格式
    • 項目符號列表
  3. 解析與正規化:將使用者資料轉換為結構化格式

  4. 取得現有項目(若涉及更新):使用 Webflow MCP 的 data_cms_tool,搭配 list_collection_items 動作取得目前資料

    重要 – 高效率項目查詢:

    • 當依名稱搜尋特定項目時,一律使用 name 參數進行篩選(例如 name: "Pikachu")
    • 當依 slug 搜尋時,使用 slug 參數進行篩選
    • 切勿先取得所有項目再逐一搜尋結果 – 這會浪費 API 呼叫與 Token
    • 僅在需要顯示所有項目或不清楚目標項目時,才取得完整列表

第三階段:驗證與分析

  1. 驗證所有資料:
    • 欄位名稱:檢查所有欄位名稱是否存在於結構描述中
    • 必填欄位:確認所有必填欄位都已提供
    • 欄位類型:驗證資料類型與結構描述相符
    • 限制條件:檢查最大長度、正規表達式、允許值
    • Slugs:確保 slug 唯一且有效
    • 參考欄位:確認被參考的項目存在
  2. 偵測衝突:
    • 重複的 slug(批次內或與現有項目)
    • 缺少必填欄位
    • 無效的資料類型
    • 違反限制條件
  3. 分析影響:
    • 計算建立 vs 更新的數量
    • 識別哪些欄位會變更
    • 估算批次大小與處理時間

第四階段:預覽與細粒度審核

  1. 產生詳細預覽:
    • 顯示每個項目及其驗證狀態
    • 顯示任何問題的警告
    • 針對更新,顯示差異(舊 → 新)
    • 針對建立,顯示所有欄位值
    • 為每個項目編號,以便選擇性審核
  2. 提供細粒度審核選項:
    • 允許使用者選擇要處理的特定項目
    • 選項:「全部」、「無」、指定編號、編號範圍
    • 顯示預計處理時間
  3. 提供發佈選項:
    • 立即發佈(使用 *_live 端點)
    • 儲存為草稿(使用一般端點 + 手動發佈)

第五階段:執行與回報

  1. 儲存回滾資料:在進行任何變更前,儲存:
    • 所有更新項目的原始值
    • 時間戳記
    • 操作詳細資訊
  2. 分批處理:
    • 每批最多 50 個項目
    • 顯示進度指示器
    • 優雅地處理速率限制
  3. 執行操作:根據使用者選擇,使用適當的 Webflow MCP 工具
  4. 優雅地處理錯誤:
    • 遇到單一項目失敗時繼續處理
    • 分別追蹤成功與失敗
    • 提供詳細的錯誤訊息
  5. 產生全面報告:
    • 摘要(成功/失敗數量)
    • 每個項目的詳細結果
    • 已建立/已更新項目的 ID
    • 失敗項目的錯誤詳細資訊
  6. 提供回滾選項:允許使用者在必要時還原變更

範例

使用者提示:

新增 2 篇關於 Webflow MCP 的部落格文章,並將第一篇部落格標題的「Best」改為「Top」

步驟 1:站點與 Collection 選取

📋 Bulk CMS Update 設定

可用站點:
1. MCP Demo#1
2. MCP Demo#2
3. MCP Demo#3

請選取站點(1–3):

使用者選取:1

在 MCP Demo#1 中的可用 Collections:
└── Blog Posts(9 個項目)
    欄位:name, slug, post-body, post-summary, main-image, thumbnail-image, featured, color

要繼續使用 Blog Posts Collection 嗎?(是/否)

使用者確認:是

步驟 2:資料收集

🔍 Collection 結構描述:Blog Posts

必填欄位:
- name(PlainText,最多 256 字元)
- slug(PlainText,最多 256 字元,僅限字母數字)

選填欄位:
- post-body(RichText)
- post-summary(PlainText)
- main-image(Image)
- thumbnail-image(Image)
- featured(Switch,true/false)
- color(Color,十六進位格式)

我將解析您的請求:
- 建立 2 篇關於 Webflow MCP 的新文章
- 更新第一篇:"Best" → "Top"

正在產生項目...

步驟 3:驗證與預覽

📋 預覽:Bulk CMS Update

Collection:Blog Posts
操作:建立 2 個項目 + 更新 1 個項目

---

### 🆕 要建立的項目(2 個)

[1] ✓ 新文章
    name: "Webflow MCP: The Future of Web Development"
    slug: "webflow-mcp-future-web-development"
    post-summary: "Discover how Webflow MCP is revolutionizing..."
    post-body: "<h1>The Future is Here</h1><p>..."
    featured: true
    color: "#9B59B6"
    ✅ 所有驗證通過

[2] ✓ 新文章
    name: "Why Webflow MCP Will Transform Your Workflow in 2026"
    slug: "webflow-mcp-transform-workflow-2026"
    post-summary: "Learn how Webflow MCP's integration..."
    post-body: "<h1>Transform Your Workflow</h1><p>..."
    featured: true
    color: "#3498DB"
    ✅ 所有驗證通過

---

### ✏️ 要更新的項目(1 個)

[3] ✓ 更新現有項目
    項目 ID:69615f84fc6ce1aa444d24d5
    Slug:why-webflow-is-best-2026-ai

    變更:
      name: "Why Webflow is the Best Choice for 2026" → "Why Webflow is the Top Choice for 2026"

    ✅ 所有驗證通過

---

**摘要:**
- ✅ 將建立 2 個項目
- ✅ 將更新 1 個項目
- ⚠️ 0 個警告
- ❌ 0 個錯誤

**發佈選項:**
1. 立即發佈(建議)
2. 儲存為草稿

您要處理哪些項目?
- 輸入「全部」以處理全部 3 個項目
- 輸入要跳過的編號(例如「2」跳過項目 2)
- 輸入「無」以取消

選取發佈選項 (1/2):_
選取項目:_

使用者選取:1, 全部

⚠️ 您即將:
- 建立 2 篇新部落格文章(已發佈)
- 更新 1 篇現有部落格文章(變更已發佈)

輸入「確認」以繼續。

使用者確認:確認

步驟 4:執行與結果

🔄 正在處理批次更新...

建立項目:██████████ 100% (2/2)
更新項目:██████████ 100% (1/1)

✅ Bulk CMS Update 完成!

---

### 🆕 已建立的項目(2 個)

✓ [1] "Webflow MCP: The Future of Web Development"
      ID:6961640c66de07bed9aacf3e
      Slug:webflow-mcp-future-web-development
      已發佈:2026 年 1 月 9 日,晚上 8:24

✓ [2] "Why Webflow MCP Will Transform Your Workflow in 2026"
      ID:6961640c66de07bed9aacf41
      Slug:webflow-mcp-transform-workflow-2026
      已發佈:2026 年 1 月 9 日,晚上 8:24

---

### ✏️ 已更新的項目(1 個)

✓ [3] "Why Webflow is the Top Choice for 2026"
      ID:69615f84fc6ce1aa444d24d5
      變更:標題已更新
      已發佈:2026 年 1 月 9 日,晚上 8:24

---

**摘要:**
- ✅ 成功建立 2 個項目
- ✅ 成功更新 1 個項目
- ❌ 0 個失敗
- ⏱️ 花費 3.2 秒

**總項目數:** 11(原是 9)

📋 回滾可用:
上次更新:剛剛修改了 3 個項目
在 5 分鐘內輸入「復原」以還原所有變更

替代範例:含驗證警告

📋 預覽:Bulk CMS Update

[1] ⚠️ 新文章
    name: "Test Post"
    slug: "test"
    post-summary: "Hi"
    ⚠️ 警告:post-summary 太短(少於 20 字元)– 可能影響 SEO
    ⚠️ 警告:slug 太過通用 – 考慮使用更具描述性的 slug
    ⚠️ 警告:缺少 post-body – 內容將為空白
    ✅ 已提供必填欄位(可繼續)

[2] ❌ 新文章
    name: "Another Post!!!"
    slug: "another post"
    ❌ 錯誤:slug 包含空格(必須僅包含字母數字與連字號)
    ❌ 錯誤:name 包含不允許的特殊字元
    🔴 無法繼續 – 請先修正錯誤

---

**摘要:**
- ✅ 1 個項目可建立(有警告)
- ❌ 1 個項目有錯誤(無法建立)

修正項目 2 或跳過它?(修正/跳過)

指南

第一階段:關鍵要求

站點與 Collection 選取:

  • 一律使用 data_sites_tool 搭配 list_sites 動作取得實際站點列表
  • 切勿假設站點 ID
  • 顯示 Collection 名稱與項目數量
  • 在接受資料前顯示欄位結構描述
  • 與使用者確認 Collection 選取

第二階段:資料解析

彈性輸入格式: 接受多種格式的資料:

  1. 結構化(類似 JSON):
CREATE:
- name: "Post Title"
  slug: "post-slug"
  featured: true
  1. 自然語言:
"新增一篇名為 'Getting Started'、slug 為 'getting-started' 的部落格文章"
  1. CSV 格式:
name,slug,featured
"Post 1","post-1",true
"Post 2","post-2",false
  1. 項目符號列表:
- Post 1:"Title" (slug: title-slug)
- Post 2:"Another" (slug: another-slug)

解析規則:

  • 對格式變化保持寬容
  • 推斷缺少的選填欄位
  • 在不明確時要求澄清
  • 切勿假設必填欄位的值

高效率項目查詢: 在為更新項目取得現有項目時,使用篩選參數以最小化 API 呼叫:

# 良好做法 – 當知道項目名稱時,依名稱篩選
data_cms_tool(action: "list_collection_items", collection_id, name: "Pikachu")

# 良好做法 – 當知道 slug 時,依 slug 篩選
data_cms_tool(action: "list_collection_items", collection_id, slug: "pikachu")

# 糟糕做法 – 取得所有項目後再逐一搜尋結果
data_cms_tool(action: "list_collection_items", collection_id)  # 傳回 100 個項目
# 然後在結果中手動搜尋 "Pikachu"...
  • 一律在搜尋特定項目時使用 name 或 slug 參數
  • 這可減少 API 呼叫次數、回應大小與 Token 用量
  • 僅在顯示所有項目或目標未知時,才取得未篩選的列表

第三階段:驗證規則

欄位名稱驗證:

  • 檢查所有欄位名稱是否存在於結構描述中
  • 區分大小寫比對
  • 對拼寫錯誤提供修正建議
  • 範例:「autor」→ 您是否指的是「author」?

必填欄位:

  • Webflow CMS 一律需要 name 與 slug
  • 從結構描述檢查特定 Collection 的必填欄位
  • 清楚列出所有缺少的必填欄位
  • 若缺少必填欄位則無法繼續

欄位類型驗證:

PlainText:

  • 檢查最大長度限制
  • 若指定了正規表達式則進行驗證
  • 不允許 HTML

RichText:

  • 必須是有效的 HTML
  • 檢查未閉合的標籤
  • 允許常見的 HTML 元素

Image/File:

  • 接受檔案 ID 或 URL
  • 若可能則驗證檔案是否存在
  • 可選的替代文字

Switch(布林值):

  • 接受:true/false、yes/no、1/0
  • 正規化為布林值

Color:

  • 必須是十六進位格式 #RRGGBB
  • 驗證十六進位字元
  • 範例:#FF5733 ✓、red ✗

參考欄位:

  • 必須參考現有的項目 ID
  • 驗證被參考的項目是否存在
  • 為清楚起見,顯示被參考項目的名稱

Slug 驗證:

  • **關鍵:**只能包含字母數字與連字號
  • 不允許空格、底線或特殊字元
  • 最多 256 字元
  • 必須唯一(檢查現有項目與批次內項目)
  • 若缺少 slug,自動從標題推薦
  • 範例:
    • ❌ "My Post!" → ⚠️ 包含特殊字元
    • ✅ "my-post" → 有效

限制條件驗證:

  • 最大長度:若接近限制則發出警告,若超過則報錯
  • 正規表達式:測試結構描述中的正規表達式模式
  • 允許值:檢查列舉選項

第四階段:預覽與審核

預覽格式:

針對建立操作:

[1] ✓ 新文章
    field1: "value1"
    field2: "value2"
    field3: "value3"
    ✅ 所有驗證通過

針對更新操作:

[2] ✓ 更新現有項目
    項目 ID:xxx
    Slug:existing-slug

    變更:
      field1: "舊值" → "新值"
      field2:(無變更)
      field3: "舊值" → "新值"

    ✅ 所有驗證通過

針對含警告的項目:

[3] ⚠️ 新文章
    name: "Title"
    ⚠️ 警告:缺少選填欄位 'post-body'
    ⚠️ 警告:Slug 可能太過通用
    ✅ 可繼續(僅警告)

針對含錯誤的項目:

[4] ❌ 新文章
    name: "Title!!!"
    slug: "bad slug"
    ❌ 錯誤:slug 包含空格
    ❌ 錯誤:name 包含特殊字元
    🔴 無法繼續 – 必須修正錯誤

細粒度審核:

  • 為每個項目編號:[1]、[2]、[3]...
  • 允許選擇性處理
  • 接受格式:
    • 「全部」 – 處理所有項目
    • 「無」 – 取消操作
    • 「1,3,5」 – 處理項目 1、3 與 5
    • 「1-5」 – 處理項目 1 到 5
    • 「2」 – 僅跳過項目 2,處理其餘項目

發佈選項:

  • 立即發佈:使用 *_live 端點(建議)
  • 草稿模式:使用常規端點 + 手動發佈

第五階段:執行與錯誤處理

API 限制與分批:

  • 所有操作每批最多 50 個項目
  • 若超過限制,自動將操作分割為多批
  • 批次之間等待 1 秒以符合速率限制
  • 顯示進度:[1/3] 正在建立批次...

回滾儲存格式:

{
  "timestamp": "2026-01-09T20:24:00Z",
  "collection": "blog-posts",
  "operations": [
    {"type": "create", "item": {...}},
    {"type": "update", "id": "xxx", "old_values": {...}},
  ]
}

錯誤處理策略:

  • 單一項目失敗不會中斷整個批次
  • 記錄每個錯誤及其上下文
  • 繼續處理剩餘項目
  • 報告成功/失敗摘要
  • 對可重試的錯誤提供重試選項

報告格式:

✅ Bulk CMS Update 完成!

已建立(2):
  ✓ "標題 1" (ID: abc...)
  ✓ "標題 2" (ID: def...)

已更新(1):
  ✓ "帖子 3" (ID: ghi...) – 變更:標題

失敗(0):
  (無)

📋 在 5 分鐘內輸入「復原」以回滾

常見問題

Collection 中有多少個項目? 請先讓我查看可用站點與 Collection。然後我可以為您檢查任何 Collection 中的項目數量與詳細資訊。

您可以新增 50 篇部落格文章嗎? 可以!我會分批次處理(每批最多 50 個),包含完整驗證與審核步驟。請提供資料,我可以接受多種格式:JSON、CSV、列表或自然語言。

什麼是 slug? Slug 是 URL 中友善的、僅使用字母數字與連字號的版本(例如 my-blog-post)。它在 Webflow CMS 中是必填的,必須在 Collection 內唯一。若未提供,我會嘗試從標題自動產生。

如果出現錯誤會怎樣?

  • 驗證問題:我會在預覽中顯示它們,讓您在繼續前修正
  • 執行錯誤:我會處理成功項目、記錄失敗項目,並提供明確的錯誤訊息
  • 所有操作都可在 5 分鐘內回滾

我可以只更新一個欄位嗎? 可以!提供項目名稱或 slug,以及您要變更的欄位。其餘欄位將保持不變。

「立即發佈」與「草稿」有什麼區別?

  • 立即發佈:變更會立即在線上生效
  • 草稿:變更會儲存,但需要透過 Webflow 儀表板或使用 Webflow MCP 的 publish_collection_items 動作手動發佈

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相關技能