e3-centers-admin

Implements aesthetic center management, center-scoped admin roles, and dashboard counters for the EOS backend.

Updated May 1, 2026
One-click install
npx skills add https://github.com/RomeroSilvia/Eos --skill e3-centers-admin-romerosilvia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: e3-centers-admin
Source: https://github.com/RomeroSilvia/Eos/tree/main/agents/skills/e3-centers-admin
Command: npx skills add https://github.com/RomeroSilvia/Eos --skill e3-centers-admin-romerosilvia

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building the E3-M3 module of the EOS skincare app requires coordinating backend routes, database tables, role-based permissions, and admin frontend screens for aesthetic centers, and this Skill defines the exact contracts and boundaries so the module is implemented consistently. ## Core Features & Use Cases - Center CRUD with Soft Delete: Implements GET, POST, PATCH, and DELETE endpoints under /api/centers following the routes-controller-service-repository pattern. - Center-Scoped Permissions: Restricts access through the center_admins table so each admin only manages centers where a matching row exists, returning 403 or 404 with friendly messages otherwise. - Specialist Assignment and Dashboard: Assigns specialists to centers via specialist_profiles.center_id and exposes a basic dashboard with specialist and client counters. - Use Case: When developing the EOS Entrega 3 Module 3, use this Skill to generate the centers endpoints, permission checks, and dashboard query without accidentally implementing M4 audit or M5 reporting features. ## Quick Start Use the e3-centers-admin skill to implement the centers module endpoints and center-scoped admin permissions for the EOS backend.

Frequently Asked Questions about e3-centers-admin

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

FAQPage Schema
How do I implement center-scoped admin permissions in Express?

Center-scoped permissions check the center_admins table for a row matching the authenticated user id, target center id, and role 'center_admin'. If no row exists, the endpoint returns 403 with a friendly message; missing or inactive centers return 404.

What endpoints does the centers module expose?

The module exposes GET, POST, PATCH, and DELETE under /api/centers, plus GET /api/centers/:centerId/dashboard and PATCH /api/admin/specialists/:specialistId/center. All routes require authentication and the center_admin role.

How is the admin dashboard by center calculated?

The dashboard returns four counters: specialistsTotal, specialistsVerified, specialistsPending, and clientsTotal. Specialists are counted by specialist_profiles.center_id and clients through existing client_specialist_relations, with no date ranges or aggregations.

Does this module include audit logging or advanced reports?

No. Audit is best-effort/TODO until the M4 module exists, and advanced reporting, exports, subscriptions, and heavy aggregations belong to M5. The skill explicitly forbids implementing those features inside M3.

How do I verify the centers module implementation?

Run the backend test suites with npm test -- centers and npm test -- admin, then run npm run typecheck in the backend and npx tsc --noEmit at the root to confirm TypeScript correctness.