If it shows 3 skellig it means that there is a Innkeeper/Merchant from who you didn't buy all cards.
I had 3 Skellige and 2 Velen, so I just took this list and visited all to check if I had bought all cards from them.
In Velen the Merchant that I missed previously was because, you need to rescue him from bandits in order for him to show up.
I used this list:
Trader, Woesong Bridge, White Orchard
Innkeeper, Inn at the Crossroads, Velen
Trader, Crow’s Perch, Velen
Quartermaster, Crow’s Perch, Velen
Trader, Midcopse, Velen
Trader, Claywich, Velen
Trader, Lindendale, Velen
Missable: Olivier (innkeeper), Kingfisher Inn, Novigrad
Marquise Serenity (innkeeper), Passiflora, Novigrad
Innkeeper, The Golden Sturgeon, Novigrad
Trader, Seven Cats Inn, Novigrad
Innkeeper, Cunny of the Goose, Novigrad
Stjepan (innkeeper), Oxenfurt
Innkeeper, Kaer Trolde Harbour, Skellige
Innkeeper, Urialla, Skellige
Innkeeper, Arinbjorn, Skellige
Innkeeper, Svorlag, Skellige
Innkeeper, Harviken, Skellige