Community라이팅 & 에디팅github.com

Bulk CMS Update

Webflow CMS 컬렉션의 여러 아이템을 생성 또는 업데이트하고, 검증 및 변경사항 미리보기를 제공합니다. 여러 블로그 게시물이나 제품을 추가하거나 여러 아이템의 필드를 한 번에 업데이트할 때 사용하세요.

Bulk CMS Update란 무엇인가요?

이 스킬은 Webflow CMS에서 대량의 콘텐츠 아이템을 효율적으로 생성, 업데이트 및 관리할 수 있는 포괄적인 도구입니다. 개발자나 콘텐츠 관리자는 블로그 게시물, 제품, 또는 기타 CMS 컬렉션 아이템을 한 번에 여러 개 추가하거나 수정할 수 있습니다. 주요 기능으로는 유연한 데이터 입력 형식(JSON, 자연어, CSV, 불릿 리스트) 지원, 스키마 기반의 상세한 데이터 검증, 기존 아이템과의 충돌 감지, 변경사항 미리보기(diff 표시), 개별 아이템별 승인 기능, 그리고 롤백 지원이 포함됩니다. 이 스킬은 Webflow MCP 도구만을 사용하여 사이트 및 컬렉션 선택, 데이터 파싱, 검증, 미리보기, 실행, 보고의 5단계 프로세스로 구성됩니다. 특히 아이템 조회 시 이름이나 slug로 필터링하여 API 호출을 최소화하는 효율적인 방식을 강조하며, 최대 50개씩 배치 처리하여 속도 제한을 우아하게 처리합니다. 실행 후에는 상세한 보고서를 제공하고 사용자가 변경을 되돌릴 수 있는 롤백 옵션을 제공합니다.

지원 대상~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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Bulk CMS 업데이트

Webflow CMS 아이템을 포괄적인 검증, 세부 승인 및 롤백 기능과 함께 생성하거나 업데이트합니다.

중요 사항

모든 작업에 Webflow MCP 도구를 항상 사용하세요:

  • 사이트 목록을 보려면 Webflow MCP의 data_sites_tool을 list_sites 액션과 함께 사용하세요
  • CMS 컬렉션 목록을 보려면 Webflow MCP의 data_cms_tool을 get_collection_list 액션과 함께 사용하세요
  • 컬렉션 스키마를 가져오려면 Webflow MCP의 data_cms_tool을 get_collection_details 액션과 함께 사용하세요
  • 기존 아이템을 검색하려면 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단어, 3인칭 시점)를 포함해야 합니다

지침

1단계: 사이트 및 컬렉션 선택

  1. 사이트 가져오기: 대상 사이트를 식별합니다. 사용자가 사이트 ID를 제공하지 않으면 요청하세요.
  2. 컬렉션 나열: Webflow MCP의 data_cms_tool을 get_collection_list 액션과 함께 사용하여 사용 가능한 컬렉션을 표시합니다.
  3. 사용자에게 컬렉션 선택 요청: 사용자가 작업할 컬렉션을 지정합니다.
  4. 컬렉션 스키마 가져오기: Webflow MCP의 data_cms_tool을 get_collection_details 액션과 함께 사용하여 다음을 검색합니다.
    • 모든 필드 정의 및 유형
    • 필수 필드와 선택적 필드
    • 필드 검증(최대 길이, 패턴 등)
    • 참조 필드 대상

