I think that having my local tasks and "include" others in the same project will remove a lot of task coping and enable sharing the code between projects, for example I usually write tasks based on aliases in deps.edn, and epupp is now popular in my tasks. I think that there is a bb.edn parsing stage where tasks map is created. To make the tasks fully dynamic one can write :tasks :load fn that can call default loader and then reshape task dynamically. For example when server is running stop task is not available or when deps.edn has certain aliases they can be exposed as tasks.