RootVehicle
is a player-only tag. You cannot directly detect if a non-player entity is riding something.
You would need to rely on the host, which makes multi-target situations unreliable (such that you can only reliably have 1 set of those mobs at a time for it to work perfectly).
For example, you would mark the skeleton for death but cause the horse to remove that label. If the horse dies, it no longer exists to remove the label and the skeleton would die.
/scoreboard players tag @e[type=Skeleton,name=pony] add kill
/execute @e[type=EntityHorse,tag=pony] ~ ~ ~ /scoreboard players tag @e[type=Skeleton,name=pony] remove kill
/kill @e[type=Skeleton,name=pony,tag=kill]
The execute command should do the trick. Here is an example that spawns the mob you were trying to spawn at the location of every player.
/execute @a ~ ~ ~ summon spider ~ ~1 ~ {Passengers:[{id:skeleton,HandItems:[{Count:1,id:bow},{Count:1,id:shield}],ArmorItems:[{Count:1,id:diamond_boots},{Count:1,id:diamond_leggings},{Count:1,id:diamond_chestplate},{Count:1,id:diamond_helmet}],CustomName:Killer,Visible:1,HandDropChances:[1.0f,1.0f],ArmorDropChances:[1.0f,1.0f,1.0f,1.0f],ActiveEffects:[{Id:1,Amplifier:1,Duration:999999},{Id:5,Amplifier:1,Duration:999999},{Id:8,Amplifier:1,Duration:999999},{Id:12,Amplifier:0,Duration:999999}]}]}
Of course this can be changed to spawn any mob like this:
execute @a ~ ~ ~ summon <your mob> [x] [y] [z] [dataTag]
Also, if you wanted to summon it at the location of the nearest player you simply change the @a to @p
Or to do a specific player enter @a[name=<player name>]
Best Answer
You can't. The only thing you can do without the relative coordinate operator is summon a horse at a specific coordinate. You cannot do any operations that require relative coordinates if the operator is disabled.