The following list of commands is taken from the toybox roadmap[0] and
has been stripped down  accordingly.  Commands that belong to ubase[1]
are not listed here as well as commands that fall outside the scope of
sbase such as vi and sh are also not listed here.

at
awk
bc
diff
ed manpage
patch
stty

If you are looking for some work to do on sbase, another option is to
pick a utility from the list in the README which has missing flags or
features noted.

[0] http://landley.net/toybox/roadmap.html
[1] http://git.suckless.org/ubase/
