Это выражение пришло из английского языка и связано с историей медицины, если быть точнее, с существовавшим в Англии запретом для медиков работать с мертвыми телами за исключением тел казненных преступников - так что этот «научный материал», как очень редкий и востребованны, бережно хранился годами. Естественно, вдали от посторонних глаз - это попросту было бы неприлично, выставлять на всеобщее обозрение бренные останки.
Как и все запретное, место хранения медицинских скелетов очень интересовало публику, и так как мало кто их видел: ни во врачебных кабинетах, ни возле пышного фикуса, ни на мягком диване в гостиной, общественное мнение сошлось на том, что коварные доктора прячут свои подопытные скелеты где-то в темном шкафу. Эта фраза стала синонимом тщательно оберегаемого секрета, некой холодящей душу тайны прошлого. И если запрет на препарирование трупов существовал в Англии до 1830, то «скелет в шкафу» появляется в литературном обиходе уже в 1810 - в том же значении, что мы придаем фразе сегодня: тайна, оберегаемый от посторонних секрет.