Community编程与开发github.com

webflow/webflow-skills

提供关于 Webflow CMS 架构和最佳实践的专业指导。用于规划集合、设置关系、优化内容结构或排查 CMS 问题。

webflow-skills 是什么?

该技能为 Webflow CMS 用户提供结构化的架构指南和最佳实践,帮助开发者或内容管理者规划、优化和排障 CMS 系统。它涵盖了从需求分析、集合设计、字段类型选择到关系模式(一对多、多对多、自引用、双向关系)的完整流程,并提供了详细的决策树和示例(如食谱站点案例)。技能支持通过 Webflow MCP 工具进行发现分析、需求收集和架构规划,最终生成可操作的实施建议。适用于 Webflow 平台上的所有 CMS 操作,强调始终使用 MCP 工具并遵循上下文参数规范。

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

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

CMS 最佳实践

提供关于 Webflow CMS 架构、关系、优化和排障的专业指导。

重要提示

始终使用 Webflow MCP 工具进行所有操作:

  • 使用 Webflow MCP 的 webflow_guide_tool 获取最佳实践
  • 使用 Webflow MCP 的 data_sites_tool 配合动作 list_sites 识别可用站点
  • 使用 Webflow MCP 的 data_sites_tool 配合动作 get_site 检索站点详情和计划限制
  • 使用 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_pages_tool 配合动作 list_pages 了解页面结构
  • 使用 Webflow MCP 的 ask_webflow_ai 询问特定 API 问题
  • 请勿使用任何其他工具或方法进行 Webflow 操作
  • 所有工具调用必须包含必要的 context 参数(15-25个词,第三人称视角)

指令

阶段 1:发现与分析

  1. 识别请求:确定用户是否在:
    • 规划新的 CMS 结构
    • 优化现有集合
    • 排障性能问题
    • 设置关系
    • 寻求架构指导
  2. 获取站点信息:使用 Webflow MCP 的 data_sites_tool 配合动作 list_sites 和 get_site 了解计划限制
  3. 分析现有结构:使用 Webflow MCP 的 data_cms_tool 配合动作 get_collection_list 和 get_collection_details 检查当前设置
  4. 评估内容量:使用 Webflow MCP 的 data_cms_tool 配合动作 list_collection_items 了解规模
  5. 检查页面:使用 Webflow MCP 的 data_pages_tool 配合动作 list_pages 查看内容显示方式

阶段 2:需求收集

  1. 理解用例:询问澄清性问题:
    • 需要管理哪些内容?
    • 谁将更新内容?
    • 内容将如何显示?
    • 需要哪些关系?
    • 预期的内容量?
  2. 识别约束:考虑计划限制、技术约束、团队技能
  3. 定义成功标准:性能目标、编辑工作流、可扩展性需求

阶段 3:架构规划

  1. 设计集合结构:规划集合、字段和关系
  2. 选择字段类型:为每个内容元素选择合适的字段类型
  3. 规划关系:设计一对多和多对多连接
  4. 考虑分类法:确定类别、标签和组织结构
  5. 规划扩展性:为增长而设计(分页、性能、限制)
  6. 记录决策:解释权衡和理由

阶段 4:建议与验证

  1. 生成建议:提供具体、可操作的指导
  2. 优先排序更改:按影响组织(快速胜利 vs 长期)
  3. 解释权衡:帮助用户理解限制和变通方案
  4. 对照最佳实践验证:检查是否符合 Webflow 限制和模式
  5. 提供替代方案:在适用时提供多种方法
  6. 创建实施路线图:分阶段进行

阶段 5:实施指导

  1. 提供分步说明:实施清晰的指导
  2. 提供帮助:建议使用其他技能(cms-collection-setup、bulk-cms-update)
  3. 记录结构:推荐团队参考用的文档
  4. 建议测试方法:指导如何验证更改
  5. 规划迁移:如果重构,提供迁移策略

集合架构

何时使用 CMS 与静态

使用 CMS 时:

  • 内容频繁更新(每周或更频繁)
  • 多个相似项目(博客文章、产品、团队成员、项目)
  • 非技术用户需要编辑内容
  • 内容需要在前端进行筛选/排序
  • 相同内容出现在多个页面上(作者简介、产品特性)
  • 内容跨项目遵循一致结构
  • 需要动态生成页面

使用静态时:

  • 内容很少更改(年度更新或更少)
  • 独特的单次部分(关于页面头部、主页特殊功能)
  • 每个项目不遵循模式的自定义布局
  • 不需要动态筛选或搜索
  • 内容高度定制且不共享结构
  • 性能至关重要且内容不改变
  • 需要完全的设计灵活性

混合方法:

  • 静态页面配合 CMS 驱动部分(例如,静态主页含 CMS 推荐语)
  • CMS 用于最新内容,静态存档用于旧内容
  • 静态落地页,CMS 用于子页面

字段类型选择

