Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Rbac Designer

ASecurity

Design role-based access control — role engineering, permission modeling, hierarchies, and governance.

2 stars
0 votes
0 copies
4 views
Added 9/29/2026
ai-agentsgoexpresssecuritydocumentation

Security Analysis

A100/100

Scanned 9/29/2026

$npx -y skills add aicodedecode/awesome-muse-skills --skill rbac-designer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rbac Designer?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Rbac Designer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aicodedecode-rbac-designer/badge)](https://www.skillsdirectory.com/skills/aicodedecode-rbac-designer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: rbac-designer
description: Design role-based access control — role engineering, permission modeling, hierarchies, and governance.
category: security
---

## Overview

RBAC simplifies access management by assigning permissions to roles and users to roles, instead of wiring every user directly to every resource. Done well, it makes access reviewable, auditable, and scalable. Done badly, it produces "role explosion" — thousands of single-user roles that are just direct assignment with extra steps.

This skill covers role engineering: discovering roles from real usage, designing clean hierarchies, and governing roles so they stay meaningful.

RBAC is an exercise in organizational honesty: the role catalog reveals what people actually do versus what the org chart says. Designs that embrace this — mining real usage, naming roles plainly, retiring what is unused — stay clean for years. Designs built purely top-down from job titles accumulate exceptions until the model is fiction.

## When to use

- Designing authorization for a new application or platform.
- Cleaning up accumulated direct grants and ad-hoc permissions.
- Reducing role explosion in an existing RBAC deployment.
- Preparing for audits that require demonstrable least privilege.

## Core concepts

- **The model:** users → roles → permissions → resources. Sessions activate subsets of roles. Keep the chain clean: no user→permission shortcuts in a mature model.
- **Role engineering approaches:** top-down (from job functions/org structure — fast but often wrong) vs bottom-up/role mining (from actual access patterns — accurate but messy). Best practice blends both: mine usage, then rationalize against job functions.
- **Least privilege per role:** each role holds the minimum permissions its members need. "Standard employee" roles should not include admin rights "just in case."
- **Hierarchies with care:** senior roles inheriting junior permissions reduces duplication — but deep hierarchies become incomprehensible. Two to three levels is usually the sweet spot.
- **Constraints:** static separation of duties (conflicting roles never assigned together) and dynamic (not activated in the same session). Enforce in the system, not in policy documents.
- **Role lifecycle:** roles are born (with justification), reviewed (still needed? still correct?), and retired. Roles without lifecycle become permanent privilege.

- **Attribute-based extensions.** When roles alone cannot express policy (project membership, data classification, location), ABAC attributes complement RBAC — but add ABAC only where RBAC demonstrably cannot cope, as complexity compounds.
- **Temporal constraints.** Time-bound role activations (contractor access, incident response) with automatic expiry prevent the most common privilege-accumulation vector.
- **Role mining cadence.** Re-mine usage patterns annually — organizations reorganize, and roles that matched last year's structure drift into irrelevance.

## Practical workflow

1. **Inventory current state:** dump all direct grants and existing roles; identify the worst offenders (over-broad roles, single-user roles, direct grants to sensitive resources).
2. **Mine candidate roles:** cluster users by actual permission usage; propose roles that cover 80%+ of members' needs with minimal excess. Validate against job functions with managers.
3. **Design the role catalog:** named, documented roles with clear purpose, membership criteria, and permission lists. Keep the catalog small enough to review — dozens, not thousands.
4. **Build hierarchies and constraints:** inheritance where it genuinely reduces duplication; SoD constraints for conflicting duties (finance, procurement, admin).
5. **Migrate:** map users to new roles, remove direct grants in phases, and verify no one loses needed access (pilot with one department first).
6. **Govern:** quarterly role reviews (membership still correct? permissions still minimal?), role-owner accountability, and a request workflow for new roles that requires justification — the gate that prevents re-explosion.

### Role definition template

- **Role name:** (clear, e.g., "Finance Analyst — EMEA")
- **Purpose:** what job function this serves
- **Membership criteria:** who qualifies (department, job code)
- **Permissions:** explicit list, with resources
- **Owner:** accountable person for reviews
- **Review date:** next scheduled review
- **SoD conflicts:** roles that cannot be combined with this one

### Sustaining the practice

- Review the role catalog annually for consolidation opportunities
- Track direct-grant percentage as the headline hygiene metric
- Audit role membership changes for anomalies (bulk grants, off-hours changes)
- Keep role documentation where requesters actually look — in the access request flow

### Metrics that prove it works

- Role count trend (should stabilize, not grow unboundedly)
- % of access granted via roles vs direct grants
- Role-review completion rate and permissions removed per review
- SoD violation count (target: zero unremediated)

## Common pitfalls

- **Role explosion.** Creating a role per user or per tiny permission set. If roles ≈ users, you have direct assignment with overhead.
- **Top-down-only design.** Org-chart roles rarely match actual access needs; validate with usage data or the model will be bypassed.
- **Permissions creep in roles.** Roles only grow unless reviews actively shrink them. Review with last-used data.
- **Skipping SoD.** Discovering toxic combinations after the fact. Build constraints into the model from day one.
- **No role owners.** Roles without accountable owners never get reviewed. Name an owner for every role.
- **Migrating without a pilot.** Big-bang RBAC migrations break access and get rolled back. Phase it, verify each wave.
- **Nesting roles into spaghetti.** Deep role-in-role hierarchies become unauditable. Keep nesting shallow and document the inheritance chain.
- **Emergency access via permanent role assignment.** Break-glass needs time-boxed elevation with automatic expiry, not a permanent role grant "for now."
- **Creating roles for organizational politics.** 'Executive super-user' roles that bypass the model teach everyone the model is optional. No exceptions to least privilege by title.
- **Forgetting the deprovisioning side.** Roles make granting easy; ensure removal is equally automated when people change roles or leave.

Attribution

aicodedecodeaicodedecode
View sourceSee grades on GitHubMore from aicodedecode →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698621 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →