admin-page

Use when adding an admin-portal page that is NOT a CRUD list backed by a datatable. Typical phrasings: "add an admin dashboard", "admin detail page for X", "settings page", "admin report / analytics page", "admin workflow step", "admin-only viewer for logs / audit". Covers the full flow — optional backend route + DTO + service (for pages that fetch data), frontend page component, router entry, sidebar menu entry, i18n, permission gating. Routes CRUD/list requests to `admin-datatable` and auth/login requests to `new-portal`. Do NOT use for: list/CRUD pages (→ `admin-datatable`); login / auth UI (→ `new-portal`, which scaffolds these); user-portal pages (adapt by analogy — no user-page skill yet); dashboards on the frontend without any backend data (regular component work, no skill needed).

Safety Notice

This listing is imported from SkillsMP metadata and should be treated as untrusted until upstream source review is completed.

Copy this and send it to your AI assistant to learn

Install skill "admin-page" with this command: npx skills add weiloon1234/skillsmp-weiloon1234-weiloon1234-admin-page

No markdown body

This source entry does not include full markdown content beyond metadata.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

new-permission

Use when adding a new variant to the `Permission` enum in `src/ids/permissions.rs` — a new RBAC scope for a feature area. Typical phrasings: "add a new permission", "new RBAC scope for topups", "permission for withdrawals / kyc / exports", "add `foo.manage` permission", "gate this feature behind a new permission". Covers the enum variant, the `module()` / `action()` / `implied_permission()` match arms, the TS regeneration, and pointers for downstream wiring. Do NOT use for applying an existing permission to a new route (just call `.permission(Permission::X)` — no skill needed), adding RBAC to a brand-new portal (that's part of `new-portal`), permission-gating a React component (regular frontend work with `usePermission`), or listing/auditing existing permissions (reference task, not a skill trigger).

Repository SourceNeeds Review
General

admin-badge

Use when adding a new admin-portal sidebar badge — a pending-item count indicator such as "pending topups", "pending KYC", "unreviewed withdrawals", or any "show count on admin menu" request. Covers the full cross-layer flow: backend AdminBadge trait file + BadgeServiceProvider registration + frontend MenuItem wiring. Do NOT use for Forge user notifications (outbound messages delivered to users), dashboard metrics / charts, or generic global-state counters unrelated to admin work queues.

Repository SourceNeeds Review
General

admin-datatable

Use when adding a new admin-portal listing / CRUD page backed by a datatable. Typical phrasings: "add a users page", "add admin for top-ups with filters and search", "create a CRUD page for withdrawals", "list page with export and create modal for X". Covers the full cross-layer flow — backend Datatable trait + registration + CRUD routes + request/response DTOs + service functions + frontend list page + form modal + delete modal + router + menu + i18n. Do NOT use for: single-record detail pages (separate skill), wizard-style multi-step forms, user-portal listing pages (admin-portal only for v1), or public-facing datatables.

Repository SourceNeeds Review
General

frontend-form

Use when building a form anywhere in the frontend — inside a modal, on a full page, as a wizard step, or a settings panel. Typical phrasings: "add a form for X", "settings form", "profile form", "multi-step wizard", "form modal for create/edit Y", "confirm action dialog". Covers `useForm` wiring + `@shared/components` field composition + `modal.open` for form modals + 422 error auto-wiring + submit / cancel / delete button patterns. Do NOT use for: the full admin CRUD-page flow (that's `admin-datatable`, which invokes this for its form modal); picking which shared component to use (`shared-components` — consult that for field-type → primitive mapping); building a `<DataTable>` column filter (not a form, that's the datatable's built-in filter system); auth login/refresh forms (those ship as part of `new-portal`).

Repository SourceNeeds Review
admin-page | V50.AI