Community configuration allows tweaking various parameters of the existing suggested edits task types, but it doesn't allow creating new task types. This wouldn't make sense for structured tasks, but for template-based ones it would be very useful, especially for non-Wikipedias where the existing task types aren't really applicable (cf. T284485: Think about Growth features being used by non-Wikipedias), but it would also be valuable for Wikipedia communities willing to experiment.
The code was written with this kind of extensibility in mind so this shouldn't be too hard. What's needed to happen:
- check that the configuration loader and search system, the growthtasks API, the filtering UI and the task card UI all handle new task types (in theory they should but we never tested)
- same for logging/statsd (we might want to have a shared statsd bucket for all custom task types)
- modify task validation logic; currently TaskTypeHandler::validateTaskTypeObject() will fail if the relevant UI messages aren't defined, and that just breaks suggested edits completely
- link to the relevant UI messages in Special:EditGrowthConfig
- support community configuration for the guidance panel
- support arbitrary template-based task types in Special:EditGrowthConfig
The config page support seems the trickier part - the usual UX for this is one where you can add/remove form rows, but MediaWiki's PHP form framework doesn't support that. Either we drop PHP support and do it on the frontend, or maybe we could provide a button for deleting each task type, an empty field for adding a new task type, and some mechanism for sorting task types within a difficulty level.
We should probably also add an option to disable the fake "Create a new article" task type, and make the task type defaults (ie. new users starting with copyedit+links enabled) configurable.
A low-effort version would be not adding any UI. New task types would be an advanced feature then, only available via direct JSON editing.