Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 43 additions & 39 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ These skills require the Webflow MCP (Model Context Protocol) server to be insta

3. **Verify Installation**

Test the connection by calling `sites_list` to confirm access to Webflow sites.
Test the connection by calling `data_sites_tool` with action `list_sites` to confirm access to Webflow sites.

### What Webflow MCP Provides

Expand Down Expand Up @@ -150,40 +150,50 @@ When working with Webflow skills, these MCP tools are available:
### Core Site Operations

- `webflow_guide_tool` - **Always call first** to get best practices
- `sites_list` - List all accessible sites
- `sites_get` - Get detailed site information
- `sites_publish` - Publish site to specified domains
- `data_sites_tool` - Consolidated tool for site operations with actions:
- `list_sites` - List all accessible sites
- `get_site` - Get detailed site information
- `publish_site` - Publish site to specified domains

### CMS Operations

- `collections_list` - List all CMS collections
- `collections_get` - Get collection schema and fields
- `collections_create` - Create new collections
- `collections_items_list_items` - List items in collection
- `collections_items_create_item` - Create items (draft)
- `collections_items_create_item_live` - Create items (publish immediately)
- `collections_items_update_items` - Update items (draft)
- `collections_items_update_items_live` - Update items (publish immediately)
- `collections_items_publish_items` - Publish draft items
- `collections_items_delete_item` - Delete collection item
- `data_cms_tool` - Consolidated tool for CMS operations with actions:
- **Collections**: `get_collection_list`, `get_collection_details`, `create_collection`
- **Fields**: `create_collection_static_field`, `create_collection_option_field`, `create_collection_reference_field`, `update_collection_field`
- **Items**: `list_collection_items`, `create_collection_items`, `update_collection_items`, `publish_collection_items`, `delete_collection_items`

### Field Management
### Page Operations

- `collection_fields_create_static` - Create static fields (text, number, date, etc.)
- `collection_fields_create_option` - Create option fields (dropdowns)
- `collection_fields_create_reference` - Create reference/multi-reference fields
- `collection_fields_update` - Update field properties
- `data_pages_tool` - Consolidated tool for page operations with actions:
- `list_pages` - List all pages in site
- `get_page_metadata` - Get page SEO settings
- `update_page_settings` - Update page metadata, SEO, slug
- `get_page_content` - Get page content structure
- `update_static_content` - Update page content (requires Designer)

### Page Operations
### Component Operations

- `data_components_tool` - Consolidated tool for component operations with actions:
- `list_components` - List all components
- `get_component_content` - Get component structure
- `update_component_content` - Update component content
- `get_component_properties` - Get component properties
- `update_component_properties` - Update component properties

### Scripts & Custom Code

- `pages_list` - List all pages in site
- `pages_get_metadata` - Get page SEO settings
- `pages_update_page_settings` - Update page metadata, SEO, slug
- `pages_get_content` - Get page content structure
- `pages_update_static_content` - Update page content (requires Designer)
- `data_scripts_tool` - Consolidated tool for script operations with actions:
- `list_registered_scripts` - List registered scripts
- `list_applied_scripts` - Get applied scripts
- `add_inline_site_script` - Add inline scripts (max 10,000 chars)
- `delete_all_site_scripts` - Remove all custom scripts
- `get_page_script` - Get scripts on specific page
- `upsert_page_script` - Add/update page scripts
- `delete_all_page_scripts` - Remove all page scripts

### Designer Tools (requires Designer connection)

These tools remain action-based and unchanged:
- `element_tool` - Get/select elements, update attributes, styles, links
- `element_builder` - Create elements (max 3 levels deep)
- `de_component_tool` - Manage components and instances
Expand All @@ -193,15 +203,9 @@ When working with Webflow skills, these MCP tools are available:
- `asset_tool` - Manage assets and folders
- `de_learn_more_about_styles` - Reference for supported styles

### Scripts & Custom Code

- `site_registered_scripts_list` - List registered scripts
- `site_applied_scripts_list` - Get applied scripts
- `add_inline_site_script` - Add inline scripts (max 2000 chars)
- `delete_all_site_scripts` - Remove all custom scripts

### Helper Tools

