Help with bleed/contour macro

Sometimes I need to create bleeds and cutlines for various objects that are to be digitally printed and then cut using a plotter. It's not really my field but I can manage. Anyway, with the most basic artworks, or at least artworks that have a single outline or fill colour, the process goes as follows:

  1. Duplicate the object
  2. Assign the cut outline colour (usually magenta)
  3. Remove the fill
  4. Contour the original object outwards by 3mm
  5. Remove outline colour
  6. Assign the original object fill to the newly created contour  via the colour eyedropper

This becomes tedious very quickly. I need an automated solution.

Last year I tried recording a macro using more or less these steps, but I could not figure out how to point the macro to any given object. As far as I remember, it would just use the size and colour properties of whichever object was used to record the macro, so it was not dynamic.

So I have two questions:

First off, is there an outright easier way to achieve what I'm doing?

If not, how do I make the macro be more generic in its targeting? In other words, fetch and apply properties from the currently selected object instead?

Thank you.