epic-permissions

Enforce explicit RBAC permissions across Epic Stack applications with Prisma models.

Updated Jan 31, 2026
One-click install
npx skills add https://github.com/M-Kolacz/michalkolacz.com --skill epic-permissions-m-kolacz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: epic-permissions
Source: https://github.com/M-Kolacz/michalkolacz.com/tree/main/docs/skills/epic-permissions
Command: npx skills add https://github.com/M-Kolacz/michalkolacz.com --skill epic-permissions-m-kolacz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a structured approach to implementing and enforcing explicit RBAC permissions across Epic Stack applications.

Core Features & Use Cases

  • Explicit permission model: define permissions with action:entity:access and assign them to roles.
  • Server-side and client-side enforcement: ensure checks happen in API routes and UI guards.
  • Seed and tooling guidance: includes Prisma models and seed examples to bootstrap roles and permissions.

Quick Start

Start by defining your RBAC goals, create roles and permissions in Prisma, and enforce checks in server routes and client components.

Frequently Asked Questions about epic-permissions

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

FAQPage Schema
How do I implement RBAC permissions with Prisma and TypeScript?

You implement RBAC permissions by defining an explicit permission model using action:entity:access formats, assigning them to roles via Prisma data models, and applying TypeScript utilities for validation across your application.

What is the best way to enforce server-side and client-side access control?

Server-side and client-side access control is enforced by applying authorization checks within API routes and using UI guards, ensuring users interact only with permitted entities based on their assigned roles.

How do I set up ownership-based access control in a backend?

Ownership-based access control is set up by defining permissions with 'own' for user-specific resources and 'any' for unrestricted access, then validating these scopes during server-side route checks.

How do I structure roles and permissions in a Prisma database schema?

You structure roles and permissions in a Prisma schema by creating models to map relationships, then use seed examples to bootstrap initial roles and explicit action:entity:access permissions for validation.

Does this authorization approach support both server-side checks and client-side UI guards?

Yes, this authorization approach supports both environments by providing TypeScript utilities for server-side API route validation and specific patterns for implementing client-side UI component guards.

When should I use explicit RBAC instead of basic role checks?

You should use explicit RBAC instead of basic role checks when your application requires precise ownership-based access control and granular action:entity:access permission validation across both server and client layers.