cms-best-practices

webflow/webflow-skills · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/webflow/webflow-skills --skill cms-best-practices
0 commentsdiscussion
summary

Provide expert guidance on Webflow CMS architecture, relationships, optimization, and troubleshooting.

skill.md

CMS Best Practices

Provide expert guidance on Webflow CMS architecture, relationships, optimization, and troubleshooting.

Important Note

ALWAYS use Webflow MCP tools for all operations:

  • Use Webflow MCP's webflow_guide_tool to get best practices before starting
  • Use Webflow MCP's data_sites_tool with action list_sites to identify available sites
  • Use Webflow MCP's data_sites_tool with action get_site to retrieve site details and plan limits
  • Use Webflow MCP's data_cms_tool with action get_collection_list to analyze existing collections
  • Use Webflow MCP's data_cms_tool with action get_collection_details to examine collection schemas
  • Use Webflow MCP's data_cms_tool with action list_collection_items to assess content volume
  • Use Webflow MCP's data_pages_tool with action list_pages to understand page structure
  • Use Webflow MCP's ask_webflow_ai for specific API questions
  • DO NOT use any other tools or methods for Webflow operations
  • All tool calls must include the required context parameter (15-25 words, third-person perspective)

Instructions

Phase 1: Discovery & Analysis

  1. Identify the request: Determine if user is:
    • Planning new CMS structure
    • Optimizing existing collections
    • Troubleshooting performance issues
    • Setting up relationships
    • Seeking architecture guidance
  2. Get site information: Use Webflow MCP's data_sites_tool with actions list_sites and get_site to understand plan limits
  3. Analyze existing structure: Use Webflow MCP's data_cms_tool with actions get_collection_list and get_collection_details to examine current setup
  4. Assess content volume: Use Webflow MCP's data_cms_tool with action list_collection_items to understand scale
  5. Review pages: Use Webflow MCP's data_pages_tool with action list_pages to see how content is displayed

Phase 2: Requirements Gathering

  1. Understand use case: Ask clarifying questions:
    • What content needs to be managed?
    • Who will update the content?
    • How will content be displayed?
    • What relationships are needed?
    • Expected content volume?
  2. Identify constraints: Consider plan limits, technical constraints, team skills
  3. Define success criteria: Performance goals, editorial workflow, scalability needs

Phase 3: Architecture Planning

  1. Design collection structure: Plan collections, fields, and relationships
  2. Select field types: Choose appropriate field types for each content element
  3. Plan relationships: Design one-to-many and many-to-many connections
  4. Consider taxonomy: Determine categories, tags, and organizational structure
  5. Plan for scale: Design for growth (pagination, performance, limits)
  6. Document decisions: Explain tradeoffs and reasoning

Phase 4: Recommendations & Validation

  1. Generate recommendations: Provide specific, actionable guidance
  2. Prioritize changes: Organize by impact (quick wins vs. long-term)
  3. Explain tradeoffs: Help users understand limitations and workarounds
  4. Validate against best practices: Check against Webflow limitations and patterns
  5. Provide alternatives: Offer multiple approaches when applicable
  6. Create implementation roadmap: Break down into phases

Phase 5: Implementation Guidance

  1. Provide step-by-step instructions: Clear guidance for implementation
  2. Offer to assist: Suggest using other skills (cms-collection-setup, bulk-cms-update)
  3. Document structure: Recommend documentation for team reference
  4. Suggest testing approach: Guide on how to validate changes
  5. Plan for migration: If refactoring, provide migration strategy

Collection Architecture

When to Use CMS vs Static

Use CMS when:

  • Content updates frequently (weekly or more)
  • Multiple similar items (blog posts, products, team members, projects)
  • Non-technical users need to edit content
  • Content needs filtering/sorting on the frontend
  • Same content appears on multiple pages (author bios, product features)
  • Content follows a consistent structure across items
  • You need to dynamically generate pages

