Sleator and Tarjan [39] conjectured that splay trees are dynamically optimal binary search trees (BST). In this context, we study the skip list data structure introduced by Pugh [35]. We prove that for a class of skip lists that satisfy a weak balancing property, the working-set bound is a lower bound on the time to access any sequence. Furthermore, we develop a deterministic self-adjusting skip list whose running time matches the working-set bound, thereby achieving dynamic optimality in this class. Finally, we highlight the implications our bounds for skip lists have on multi-way branching search trees such as B-trees, (ab)-trees, and other variants as well as their binary tree representations. In particular, we show a self-adjusting B-tree that is dynamically optimal both in internal and external memory.