.skills/discourse-admin-ui/SKILL.md
Use this skill before building or reviewing any Discourse admin UI. It distills the Meta guide Creating consistent admin interfaces and points to current code examples so agents do not need to rediscover the conventions.
area or category: read references/filtered-settings-pages.md./admin/plugins/:plugin: read references/plugin-admin-interfaces.md.admin.config.page_name.title and admin.config.page_name.header_description.DPageHeader for the page shell, breadcrumbs, top actions, and tabs.DPageSubheader for section-level headings and section actions.AdminConfigAreaCard for grouped configuration content.d-table classes for responsive tables.AdminConfigAreaEmptyList for createable empty lists..skills/discourse-writing-html-css. For QUnit tests, use .skills/discourse-writing-js-tests.bin/lint --fix on changed files.ADMIN_NAV_MAP entry with name, route, label, description, and icon.AdminConfigWithSettingsRoute, AdminAreaSettingsBaseController, and AdminAreaSettings.new and edit routes rather than inline row forms.add_admin_route(..., use_new_show_route: true), plugin routes under admin.adminPlugins.show, and api.addAdminPluginConfigurationNav.DPageHeader or DPageSubheader yielded actions; use specific labels such as "Add webhook", not generic labels such as "Add".frontend/discourse/app/lib/sidebar/admin-nav-map.jsfrontend/discourse/admin/routes/admin-route-map.jsfrontend/discourse/app/ui-kit/d-page-header.gjsfrontend/discourse/app/ui-kit/d-page-subheader.gjsfrontend/discourse/admin/templates/admin-config/localization/settings.gjsfrontend/discourse/admin/templates/admin/backups.gjsfrontend/discourse/admin/templates/admin-config/about.gjsfrontend/discourse/admin/templates/admin-permalinks/index.gjsplugins/discourse-ai/assets/javascripts/discourse/initializers/admin-plugin-configuration-nav.jsplugins/discourse-ai/assets/javascripts/discourse/admin-discourse-ai-plugin-route-map.js