Oh, wait. I just noticed something you wrote.
"The problem is that by default doctrine sets "nullable=false" as default if nullable is not defined."
and
"so the spected behavior is to Skipper detects all the fields as NOT NULL"
In case by "spected" you mean "Expected", then this is not true.
"NOT NULL==true" means "nullable=false". It's reverted ;-). It's means not(nullable).
So, if Skipper doesn't check "NOT NULL" after import, then this means, that "nullable=false" is correctly configured.