neuro-cms-architecture

Designs multi-tenant CMS architectures with content modeling, RBAC, plugins, and API patterns for Node.js/Next.js projects.

Updated Apr 18, 2026
One-click install
npx skills add https://github.com/webdevarif/claude-skills --skill neuro-cms-architecture-webdevarif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: neuro-cms-architecture
Source: https://github.com/webdevarif/claude-skills/tree/main/neuro-cms-architecture
Command: npx skills add https://github.com/webdevarif/claude-skills --skill neuro-cms-architecture-webdevarif

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building a production-grade multi-tenant CMS involves dozens of hard architectural decisions—data isolation strategy, content modeling, plugin systems, access control, caching, and webhooks—and getting any of them wrong leads to costly rewrites. This Skill guides those decisions with concrete, working patterns while respecting the conventions already present in your codebase. ## Core Features & Use Cases - Multi-Tenant Architecture: Implements row-level, schema-level, and database-level tenant isolation with Prisma client extensions, PostgreSQL row-level security, and a decision matrix for choosing the right pattern. - Content Modeling & Plugin Systems: Provides a content type registry, block-based content bodies, field-level localization, singletons, and three plugin patterns (config transformation, hook-based lifecycle, middleware chains). - RBAC & API Design: Covers four levels of access control (route, collection, document, field) plus RESTful API conventions with filtering, pagination, and relation depth. - Use Case: You are adding multi-tenancy to an existing Next.js CMS. The Skill first reads your Prisma schema, auth setup, and API routes, then extends your existing patterns with tenant-scoped queries, permission middleware, and webhook delivery instead of imposing a foreign architecture. ## Quick Start Ask the assistant to analyze your existing Next.js project and design a multi-tenant content model with role-based access control for your posts and pages collections.

Frequently Asked Questions about neuro-cms-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement multi-tenancy in a Next.js CMS with Prisma?

Add a storeId column to every tenant-scoped model, then use a Prisma client extension that automatically injects storeId into all queries, creates, and updates. For defense-in-depth, enable PostgreSQL row-level security policies keyed on a session variable.

Row-level vs schema-level vs database-level tenant isolation: which should I choose?

Row-level isolation suits most SaaS CMS projects supporting thousands of tenants at lowest cost. Schema-level fits enterprise tenants needing stronger isolation, while database-level is reserved for regulated industries like healthcare where compliance mandates full separation.

How do I build a plugin system for a CMS?

Three patterns are covered: config transformation where plugins receive and return modified config, hook-based lifecycle events like beforeCreate and afterUpdate, and middleware chains for the request pipeline. Hook-based systems offer the most flexibility for content operations.

How do I implement document-level access control in a CMS?

Define access functions per collection that return true, false, or a query constraint such as { authorId: user.id }. Merge returned constraints into the database where clause so editors only see their own drafts while admins retain full access.

Does this approach work with Drizzle or only Prisma?

The architectural patterns—tenant isolation, content type registries, hooks, and RBAC—are ORM-agnostic. The Skill instructs analyzing the project first to detect whether Prisma, Drizzle, Mongoose, or another ORM is in use, then follows those existing conventions.

When should content be stored as blocks instead of rich text?

Store content as typed blocks (heading, image, code, table) in a JSON array when content must render across multiple platforms or be queried structurally. Rich text blobs are acceptable only for simple, single-channel publishing.