内容类型推荐字段备注字符限制
短文本纯文本标题、名称、slug最多 256 字符
长文本(无格式)纯文本(长)描述、摘要无限制
格式化内容富文本博客内容、简介、文章无限制
单张图片图片照片、缩略图、头部每张最多 4MB
多张图片多图片图库、产品照片最多 25 张
文件下载文件PDF、文档、下载每个文件最多 4MB
是/否值开关精选标记、可见性切换布尔值
单一选择选项状态、类型、类别无限制选项
日期/时间日期/时间发布日期、事件、截止日期ISO 8601 格式
链接到单个项目引用作者 → 文章、类别 → 文章一个项目
链接到多个项目多引用文章 → 标签、文章 → 相关文章多个项目
外部 URL链接社交链接、外部资源最多 2048 字符
数值数字价格、评分、顺序、计数整数或小数
电话号码电话联系电话E.164 格式
电子邮件地址电子邮件联系邮箱有效电子邮件格式
颜色值颜色主题色、强调色、品牌色Hex 格式
视频嵌入视频YouTube、Vimeo 嵌入嵌入 URL

字段类型决策树

需要存储:
├── 文本?
│   ├── 短(≤256 字符)?→ 纯文本
│   ├── 长 + 格式化?→ 富文本
│   └── 长 + 无格式化?→ 纯文本(长)
├── 媒体?
│   ├── 单张图片?→ 图片
│   ├── 多张图片?→ 多图片
│   ├── 视频?→ 视频
│   └── 文件下载?→ 文件
├── 选择/选项?
│   ├── 是/否?→ 开关
│   ├── 一个选项?→ 选项
│   └── 链接到项目?→ 引用/多引用
├── 结构化数据?
│   ├── 数字?→ 数字
│   ├── 日期/时间?→ 日期/时间
│   ├── 电话?→ 电话
│   ├── 电子邮件?→ 电子邮件
│   └── URL?→ 链接
└── 视觉?
    └── 颜色?→ 颜色

关系模式

一对多(引用字段)

示例: 文章 → 作者

作者集合:
├── 名称(文本,必填)
├── slug(文本,必填)
├── 简介(富文本)
├── 照片(图片)
├── 头衔(文本) - 职位
├── 电子邮件(电子邮件)
└── 社交链接(链接)

文章集合:
├── 标题(文本,必填)
├── slug(文本,必填)
├── 内容(富文本)
└── 作者(引用 → 作者)  ← 每篇文章有 ONE 个作者

显示: 在文章页面上,访问 author.name、author.photo、author.bio

筛选: 可以根据特定作者筛选文章

优势:

  • ✅ 集中的作者数据(一次更新,处处反映)
  • ✅ 易于保持一致性
  • ✅ 可以创建作者资料页面显示他们的所有文章
  • ✅ 高效(每个文章一个引用)

用例:

  • 博客文章 → 作者
  • 产品 → 品牌
  • 活动 → 场地
  • 项目 → 客户
  • 推荐语 → 顾客

多对多(多引用)

示例: 文章 ↔ 标签

标签集合:
├── 名称(文本,必填)
├── slug(文本,必填)
├── 描述(纯文本)
└── 颜色(颜色) - 可选的视觉分组

文章集合:
├── 标题(文本,必填)
├── slug(文本,必填)
├── 内容(富文本)
└── 标签(多引用 → 标签)  ← 每篇文章有 MANY 个标签

显示: 在文章页面上,循环遍历 tags 显示所有标签

筛选: 可以根据特定标签筛选文章

优势:

  • ✅ 灵活的内容组织
  • ✅ 交叉链接相关内容
  • ✅ 更好的 SEO(主题聚类)
  • ✅ 增强的用户导航

限制:

  • ⚠️ 每个集合最多 5 个多引用字段
  • ⚠️ 在集合列表中一次只能按一个多引用值筛选
  • ⚠️ 无法按引用字段的排序
  • ⚠️ 每个引用 = 额外的查询(影响性能)

多标签筛选的变通方案:

  1. 创建组合标签(例如,“vegan-gluten-free”)
  2. 使用 Finsweet CMS Filter 进行客户端筛选
  3. 为常见组合创建单独的筛选集合列表
  4. 使用自定义代码和 Webflow API

用例:

  • 博客文章 ↔ 标签
  • 产品 ↔ 特性
  • 项目 ↔ 技术
  • 食谱 ↔ 配料
  • 课程 ↔ 主题

自引用(嵌套集合)

示例: 带子分类的类别

类别集合:
├── 名称(文本,必填)
├── slug(文本,必填)
├── 描述(纯文本)
├── 父级(引用 → 类别)  ← 用于层级结构的自引用
└── 层级(数字) - 1、2、3 用于显示逻辑

用例:

  • 带子分类的类别
  • 带子菜单项的菜单
  • 组织层次结构
  • 产品分类

优势:

  • ✅ 灵活的层级结构
  • ✅ 无限深度(理论上)
  • ✅ 易于重新组织