2단계: 데이터 수집 및 파싱

  1. 작업 유형 질문: 사용자가 원하는 작업을 명확히 합니다.

    • 새 아이템만 생성
    • 기존 아이템만 업데이트
    • 생성 및 업데이트 모두
  2. 사용자로부터 데이터 수신: 유연한 형식으로 데이터를 수락합니다.

    • 구조화된 형식(JSON 유사)
    • 자연어 설명
    • CSV 스타일 데이터
    • 불릿 리스트
  3. 파싱 및 정규화: 사용자 데이터를 구조화된 형식으로 변환합니다.

  4. 기존 아이템 가져오기(업데이트가 포함된 경우): Webflow MCP의 data_cms_tool을 list_collection_items 액션과 함께 사용하여 현재 데이터를 가져옵니다.

    중요 - 효율적인 아이템 조회:

    • 특정 아이템을 이름으로 검색할 때는 항상 name 매개변수를 사용하여 필터링하세요(예: name: "Pikachu")
    • slug로 검색할 때는 slug 매개변수를 사용하여 필터링하세요
    • 모든 아이템을 먼저 가져온 다음 결과를 검색하지 마세요. 이는 API 호출과 토큰을 낭비합니다.
    • 모든 아이템을 표시해야 하거나 대상 아이템을 모를 때만 전체 목록을 가져오세요.

3단계: 검증 및 분석

  1. 모든 데이터 검증:
    • 필드 이름: 모든 필드 이름이 스키마에 존재하는지 확인합니다.
    • 필수 필드: 모든 필수 필드가 제공되었는지 확인합니다.
    • 필드 유형: 데이터 유형이 스키마와 일치하는지 검증합니다.
    • 제약 조건: 최대 길이, 패턴, 허용 값을 확인합니다.
    • Slug: slug가 고유하고 유효한지 확인합니다.
    • 참조 필드: 참조된 아이템이 존재하는지 확인합니다.
  2. 충돌 감지:
    • 중복 slug(배치 내 또는 기존 아이템과)
    • 누락된 필수 필드
    • 잘못된 데이터 유형
    • 제약 조건 위반
  3. 영향 분석:
    • 생성 vs 업데이트 수 계산
    • 변경될 필드 식별
    • 배치 크기 및 처리 시간 계산

4단계: 미리보기 및 세부 승인

  1. 상세 미리보기 생성:
    • 각 아이템을 검증 상태와 함께 표시
    • 문제에 대한 경고 표시
    • 업데이트의 경우 변경 사항(diff) 표시(이전 → 새로움)
    • 생성의 경우 모든 필드 값 표시
    • 선택적 승인을 위해 각 아이템에 번호 매기기
  2. 세부 승인 옵션 제시:
    • 사용자가 처리할 특정 아이템을 선택할 수 있도록 허용
    • 옵션: "모두", "없음", 특정 번호, 번호 범위
    • 예상 처리 시간 표시
  3. 발행 옵션 제공:
    • 즉시 발행(*_live 엔드포인트 사용)
    • 초안으로 생성(일반 엔드포인트 + 수동 발행 사용)

5단계: 실행 및 보고

  1. 롤백 데이터 저장: 변경 사항을 적용하기 전에 다음을 저장합니다.
    • 업데이트된 모든 아이템의 원래 값
    • 타임스탬프
    • 작업 세부 정보
  2. 배치 처리:
    • 배치당 최대 50개 아이템
    • 진행률 표시기 표시
    • 속도 제한을 우아하게 처리
  3. 작업 실행: 사용자 선택에 따라 적절한 Webflow MCP 도구 사용
  4. 오류를 우아하게 처리:
    • 단일 아이템 실패 시 계속 처리
    • 성공 및 실패를 별도로 추적
    • 상세한 오류 메시지 제공
  5. 종합 보고서 생성:
    • 요약(성공/실패 횟수)
    • 아이템별 상세 결과
    • 생성/업데이트된 아이템의 ID
    • 실패한 아이템의 오류 세부 정보
  6. 롤백 옵션 제공: 필요한 경우 사용자가 변경 사항을 취소할 수 있도록 허용

예제

사용자 프롬프트:

Webflow MCP에 관한 블로그 게시물 2개를 추가하고 첫 번째 블로그의 제목을 "Best"에서 "Top"으로 업데이트해 줘.

1단계: 사이트 및 컬렉션 선택

📋 Bulk CMS 업데이트 설정

