Hi Poongundran, your setup sound a little complicated, so I'm not 100% sure on the best way to set everything up.
BUT... from what you described, the primary issue seems to be that you placed the call on queue looking for Skill A (hard set, as you mentioned). So this call will only ever be routed to an agent that has Skill A (regardless of proficiency).
From what I can see in your setup, I guess just removing this Skill from the "Transfer to ACD block" should fix the issue.
The call will be simply placed on the queue looking for any members available (no skill required), but then it will take the Bullseye routing rules into consideration, so it will check for the 1st ring, then 2nd, etc. Until it finally reaches ring 4 and transfers to the agent with only "Skill B" on the 4th ring.
EDIT: Another thing that you can do instead, if you prefer, is removing Skill A on the Bullseyes rules for the queue, when it goes from the 3rd ring to the 4th ring you can remove the Skill A as a requirement.
------------------------------
Marcello
Senior PS Consultant
------------------------------