Take a look at CCSkeleton boundingBox. Code is like:
float vertices[8];
for (int i = 0; i < _skeleton->slotCount; ++i) {
Slot* slot = _skeleton->slots[i];
if (!slot->attachment || slot->attachment->type != ATTACHMENT_REGION) continue;
RegionAttachment* attachment = (RegionAttachment*)slot->attachment;
RegionAttachment_computeVertices(attachment, slot, vertices);
// Do something with:
// vertices[VERTEX_X1]
// vertices[VERTEX_Y1]
// vertices[VERTEX_X2]
// vertices[VERTEX_Y2]
// vertices[VERTEX_X3]
// vertices[VERTEX_Y3]
// vertices[VERTEX_X4]
// vertices[VERTEX_Y4]
}
Note I am just about to update boundingBox like the above because I saw it is more efficient not to use a quad.