diff --git a/ulo/reset-libraries.sh b/ulo/reset-libraries.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6f5182d3460c95fd766a24c453999f15db8ee19e
--- /dev/null
+++ b/ulo/reset-libraries.sh
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+# reset git submodules in this directory
+
+set -eu
+
+reset_repo() {
+    (
+	cd "$1"
+	git reset --hard
+	git clean -f
+    )
+}
+
+base=$(dirname "$0")
+
+reset_repo "$base"/libraries/coq
+reset_repo "$base"/libraries/isabelle-distribution
+reset_repo "$base"/libraries/isabelle-afp
+