What problem does it solve?
Adding or modifying Discourse site settings involves many conventions across YAML config files, i18n locale files, validators, and admin UI grouping. This Skill ensures settings follow Discourse naming, typing, default, and dependency conventions so they work correctly in core and plugins.
Core Features & Use Cases
- Setting Definition Guidance: Covers config/site_settings.yml and plugin config/settings.yml, including types like bool, enum, list, group_list, category_list, and json_schema.
- Naming and Description Conventions: Enforces suffix conventions (*_groups, *_categories), admin-facing descriptions, and {{setting:name}} tokens for cross-references.
- Category Scope Patterns: Provides the two-setting category-scope pattern with CategoryScopeSiteSetting enum, depends_on_values, and inline dependent display.
- Use Case: When adding a new plugin setting that filters topics by category, use this Skill to define the scope enum and category_list pair with correct defaults, i18n descriptions, validators, and tests.
Quick Start
Use the discourse-site-settings skill to add a new enum site setting with a dependent category list to my Discourse plugin.