curl may support skipping files when used with both -O and -J,
but its behavior is inconsistent.
The -J (--remote-header-name) option basically tells the
-O (--remote-name) option to use the server-specified Content-Disposition
filename instead of extracting a filename from the URL.
Curl then doesn't know what file name the server will return and it may ignore the existing file as a safety precaution.
However, the behavior is unpredictable and it doesn't work for all files.
You may find more information and possible workarounds in the post
How to skip already existing files when downloading with curl?