Same thing. It seems Skype adds these duplicates every time it starts. In my case I ended with more than 10 duplicates for every contacts list. Skype version 7.21.85.100.
The only option I found is to fix skype's local database manually (or write a sql script for that :)). Skype uses SQLite to store it's data in %APPDATA%\Skype\, so it can be changed with SQLite browser (manually) or using SQLite command line tools. I wrote this SQL script that deletes duplicates:
delete from ContactGroups
where custom_group_id in
(select custom_group_id from ContactGroups
where custom_group_id is not null
group by custom_group_id
having count(*)>1) and id not in
(select min(id) from ContactGroups
where custom_group_id is not null
group by custom_group_id
having count(*)>1);
Batch script to run it:
set SKYPE_USER=<your skype user name>
sqlite3.exe %APPDATA%\Skype\%SKYPE_USER%\main.db < CleanupSkypeContactLists.sql
(assuming you saved sql code above as CleanupSkypeContactLists.sql in the same directory as sqlite3.exe from SQLite command line tools). And don't forget to quit Skype before running the script.
The script deletes duplicates, but when skype starts, it adds them again, so I still have 2 copies of all my contact list. Anyway it's better than having continiously increasing number of them.