These tools remain standalone:
- `ask_webflow_ai` - Ask questions about Webflow API
- `get_image_preview` - Preview images from URLs

Expand Down Expand Up @@ -244,7 +248,7 @@ User: "Use the safe-publish skill to publish my site"

### 1. Site ID Requirements

- **Never assume site IDs** - Always use `sites_list` to fetch available sites
- **Never assume site IDs** - Always use `data_sites_tool` with action `list_sites` to fetch available sites
- **Ask user to select** - If multiple sites, let user choose by name or number
- **Confirm site name** - Verify you're working on the correct site

Expand Down Expand Up @@ -594,7 +598,7 @@ After any operation, report:
User: "Audit my Webflow site"

1. Call webflow_guide_tool
2. Call sites_list
2. Call data_sites_tool with action list_sites
3. Ask user to select site
4. Invoke site-audit skill
5. Skill handles full workflow
Expand All @@ -607,8 +611,8 @@ User: "Audit my Webflow site"
User: "Add these 5 blog posts: [data]"

1. Call webflow_guide_tool
2. Call sites_list → get site
3. Call collections_list → find "Blog Posts" collection
2. Call data_sites_tool with action list_sites → get site
3. Call data_cms_tool with action get_collection_list → find "Blog Posts" collection
4. Invoke bulk-cms-update skill with:
- Site ID
- Collection name
Expand All @@ -623,7 +627,7 @@ User: "Add these 5 blog posts: [data]"
User: "Check for broken links"

1. Call webflow_guide_tool
2. Call sites_list → get site
2. Call data_sites_tool with action list_sites → get site
3. Invoke link-checker skill
4. Skill extracts + validates all links
5. Shows health report
Expand Down Expand Up @@ -659,7 +663,7 @@ User: "How should I structure my CMS for a recipe site?"
```
Problem: Site ID incorrect or site not accessible
Solution:
1. Use sites_list to see available sites
1. Use data_sites_tool with action list_sites to see available sites
2. Verify user has access to site
3. Confirm site name with user
```
Expand Down Expand Up @@ -702,7 +706,7 @@ Solution:

**Always call first**: `webflow_guide_tool`

**Get site**: `sites_list` → user selects → use `siteId`
**Get site**: `data_sites_tool` with action `list_sites` → user selects → use `siteId`

**Context parameter**: 15-25 words, third-person, explain action

Expand Down
2 changes: 1 addition & 1 deletion plugins/webflow-skills/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "webflow-skills",
"description": "Production-ready skills for managing Webflow CMS content, auditing site health, optimizing assets, and safely publishing changes",
"version": "1.0.0",
"version": "1.0.1",
"skills": "./skills/"
}

2 changes: 1 addition & 1 deletion plugins/webflow-skills/skills/asset-audit/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Analyze assets on a Webflow site for SEO optimization.
**ALWAYS use Webflow MCP tools for all operations:**
- Use Webflow MCP's `asset_tool` for fetching and updating assets
- Use Webflow MCP's `get_image_preview` for analyzing image content
- Use Webflow MCP's `sites_list` for listing available sites
- Use Webflow MCP's `data_sites_tool` with action `list_sites` for listing available sites
- Use Webflow MCP's `webflow_guide_tool` to get best practices before starting
- 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)
Expand Down
22 changes: 10 additions & 12 deletions plugins/webflow-skills/skills/bulk-cms-update/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,13 @@ Create or update multiple CMS items with comprehensive validation, granular appr
## Important Note