사용 가능한 사이트:
1. MCP 데모#1
2. MCP 데모#2
3. MCP 데모#3

사이트를 선택하세요 (1-3):

사용자 선택: 1

MCP 데모#1의 사용 가능한 컬렉션:
└── 블로그 게시물 (9개 아이템)
    필드: name, slug, post-body, post-summary, main-image, thumbnail-image, featured, color

블로그 게시물 컬렉션으로 진행하시겠습니까? (예/아니오)

사용자 확인: 예

2단계: 데이터 수집

🔍 컬렉션 스키마: 블로그 게시물

필수 필드:
- name (PlainText, 최대 256자)
- slug (PlainText, 최대 256자, 영숫자만 가능)

선택적 필드:
- post-body (RichText)
- post-summary (PlainText)
- main-image (Image)
- thumbnail-image (Image)
- featured (Switch, true/false)
- color (Color, 16진수 형식)

요청을 파싱합니다:
- Webflow MCP에 관한 새 게시물 2개 생성
- 첫 번째 게시물 업데이트: "Best" → "Top"

아이템 생성 중...

3단계: 검증 및 미리보기

📋 미리보기: Bulk CMS 업데이트

컬렉션: 블로그 게시물
작업: 아이템 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 업데이트 완료!

---

### 🆕 생성된 아이템 (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 업데이트

