lens-persona

Guides persona-aware dashboard changes using LensService and ProjectContextService patterns.

12|6|Updated Jul 14, 2025
One-click install
npx skills add https://github.com/linuxfoundation/lfx-self-serve --skill lens-persona-linuxfoundation
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: lens-persona
Source: https://github.com/linuxfoundation/lfx-self-serve/tree/main/.claude/skills/lens-persona
Command: npx skills add https://github.com/linuxfoundation/lfx-self-serve --skill lens-persona-linuxfoundation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working on Self Serve dashboards requires knowing how behavior varies by user persona (Contributor, Maintainer, ED, Board Member, Admin Mode), and mistakes like duplicating persona detection or flashing content while roles load are common. This Skill provides the workflow and architectural references needed to make persona-gated changes correctly. ## Core Features & Use Cases - Persona Gating Guidance: Directs you to gate UI with !myRoleLoading() && !isVisitor() so content does not flash while roles load. - Single Source of Truth: Funnels persona detection through LensService, ProjectContextService, and persona helpers instead of duplicating logic. - Architecture References: Points to canonical docs for the lens system, permission/navigation model, and backend impersonation. - Use Case: When adding a Maintainer-only edit button to a dashboard, use this Skill to identify the correct persona signal, avoid loading-state flicker, and document the permission change in the PR. ## Quick Start Ask the assistant to add an Admin Mode-only action to a Self Serve dashboard component and follow the lens-persona workflow.

Frequently Asked Questions about lens-persona

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

FAQPage Schema
How do I gate UI by user persona in an Angular dashboard?▼

Gate UI using signals like isMaintainer, isVisitor, canEdit, or hasPMOAccess from the persona services. Always combine with the loading check, for example !myRoleLoading() && !isVisitor(), so content does not flash while the role is resolving.

How do I detect the current user persona in LFX One?▼

Detect personas through LensService, ProjectContextService, or the relevant persona helper rather than writing custom detection logic. For ED checks, use PersonaService or the executiveDirectorGuard.

What personas exist in the Self Serve lens system?▼

The Self Serve personas are Contributor, Maintainer, ED (Executive Director), and Board Member. Admin Mode is a privileged variant available to EDs and admins that changes dashboard behavior.

Why does persona-gated content flash before the role loads?▼

Flashing happens when UI is gated only on a persona signal like !isVisitor() without checking the loading state. The documented pattern is to also require !myRoleLoading() so gated content renders only after the role resolves.

Does this Skill cover Auth0 login or persona aggregation?▼

No. Auth0 and Authelia login flow is covered by the backend authentication documentation, and persona aggregation is owned by the lfx-v2-persona-service repository, which should be treated as a peer service.