permissions

Manages user permissions and roles with route protection and UI rendering via PermissionsService and guard.

Updated Nov 18, 2025
One-click install
npx skills add https://github.com/twhitehead-blackdog/People --skill permissions-twhitehead-blackdog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: permissions
Source: https://github.com/twhitehead-blackdog/People/tree/main/.agent/skills/permissions
Command: npx skills add https://github.com/twhitehead-blackdog/People --skill permissions-twhitehead-blackdog

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill simplifies the management of user permissions and roles within the application, ensuring that users only have access to the features and data they are authorized to see.

Core Features & Use Cases

  • Role-Based Access Control: Define and assign specific roles (e.g., admin, HR, branch manager) to users.
  • Permission Granularity: Assign individual permissions (e.g., employees.edit, schedules.approve) to users or roles.
  • Conditional UI Rendering: Dynamically show or hide UI elements based on user permissions.
  • Route Protection: Secure application routes using permission guards.
  • Use Case: As an HR manager, you need to ensure that only branch managers can approve employee schedules, while HR staff can view all schedules but not approve them. This Skill allows you to configure these specific access levels.

Quick Start

Use the permissions skill to check if the current user has the 'employees.edit' permission.

Frequently Asked Questions about permissions

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

FAQPage Schema
How do I implement role-based access control and permission checks in my application?

Role-based access control is implemented by defining roles with associated permission sets and using a runtime PermissionsService to check user authorization for specific actions like employees.edit. This enables granular access control and conditional UI rendering based on assigned roles.

How do I protect application routes using permission guards?

Route protection is enforced using a dedicated permissionGuard that checks user authorization before granting access to specific application routes. The guard validates permissions at runtime to ensure users only access authorized features and data.

Can I dynamically show or hide UI elements based on user authorization?

Conditional UI rendering dynamically shows or hides interface elements based on current user permissions evaluated through the PermissionsService. This ensures users only see features and data they are explicitly authorized to access.

What is the best way to assign granular permissions like schedules.approve to specific roles?

Granular permissions are assigned to predefined roles using the permissions framework, allowing specific actions like schedules.approve to be restricted to certain roles such as branch manager. This prevents unauthorized staff from executing restricted actions.

Does this access control approach support complex organizational hierarchies like HR and branch managers?

The access control system supports complex organizational hierarchies by defining specific roles like admin, HR, and branch manager with distinct permission sets. This allows you to configure varying access levels where HR can view schedules but only branch managers can approve them.