A Craft CMS plugin that provides a RESTful HTTP API with structured access to Craft CMS content management capabilities.
This plugin exposes Craft CMS functionality through HTTP endpoints, enabling programmatic access to content creation, modification, search, and management operations. It provides a clean, type-safe API designed specifically for interaction with Large Language Models (LLMs).
This project is structured as a Claude Skill - a specialized capability that can be connected to Claude (Anthropic's AI assistant) to enable it to interact with your Craft CMS installation.
By adding this plugin as a skill to Claude, you transform your Craft CMS site into an AI-accessible content management system, enabling natural language content operations and automated CMS administration tasks.
- Entry Management: Create, read, update, and delete entries with full field support
- Content Search: Search across entries with flexible query capabilities
- Section Management: Create and configure sections with different types (single, channel, structure)
- Entry Type Management: Define and manage entry types with custom field layouts
- Field Management: Create and configure custom fields with support for multiple field types
- Field Layout Management: Build and modify field layouts programmatically
- Draft Support: Create, update, and apply drafts for content workflows
- Site Information: Access multi-site configuration details
composer require happycog/craft-skillFrom your Craft project directory:
php craft plugin/install skillsOr install via the Craft Control Panel:
- Navigate to Settings → Plugins
- Find "Craft Skill" in the list
- Click "Install"
Set your primary site URL in your .env file:
PRIMARY_SITE_URL=https://your-craft-site.comCreate config/skills.php to customize the API endpoint prefix (defaults to api):
<?php
return [
'apiPrefix' => 'api', // Change to your preferred prefix
];To enable Claude to access the skill documentation, symlink the SKILLS/ directory to Claude's skills directory:
# Create the Claude skills directory if it doesn't exist
mkdir -p ~/.claude/skills
# Symlink this project's SKILLS directory
ln -s ../../vendor/happycog/craft-skill/SKILLS .claude/skills/craftOnce linked, Claude will be able to discover and use the Craft CMS management capabilities.