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
5 changes: 0 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,6 @@ Solution:
- Output: Link health score, automatic fixes (HTTP→HTTPS), manual review items
- Safety: Preview + granular approval for fixes

- **site-inventory**: Export complete site structure and CMS inventory
- Use when: Documentation, migration planning, site audits
- Output: Pages list, CMS collections with schemas, item counts
- Type: Read-only (no modifications)

### Design & Naming Systems

- **flowkit-naming**: Apply Webflow's official FlowKit CSS naming system
Expand Down
25 changes: 25 additions & 0 deletions plugins/webflow-skills/skills/bulk-cms-update/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,12 @@ Create or update multiple CMS items with comprehensive validation, granular appr
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

**IMPORTANT - Efficient Item Lookup:**
- When searching for specific items by name, ALWAYS use the `name` parameter to filter (e.g., `name: "Pikachu"`)
- When searching by slug, use the `slug` parameter to filter
- NEVER fetch all items first and then search through the results - this wastes API calls and tokens
- Only fetch the full list when you need to display all items or don't know which specific items to target

### Phase 3: Validation & Analysis
9. **Validate all data**:
- **Field names**: Check all field names exist in schema
Expand Down Expand Up @@ -355,6 +361,25 @@ name,slug,featured
- Ask for clarification if ambiguous
- Never assume required field values

**Efficient Item Lookup:**
When fetching existing items for updates, use filter parameters to minimize API calls:

```
# Good - Filter by name when you know the item name
collections_items_list_items(collection_id, name: "Pikachu")

# Good - Filter by slug when you know the slug
collections_items_list_items(collection_id, slug: "pikachu")

# Bad - Fetching all items then searching through results
collections_items_list_items(collection_id) # Returns 100 items
# Then manually searching for "Pikachu" in results...
```

- ALWAYS use `name` or `slug` parameters when searching for specific items
- This reduces API calls, response size, and token usage
- Only fetch unfiltered lists when displaying all items or when the target is unknown

### Phase 3: Validation Rules

**Field Name Validation:**
Expand Down