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.
Provide expert guidance on Webflow CMS architecture, relationships, optimization, and troubleshooting.
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_toolto get best practices before starting - Use Webflow MCP's
data_sites_toolwith actionlist_sitesto identify available sites - Use Webflow MCP's
data_sites_toolwith actionget_siteto retrieve site details and plan limits - Use Webflow MCP's
data_cms_toolwith actionget_collection_listto analyze existing collections - Use Webflow MCP's
data_cms_toolwith actionget_collection_detailsto examine collection schemas - Use Webflow MCP's
data_cms_toolwith actionlist_collection_itemsto assess content volume - Use Webflow MCP's
data_pages_toolwith actionlist_pagesto understand page structure - Use Webflow MCP's
ask_webflow_aifor specific API questions - DO NOT use any other tools or methods for Webflow operations
- All tool calls must include the required
contextparameter (15-25 words, third-person perspective)
Instructions
Phase 1: Discovery & Analysis
- Identify the request: Determine if user is:
- Planning new CMS structure
- Optimizing existing collections
- Troubleshooting performance issues
- Setting up relationships
- Seeking architecture guidance
- Get site information: Use Webflow MCP's
data_sites_toolwith actionslist_sitesandget_siteto understand plan limits - Analyze existing structure: Use Webflow MCP's
data_cms_toolwith actionsget_collection_listandget_collection_detailsto examine current setup - Assess content volume: Use Webflow MCP's
data_cms_toolwith actionlist_collection_itemsto understand scale - Review pages: Use Webflow MCP's
data_pages_toolwith actionlist_pagesto see how content is displayed
Phase 2: Requirements Gathering
- 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?
- Identify constraints: Consider plan limits, technical constraints, team skills
- Define success criteria: Performance goals, editorial workflow, scalability needs
Phase 3: Architecture Planning
- Design collection structure: Plan collections, fields, and relationships
- Select field types: Choose appropriate field types for each content element
- Plan relationships: Design one-to-many and many-to-many connections
- Consider taxonomy: Determine categories, tags, and organizational structure
- Plan for scale: Design for growth (pagination, performance, limits)
- Document decisions: Explain tradeoffs and reasoning
Phase 4: Recommendations & Validation
- Generate recommendations: Provide specific, actionable guidance
- Prioritize changes: Organize by impact (quick wins vs. long-term)
- Explain tradeoffs: Help users understand limitations and workarounds
- Validate against best practices: Check against Webflow limitations and patterns
- Provide alternatives: Offer multiple approaches when applicable
- Create implementation roadmap: Break down into phases
Phase 5: Implementation Guidance
- Provide step-by-step instructions: Clear guidance for implementation
- Offer to assist: Suggest using other skills (cms-collection-setup, bulk-cms-update)
- Document structure: Recommend documentation for team reference
- Suggest testing approach: Guide on how to validate changes
- 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 | 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:
- Create combined tags (e.g., "vegan-gluten-free")
- Use Finsweet CMS Filter for client-side filtering
- Create separate filtered collection lists for common combinations
- 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:
- Use tags for automatic "related by tag" logic
- Manual curation for most important connections
- 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 on Cursor
AI-first code editor with Composer
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
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches cms-best-practices from GitHub repository webflow/webflow-skills and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
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
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.Install product management skill
- 2.Start with user story generation for known feature
- 3.Progress to competitive analysis: research 2-3 competitors
- 4.Use for roadmap prioritization: apply RICE/ICE scoring
- 5.Draft stakeholder communications and refine based on feedback
- 6.Build template library for recurring PM tasks
- 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▌
- 1Basic: user stories, feature specs, status updates
- 2Intermediate: competitive analysis, prioritization frameworks, PRDs
- 3Advanced: product strategy, go-to-market planning, OKR setting
- 4Expert: product vision, market positioning, business model innovation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.8★★★★★60 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