**ALWAYS use Webflow MCP tools for all operations:**
- Use Webflow MCP's `sites_list` for listing available sites
- Use Webflow MCP's `collections_list` for listing CMS collections
- Use Webflow MCP's `collections_get` for fetching collection schemas
- Use Webflow MCP's `collections_items_list_items` for retrieving existing items
- Use Webflow MCP's `collections_items_create_item_live` for creating items (published immediately)
- Use Webflow MCP's `collections_items_create_item` for creating draft items
- Use Webflow MCP's `collections_items_update_items_live` for updating items (published immediately)
- Use Webflow MCP's `collections_items_update_items` for updating draft items
- Use Webflow MCP's `collections_items_publish_items` for publishing draft items
- Use Webflow MCP's `data_sites_tool` with action `list_sites` for listing available sites
- Use Webflow MCP's `data_cms_tool` with action `get_collection_list` for listing CMS collections
- Use Webflow MCP's `data_cms_tool` with action `get_collection_details` for fetching collection schemas
- Use Webflow MCP's `data_cms_tool` with action `list_collection_items` for retrieving existing items
- Use Webflow MCP's `data_cms_tool` with action `create_collection_items` for creating items (draft or published)
- Use Webflow MCP's `data_cms_tool` with action `update_collection_items` for updating items (draft or published)
- Use Webflow MCP's `data_cms_tool` with action `publish_collection_items` for publishing draft items
- Use Webflow MCP's `webflow_guide_tool` to get best practices before starting
- 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)
Expand All @@ -27,9 +25,9 @@ Create or update multiple CMS items with comprehensive validation, granular appr

### Phase 1: Site & Collection Selection
1. **Get site**: Identify the target site. If user does not provide site ID, ask for it.
2. **List collections**: Use Webflow MCP's `collections_list` to show available collections
2. **List collections**: Use Webflow MCP's `data_cms_tool` with action `get_collection_list` to show available collections
3. **Ask user to select collection**: User specifies which collection to work with
4. **Fetch collection schema**: Use Webflow MCP's `collections_get` to retrieve:
4. **Fetch collection schema**: Use Webflow MCP's `data_cms_tool` with action `get_collection_details` to retrieve:
- All field definitions with types
- Required vs optional fields
- Field validations (max length, patterns, etc.)
Expand All @@ -46,7 +44,7 @@ Create or update multiple CMS items with comprehensive validation, granular appr
- CSV-style data
- Bullet lists
7. **Parse and normalize**: Convert user data into structured format
8. **Fetch existing items** (if updates involved): Use Webflow MCP's `collections_items_list_items` to get current data
8. **Fetch existing items** (if updates involved): Use Webflow MCP's `data_cms_tool` with action `list_collection_items` to get current data

**IMPORTANT - Efficient Item Lookup:**
- When searching for specific items by name, ALWAYS use the `name` parameter to filter (e.g., `name: "Pikachu"`)
Expand Down
20 changes: 10 additions & 10 deletions plugins/webflow-skills/skills/cms-best-practices/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ Provide expert guidance on Webflow CMS architecture, relationships, optimization

**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 `sites_list` to identify available sites
- Use Webflow MCP's `sites_get` to retrieve site details and plan limits
- Use Webflow MCP's `collections_list` to analyze existing collections
- Use Webflow MCP's `collections_get` to examine collection schemas
- Use Webflow MCP's `collections_items_list_items` to assess content volume
- Use Webflow MCP's `pages_list` to understand page structure
- 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)
Expand All @@ -30,10 +30,10 @@ Provide expert guidance on Webflow CMS architecture, relationships, optimization
- Troubleshooting performance issues
- Setting up relationships
- Seeking architecture guidance
2. **Get site information**: Use Webflow MCP's `sites_list` and `sites_get` to understand plan limits
3. **Analyze existing structure**: Use Webflow MCP's `collections_list` and `collections_get` to examine current setup
4. **Assess content volume**: Use Webflow MCP's `collections_items_list_items` to understand scale
5. **Review pages**: Use Webflow MCP's `pages_list` to see how content is displayed
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
6. **Understand use case**: Ask clarifying questions:
Expand Down
40 changes: 20 additions & 20 deletions plugins/webflow-skills/skills/cms-collection-setup/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,24 @@ Create a new CMS collection with custom fields, relationships, and proper config

