cms-collection-setup by webflow/webflow-skills
npx skills add https://github.com/webflow/webflow-skills --skill cms-collection-setup创建具有自定义字段、关系和适当配置的新 CMS 集合。
始终使用 Webflow MCP 工具进行所有操作:
webflow_guide_tool 获取最佳实践data_sites_tool 并执行 list_sites 操作来识别可用站点data_sites_tool 并执行 get_site 操作来检索站点详情和计划限制data_cms_tool 并执行 get_collection_list 操作来检查命名冲突data_cms_tool 并执行 操作来创建集合广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
create_collectiondata_cms_tool 并执行 create_collection_static_field 操作来创建静态字段data_cms_tool 并执行 create_collection_option_field 操作来创建选项字段data_cms_tool 并执行 create_collection_reference_field 操作来创建引用/多引用字段data_cms_tool 并执行 get_collection_details 操作来验证集合是否正确创建context 参数(15-25 个单词,第三人称视角)data_sites_tool 并执行 list_sites 操作来识别目标站点data_sites_tool 并执行 get_site 操作来验证集合限制data_cms_tool 并执行 get_collection_list 操作来检查冲突data_cms_tool 并执行 create_collection 操作,提供:
data_cms_tool 并执行 create_collection_static_field 操作data_cms_tool 并执行 create_collection_option_field 操作data_cms_tool 并执行 create_collection_reference_field 操作data_cms_tool 并执行 get_collection_details 操作来检索完整模式PlainText - 短文本(最多 256 个字符)或长文本
RichText - 带 HTML 的格式化文本
Email - 电子邮件地址
Phone - 电话号码
Link - 外部 URL 或内部链接
Number - 数值
Image - 单张图片
MultiImage - 多张图片(最多 25 张)
File - 文件上传
Video - 视频嵌入(YouTube/Vimeo)
DateTime - 日期和/或时间
Switch - 布尔值(真/假)
Color - 颜色值
Option - 从预定义列表中选择一项
data_cms_tool 并执行 create_collection_option_field 操作,提供 options 数组示例:
{
"type": "Option",
"displayName": "Status",
"metadata": {
"options": [
{"name": "Draft"},
{"name": "In Review"},
{"name": "Published"}
]
}
}
Reference - 链接到另一个集合中的一个项目(一对多)
data_cms_tool 并执行 create_collection_reference_field 操作,提供 collectionIdMultiReference - 链接到另一个集合中的多个项目(多对多)
data_cms_tool 并执行 create_collection_reference_field 操作,提供 collectionId引用字段示例:
{
"type": "Reference",
"displayName": "Author",
"metadata": {
"collectionId": "abc123..."
}
}
多引用字段示例:
{
"type": "MultiReference",
"displayName": "Tags",
"metadata": {
"collectionId": "xyz789..."
}
}
用户提示:
Create a Blog Posts collection with title, content, author, and publish date
步骤 1:发现
🔍 CMS 集合设置
可用站点:
1. Company Website
2. Blog Site
选择哪个站点? (1/2)
步骤 2:用户选择站点后
📊 Company Website 上的现有集合:
当前:0 个集合
计划限制:20 个集合(CMS 计划)
✅ 您有能力创建新集合。
---
📋 集合需求
显示名称:Blog Posts
单数名称:Blog Post
别名:blog-posts(自动生成)
要创建的字段:
1. Title - Text(必填)
2. Content - Rich Text(必填)
3. Author - Text
4. Publish Date - Date/Time(必填)
是否正确? (yes/no)
如果您想添加/修改字段,请描述更改。
步骤 3:预览
📋 预览:创建 "Blog Posts" 集合
集合:
├── 显示名称:Blog Posts
├── 单数名称:Blog Post
├── 别名:blog-posts
└── 站点:Company Website
字段(共 6 个):
├── name (PlainText, 必填) ← 自动创建
├── slug (PlainText, 必填) ← 自动创建
├── title (PlainText, 必填)
├── content (RichText, 必填)
├── author (PlainText)
└── publish-date (DateTime, 必填)
✅ 验证通过:
- 集合名称可用
- 在计划限制内(0/20 个集合)
- 所有字段类型有效
- 无依赖性问题
⚠️ 输入 "create" 继续。
步骤 4:创建
🔄 正在创建集合...
✅ 集合已创建:Blog Posts (ID: 64f1a2b3...)
正在添加字段...
├── ✅ title (PlainText)
├── ✅ content (RichText)
├── ✅ author (PlainText)
└── ✅ publish-date (DateTime)
进度:████████████████████ 100% (4/4 个字段)
🎉 集合设置完成!
集合:Blog Posts
ID:64f1a2b3...
字段:6 个(2 个自动创建 + 4 个自定义)
---
💡 后续步骤:
1. 使用 bulk-cms-update 添加初始博客文章
2. 在 Designer 中创建集合模板页面
3. 为博客索引设置集合列表页面
4. 为动态页面配置 SEO 设置
用户提示:
Create a Products collection with name, price, description, images, brand, and tags
步骤 1:初步收集后
📋 集合分析
我看到您需要:
- Brand:这应该是一个引用字段
- Tags:这应该是一个多引用字段
这需要首先创建额外的集合:
1. Brands 集合
2. Tags 集合
然后我们才能创建引用它们的 Products。
您希望我:
A) 创建所有三个集合(Brands、Tags、Products)
B) 仅创建 Products(您稍后再添加关系)
C) 修改需求
您的选择? (A/B/C)
步骤 2:用户选择 "A" 后
📋 预览:创建 3 个集合
---
### 1. Brands 集合
字段(共 4 个):
├── name (PlainText, 必填) ← 自动
├── slug (PlainText, 必填) ← 自动
├── logo (Image)
└── description (PlainText)
---
### 2. Tags 集合
字段(共 3 个):
├── name (PlainText, 必填) ← 自动
├── slug (PlainText, 必填) ← 自动
└── color (Color)
---
### 3. Products 集合
字段(共 9 个):
├── name (PlainText, 必填) ← 自动
├── slug (PlainText, 必填) ← 自动
├── price (Number, 必填)
├── description (RichText)
├── images (MultiImage)
├── brand (Reference → Brands)
└── tags (MultiReference → Tags)
---
创建顺序:
1. Brands(无依赖)
2. Tags(无依赖)
3. Products(引用 1 和 2)
✅ 验证:
- 所有集合名称可用
- 在计划限制内(0/20 个集合)
- 多引用数量:1/5 ✅
- 所有依赖项可解析
⚠️ 输入 "create" 继续创建所有 3 个集合。
步骤 3:创建
🔄 正在创建集合...
[1/3] 正在创建 Brands...
✅ Brands 集合已创建 (ID: abc123...)
├── ✅ logo (Image)
└── ✅ description (PlainText)
[2/3] 正在创建 Tags...
✅ Tags 集合已创建 (ID: def456...)
└── ✅ color (Color)
[3/3] 正在创建 Products...
✅ Products 集合已创建 (ID: ghi789...)
├── ✅ price (Number)
├── ✅ description (RichText)
├── ✅ images (MultiImage)
├── ✅ brand (Reference → Brands)
└── ✅ tags (MultiReference → Tags)
进度:████████████████████ 100% (3/3 个集合)
🎉 所有集合已创建!
摘要:
├── Brands (ID: abc123..., 4 个字段)
├── Tags (ID: def456..., 3 个字段)
└── Products (ID: ghi789..., 9 个字段)
---
💡 后续步骤:
1. 首先添加品牌项目(使用 bulk-cms-update)
2. 添加标签项目(使用 bulk-cms-update)
3. 然后添加带有品牌/标签引用的产品
4. 在 Designer 中创建集合页面
用户提示:
Create a Team Members collection with name, role (dropdown: Designer, Developer, Manager), bio, photo, email
步骤 1:预览
📋 预览:创建 "Team Members" 集合
集合:
├── 显示名称:Team Members
├── 单数名称:Team Member
└── 别名:team-members
字段(共 7 个):
├── name (PlainText, 必填) ← 自动
├── slug (PlainText, 必填) ← 自动
├── role (Option, 必填)
│ 选项:
│ ├── Designer
│ ├── Developer
│ └── Manager
├── bio (RichText)
├── photo (Image)
└── email (Email)
✅ 验证通过
⚠️ 输入 "create" 继续。
步骤 2:创建
🔄 正在创建集合...
✅ 集合已创建:Team Members (ID: jkl012...)
正在添加字段...
├── ✅ role (Option: 3 个选项)
├── ✅ bio (RichText)
├── ✅ photo (Image)
└── ✅ email (Email)
进度:████████████████████ 100% (4/4 个字段)
🎉 集合设置完成!
集合:Team Members
字段:6 个(2 个自动 + 4 个自定义)
字段详情:
- role:包含 3 个选择的选项字段
• Designer
• Developer
• Manager
---
💡 后续步骤:
1. 添加团队成员项目
2. 在 Designer 中创建团队页面
3. 考虑添加:
- LinkedIn 个人资料(Link 字段)
- 工作经验年限(Number 字段)
- 专业领域(MultiReference 到 Skills 集合)
用户提示:
Create an e-commerce setup with Products, Categories, Brands, and Features
步骤 1:需求澄清
📋 电子商务集合规划
我将创建 4 个集合:
1. **Categories** - 产品类别
2. **Brands** - 产品品牌
3. **Features** - 产品特性(例如,"防水"、"无线")
4. **Products** - 主要产品目录
关系:
- Product → Category(引用)
- Product → Brand(引用)
- Product → Features(多引用)
每个集合的字段:
**Categories:**
- Name, Slug(自动)
- Description
- Parent Category(用于层次结构的自引用)
- Icon
**Brands:**
- Name, Slug(自动)
- Logo
- Description
**Features:**
- Name, Slug(自动)
- Icon
- Description
**Products:**
- Name, Slug(自动)
- Price
- Sale Price
- Description
- Images (MultiImage)
- Category (Reference → Categories)
- Brand (Reference → Brands)
- Features (MultiReference → Features)
- In Stock (Switch)
- SKU (PlainText)
这个结构可以吗? (yes/modify/cancel)
步骤 2:预览(用户说 "yes")
📋 预览:创建电子商务集合
---
### 集合 1:Categories
字段(共 5 个):
├── name (PlainText, 必填)
├── slug (PlainText, 必填)
├── description (PlainText)
├── parent-category (Reference → Categories) ← 自引用
└── icon (Image)
---
### 集合 2:Brands
字段(共 4 个):
├── name (PlainText, 必填)
├── slug (PlainText, 必填)
├── logo (Image)
└── description (PlainText)
---
### 集合 3:Features
字段(共 4 个):
├── name (PlainText, 必填)
├── slug (PlainText, 必填)
├── icon (Image)
└── description (PlainText)
---
### 集合 4:Products
字段(共 12 个):
├── name (PlainText, 必填)
├── slug (PlainText, 必填)
├── price (Number, 必填)
├── sale-price (Number)
├── description (RichText)
├── images (MultiImage)
├── category (Reference → Categories)
├── brand (Reference → Brands)
├── features (MultiReference → Features)
├── in-stock (Switch)
└── sku (PlainText)
---
创建顺序:
1. Categories(自引用没问题)
2. Brands(无依赖)
3. Features(无依赖)
4. Products(引用 1, 2, 3)
✅ 验证:
- 在计划限制内(0/20 个集合)
- 多引用数量:1/5 ✅
- 所有字段类型有效
- 支持自引用
⚠️ 输入 "create" 继续创建所有 4 个集合。
步骤 3:带进度的创建
🔄 正在创建电子商务集合...
[1/4] 正在创建 Categories...
✅ Categories 已创建 (ID: aaa111...)
进度:████████░░░░░░░░░░░░ 25%
[2/4] 正在创建 Brands...
✅ Brands 已创建 (ID: bbb222...)
进度:████████████░░░░░░░░ 50%
[3/4] 正在创建 Features...
✅ Features 已创建 (ID: ccc333...)
进度:████████████████░░░░ 75%
[4/4] 正在创建 Products...
✅ Products 已创建 (ID: ddd444...)
进度:████████████████████ 100%
---
🎉 电子商务设置完成!
已创建的集合(4 个):
├── Categories (ID: aaa111..., 5 个字段)
├── Brands (ID: bbb222..., 4 个字段)
├── Features (ID: ccc333..., 4 个字段)
└── Products (ID: ddd444..., 12 个字段)
已配置的关系:
- Products → Categories(一对多)
- Products → Brands(一对多)
- Products → Features(多对多)
- Categories → Parent Category(自引用)
---
💡 推荐的内容顺序:
1. 首先添加类别(包括父级关系)
2. 添加品牌
3. 添加特性
4. 最后添加产品(包含所有引用)
💡 后续步骤:
1. 使用 bulk-cms-update 添加初始数据
2. 创建产品模板页面
3. 创建带过滤器的产品列表页面
4. 设置类别着陆页
5. 配置电子商务集成
站点选择:
sites_list 获取可用站点计划限制检查:
在创建前检查限制:
- Starter:1 个集合,50 个项目
- Basic:2 个集合,200 个项目
- CMS:20 个集合,2,000 个项目
- Business:40 个集合,10,000 个项目
- Enterprise:自定义
如果接近限制,请警告用户。
命名冲突预防:
显示名称与单数名称:
显示名称:在 CMS 中显示的复数形式
单数名称:单个项目的单数形式
示例:
- 显示:"Blog Posts" → 单数:"Blog Post"
- 显示:"Team Members" → 单数:"Team Member"
- 显示:"Products" → 单数:"Product"
- 显示:"Categories" → 单数:"Category"
字段命名约定:
✅ 好的名称:
- author-name(描述性,带连字符)
- publish-date(目的明确)
- featured-image(指定是哪个)
- main-content(说明用途)
❌ 不好的名称:
- text1(无意义)
- field(太笼统)
- data(不明确)
- img(哪张图片?)
检测关系:
如果用户说:
"... with author" → 可能是引用字段
"... with tags" → 可能是多引用字段
"... with category" → 可能是引用字段
"... with related products" → 可能是多引用字段
询问澄清问题:
- [author] 在各个项目中是否相同? → 引用
- 项目可以有多个 [tags] 吗? → 多引用
- 您有 [Categories] 集合吗? → 检查是否存在
字段类型验证:
常见的字段类型映射:
用户说... → 字段类型:
"title"、"name" → PlainText
"description"、"summary" → PlainText(长文本)
"content"、"bio"、"article" → RichText
"photo"、"image"、"thumbnail" → Image
"gallery"、"photos" → MultiImage
"document"、"PDF"、"file" → File
"video" → Video
"link"、"URL"、"website" → Link
"email" → Email
"phone"、"mobile" → Phone
"price"、"cost"、"amount" → Number
"date"、"published"、"deadline" → DateTime
"featured"、"active"、"published" → Switch
"status"、"type"、"category" → Option(如果是固定选择)
"color"、"theme" → Color
多引用限制检查:
统计请求的多引用字段:
如果 > 5:
⚠️ 警告:超出集合限制
Webflow 允许每个集合最多 5 个多引用字段。
您请求了:7 个多引用字段
选项:
1. 选择 5 个最重要的关系
2. 将一些转换为引用字段(一对多)
3. 创建桥接集合
4. 使用选项字段进行简单分类
您倾向于哪种?
依赖关系解析:
对于引用字段:
1. 检查被引用的集合是否存在
2. 如果不存在,则添加到创建队列
3. 按正确顺序创建
示例:
Products 需要:
- Categories 集合(首先创建)
- Brands 集合(首先创建)
然后创建 Products
完整预览格式:
📋 预览:创建 "[Collection Name]"
集合详情:
├── 显示名称:[Name]
├── 单数名称:[Singular]
├── 别名:[slug]
└── 站点:[Site Name]
字段(共 [X] 个):
├── name (PlainText, 必填) ← 自动创建
├── slug (PlainText, 必填) ← 自动创建
├── [field-1] ([Type], [必填/可选])
├── [field-2] ([Type], [必填/可选])
│ [如果是 Option 或 Reference,则显示附加信息]
└── [field-n] ([Type], [必填/可选])
关系:
├── [field] → [Collection] (Reference)
└── [field] → [Collection] (MultiReference)
✅ 验证结果:
- 集合名称可用:是
- 在计划限制内:X/Y 个集合
- 多引用数量:X/5
- 所有字段类型有效:是
- 依赖项已解析:是
⚠️ 输入 "create" 继续。
验证检查:
在显示预览之前:
1. ✅ 集合名称可用
2. ✅ 在计划集合限制内
3. ✅ 所有字段类型受支持
4. ✅ 多引用限制 ≤ 5
5. ✅ 被引用的集合存在或已排队
6. ✅ 无循环依赖
7. ✅ 字段名称遵循约定
集合创建:
必填字段:
- displayName(必填)
- singularName(必填)
- slug(可选,如果省略则自动生成)
始终包含两个名称以确保清晰:
✅ {"displayName": "Blog Posts", "singularName": "Blog Post"}
❌ {"displayName": "Blog Posts"}(缺少单数名称)
错误处理:
如果集合创建失败:
❌ 集合创建失败
错误:[来自 API 的错误消息]
常见原因:
- 集合名称已存在
- 名称/别名中包含无效字符
- 达到计划限制
- API 身份验证问题
您希望:
1. 尝试不同的集合名称
2. 检查现有集合
3. 升级计划
4. 取消操作
字段创建顺序:
按此顺序创建字段:
1. 静态字段(Text、Rich Text、Number 等)
2. 选项字段(已定义选项)
3. 引用字段(在被引用的集合存在之后)
对于每个字段:
- 设置 displayName
- 设置 isRequired 标志
- 如果用户提供了帮助文本,则添加 helpText
- 如果适用,设置验证规则
字段创建工具:
字段类型 → 使用的工具:
PlainText、RichText、Email、Phone、Link、Number、
Image、MultiImage、File、Video、DateTime、Switch、Color
→ collection_fields_create_static
Option
→ collection_fields_create_option
(需要 metadata.options 数组)
Reference、MultiReference
→ collection_fields_create_reference
(需要 metadata.collectionId)
进度报告:
对于每个已创建的字段:
✅ [field-name] ([FieldType])
如果字段失败:
❌ [field-name] - [错误消息]
即使一个字段失败,也继续处理剩余字段。
最后报告所有失败。
选项字段创建:
{
"type": "Option",
"displayName": "Status",
"isRequired": false,
"metadata": {
"options": [
{"name": "Draft"},
{"name": "Published"},
{"name": "Archived"}
]
}
}
注意:
- 选项具有 name 属性
- 选项不能有 ID(自动生成)
- 至少需要 2 个选项
- 最多:无限制
引用字段创建:
{
"type": "Reference",
"displayName": "Author",
"isRequired": true,
"metadata": {
"collectionId": "abc123..."
}
}
对于 MultiReference:
{
"type": "MultiReference",
"displayName": "Tags",
"metadata": {
"collectionId": "def456..."
}
}
注意:
- 必须提供被引用集合的 collectionId
- 被引用的集合必须已存在
- 每个集合最多 5 个 MultiReference 字段
创建后验证:
创建集合和字段后:
1. 使用 data_cms_tool 并执行 get_collection_details 操作,提供集合 ID
2. 验证所有字段都存在
3. 检查字段属性是否符合请求
4. 确认关系配置正确
最终报告格式:
🎉 集合设置完成!
集合:[Name]
ID:[collection-id]
别名:[slug]
已创建的字段([X] 个):
├── name (PlainText, 必填) ← 自动
├── slug (PlainText, 必填) ← 自动
├── [field-1] ([Type])
├── [field-2] ([Type])
└── [field-n] ([Type])
[如果存在关系]
关系:
├── [field] → [Collection]
└── [field] → [Collection]
[如果有任何失败]
⚠️ 失败的字段([Y] 个):
├── [field]: [error]
└── [field]: [error]
---
💡 后续步骤:
[根据集合类型提供相关建议]
后续步骤建议:
对于任何集合:
1. 使用 bulk-cms-update 添加初始项目
2. 在 Designer 中创建集合模板页面
3. 创建集合列表页面
4. 配置 SEO 设置
对于包含关系的集合:
5. 首先创建被引用的集合
6. 按依赖顺序添加项目
7. 测试关系显示
对于电子商务:
5. 设置支付集成
6. 配置库存管理
7. 创建结账流程
常见错误:
1. 集合名称冲突:
❌ 集合已存在
此站点上已存在名为 "Blog Posts" 的集合。
现有集合:
- 名称:Blog Posts
- ID:xyz789...
- 创建时间:2025-12-15
您希望:
1. 选择不同的名称
2. 查看现有集合
3. 向现有集合添加
Create a new CMS collection with custom fields, relationships, and proper configuration.
ALWAYS use Webflow MCP tools for all operations:
webflow_guide_tool to get best practices before startingdata_sites_tool with action list_sites to identify available sitesdata_sites_tool with action get_site to retrieve site details and plan limitsdata_cms_tool with action get_collection_list to check for naming conflictsdata_cms_tool with action create_collection to create the collectiondata_cms_tool with action create_collection_static_field to create static fieldsdata_cms_tool with action create_collection_option_field to create option fieldsdata_cms_tool with action create_collection_reference_field to create reference/multi-reference fieldsdata_cms_tool with action get_collection_details to verify collection was created correctlycontext parameter (15-25 words, third-person perspective)data_sites_tool with action list_sites to identify target sitedata_sites_tool with action get_site to verify collection limitsdata_cms_tool with action get_collection_list to check for conflictsdata_cms_tool with action create_collection with:
* Display name
* Singular name
* Optional slugdata_cms_tool with action create_collection_static_field
* Option fields: data_cms_tool with action create_collection_option_field
* Reference fields: data_cms_tool with action create_collection_reference_fielddata_cms_tool with action get_collection_details to retrieve full schemaPlainText - Short text (max 256 chars) or long text
RichText - Formatted text with HTML
Email - Email address
Phone - Phone number
Link - External URL or internal link
Number - Numeric values
Image - Single image
MultiImage - Multiple images (up to 25)
File - File upload
Video - Video embed (YouTube/Vimeo)
DateTime - Date and/or time
Switch - Boolean (true/false)
Color - Color value
Option - Single choice from predefined list
data_cms_tool with action create_collection_option_field with options arrayExample:
{
"type": "Option",
"displayName": "Status",
"metadata": {
"options": [
{"name": "Draft"},
{"name": "In Review"},
{"name": "Published"}
]
}
}
Reference - Link to one item in another collection (one-to-many)
data_cms_tool with action create_collection_reference_field with collectionIdMultiReference - Link to multiple items in another collection (many-to-many)
data_cms_tool with action create_collection_reference_field with collectionIdReference Field Example:
{
"type": "Reference",
"displayName": "Author",
"metadata": {
"collectionId": "abc123..."
}
}
Multi-Reference Field Example:
{
"type": "MultiReference",
"displayName": "Tags",
"metadata": {
"collectionId": "xyz789..."
}
}
User prompt:
Create a Blog Posts collection with title, content, author, and publish date
Step 1: Discovery
🔍 CMS Collection Setup
Available sites:
1. Company Website
2. Blog Site
Which site? (1/2)
Step 2: After User Selects Site
📊 Existing Collections on Company Website:
Currently: 0 collections
Plan limit: 20 collections (CMS Plan)
✅ You have capacity to create new collections.
---
📋 Collection Requirements
Display Name: Blog Posts
Singular Name: Blog Post
Slug: blog-posts (auto-generated)
Fields to create:
1. Title - Text (required)
2. Content - Rich Text (required)
3. Author - Text
4. Publish Date - Date/Time (required)
Is this correct? (yes/no)
If you want to add/modify fields, describe the changes.
Step 3: Preview
📋 Preview: Create "Blog Posts" Collection
Collection:
├── Display Name: Blog Posts
├── Singular Name: Blog Post
├── Slug: blog-posts
└── Site: Company Website
Fields (6 total):
├── name (PlainText, required) ← Auto-created
├── slug (PlainText, required) ← Auto-created
├── title (PlainText, required)
├── content (RichText, required)
├── author (PlainText)
└── publish-date (DateTime, required)
✅ Validation Passed:
- Collection name available
- Within plan limits (0/20 collections)
- All field types valid
- No dependency issues
⚠️ Type "create" to proceed.
Step 4: Creation
🔄 Creating Collection...
✅ Collection created: Blog Posts (ID: 64f1a2b3...)
Adding fields...
├── ✅ title (PlainText)
├── ✅ content (RichText)
├── ✅ author (PlainText)
└── ✅ publish-date (DateTime)
Progress: ████████████████████ 100% (4/4 fields)
🎉 Collection Setup Complete!
Collection: Blog Posts
ID: 64f1a2b3...
Fields: 6 (2 auto-created + 4 custom)
---
💡 Next Steps:
1. Use bulk-cms-update to add initial blog posts
2. Create collection template page in Designer
3. Set up collection list page for blog index
4. Configure SEO settings for dynamic pages
User prompt:
Create a Products collection with name, price, description, images, brand, and tags
Step 1: After Initial Gathering
📋 Collection Analysis
I see you want:
- Brand: This should be a reference field
- Tags: This should be a multi-reference field
This requires creating additional collections first:
1. Brands collection
2. Tags collection
Then we can create Products with references to them.
Would you like me to:
A) Create all three collections (Brands, Tags, Products)
B) Just create Products (you'll add relationships later)
C) Modify the requirements
Your choice? (A/B/C)
Step 2: After User Selects "A"
📋 Preview: Create 3 Collections
---
### 1. Brands Collection
Fields (4 total):
├── name (PlainText, required) ← Auto
├── slug (PlainText, required) ← Auto
├── logo (Image)
└── description (PlainText)
---
### 2. Tags Collection
Fields (3 total):
├── name (PlainText, required) ← Auto
├── slug (PlainText, required) ← Auto
└── color (Color)
---
### 3. Products Collection
Fields (9 total):
├── name (PlainText, required) ← Auto
├── slug (PlainText, required) ← Auto
├── price (Number, required)
├── description (RichText)
├── images (MultiImage)
├── brand (Reference → Brands)
└── tags (MultiReference → Tags)
---
Creation Order:
1. Brands (no dependencies)
2. Tags (no dependencies)
3. Products (references 1 & 2)
✅ Validation:
- All collections available
- Within plan limits (0/20 collections)
- Multi-reference limit: 1/5 ✅
- All dependencies resolvable
⚠️ Type "create" to proceed with all 3 collections.
Step 3: Creation
🔄 Creating Collections...
[1/3] Creating Brands...
✅ Brands collection created (ID: abc123...)
├── ✅ logo (Image)
└── ✅ description (PlainText)
[2/3] Creating Tags...
✅ Tags collection created (ID: def456...)
└── ✅ color (Color)
[3/3] Creating Products...
✅ Products collection created (ID: ghi789...)
├── ✅ price (Number)
├── ✅ description (RichText)
├── ✅ images (MultiImage)
├── ✅ brand (Reference → Brands)
└── ✅ tags (MultiReference → Tags)
Progress: ████████████████████ 100% (3/3 collections)
🎉 All Collections Created!
Summary:
├── Brands (ID: abc123...)
├── Tags (ID: def456...)
└── Products (ID: ghi789...)
---
💡 Next Steps:
1. Add brand items first (use bulk-cms-update)
2. Add tag items (use bulk-cms-update)
3. Then add products with brand/tag references
4. Create collection pages in Designer
User prompt:
Create a Team Members collection with name, role (dropdown: Designer, Developer, Manager), bio, photo, email
Step 1: Preview
📋 Preview: Create "Team Members" Collection
Collection:
├── Display Name: Team Members
├── Singular Name: Team Member
└── Slug: team-members
Fields (7 total):
├── name (PlainText, required) ← Auto
├── slug (PlainText, required) ← Auto
├── role (Option, required)
│ Options:
│ ├── Designer
│ ├── Developer
│ └── Manager
├── bio (RichText)
├── photo (Image)
└── email (Email)
✅ Validation Passed
⚠️ Type "create" to proceed.
Step 2: Creation
🔄 Creating Collection...
✅ Collection created: Team Members (ID: jkl012...)
Adding fields...
├── ✅ role (Option: 3 options)
├── ✅ bio (RichText)
├── ✅ photo (Image)
└── ✅ email (Email)
Progress: ████████████████████ 100% (4/4 fields)
🎉 Collection Setup Complete!
Collection: Team Members
Fields: 6 (2 auto + 4 custom)
Field Details:
- role: Option field with 3 choices
• Designer
• Developer
• Manager
---
💡 Next Steps:
1. Add team member items
2. Create team page in Designer
3. Consider adding:
- LinkedIn profile (Link field)
- Years of experience (Number field)
- Specializations (MultiReference to Skills collection)
User prompt:
Create an e-commerce setup with Products, Categories, Brands, and Features
Step 1: Requirements Clarification
📋 E-commerce Collection Planning
I'll create 4 collections:
1. **Categories** - Product categories
2. **Brands** - Product brands
3. **Features** - Product features (e.g., "Waterproof", "Wireless")
4. **Products** - Main product catalog
Relationships:
- Product → Category (Reference)
- Product → Brand (Reference)
- Product → Features (MultiReference)
Fields per collection:
**Categories:**
- Name, Slug (auto)
- Description
- Parent Category (self-reference for hierarchy)
- Icon
**Brands:**
- Name, Slug (auto)
- Logo
- Description
**Features:**
- Name, Slug (auto)
- Icon
- Description
**Products:**
- Name, Slug (auto)
- Price
- Sale Price
- Description
- Images (MultiImage)
- Category (Reference → Categories)
- Brand (Reference → Brands)
- Features (MultiReference → Features)
- In Stock (Switch)
- SKU (PlainText)
Is this structure good? (yes/modify/cancel)
Step 2: Preview (User says "yes")
📋 Preview: Create E-commerce Collections
---
### Collection 1: Categories
Fields (5 total):
├── name (PlainText, required)
├── slug (PlainText, required)
├── description (PlainText)
├── parent-category (Reference → Categories) ← Self-reference
└── icon (Image)
---
### Collection 2: Brands
Fields (4 total):
├── name (PlainText, required)
├── slug (PlainText, required)
├── logo (Image)
└── description (PlainText)
---
### Collection 3: Features
Fields (4 total):
├── name (PlainText, required)
├── slug (PlainText, required)
├── icon (Image)
└── description (PlainText)
---
### Collection 4: Products
Fields (12 total):
├── name (PlainText, required)
├── slug (PlainText, required)
├── price (Number, required)
├── sale-price (Number)
├── description (RichText)
├── images (MultiImage)
├── category (Reference → Categories)
├── brand (Reference → Brands)
├── features (MultiReference → Features)
├── in-stock (Switch)
└── sku (PlainText)
---
Creation Order:
1. Categories (self-reference OK)
2. Brands (no dependencies)
3. Features (no dependencies)
4. Products (references 1, 2, 3)
✅ Validation:
- Within plan limits (0/20 collections)
- Multi-reference count: 1/5 ✅
- All field types valid
- Self-reference supported
⚠️ Type "create" to proceed with all 4 collections.
Step 3: Creation with Progress
🔄 Creating E-commerce Collections...
[1/4] Creating Categories...
✅ Categories created (ID: aaa111...)
Progress: ████████░░░░░░░░░░░░ 25%
[2/4] Creating Brands...
✅ Brands created (ID: bbb222...)
Progress: ████████████░░░░░░░░ 50%
[3/4] Creating Features...
✅ Features created (ID: ccc333...)
Progress: ████████████████░░░░ 75%
[4/4] Creating Products...
✅ Products created (ID: ddd444...)
Progress: ████████████████████ 100%
---
🎉 E-commerce Setup Complete!
Collections Created (4):
├── Categories (ID: aaa111..., 5 fields)
├── Brands (ID: bbb222..., 4 fields)
├── Features (ID: ccc333..., 4 fields)
└── Products (ID: ddd444..., 12 fields)
Relationships Configured:
- Products → Categories (one-to-many)
- Products → Brands (one-to-many)
- Products → Features (many-to-many)
- Categories → Parent Category (self-reference)
---
💡 Recommended Content Order:
1. Add categories first (including parent relationships)
2. Add brands
3. Add features
4. Finally add products (with all references)
💡 Next Steps:
1. Use bulk-cms-update for initial data
2. Create product template page
3. Create product listing page with filters
4. Set up category landing pages
5. Configure e-commerce integration
Site Selection:
sites_list to get available sitesPlan Limit Checking:
Check limits before creation:
- Starter: 1 collection, 50 items
- Basic: 2 collections, 200 items
- CMS: 20 collections, 2,000 items
- Business: 40 collections, 10,000 items
- Enterprise: Custom
Warn user if approaching limits.
Naming Conflict Prevention:
Display Name vs Singular Name:
Display Name: Plural form shown in CMS
Singular Name: Singular form for individual items
Examples:
- Display: "Blog Posts" → Singular: "Blog Post"
- Display: "Team Members" → Singular: "Team Member"
- Display: "Products" → Singular: "Product"
- Display: "Categories" → Singular: "Category"
Field Naming Conventions:
✅ Good names:
- author-name (descriptive, hyphenated)
- publish-date (clear purpose)
- featured-image (specifies which)
- main-content (explains use)
❌ Bad names:
- text1 (meaningless)
- field (too generic)
- data (unclear)
- img (which image?)
Detecting Relationships:
If user says:
"... with author" → Likely reference field
"... with tags" → Likely multi-reference field
"... with category" → Likely reference field
"... with related products" → Likely multi-reference field
Ask clarifying questions:
- Is [author] the same across items? → Reference
- Can items have multiple [tags]? → Multi-reference
- Do you have a [Categories] collection? → Check existence
Field Type Validation:
Common field type mappings:
User says... → Field type:
"title", "name" → PlainText
"description", "summary" → PlainText (long)
"content", "bio", "article" → RichText
"photo", "image", "thumbnail" → Image
"gallery", "photos" → MultiImage
"document", "PDF", "file" → File
"video" → Video
"link", "URL", "website" → Link
"email" → Email
"phone", "mobile" → Phone
"price", "cost", "amount" → Number
"date", "published", "deadline" → DateTime
"featured", "active", "published" → Switch
"status", "type", "category" → Option (if fixed choices)
"color", "theme" → Color
Multi-Reference Limit Check:
Count multi-reference fields requested:
If > 5:
⚠️ Warning: Collection Limit Exceeded
Webflow allows max 5 multi-reference fields per collection.
You requested: 7 multi-reference fields
Options:
1. Choose 5 most important relationships
2. Convert some to reference fields (one-to-many)
3. Create bridging collections
4. Use option fields for simple categorization
Which would you prefer?
Dependency Resolution:
For reference fields:
1. Check if referenced collection exists
2. If not, add to creation queue
3. Create in correct order
Example:
Products needs:
- Categories collection (create first)
- Brands collection (create first)
Then create Products
Complete Preview Format:
📋 Preview: Create "[Collection Name]"
Collection Details:
├── Display Name: [Name]
├── Singular Name: [Singular]
├── Slug: [slug]
└── Site: [Site Name]
Fields ([X] total):
├── name (PlainText, required) ← Auto-created
├── slug (PlainText, required) ← Auto-created
├── [field-1] ([Type], [required/optional])
├── [field-2] ([Type], [required/optional])
│ [Additional info if Option or Reference]
└── [field-n] ([Type], [required/optional])
Relationships:
├── [field] → [Collection] (Reference)
└── [field] → [Collection] (MultiReference)
✅ Validation Results:
- Collection name available: Yes
- Within plan limits: X/Y collections
- Multi-reference count: X/5
- All field types valid: Yes
- Dependencies resolved: Yes
⚠️ Type "create" to proceed.
Validation Checks:
Before showing preview:
1. ✅ Collection name available
2. ✅ Within plan collection limit
3. ✅ All field types supported
4. ✅ Multi-reference limit ≤ 5
5. ✅ Referenced collections exist or queued
6. ✅ No circular dependencies
7. ✅ Field names follow conventions
Collection Creation:
Required fields:
- displayName (required)
- singularName (required)
- slug (optional, auto-generated if omitted)
Always include both names for clarity:
✅ {"displayName": "Blog Posts", "singularName": "Blog Post"}
❌ {"displayName": "Blog Posts"} (missing singular)
Error Handling:
If collection creation fails:
❌ Collection Creation Failed
Error: [Error message from API]
Common causes:
- Collection name already exists
- Invalid characters in name/slug
- Plan limit reached
- API authentication issue
Would you like to:
1. Try a different collection name
2. Check existing collections
3. Upgrade plan
4. Cancel operation
Field Creation Order:
Create fields in this order:
1. Static fields (Text, Rich Text, Number, etc.)
2. Option fields (with options defined)
3. Reference fields (after referenced collections exist)
For each field:
- Set displayName
- Set isRequired flag
- Add helpText if provided by user
- Set validation rules if applicable
Field Creation Tools:
Field Type → Tool to use:
PlainText, RichText, Email, Phone, Link, Number,
Image, MultiImage, File, Video, DateTime, Switch, Color
→ collection_fields_create_static
Option
→ collection_fields_create_option
(requires metadata.options array)
Reference, MultiReference
→ collection_fields_create_reference
(requires metadata.collectionId)
Progress Reporting:
For each field created:
✅ [field-name] ([FieldType])
If field fails:
❌ [field-name] - [Error message]
Continue with remaining fields even if one fails.
Report all failures at end.
Option Field Creation:
{
"type": "Option",
"displayName": "Status",
"isRequired": false,
"metadata": {
"options": [
{"name": "Draft"},
{"name": "Published"},
{"name": "Archived"}
]
}
}
Notes:
- Options have name property
- Options cannot have ID (auto-generated)
- Minimum 2 options required
- Maximum: unlimited
Reference Field Creation:
{
"type": "Reference",
"displayName": "Author",
"isRequired": true,
"metadata": {
"collectionId": "abc123..."
}
}
For MultiReference:
{
"type": "MultiReference",
"displayName": "Tags",
"metadata": {
"collectionId": "def456..."
}
}
Notes:
- Must provide collectionId of referenced collection
- Referenced collection must already exist
- Max 5 MultiReference fields per collection
Post-Creation Verification:
After creating collection and fields:
1. Call data_cms_tool with action get_collection_details with collection ID
2. Verify all fields present
3. Check field properties match request
4. Confirm relationships configured correctly
Final Report Format:
🎉 Collection Setup Complete!
Collection: [Name]
ID: [collection-id]
Slug: [slug]
Fields Created ([X]):
├── name (PlainText, required) ← Auto
├── slug (PlainText, required) ← Auto
├── [field-1] ([Type])
├── [field-2] ([Type])
└── [field-n] ([Type])
[If relationships exist]
Relationships:
├── [field] → [Collection]
└── [field] → [Collection]
[If any failures]
⚠️ Failed Fields ([Y]):
├── [field]: [error]
└── [field]: [error]
---
💡 Next Steps:
[Relevant suggestions based on collection type]
Next Steps Suggestions:
For any collection:
1. Use bulk-cms-update to add initial items
2. Create collection template page in Designer
3. Create collection list page
4. Configure SEO settings
For collections with relationships:
5. Create referenced collections first
6. Add items in dependency order
7. Test relationship displays
For e-commerce:
5. Set up payment integration
6. Configure inventory management
7. Create checkout flow
Common Errors:
1. Collection Name Conflict:
❌ Collection Already Exists
A collection named "Blog Posts" already exists on this site.
Existing collection:
- Name: Blog Posts
- ID: xyz789...
- Created: 2025-12-15
Would you like to:
1. Choose a different name
2. View existing collection
3. Add fields to existing collection
4. Cancel
2. Plan Limit Reached:
❌ Plan Limit Reached
Cannot create collection. You've reached your plan limit.
Current: 20/20 collections (CMS Plan)
Options:
1. Upgrade to Business Plan (40 collections)
2. Delete unused collections
3. Contact Webflow support
Would you like me to show your existing collections?
3. Invalid Field Type:
❌ Invalid Field Type
Field type "dropdown" is not supported by Webflow.
Did you mean:
- "Option" - Single choice from list
- "Reference" - Link to another collection
- "MultiReference" - Link to multiple items
Which would you like to use?
4. Referenced Collection Not Found:
❌ Referenced Collection Not Found
Cannot create reference field to "Authors" collection.
Issue: "Authors" collection doesn't exist yet.
Solutions:
1. Create "Authors" collection first
2. Remove reference field for now
3. Let me create both collections in order
Your choice? (1/2/3)
5. Multi-Reference Limit Exceeded:
❌ Too Many Multi-Reference Fields
You requested 6 multi-reference fields.
Webflow limit: 5 per collection
Requested:
1. Tags
2. Categories
3. Related Products
4. Features
5. Certifications
6. Compatible Products ← Exceeds limit
Choose 5 to keep, or convert one to Reference field.
Self-Referencing Collections:
Example: Categories with parent categories
Collection: Categories
Fields:
├── name (PlainText, required)
├── slug (PlainText, required)
├── parent-category (Reference → Categories)
└── level (Number) - 1, 2, 3 for hierarchy
Implementation:
{
"type": "Reference",
"displayName": "Parent Category",
"isRequired": false,
"metadata": {
"collectionId": "[same-collection-id]"
}
}
Note: Must create collection first, then add self-reference field
Multi-Collection Setup:
When creating multiple related collections:
1. Identify dependencies:
- Which collections reference others?
- What's the creation order?
2. Create in order:
- Independent collections first
- Dependent collections after
3. Show overall progress:
[1/4] Creating Categories...
[2/4] Creating Brands...
[3/4] Creating Tags...
[4/4] Creating Products...
4. Report collectively:
All 4 collections created successfully!
Complex Option Fields:
For complex dropdowns:
User: "Create status field with Draft, In Review, Approved, Published, Archived"
Option field with 5 choices:
{
"type": "Option",
"displayName": "Status",
"isRequired": true,
"metadata": {
"options": [
{"name": "Draft"},
{"name": "In Review"},
{"name": "Approved"},
{"name": "Published"},
{"name": "Archived"}
]
}
}
Tip: Use workflow order for options
Before considering collection setup complete:
Weekly Installs
98
Repository
GitHub Stars
35
First Seen
Jan 21, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
cursor85
opencode83
codex82
gemini-cli80
github-copilot74
claude-code71
codegen:JSON-Render UI 树代码生成工具,支持 Next.js/Remix 框架
323 周安装
Cloudflare Vectorize 完整指南:全球分布式向量数据库,实现语义搜索与RAG应用
326 周安装
Cloudflare Agents SDK:构建AI驱动的自主智能体,支持可恢复流式传输与持久化状态
326 周安装
Snowflake平台技能:使用CLI、Cortex AI函数和Snowpark构建AI数据云应用
326 周安装
React + Cloudflare Workers 集成 Microsoft Entra ID 身份验证完整指南 | Azure Auth
327 周安装
Cloudflare Images 图像托管与转换 API 使用指南 | 支持 AI 人脸裁剪与内容凭证
328 周安装
Terraform Provider验收测试模式指南:使用plugin-testing与插件框架
72 周安装