Use Static when:

  • Content rarely changes (annual updates or less)
  • Unique one-off sections (about page hero, homepage special features)
  • Complex custom layouts per item that don't follow patterns
  • No need for dynamic filtering or search
  • Content is highly customized and doesn't share structure
  • Performance is critical and content doesn't change
  • You need complete design flexibility per section

Hybrid Approach:

  • Static pages with CMS-driven sections (e.g., static homepage with CMS testimonials)
  • CMS for recent content, static archives for old content
  • Static landing pages, CMS for subpages

Field Type Selection

Content Type Recommended Field Notes Character Limits
Short text Plain Text Titles, names, slugs Max 256 chars
Long text (no formatting) Plain Text (long) Descriptions, excerpts Unlimited
Formatted content Rich Text Blog content, bios, articles Unlimited
Single image Image Photos, thumbnails, headers 4MB max per image
Multiple images Multi-image Galleries, product photos Up to 25 images
File downloads File PDFs, documents, downloads 4MB max per file
Yes/No values Switch Featured flags, visibility toggles Boolean
Single choice Option Status, type, category Unlimited options
Date/time Date/Time Publish dates, events, deadlines ISO 8601 format
Link to one item Reference Author → Post, Category → Post One item
Link to multiple items Multi-reference Post → Tags, Post → Related Posts Multiple items
External URL Link Social links, external resources Max 2048 chars
Numeric values Number Prices, ratings, order, counts Integer or decimal
Phone numbers Phone Contact numbers E.164 format
Email addresses Email Contact emails Valid email format
Color values Color Theme colors, accents, brand colors Hex format
Video embeds Video YouTube, Vimeo embeds Embed URL

Field Type Decision Tree

Need to store:
├── Text?
│   ├── Short (≤256 chars)? → Plain Text
│   ├── Long + Formatting? → Rich Text
│   └── Long + No Formatting? → Plain Text (long)
├── Media?
│   ├── Single image? → Image
│   ├── Multiple images? → Multi-image
│   ├── Video? → Video
│   └── File download? → File
├── Choice/Selection?
│   ├── Yes/No? → Switch
│   ├── One option? → Option
│   └── Link to item? → Reference/Multi-reference
├── Structured data?
│   ├── Number? → Number
│   ├── Date/Time? → Date/Time
│   ├── Phone? → Phone
│   ├── Email? → Email
│   └── URL? → Link
└── Visual?
    └── Color? → Color

Relationship Patterns

One-to-Many (Reference Field)

Example: Posts → Author

Authors Collection:
├── name (Text, required)
├── slug (Text, required)
├── bio (Rich Text)
├── photo (Image)
├── title (Text) - job title
├── email (Email)
└── social-links (Link)

Posts Collection:
├── title (Text, required)
├── slug (Text, required)
├── content (Rich Text)
└── author (Reference → Authors)  ← Each post has ONE author

Display: On post page, access author.name, author.photo, author.bio

Filtering: Can filter posts by specific author

Advantages:

  • ✅ Centralized author data (update once, reflects everywhere)
  • ✅ Easy to maintain consistency
  • ✅ Can create author profile pages showing all their posts
  • ✅ Efficient (one reference per post)

Use cases:

  • Blog posts → Author
  • Products → Brand
  • Events → Venue
  • Projects → Client
  • Testimonials → Customer

Many-to-Many (Multi-Reference)

Example: Posts ↔ Tags

Tags Collection:
├── name (Text, required)
├── slug (Text, required)
├── description (Plain Text)
└── color (Color) - optional visual grouping

Posts Collection:
├── title (Text, required)
├── slug (Text, required)
├── content (Rich Text)
└── tags (Multi-Reference → Tags)  ← Each post has MANY tags

Display: On post page, loop through tags to show all tags

Filtering: Can filter posts by specific tag

Advantages:

  • ✅ Flexible content organization
  • ✅ Cross-linking related content
  • ✅ Better SEO (topic clustering)
  • ✅ Enhanced user navigation

Limitations:

  • ⚠️ Max 5 multi-reference fields per collection
  • ⚠️ Can only filter by ONE multi-reference value at a time in collection lists
  • ⚠️ Cannot sort by referenced field values
  • ⚠️ Each reference = additional query (impacts performance)

