add-admin-endpoints
Add admin API endpoints with proper authorization, audit logging, and rate limiting (project)
npx skills add majiayu000/claude-skill-registry --skill add-admin-endpoints --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Implements admin API endpoints for NovaTune with proper authorization, audit logging, and rate limiting. Provides grouped endpoints for users, tracks, analytics, and audit logs, including list/get/update/moderate/delete actions and admin-only access with an audit-enabled policy.
How it works
- Adds admin authorization policies:
- AdminOnly: requires role claim "Admin".
- AdminWithAuditAccess: requires role "Admin" and permissions claim "audit.read".
- Creates admin endpoints at /admin with subgroups:
- /users: list, get, update status; each endpoint defines names, summaries, and response types; rate limits applied via policies: admin-user-list and admin-user-modify.
- /tracks: list, get, moderate, delete; corresponding rate limits: admin-track-list and admin-track-modify.
- /analytics: overview, top tracks, active users; rate limit policy admin-analytics.
- /audit-logs: list, get, verify; requires AdminWithAuditAccess; rate limit admin-audit.
- Implement handlers for each operation:
- List users: builds query from query params, calls ListUsersAsync, returns Ok(result).
- Update user status: validates ULID, validates reason code, prevents self-modification, calls UpdateUserStatusAsync, logs audit entry, returns Ok(result) or 404 if user not found.
- Moderate track: validates track ID, reason code, calls ModerateTrackAsync, logs audit with action based on moderation status, returns Ok(result) or 404.
- Delete track: validates track ID, calls DeleteTrackAsync, logs audit, returns 204 or 404.
- Audit logs: list with filters, logs viewing action; verify integrity with optional date window, logs integrity check.
- Rate limiting configured in Program.cs with sliding window limits for each operation group (admin-user-list, admin-user-modify, admin-track-list, admin-track-modify, admin-analytics, admin-audit, etc.).
When to use it
Use this skill when you need a structured admin API surface for NovaTune that enforces admin authorization, records audit trails for admin actions, and controls request rate to admin endpoints.
What it can touch
- Endpoints under /admin, including /admin/users, /admin/tracks, /admin/analytics, /admin/audit-logs.
- Tools referenced by the skill include: "claude-code" for code-oriented tasks (as declared).
Caveats
- Uses role-based and claim-based authorization policies; enforcement relies on the hosting app configuring claims correctly.
- Audit logging is performed on significant actions; exact audit payload structure is defined by CreateAuditRequest and related types in the hosting app.
- Rate limiting policies must be supported by the runtime; misconfigurations may block legitimate requests if limits are too strict.
# Add Admin Endpoints Skill Implement admin API endpoints for NovaTune with proper authorization, audit logging, and rate limiting. ## Overview Admin endpoints provide: - **User management**: List, view, and update user status - **Track moderation**: List, view, moderate, and delete tracks - **Analytics**: Dashboard overview and reports - **Audit logs**: View and verify audit trail ## Steps ### 1. Create Authorization Policies Location: `src/NovaTuneApp/NovaTuneApp.ApiService/Configuration/AuthorizationConfig.cs` ```csharp namespace NovaTuneApp.ApiService.Configuration; public static class AuthorizationConfig { public static IServiceCollection AddAdminAuthorization( this IServiceCollection services) { services.AddAuthorization(options => { // Basic admin access options.AddPolicy(PolicyNames.AdminOnly, policy => policy.RequireClaim(ClaimTypes.Role, "Admin")); // Admin with audit access permission options.AddPolicy(PolicyNames.AdminWithAuditAccess, policy => policy.RequireAssertion(context => context.User.HasClaim(ClaimTypes.Role, "Admin") && context.User.HasClaim("permissions", "audit.read"))); }); return services; } } public static class PolicyNames { public const string ActiveUser
- Overview
- Steps
- 1. Create Authorization Policies
- 2. Create Admin Endpoints
- 3. Implement User Management Handlers
- 4. Implement Track Moderation Handlers
- 5. Implement Audit Log Handlers
- 6. Add Rate Limiting Policies
- 7. Register Endpoints in Program.cs
- 8. Add Query Parameter Records
- Error Response Format
- Security Checklist
- Testing
What does the add-admin-endpoints skill do?
Add admin API endpoints with proper authorization, audit logging, and rate limiting (project)
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill add-admin-endpoints --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
