Npm publish to private scope keeps failing

This is an error that can have many origins. I will list some of the possibilities below:

  1. Your email address is not validated.
  2. The package is assigned to a group, in which you are not present.
  3. The name of the package you provided is similar to a yet existing package name in your scope.
  4. A typo in the scope name.
  5. A malformed package name.
  6. ...

Through experimenting, I actually found out that the naming scheme for private npm packages is different than the one officially documented. It appears that privately pushed packages cannot contain underscores, and probably other stuff is also conflicting with the official documents.