magento-admin-ui
Build Magento 2 admin interfaces — UI component grids, forms, system configuration, ACL, and admin controllers. Use when creating admin panels, data grids, edit forms, or system settings.
Best use case
magento-admin-ui is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Build Magento 2 admin interfaces — UI component grids, forms, system configuration, ACL, and admin controllers. Use when creating admin panels, data grids, edit forms, or system settings.
Teams using magento-admin-ui should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/magento-admin-ui/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How magento-admin-ui Compares
| Feature / Agent | magento-admin-ui | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Build Magento 2 admin interfaces — UI component grids, forms, system configuration, ACL, and admin controllers. Use when creating admin panels, data grids, edit forms, or system settings.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Magento 2 Admin UI & System Configuration
## Before writing code
**Fetch live docs**:
1. Fetch `https://developer.adobe.com/commerce/php/development/components/add-admin-grid/` for admin grid tutorial
2. Fetch `https://developer.adobe.com/commerce/php/tutorials/backend/create-access-control-list-rule/` for ACL tutorial
3. Web-search `site:developer.adobe.com commerce php development components ui-components` for UI component reference
## Admin Grids (UI Component Listings)
### How Admin Grids Work
Grids are XML-declared UI components backed by data providers. They render in the browser using KnockoutJS and load data via AJAX.
### Grid XML Structure (ui_component)
Located in `view/adminhtml/ui_component/<listing_name>.xml`:
- `<listing>` root element with data source
- `<dataSource>` — data provider class and configuration
- `<listingToolbar>` — bookmarks, columns controls, filters, mass actions, paging
- `<columns>` — column definitions (type, label, sortable, filterable)
- `<column>` — individual column (text, select, date, actions)
- `<actionsColumn>` — edit/delete action links
### Data Provider
- Extends `Magento\Ui\DataProvider\AbstractDataProvider`
- Backed by a collection (resource model collection)
- Provides data array to the grid
### Mass Actions
Bulk operations on selected rows:
- Delete, status change, export
- Declared in grid XML under `<massaction>`
- Each action maps to a controller
## Admin Forms (UI Component Forms)
Located in `view/adminhtml/ui_component/<form_name>.xml`:
- `<form>` root element
- `<fieldset>` groups related fields
- `<field>` — input, textarea, select, multiselect, boolean, date, imageUploader, wysiwyg
- Data provider loads entity data for editing
- Save controller processes form submission
## System Configuration
### system.xml
Defines admin config fields at Stores > Settings > Configuration:
- `<section>` — top-level tab
- `<group>` — fieldset within a section
- `<field>` — individual configuration field
- Field types: text, textarea, select, multiselect, obscure (password), image
### config.xml
Provides default values for system configuration fields. Path format: `section/group/field`.
### Reading Config Values
```php
$this->scopeConfig->getValue('section/group/field', ScopeInterface::SCOPE_STORE);
```
Scopes: default, website, store (store view).
## ACL (Access Control List)
### acl.xml
Defines resource hierarchy:
- Nested `<resource>` elements form a permission tree
- Admin users are assigned to roles; roles get resource permissions
### Controller ACL
Admin controllers extend `Magento\Backend\App\Action`:
- `const ADMIN_RESOURCE = 'Vendor_Module::resource_name';`
- Framework checks ACL before executing action
### Menu Items
Declared in `etc/adminhtml/menu.xml`:
- Maps to ACL resources
- Defines position in admin sidebar navigation
## Admin Controllers
- Extend `Magento\Backend\App\Action`
- Route in `etc/adminhtml/routes.xml`
- URL: `admin/<frontName>/<controller>/<action>`
- Common patterns: Index (list), Edit, Save, Delete, MassDelete, NewAction
## Best Practices
- Always create ACL resources for every admin feature
- Use UI component grids over custom HTML grids
- Provide bookmarks and export in grids
- Validate form data server-side (never trust client)
- Use `resultPageFactory` for rendering admin pages with proper layout
- Scope config values appropriately (global vs website vs store view)
Fetch the admin grid tutorial, ACL guide, and UI component reference for exact XML schemas and data provider patterns before implementing.Related Skills
woo-admin
Build WooCommerce admin interfaces — settings pages, admin menus, product data tabs/panels, order meta boxes, WooCommerce Admin (React analytics), and reports. Use when creating admin-facing configuration or display pages.
spree-admin-customization
Customize the Spree v5 Admin Dashboard — Tailwind 4 + Hotwire/Turbo/Stimulus stack, the `Spree.admin.navigation` declarative API (v5.2+) for menu items, partial injection slots (`store_nav_partials`, `store_products_nav_partials`, `store_orders_nav_partials`, `settings_nav_partials`), the Admin SDK components + form builder, custom dashboard reports, the Page Builder for storefront editing, and theme management. Use when adding admin pages, injecting UI into existing screens, or building admin extensions.
medusa-admin
Extend the Medusa v2 admin dashboard — widgets injected at zones, custom UI routes, Medusa UI components, and Admin API integration. Use when customizing the admin interface.
magento-testing
Write tests for Magento 2 — PHPUnit unit tests, integration tests, MFTF functional tests, and API tests. Use when implementing test coverage for modules, debugging, or setting up CI/CD test pipelines.
magento-setup
Set up a Magento 2 Open Source project — installation, Composer setup, system requirements verification, and initial configuration. Use when starting a new Magento project or setting up a development environment.
magento-service-contracts
Implement Magento 2 service contracts — repository interfaces, data interfaces, SearchCriteria, and the repository pattern. Use when building module APIs, data access layers, or integrating with Magento's Web API.
magento-security
Implement Magento 2 security — CSP, 2FA, CSRF protection, ACL, admin security configuration, input validation, and security best practices. Use when hardening a Magento installation or reviewing security posture.
magento-plugins-interceptors
Implement Magento 2 plugins (interceptors) — before, after, and around methods for modifying class behavior without inheritance. Use when extending core or third-party module functionality.
magento-performance
Optimize Magento 2 performance — full page cache (Varnish), Redis, indexer tuning, JavaScript/CSS optimization, database optimization, and profiling. Use when diagnosing slow pages, optimizing load times, or configuring caching.
magento-module-dev
Create Magento 2 custom modules — registration, directory structure, models, resource models, collections, declarative schema, and data/schema patches. Use when building new modules or understanding module architecture.
magento-frontend
Build Magento 2 frontend — layout XML, blocks, PHTML templates, ViewModels, themes, JavaScript (RequireJS/KnockoutJS), and LESS/CSS. Use when customizing the storefront, building themes, or working with frontend components.
magento-events-cron
Implement Magento 2 events, observers, cron jobs, and message queues. Use when building event-driven logic, scheduled tasks, or asynchronous processing.