What are the top best practices for automation testing with Cucumberjs?

I would like to get some details regarding the top best practices for automation testing with Cucumberjs, can anyone please provide some to me.

  1. Organize your features.
  2. Use Tags and custom Hooks.
  3. Use meaningful scenario and feature names.
  4. Use reserved words meaningfully.
  5. Structure large scenarios with comments.
  6. Use backgrounds wisely.
  7. know the steps.
  8. Don’t be shy of using custom steps.