**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 `sites_list` to identify available sites
- Use Webflow MCP's `sites_get` to retrieve site details and plan limits
- Use Webflow MCP's `collections_list` to check for naming conflicts
- Use Webflow MCP's `collections_create` to create the collection
- Use Webflow MCP's `collection_fields_create_static` to create static fields
- Use Webflow MCP's `collection_fields_create_option` to create option fields
- Use Webflow MCP's `collection_fields_create_reference` to create reference/multi-reference fields
- Use Webflow MCP's `collections_get` to verify collection was created correctly
- 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 check for naming conflicts
- Use Webflow MCP's `data_cms_tool` with action `create_collection` to create the collection
- Use Webflow MCP's `data_cms_tool` with action `create_collection_static_field` to create static fields
- Use Webflow MCP's `data_cms_tool` with action `create_collection_option_field` to create option fields
- Use Webflow MCP's `data_cms_tool` with action `create_collection_reference_field` to create reference/multi-reference fields
- Use Webflow MCP's `data_cms_tool` with action `get_collection_details` to verify collection was created correctly
- 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: Site Selection & Discovery
1. **Get site information**: Use Webflow MCP's `sites_list` to identify target site
1. **Get site information**: Use Webflow MCP's `data_sites_tool` with action `list_sites` to identify target site
2. **Confirm site**: Ask user to select site if multiple available
3. **Check plan limits**: Use Webflow MCP's `sites_get` to verify collection limits
4. **List existing collections**: Use Webflow MCP's `collections_list` to check for conflicts
3. **Check plan limits**: Use Webflow MCP's `data_sites_tool` with action `get_site` to verify collection limits
4. **List existing collections**: Use Webflow MCP's `data_cms_tool` with action `get_collection_list` to check for conflicts
5. **Validate naming**: Ensure new collection name doesn't conflict with existing

### Phase 2: Requirements Gathering
Expand Down Expand Up @@ -71,7 +71,7 @@ Create a new CMS collection with custom fields, relationships, and proper config
15. **Request confirmation**: Wait for explicit "create" approval

### Phase 5: Collection Creation
16. **Create collection**: Use Webflow MCP's `collections_create` with:
16. **Create collection**: Use Webflow MCP's `data_cms_tool` with action `create_collection` with:
- Display name
- Singular name
- Optional slug
Expand All @@ -81,9 +81,9 @@ Create a new CMS collection with custom fields, relationships, and proper config
### Phase 6: Field Creation
19. **Create fields in order**: For each field:
- Use appropriate creation tool based on type
- Static fields: `collection_fields_create_static`
- Option fields: `collection_fields_create_option`
- Reference fields: `collection_fields_create_reference`
- Static fields: `data_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_field`
20. **Set field properties**:
- Display name
- Required flag
Expand All @@ -93,7 +93,7 @@ Create a new CMS collection with custom fields, relationships, and proper config
22. **Handle errors**: If field creation fails, report and continue

### Phase 7: Verification & Reporting
23. **Verify collection**: Use Webflow MCP's `collections_get` to retrieve full schema
23. **Verify collection**: Use Webflow MCP's `data_cms_tool` with action `get_collection_details` to retrieve full schema
24. **Confirm all fields**: Check that all requested fields were created
25. **Generate report**: Show:
- Collection ID
Expand Down Expand Up @@ -180,7 +180,7 @@ Create a new CMS collection with custom fields, relationships, and proper config
- Use for: Status, category, type, priority
- Properties: List of option names
- Example: "Status" (Draft, Review, Published)
- Creation: Use `collection_fields_create_option` with options array
- Creation: Use `data_cms_tool` with action `create_collection_option_field` with options array

**Example:**
```json
Expand All @@ -203,14 +203,14 @@ Create a new CMS collection with custom fields, relationships, and proper config
- Use for: Author → Post, Category → Post, Brand → Product
- Properties: Collection ID of referenced collection
- Example: "Author" (reference to Authors collection)
- Creation: Use `collection_fields_create_reference` with collectionId
- Creation: Use `data_cms_tool` with action `create_collection_reference_field` with collectionId

**MultiReference** - Link to multiple items in another collection (many-to-many)
- Use for: Post → Tags, Product → Features, Project → Technologies
- Properties: Collection ID of referenced collection
- Limit: Max 5 multi-reference fields per collection
- Example: "Tags" (reference to Tags collection)
- Creation: Use `collection_fields_create_reference` with collectionId
- Creation: Use `data_cms_tool` with action `create_collection_reference_field` with collectionId

**Reference Field Example:**
```json
Expand Down Expand Up @@ -1008,7 +1008,7 @@ Notes:
**Post-Creation Verification:**
```
After creating collection and fields:
1. Call collections_get with collection ID
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
Expand Down
Loading