How do you create onboarding logic for first time user experience?

Are there any good resources for writing logic for a series of coachmarks for onboarding users?

Specifically, actions that trigger a coachmark in a series, how long they are shown, when they are dismissed and how long it takes for the next coachmark to show? I have written this logic and it is live in the app, but still just doesn't feel right.

Im also attaching an example of the flow. enter image description here EXAMPLE:

COACHMARK: #2A

STYLE: Tooltip (with point)

POSITIONING: Underneath the recent stream. Anchored to recent tab even as user scrolls (tooltip would scroll out of view as user scrolls the screen and the tooltip would reappear as user scrolls back up the screen)

COPY: “Tap here for posts from the entire community.”

TRIGGER:

  1. Occurs when user returns to home screen from any other section of the app.
  2. Occurs when user has scrolled down 5 pieces of content.

DISMISSED

  1. User can tap anywhere on screen to dismiss.
  2. Coachmark also dismisses after 5 seconds on its own without requiring the user to tap to dismiss.
  3. User can tap into any other section of the app to dismiss.