限制:

  • ⚠️ 在 Webflow 中显示嵌套层级复杂
  • ⚠️ 实际实现建议最多 2-3 级
  • ⚠️ 深度嵌套需要自定义逻辑

替代方案: 对于简单的 1-2 级类别,使用选项字段

双向关系

示例: 相关文章

文章集合:
├── 标题(文本,必填)
├── slug(文本,必填)
├── 内容(富文本)
└── 相关文章(多引用 → 文章)  ← 自引用到其他文章

显示: 在文章页面底部显示相关文章

优势:

  • ✅ 让用户保持更长时间的参与
  • ✅ 更好的 SEO(内部链接)
  • ✅ 灵活的内容连接

挑战:

  • ⚠️ 并非真正的双向(A → B 不会自动创建 B → A)
  • ⚠️ 如果需要双向,必须手动维护
  • ⚠️ 对于内容编辑者可能耗时

解决方案:

  1. 使用标签实现自动“按标签相关”逻辑
  2. 手动策划最重要的连接
  3. 混合:手动 + 基于标签/类别的自动化

示例

示例 1:规划新的 CMS 结构

用户提示:

我正在搭建一个食谱网站。应该如何构建 CMS?

步骤 1:需求收集

📐 CMS 规划:食谱网站

让我问几个问题来设计最佳结构:

1. **内容量**:你计划有多少食谱?
   - 少量(≤50):简单结构
   - 中等(50-200):适度组织
   - 大量(200+):需要高级分类体系

2. **食谱属性**:每个食谱将包含哪些信息?
   - 基础:名称、配料、步骤、图片
   - 高级:准备时间、烹饪时间、难度、营养信息、饮食标签

3. **组织需求**:用户将如何找到食谱?
   - 按餐点类型(早餐、午餐、晚餐)
   - 按菜系(意大利、墨西哥、亚洲)
   - 按饮食限制(素食、无麸质、生酮)
   - 按烹饪方法(烘焙、烧烤、慢炖)
   - 按配料(鸡肉、意面、蔬菜)

4. **作者设置**:单一作者还是多个作者?
   - 单一:你管理所有内容
   - 多个:食谱创作者团队

5. **用户参与**:有哪些互动功能?
   - 评论/评价
   - 评分
   - 收藏
   - 打印食谱卡片

基于你的回答,我将设计最优的 CMS 架构。

步骤 2:用户回应后

📐 推荐的 CMS 架构:食谱网站

基于你的需求(中等量、多个作者、高级筛选):

---

## 需要的集合:4 个

### 1. 食谱(主要内容)
├── 名称(文本,必填)- "Homemade Pasta Carbonara"
├── slug(文本,必填)- "homemade-pasta-carbonara"
├── 描述(纯文本,160字符)- SEO 简短摘要
├── 特色图片(图片)- 详情页的主图
├── 缩略图图片(图片)- 网格卡片的较小图片
├── 准备时间(数字,必填)- 准备分钟数
├── 烹饪时间(数字,必填)- 烹饪分钟数
├── 总时间(数字)- 自动计算或手动
├── 份量(数字,必填)- 份数
├── 难度(选项:简单、中等、困难)
├── 配料(富文本,必填)- 带数量的配料表
├── 步骤(富文本,必填)- 分步说明
├── 备注(富文本)- 厨师笔记、技巧、替换建议
├── 营养信息(纯文本)- 卡路里、蛋白质等
├── 作者(引用 → 作者,必填)
├── 类别(引用 → 类别,必填)- 主要餐点类型
├── 菜系(引用 → 菜系)- 意大利、墨西哥等
├── 饮食标签(多引用 → 饮食标签)- 素食、无麸质等
├── 烹饪方法(多引用 → 方法)- 烘焙、烧烤等
├── 精选(开关)- 突出显示在主页
├── 发布日期(日期,必填)
└── 查看次数(数字)- 跟踪热度

**总字段:** 22 个字段
**需要的计划:** 最少 CMS 计划(20 个集合,2000 个项目)

### 2. 作者
├── 名称(文本,必填)
├── slug(文本,必填)
├── 头衔(文本)- "总厨"、"食谱开发者"
├── 简介(富文本)
├── 照片(图片)
├── 专长(纯文本)- "意大利菜"、"烘焙"
├── 社交-Instagram(链接)
├── 社交-网站(链接)
└── 电子邮件(电子邮件)

**目的:** 所有食谱的可重复使用作者信息

### 3. 类别
├── 名称(文本,必填)- "早餐"、"午餐"、"晚餐"、"甜点"
├── slug(文本,必填)
├── 描述(纯文本)
├── 图片(图片)- 类别主图
├── 颜色(颜色)- 视觉标签
├── 排序顺序(数字)- 控制显示顺序
└── 图标(图片)- 类别图标

**目的:** 主要餐点类型导航

---

...(示例继续)

(完整示例包含更多细节,此处省略以保持简洁)

Individual skills in this repo

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

相关技能