diff --git a/ventures/havre/index.html b/ventures/havre/index.html
index a929226..241dc81 100644
--- a/ventures/havre/index.html
+++ b/ventures/havre/index.html
@@ -19,6 +19,7 @@
+
diff --git a/ventures/havre/tools/build.sh b/ventures/havre/tools/build.sh
index cf6098d..b4b24bc 100644
--- a/ventures/havre/tools/build.sh
+++ b/ventures/havre/tools/build.sh
@@ -13,6 +13,12 @@ cd "$(dirname "$0")/.."
# so the build does
rm -rf art fonts tools/paint.py tools/draw.py tools/vendor tests/smoke.py
+# what agents look for stays: .well-known/ (the skills index) and robots.txt are served as they are, so the build
+# never clears them, and fails if they're gone
+for f in .well-known/skills/index.json robots.txt; do
+ [ -f "$f" ] || { echo "tools/build.sh: $f is missing: agents look for it" >&2; exit 1; }
+done
+
node tools/cast.mjs # cast/index.js, the harbor's own as the module the page imports, from cast/*.havre.json
node --test tests/*.test.mjs