[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를 수정하거나 건너뛰시겠습니까? (수정/건너뛰기)

지침

1단계: 필수 요구 사항

사이트 및 컬렉션 선택:

  • 항상 data_sites_tool을 list_sites 액션과 함께 사용하여 실제 사이트 목록을 가져오세요.
  • 사이트 ID를 추정하지 마세요.
  • 컬렉션 이름과 아이템 수를 표시하세요.
  • 데이터를 받기 전에 필드 스키마를 표시하세요.
  • 사용자와 컬렉션 선택을 확인하세요.

2단계: 데이터 파싱

유연한 입력 형식: 여러 형식으로 데이터를 수락합니다.

  1. 구조화된 형식 (JSON 유사):
생성:
- 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. 불릿 리스트:
- 게시물 1: "Title" (slug: title-slug)
- 게시물 2: "Another" (slug: another-slug)

파싱 규칙:

  • 형식 변형에 관대합니다.
  • 누락된 선택적 필드는 추론합니다.
  • 모호한 경우 명확히 질문합니다.
  • 필수 필드 값을 추정하지 마세요.

효율적인 아이템 조회: 업데이트할 기존 아이템을 가져올 때 필터 매개변수를 사용하여 API 호출을 최소화하세요.

# 좋음 - 아이템 이름을 알 때 이름으로 필터링
webflow_data_cms_tool(action: "list_collection_items", collection_id, name: "Pikachu")

# 좋음 - slug를 알 때 slug로 필터링
webflow_data_cms_tool(action: "list_collection_items", collection_id, slug: "pikachu")

# 나쁨 - 모든 아이템을 가져온 다음 결과를 검색
webflow_data_cms_tool(action: "list_collection_items", collection_id)  # 100개 아이템 반환
# 그런 다음 결과에서 "Pikachu" 수동 검색...
  • 특정 아이템을 검색할 때는 항상 name 또는 slug 매개변수를 사용하세요.
  • 이렇게 하면 API 호출, 응답 크기 및 토큰 사용량이 줄어듭니다.
  • 모든 아이템을 표시하거나 대상을 알 수 없는 경우에만 필터링되지 않은 목록을 가져오세요.

3단계: 검증 규칙

필드 이름 검증:

  • 모든 필드 이름이 스키마에 존재하는지 확인하세요.
  • 대소문자를 구분하여 일치시킵니다.
  • 오타에 대한 수정 제안을 표시합니다.
  • 예: "autor" → "author"를 의미합니까?

필수 필드:

  • Webflow CMS의 경우 name과 slug는 항상 필수입니다.
  • 스키마에서 컬렉션별 필수 필드를 확인하세요.
  • 누락된 모든 필수 필드를 명확하게 나열하세요.
  • 필수 필드가 누락된 경우 진행할 수 없습니다.

필드 유형 검증:

PlainText:

  • 최대 길이 제약 조건 확인
  • 지정된 패턴 검증
  • HTML 허용 안 됨

RichText:

  • 유효한 HTML이어야 함
  • 닫히지 않은 태그 확인
  • 일반적인 HTML 요소 허용

Image/File:

  • 파일 ID 또는 URL 허용
  • 가능한 경우 파일 존재 확인
  • 대체 텍스트는 선택 사항

Switch (Boolean):

  • 수락: true/false, yes/no, 1/0
  • 부울로 정규화

Color:

  • 16진수 형식이어야 함 (#RRGGBB)
  • 16진수 문자 검증
  • 예: #FF5733 ✓, red ✗

참조 필드:

  • 기존 아이템 ID를 참조해야 함
  • 참조된 아이템이 존재하는지 확인
  • 명확성을 위해 참조된 아이템 이름 표시

Slug 검증:

  • 중요: 하이픈만 있는 영숫자여야 함
  • 공백, 밑줄 또는 특수 문자 없음
  • 최대 256자
  • 고유해야 함(기존 + 배치 확인)
  • 누락된 경우 제목에서 slug 자동 제안
  • 예:
    • ❌ "My Post!" → ⚠️ 특수 문자 포함
    • ✅ "my-post" → 유효함

제약 조건 검증:

  • 최대 길이: 제한에 가까우면 경고, 초과하면 오류
  • 패턴: 스키마의 정규식 패턴 테스트
  • 허용 값: 열거된 옵션과 비교

4단계: 미리보기 및 승인

미리보기 형식:

생성 작업의 경우:

[1] ✓ 새 게시물
    field1: "value1"
    field2: "value2"
    field3: "value3"
    ✅ 모든 검증 통과

업데이트 작업의 경우:

[2] ✓ 기존 아이템 업데이트
    아이템 ID: xxx
    Slug: existing-slug

    변경 사항:
      field1: "old value" → "new value"
      field2: (변경 없음)
      field3: "old" → "new"

    ✅ 모든 검증 통과

경고가 있는 아이템의 경우:

[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 엔드포인트 사용 (권장)
  • 초안 모드: 일반 엔드포인트 사용, 나중에 수동 발행 필요

5단계: 실행 및 오류 처리

API 호출:

  • Webflow MCP 도구만 사용하세요.
  • 각 API 호출에 필수 context 매개변수 포함
  • 배치당 최대 50개 아이템 처리
  • 비율 제한을 우아하게 처리 (필요시 지연)

오류 처리:

  • 오류가 있는 아이템 건너뛰고 계속
  • 성공 및 실패를 별도로 추적
  • 실패한 아이템에 대한 명확한 오류 메시지 제공
  • 오류에도 불구하고 완료 시 요약 표시

롤백:

  • 모든 업데이트 전에 원래 값을 저장
  • 최소 5분 동안 롤백 옵션 제공
  • "실행 취소" 명령 시 모든 변경 사항 되돌리기
  • 아이템 ID를 사용하여 정확한 롤백 보장

모범 사례

데이터 파싱

  • 제공된 데이터의 의도 파악에 집중하세요.
  • 사용자가 전체 데이터를 제공한 경우에만 데이터 보강
  • 값비싼 API를 호출하기 전에 데이터를 완전히 검증하세요.
  • 필요한 경우에만 기존 아이템을 가져오세요.

사용자 경험

  • 예상되는 내용에 대한 명확한 미리보기 제공
  • 진행 상황을 명확하게 표시
  • 건설적인 오류 메시지 제공
  • 영향을 미치는 변경 사항에 대해 되돌리기 옵션 제공
  • 방해가 되지 않도록 경고에 집중하고 오류는 명확히 하세요.

Individual skills in this repo

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

관련 스킬