Storyblok
Comprehensive Storyblok CMS development best practices for agency developers. Covers content modeling, SDK integration (React, Vue, Nuxt, Next.js), Visual Editor configuration, field plugins, API usage, internationalization, webhooks, and deployment patterns. Triggers on tasks involving Storyblok components, Visual Editor setup, content fetching, field plugin development, or headless CMS integration.From its SKILL.md
npx -y skills add bartundmett/skills --skill storyblokAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
8.6 KB, as published. Nobody here has run it
Storyblok Best Practices
Comprehensive best practices guide for Storyblok CMS development, designed for AI agents and LLMs helping agency developers. Contains 40 rules across 24 categories, prioritized by impact to guide automated code generation and content architecture decisions.
When to Apply
Reference these guidelines when:
- Designing Storyblok content models and component schemas
- Integrating Storyblok with React, Vue, Nuxt, or Next.js
- Configuring Visual Editor and real-time preview
- Building custom field plugins with @storyblok/field-plugin
- Implementing Content Delivery API or Management API
- Setting up internationalization (i18n) with field or folder translations
- Configuring webhooks for cache invalidation and automation
- Managing multi-space architectures and CI/CD workflows
- Handling rich text fields with custom resolvers
- Optimizing images and performance with Image Service
- Building tool plugins or space plugins (sidebar apps)
- Setting up preview/production environments
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Content Modeling | CRITICAL | model- |
| 2 | SDK Integration | CRITICAL | sdk- |
| 3 | Visual Editor | CRITICAL | editor- |
| 4 | Performance & Caching | CRITICAL | perf- |
| 5 | Security & Authentication | CRITICAL | security- |
| 6 | Field Plugins | HIGH | plugin- |
| 7 | API Development | HIGH | api- |
| 8 | Internationalization | HIGH | i18n- |
| 9 | Next.js Integration | HIGH | nextjs- |
| 10 | Nuxt Integration | HIGH | nuxt- |
| 11 | App Development | HIGH | app- |
| 12 | Space & Asset Management | HIGH | space- |
| 13 | Webhooks & Automation | MEDIUM-HIGH | webhook- |
| 14 | Workflows & Publishing | MEDIUM-HIGH | workflow- |
| 15 | CLI & DevOps | MEDIUM | cli- |
| 16 | Testing & Quality | MEDIUM | test- |
| 17 | Rich Text & Media | MEDIUM | richtext- |
| 18 | Common Patterns | HIGH | pattern- |
| 19 | SEO & Structured Data | HIGH | seo- |
| 20 | E-commerce Integration | HIGH | ecommerce- |
| 21 | Content Migration | MEDIUM-HIGH | migration- |
| 22 | AI Features | MEDIUM | ai- |
| 23 | Collaboration | MEDIUM | collaboration- |
| 24 | Custom Apps | MEDIUM | app- |
Quick Reference
1. Content Modeling (CRITICAL)
model-component-structure- Follow atomic design for componentsmodel-field-configuration- Configure field types with validationmodel-block-nesting- Manage block nesting with restrictionsmodel-naming-conventions- Use consistent naming (snake_case)
2. SDK Integration (CRITICAL)
sdk-storyblok-editable- Always apply storyblokEditable() to componentssdk-component-registration- Register all components globallysdk-richtext-rendering- Render rich text with custom resolvers
3. Visual Editor (CRITICAL)
editor-bridge-setup- Configure Storyblok Bridge correctlyeditor-draft-published- Handle draft/published content properly
4. Performance & Caching (CRITICAL)
perf-image-optimization- Use Image Service for optimized deliveryperf-cache-invalidation- Implement proper cache invalidation with cv parameterperf-monitoring- API and content performance monitoring
5. Security & Authentication (CRITICAL)
security-token-handling- Secure API token managementsecurity-roles-permissions- RBAC and access control configuration
6. Field Plugins (HIGH)
plugin-field-development- Build field plugins with @storyblok/field-plugin SDK
7. API Development (HIGH)
api-content-delivery- Use Content Delivery API correctly with paginationapi-graphql- Use GraphQL API for optimized queriesapi-management- Use Management API for CRUD operations
8. Internationalization (HIGH)
i18n-field-translation- Implement field-level translations correctlyi18n-folder-level- Folder-level translations with Dimensions app
9. Next.js Integration (HIGH)
nextjs-app-router- Integrate with Next.js App Router and RSC
10. Nuxt Integration (HIGH)
nuxt-integration- Configure @storyblok/nuxt module correctly
11. App Development (HIGH)
app-tool-plugins- Build tool and space plugins with App Bridge
12. Space & Asset Management (HIGH)
space-asset-management- Organize assets and datasourcesspace-multi-environment- Multi-space architecture for enterprise
13. Webhooks & Automation (MEDIUM-HIGH)
webhook-configuration- Configure webhooks for content events
14. Workflows & Publishing (MEDIUM-HIGH)
workflow-releases- Use Releases for scheduled publishingworkflow-pipelines- Pipeline stages for content staging
15. CLI & DevOps (MEDIUM)
cli-component-sync- Use CLI for component schema management
16. Testing & Quality (MEDIUM)
test-preview-environments- Set up preview and production environmentstest-unit-integration- Unit, integration, and E2E testing strategies
17. Rich Text & Media (MEDIUM)
richtext-media-handling- Handle rich text media correctly
18. Common Patterns (HIGH)
pattern-typescript- Generate and use TypeScript typespattern-error-handling- Implement robust error handlingpattern-debugging- Debugging and troubleshooting guidepattern-relations-references- Story links, relations, and reference resolution
19. SEO & Structured Data (HIGH)
seo-structured-data- JSON-LD, Open Graph, and sitemap configuration
20. E-commerce Integration (HIGH)
ecommerce-integration- Commerce platform integration patterns
21. Content Migration (MEDIUM-HIGH)
migration-patterns- Content migration strategies and tooling
22. AI Features (MEDIUM)
ai-content-features- Storyblok AI capabilities and RAG preparation
23. Collaboration (MEDIUM)
collaboration-realtime- Real-time editing, comments, and conflict resolution
24. Custom Apps (MEDIUM)
app-custom-sidebar- Sidebar apps and tool plugins beyond field plugins
Core Principles
Visual Editor First
Storyblok's Visual Editor is the primary editing experience:
- Always apply
storyblokEditable()to components - Configure the Storyblok Bridge for live editing
- Test components in the Visual Editor, not just code
Content Delivery vs Management API
| API | Purpose | Token | Cache |
|---|---|---|---|
| Content Delivery | Fetch content | Public/Preview | CDN |
| Management | CRUD operations | Personal/OAuth | None |
| GraphQL | Read-only queries | Public/Preview | CDN |
Framework Integration
| Framework | SDK | Special Features |
|---|---|---|
| React | @storyblok/react (v5+) | useStoryblokState, RSC support, StoryblokServerComponent |
| Vue | @storyblok/vue | v-editable directive |
| Nuxt | @storyblok/nuxt (v9+ for Nuxt 4) | Auto-registration, useAsyncStoryblok, deep option |
| Next.js | @storyblok/react | Draft mode, ISR, App Router |
| Astro | @storyblok/astro | Hybrid rendering |
Token Security
Never expose these in client-side code:
- Preview tokens (show draft content)
- Personal access tokens (full write access)
- OAuth tokens (scoped access)
Safe for client-side:
- Public tokens (read-only published content)
How to Use
Read individual rule files for detailed explanations and code examples:
rules/model-component-structure.md
rules/sdk-storyblok-editable.md
rules/editor-bridge-setup.md
rules/perf-image-optimization.md
rules/security-token-handling.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Configuration tables and references