If you're working with CL, the lisp-critic package may help (it's in quicklisp).
If you're working in another, more minimal, language it's worth seeing how far you can get by just staying withing the boundaries of the language report (e.g. R6RS, R7RS-small, ISLisp). I'd recommend implementing any features that depend on stuff outside the standard language in separate modules, which in addition to preparing the ground for portability just leads to a nicer design.