From statamic-dev
This skill should be used when the user asks to "create a collection", "scaffold a collection", "add a new collection", "set up blog collection", "create pages collection", or wants to generate Statamic collection configuration files, blueprints, and templates together as a package.
How this skill is triggered — by the user, by Claude, or both
Slash command
/statamic-dev:create-collectionThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Scaffold a complete Statamic collection with configuration, blueprint, and Antlers templates in one step.
Scaffold a complete Statamic collection with configuration, blueprint, and Antlers templates in one step.
Extract from the user's description:
blog-posts)/{collection-handle}/{slug}){collection-handle}/show)desc if date-enabled, asc otherwise)If critical details are ambiguous, infer sensible defaults rather than asking — collections are easy to adjust later.
Before creating files, confirm the project is a Statamic project:
content/collections/ directoryresources/blueprints/collections/ directoryresources/views/ directoryIf directories are missing, warn the user and ask whether to create them.
Write to content/collections/{handle}.yaml:
title: {Title}
date: {true|false}
date_behavior:
past: public
future: private
route: '{route-pattern}'
sort_dir: {asc|desc}
template: {handle}/show
layout: layout
taxonomies:
- {taxonomy1}
revisions: false
Only include date, date_behavior, and sort_dir if date-enabled. Only include taxonomies if specified. Only include revisions if the user mentions it.
Write to resources/blueprints/collections/{handle}/{handle}.yaml:
sections:
main:
display: Main
fields:
- handle: content
type: markdown
sidebar:
display: Sidebar
fields:
- handle: author
type: users
max_items: 1
Adjust fields based on user request. Common patterns:
Write the show template to resources/views/{handle}/show.antlers.html:
{{ partial:hero title="{title}" }}
<article>
<h1>{{ title }}</h1>
{{ if date }}<time datetime="{{ date format="Y-m-d" }}">{{ date format="F j, Y" }}</time>{{ /if }}
{{ if featured_image }}
{{ glide:featured_image width="800" height="400" fit="crop" }}
<img src="{{ url }}" alt="{{ alt ?? title }}">
{{ /glide:featured_image }}
{{ /if }}
<div class="content">
{{ content }}
</div>
</article>
Write the index template to resources/views/{handle}/index.antlers.html:
<h1>{{ title ?? '{Title}' }}</h1>
{{ collection:{handle} limit="10" sort="date:desc" }}
<article>
<h2><a href="{{ url }}">{{ title }}</a></h2>
{{ if date }}<time>{{ date format="M d, Y" }}</time>{{ /if }}
{{ if excerpt }}<p>{{ excerpt }}</p>{{ /if }}
</article>
{{ /collection:{handle} }}
Adapt templates to include only fields that exist in the blueprint.
If the user requests it, create a sample entry at content/collections/{handle}/{filename}.md:
---
title: Sample Entry
id: {generate-uuid}
---
Sample content goes here.
For date-enabled collections, prefix filename with date: 2026-01-01.sample-entry.md.
After creating all files, display:
{{ collection:{handle} }}| Collection type | Date | Route | Sort | Default fields |
|---|---|---|---|---|
| blog/posts | yes | /blog/{slug} | desc | content, featured_image, excerpt, author |
| pages | no | /{slug} | asc | content, hero_image |
| products | no | /products/{slug} | asc | description, price, images, category |
| events | yes | /events/{slug} | asc | description, date, location |
| team | no | /team/{slug} | asc | bio, photo, role, email |
| projects | no | /projects/{slug} | desc | description, images, client, url |
blog-posts)inject in collection config for default values shared across entries{slug}, {year}, {month}, {day}, {parent_uri}, {depth}, {mount}, plus any entry fieldnpx claudepluginhub dontfreakout/claude-statamic-pluginCreates CMS collections in Webflow with custom fields, options, and relationships via MCP tools. Useful for blog posts, products, team members, portfolios.
Complete content collections setup and management for Astro projects, including type-safe schemas, query patterns, frontmatter validation, and content organization.
Helps build and configure EmDash CMS, a full-stack TypeScript CMS on Astro and Cloudflare. Scaffold projects, create content types, build plugins, and migrate from WordPress.