I tend to approach jj commits as local PRs. Decide what it is I'm working on, make a new, empty commit on top of that :
jj new -m 'do thing'
jj new
As I work on the "local PR", I `jj squash` my working changes into the named commit. By keeping my working commit description-free, I avoid accidentally pushing it (and potentially broken code) to origin.