I have tried most all of the "free" filament clips and none would sufficiently hold my filament. The following design is based on a similar clip that I received with a spool of filament, so I tried to duplicate it's main attributes, which would securely hold 1.75 mm filament to the edge of the spool. Hope it works for you.
UPDATE Added "SmallFilamentClip.stl" file, which is the same filament clip with a smaller gap, so it will fit spools with thinner sidewalls. Let me know how it works.
Printed with 100% infill since it is such a small part. Takes less than :15 min to print with standard settings on my Prusa i3 Mk2. Clip is for 1.75mm filament
Found that if the clip was too loose and didn't fit tightly on the spool that you could take a lighter and gently heat up the top corner of the clip and then squeeze the clip opening together to adjust the gap. But be careful with PLA, as it only takes a second to heat it up enough to bend. You don't want to melt it.
How I made it with TinkerCAD
This was my first "Make" and I am new to creating 3D models and new to TinkerCAD. After watching several tutorials on YouTube and working through the first few tutorials in TinkerCAD, I was able to make this filament clip. I modeled it after another clip I received with a spool of filament. It turned out much better than I thought and works very well for me on most all of the different spools of filament I have. Hope it works for you as well.