Hi Liev,
You are right, I cannot run a recipe without data.
I can reuse a recipe within a project by going to the input/output tab and replacing the input and output, as long as the input is compatible, obviously. So there is an 'entity', a set of operations, that persists during such an operation. In principle, it can be exported.
Also, there could be an option of exporting a recipe with the associated data, just like exporting project exports all local data.
I'll look into Macros, thank you.