Workarounds for multiple tag filtering:

  1. Create combined tags (e.g., "vegan-gluten-free")
  2. Use Finsweet CMS Filter for client-side filtering
  3. Create separate filtered collection lists for common combinations
  4. Use custom code with Webflow API

Use cases:

  • Blog posts ↔ Tags
  • Products ↔ Features
  • Projects ↔ Technologies
  • Recipes ↔ Ingredients
  • Courses ↔ Topics

Self-Reference (Nested Collections)

Example: Categories with subcategories

Categories Collection:
├── name (Text, required)
├── slug (Text, required)
├── description (Plain Text)
├── parent (Reference → Categories)  ← Self-reference for hierarchy
└── level (Number) - 1, 2, 3 for display logic

Use cases:

  • Categories with subcategories
  • Menu items with sub-menu items
  • Organizational hierarchy
  • Product taxonomy

Advantages:

  • ✅ Flexible hierarchy
  • ✅ Unlimited depth (theoretically)
  • ✅ Easy to reorganize

Limitations:

  • ⚠️ Complex to display nested levels in Webflow
  • ⚠️ Max 2-3 levels recommended for practical implementation
  • ⚠️ Requires custom logic for deep nesting

Alternative: Use Option field for simple 1-2 level categorization

Bidirectional Relationships

Example: Related Posts

Posts Collection:
├── title (Text, required)
├── slug (Text, required)
├── content (Rich Text)
└── related-posts (Multi-Reference → Posts)  ← Self-reference to other posts

Display: Show related posts at bottom of post page

Advantages:

  • ✅ Keeps users engaged longer
  • ✅ Better SEO (internal linking)
  • ✅ Flexible content connections

