go-cms-administration

Implements global CMS administration features restricted to the protected admin group.

Updated Jun 15, 2026
One-click install
npx skills add https://github.com/vernal96/go-cms --skill go-cms-administration-vernal96
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: go-cms-administration
Source: https://github.com/vernal96/go-cms/tree/main/.codex/skills/go-cms-administration
Command: npx skills add https://github.com/vernal96/go-cms --skill go-cms-administration-vernal96

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Global system operations like purging all resource revision history need a dedicated, tightly secured administration area rather than ordinary site-scoped pages or assignable permissions, and this Skill defines how to build that boundary correctly in the Go CMS monorepo. ## Core Features & Use Cases - Protected admin-group enforcement: Centralizes membership checks against the built-in admin group code across backend navigation, API handlers, and application services. - Defense-in-depth security boundary: Combines backend navigation visibility, frontend route guards, and backend endpoint authorization so direct API calls by non-admin users are rejected. - Destructive action UX with confirmation: Defines typed-confirmation flows (e.g., entering DELETE) with counts and impact descriptions for irreversible global operations like purging all revision history. - Use Case: When adding a global "purge all resource revisions" feature, use this Skill to place it under /api/administration/resource-revisions, hide the navigation item from non-admin users, and enforce admin-group membership in the service layer. ## Quick Start Ask the AI to add a global administration page that lets members of the built-in admin group view revision statistics and purge all resource revision history with a typed confirmation.

Frequently Asked Questions about go-cms-administration

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

FAQPage Schema
How do I restrict a CMS feature to a specific admin group in Go?▼

Enforce membership in the protected built-in group identified by the stable code `admin` via a centralized backend access or policy service. Reuse the domain constant instead of scattering string literals, and do not substitute generic super-user status unless the requirement explicitly allows it.

How do I secure a destructive global operation like purging revision history?▼

Use defense in depth: hide the navigation item on the backend, guard the frontend route, and enforce admin-group membership in the application service. The backend check is authoritative, so direct API calls by non-admin users must return the forbidden response.

Should global administration endpoints go under /api/admin?▼

No. Global system operations belong under an explicit administration namespace such as `/api/administration/resource-revisions`. The `/api/admin` prefix remains for module-specific admin APIs, and global operations must not be placed under site or resource endpoints.

Does a typed DELETE confirmation replace backend authorization?▼

No. Typed confirmation text is UX safety only and the backend must never trust it as authorization. Admin-group membership enforcement in the service layer remains mandatory regardless of what the frontend submits.

What should a global revision purge not do?▼

The purge deletes revision history only. It must not delete or mutate current resources, reset Resource.Version, or create a new revision, and database-specific optimizations like TRUNCATE belong in the repository adapter, not in handlers or domain contracts.