Q:

Navigating lisp

I want to programmatically navigate emacs lisp (and similar "nested paren code").
Specific functions I want:

Go to first child (which errors if there are no children (maybe lispy-outline-goto-child but better)
Go to sibling
Go to parent (already supported by (backward-up-list))

A:

Please check out Moving in the Parenthesis Structure, specifically:

C-M-f, which runs the command forward-sexp
C-M-b, which runs the command backward-sexp
C-M-d, which runs the command down-list

To get to the beginning of the 1st child, enter the list, then jump behind the 1st child and back to arrive at its beginning:
C-M-d C-M-f C-M-b

