This is not how cocos2d handles multiple resolution assets.
In one's cocos2d code, you always use points (not pixels) to specify node position and size.
You setup a "designResolution" for your game, and it's the same for all devices (I'm using here an example of only 2 devices for simplicity).
That way, a node of 100x100 points that you place in the center of the designResolution box (I'm using 1024x768 as designResolution in my example), should have a position of 512x384 (whatever the device actual screen resolution).
How it is handled by the game engine is:
You setup the glView's designResolution to 1024x768 and it internally computes a scale (based on the view's real size) to be applied to all objects.
In the case of an iPad with a 1024x768 screen resolution, that scale (named 'viewScale') is 1.0f
In the case of an iPadRetina with a 2048x1536 screen resolution, that scale is 2.0f
This alone allows the same code to display your game objects at the same place on both devices.
Now to pervent the upscale of the sprites on the iPadRetina, we create multiple assets.
One at 1.0f scale (named iPadAssets) and one at 2.0f scale (named iPadRetinaAssets).
A good practice is to store those assets in a different folder (like you did in your example project), and setup cocos2d search path according to the assets you want to load. Then you have to set the director's contentScaleFactor to match the assets you loaded, based on your designResolution.
So in the case of an iPad, you load the 1.0f assets, and set a 1.0f contentScaleFactor. That way, a sprite of 100x100 points will be displayed using a 100x100 pixels image (stored in the 'ipad' folder).
In the case of an iPadRetina, you load the 2.0f assets and set a 2.0f contentScaleFactor. That way a sprite of 100x100 points will be displayed using a 200x200 pixels image (stored in the 'ipad-retina' folder) but this is 'normal' since we have a 2.0f contentScaleFactor.
This method prevents dynamic upscaling of the textures (at runtime).
Now the perfered method to create your assets, is to make the maximum size assets, and downscale all sub-resolutions.
So I create a 200x200 pixels image that I save in the ipad-retina folder, then downscale (TexturePacker does that automatically for me) the 100x100 pixels image to be saved in the ipad folder.
So (sorry for the long explanation), whatever the real screen size, my sprite should always be displayed with the same points size.
This is what my blue and red boxes show in the bottom left corner of the screen.
The skeleton should do the same thing automatically for me (it used to do that correctly in the old runtime version I used), the easiest way being to create the skeleton using the maximum resolution images of course (in previous runtime version, I had to put a 0.5 scale to the root bone, but that not an issue if I have to do that again).
Do you understand what I mean, or my explanation is not clear?
Thanks,
Kiki