So what you're asking is for a variation of the recipe that tracks Angel's recipe, and for the normal recipe to be disabled if the related vanilla recipe is disabled by a different mod?
Or specifically for it to copy it based on the existing recipe's values (if the recipe is missing then don't create the stacked version there-of, if it exists then multiply based on the time/count/etc values of that recipe), not to just put in recipes straight. :-)
Should be fairly easy with a simple helper function that you can call with a recipe name, it would then read the recipe with that name, if it does not exist then just return, if it does exist then copy it with a new name (prepend "stacked-"
or something to the name), multiply each of the time/input/output values by the stack amount, store it back into the data table, then return. That with a few optional dependencies to enforce proper loading order and then there is a setup that is trivial to extend, even automatically based on various criteria.
Based on https://github.com/shanemadden/factorio-deadlock-experiments/blob/master/prototypes/directsmelting.lua it seems that everything is hardcoded right now, which is both very difficult to upkeep and very difficult to extend in comparison to the above suggestion. It is also running during the data
stage, it should probably run during the data-final-fixes
stage so it gets the full represented views of the recipes that it is making stacked versions of as well in addition to a proper smattering of optional dependencies. :-)