I have a goal to make a shape cloning tool (transferring the properties of one shape to another). I'm going towards it in small steps
You may want to have a look at the enclosed ipynb. I haven't finished it, but there's a solid basis.
It is intended to document smart-shapes and to apply the smartness to an arbitrary shape.
It's done in Python because it relies heavily on iterating over collections and collecting data in lists of lists and dictionaries. I wouldn't want to write that in VBA.
The base idea is that a shapesheet is quite big, but only a tiny fraction really matters. So the trick is to find out what is special.
To do so, the code draws a basic rectangle, collects all the cells of the source shape and the new "virgin" reference shape.
It then iterates over both lists and keeps only the cells of the source shape where the lists differ.
These special cells are written in an excel sheet. Documentation done.
Not finished is collecting the same stuff for sub-shapes of groups. That is important for smart-shapes. Open point.
The data collected can be called a smart-shape definition. Applying such a definition to an arbitrary shapes goes in two steps.
First create all the cells that don't exist yet (props, user, geometry, etc.).
Only then the formulas can be written. Otherwise you would get too much errors from cells not existing yet.
Got stuck when I wanted to use the tool for modification "snippets". Like applying a certain text formatting and something else related to geometries. Couldn't get the matters separated ... Anyway.
Have fun with it.