Challenges:

  • ⚠️ Not truly bidirectional (A → B doesn't automatically create B → A)
  • ⚠️ Must manually maintain both directions if needed
  • ⚠️ Can be time-consuming for content editors

Solutions:

  1. Use tags for automatic "related by tag" logic
  2. Manual curation for most important connections
  3. Hybrid: Manual + automated based on tags/category

Examples

Example 1: Planning New CMS Structure

User prompt:

I'm building a recipe site. How should I structure the CMS?

Step 1: Requirements Gathering

📐 CMS Planning: Recipe Site

Let me ask a few questions to design the best structure:

1. **Content Volume**: How many recipes do you plan to have?
   - Small (≤50): Simple structure
   - Medium (50-200): Moderate organization
   - Large (200+): Advanced taxonomy needed

2. **Recipe Attributes**: What information will each recipe have?
   - Basic: Name, ingredients, instructions, image
   - Advanced: Prep time, cook time, difficulty, nutrition, dietary tags

3. **Organization Needs**: How will users find recipes?
   - By meal type (breakfast, lunch, dinner)
   - By cuisine (Italian, Mexican, Asian)
   - By dietary restrictions (vegan, gluten-free, keto)
   - By cooking method (baking, grilling, slow cooker)
   - By ingredients (chicken, pasta, vegetables)

4. **Author Setup**: Single or multiple authors?
   - Single: You manage all content
   - Multiple: Team of recipe creators

5. **User Engagement**: What interactive features?
   - Comments/reviews
   - Ratings
   - Save favorites
   - Print recipe cards

Based on your answers, I'll design the optimal CMS architecture.

Step 2: After User Responds

📐 Recommended CMS Architecture: Recipe Site

Based on your requirements (Medium volume, Multiple authors, Advanced filtering):

---

## Collections Needed: 4

### 1. Recipes (Main Content)
├── name (Text, required) - "Homemade Pasta Carbonara"
├── slug (Text, required) - "homemade-pasta-carbonara"
├── description (Plain Text, 160 chars) - Brief summary for SEO
├── featured-image (Image) - Hero image for detail page
├── thumbnail-image (Image) - Smaller image for grid cards
├── prep-time (Number, required) - Minutes of prep
├── cook-time (Number, required) - Minutes of cooking
├── total-time (Number) - Auto-calculated or manual
├── servings (Number, required) - Number of servings
├── difficulty (Option: Easy, Medium, Hard)
├── ingredients (Rich Text, required) - Ingredient list with quantities
├── instructions (Rich Text, required) - Step-by-step directions
├── notes (Rich Text) - Cook's notes, tips, substitutions
├── nutrition-info (Plain Text) - Calories, protein, etc.
├── author (Reference → Authors, required)
├── category (Reference → Categories, required) - Primary meal type
├── cuisine (Reference → Cuisines) - Italian, Mexican, etc.
├── dietary-tags (Multi-Reference → Dietary Tags) - Vegan, GF, etc.
├── cooking-methods (Multi-Reference → Methods) - Baking, Grilling, etc.
├── featured (Switch) - Highlight on homepage
├── published-date (Date, required)
└── view-count (Number) - Track popularity

**Total fields:** 22 fields
**Plan required:** CMS plan minimum (20 collections, 2000 items)

### 2. Authors
├── name (Text, required)
├── slug (Text, required)
├── title (Text) - "Head Chef", "Recipe Developer"
├── bio (Rich Text)
├── photo (Image)
├── specialty (Plain Text) - "Italian Cuisine", "Baking"
├── social-instagram (Link)
├── social-website (Link)
└── email (Email)

**Purpose:** Reusable author information across all recipes

### 3. Categories
├── name (Text, required) - "Breakfast", "Lunch", "Dinner", "Desserts"
├── slug (Text, required)
├── description (Plain Text)
├── image (Image) - Category hero image
├── color (Color) - Brand color for UI
└── sort-order (Number) - Control display order

**Purpose:** Primary meal type classification

**Suggested Categories (8):**
- Breakfast & Brunch
- Appetizers & Snacks
- Lunch
- Dinner & Main Courses
- Side Dishes
- Salads
- Desserts & Sweets
- Drinks & Beverages

### 4. Cuisines
├── name (Text, required) - "Italian", "Mexican", "Asian"
├── slug (Text, required)
├── description (Plain Text)
└── flag-icon (Image) - Optional visual

**Purpose:** Filter by cuisine type

**Suggested Cuisines (12):**
- American, Italian, Mexican, Asian, Mediterranean, French, Indian, Thai,
  Chinese, Japanese, Greek, Middle Eastern

### 5. Dietary Tags
├── name (Text, required) - "Vegan", "Gluten-Free", "Keto"
├── slug (Text, required)
├── description (Plain Text)
├── icon (Image) - Badge icon
└── color (Color) - Badge color

**Purpose:** Multi-select dietary filters

**Suggested Tags (10):**
how to use cms-best-practices

How to use cms-best-practices on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add cms-best-practices
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/webflow/webflow-skills --skill cms-best-practices

The skills CLI fetches cms-best-practices from GitHub repository webflow/webflow-skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/cms-best-practices

Reload or restart Cursor to activate cms-best-practices. Access the skill through slash commands (e.g., /cms-best-practices) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.860 reviews
  • Aarav Abebe· Dec 24, 2024

    We added cms-best-practices from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Sakura Haddad· Dec 20, 2024

    Solid pick for teams standardizing on skills: cms-best-practices is focused, and the summary matches what you get after install.

  • Yash Thakker· Dec 16, 2024

    I recommend cms-best-practices for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Sakshi Patil· Dec 12, 2024

    cms-best-practices has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Kabir Khanna· Dec 4, 2024

    Useful defaults in cms-best-practices — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Hiroshi Verma· Nov 23, 2024

    I recommend cms-best-practices for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Ava Wang· Nov 23, 2024

    Keeps context tight: cms-best-practices is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Kabir Martin· Nov 15, 2024

    cms-best-practices fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Advait Taylor· Nov 11, 2024

    Registry listing for cms-best-practices matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Fatima White· Nov 11, 2024

    cms-best-practices has been reliable in day-to-day use. Documentation quality is above average for community skills.

showing 1-10 of 60

1 / 6