лично я использовал геркин в тдд с двойным циклом. То есть есть внешний цикл с тестами на геркине (я использовал при этом питоновский behave), а есть внутренний с юнит тестами уже на том языке, на котором разрабатываю. Мне норм.
А можно сделать так, чтобы org-refile работал примерно как выбор файла? Чтобы сначала выбирался файл куда рефайлить, потом заголовок с одной *, потом с ** и так далее?