Just to make sure:
the mesh is a separate kind object type. I guess you are meaning a “mesh object” which is a game object with an assigned mesh.
What you want is pretty simple:
Inter-object logic brick connections.
The simplest method. You do not even need Python.
You can connect the logic bricks of any object with the corresponding logic bricks of another object (just select both objects ;))
connect an AND controller
-> with the action actuator of the armature
-> with the whatever actuator of the “collision object”
in Python you get the objects from the actuators:
Still a simple and flexible method.
You know your “collision object” is the parent of the armature.
That means the armature can get the reference to the “collision object” with:
the “collision object” has to search through it’s children:
for child in gameObject.children:
if <however you can identify the aramature>:
The far most inflexible and most inefficient method is to search through the scenes.
Similar to above you need a method to identify the according objects (e.g. by name, by property …)