diff --git a/scripts/build-loop-pages.mjs b/scripts/build-loop-pages.mjs
index 27078ad..65f596a 100644
--- a/scripts/build-loop-pages.mjs
+++ b/scripts/build-loop-pages.mjs
@@ -248,11 +248,11 @@ function renderLoopPage(loop) {
-
+
-
+
${escapeHtml(loop.seoTitle)}
diff --git a/scripts/check.mjs b/scripts/check.mjs
index d949490..0607f7a 100644
--- a/scripts/check.mjs
+++ b/scripts/check.mjs
@@ -543,8 +543,8 @@ for (const [index, loop] of loops.entries()) {
),
);
assert(page.includes(`rel="help" href="${siteMeta.baseUrl}agents/"`));
- assert(page.includes("../../styles.css?v=20260620-primary-nav"));
- assert(page.includes("../../script.js?v=20260620-primary-nav"));
+ assert(page.includes("../../styles.css?v=20260621-empty-state"));
+ assert(page.includes("../../script.js?v=20260621-empty-state"));
assert(page.includes(`Type'));
-assert(html.includes("./styles.css?v=20260620-primary-nav"));
-assert(html.includes("./script.js?v=20260620-primary-nav"));
+assert(html.includes("./styles.css?v=20260621-empty-state"));
+assert(html.includes("./script.js?v=20260621-empty-state"));
const homepagePostText =
"Find Loops and create your own - Loop Library";
assert(html.includes('class="share-actions" aria-label="Share Loop Library"'));
@@ -869,8 +869,8 @@ assert.equal(
(learnHtml.match(/href="https:\/\/here\.now\/r\/signals"/g) || []).length,
2,
);
-assert(learnHtml.includes("../styles.css?v=20260620-article-layout"));
-assert(learnHtml.includes("../script.js?v=20260620-primary-nav"));
+assert(learnHtml.includes("../styles.css?v=20260621-empty-state"));
+assert(learnHtml.includes("../script.js?v=20260621-empty-state"));
assert(learnHtml.includes("How agent loops work"));
assert(learnHtml.includes('
-
-
+
+
-
+
Loop Library: Repeatable AI Agent Workflows | Forward Future
@@ -2222,7 +2222,12 @@
No matching loops
Try another category, broaden your search, or submit the workflow.
-
Submit a loop
+
-
-
+
+
-
+
100% Test Coverage Loop for Coding Agents | Loop Library
diff --git a/site/loops/accessibility-repair-loop/index.html b/site/loops/accessibility-repair-loop/index.html
index 480230b..632ddb5 100644
--- a/site/loops/accessibility-repair-loop/index.html
+++ b/site/loops/accessibility-repair-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Accessibility Repair Loop | Loop Library
diff --git a/site/loops/architecture-satisfaction-loop/index.html b/site/loops/architecture-satisfaction-loop/index.html
index 6196a03..29189fb 100644
--- a/site/loops/architecture-satisfaction-loop/index.html
+++ b/site/loops/architecture-satisfaction-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Architecture Refactoring Loop for Coding Agents | Loop Library
diff --git a/site/loops/autonomy-loop/index.html b/site/loops/autonomy-loop/index.html
index 095ab9e..a3ad65b 100644
--- a/site/loops/autonomy-loop/index.html
+++ b/site/loops/autonomy-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
autonomy-loop Builder-Reviewer Workflow | Loop Library
diff --git a/site/loops/axelrod-subagent-arena-loop/index.html b/site/loops/axelrod-subagent-arena-loop/index.html
index a5eb0d7..bb05218 100644
--- a/site/loops/axelrod-subagent-arena-loop/index.html
+++ b/site/loops/axelrod-subagent-arena-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Axelrod Subagent Arena Benchmark | Loop Library
diff --git a/site/loops/boeing-747-benchmark/index.html b/site/loops/boeing-747-benchmark/index.html
index b422ff0..24f1d20 100644
--- a/site/loops/boeing-747-benchmark/index.html
+++ b/site/loops/boeing-747-benchmark/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Boeing 747 Three.js Vision Benchmark | Loop Library
diff --git a/site/loops/clodex-adversarial-review-loop/index.html b/site/loops/clodex-adversarial-review-loop/index.html
index 390a505..9520c34 100644
--- a/site/loops/clodex-adversarial-review-loop/index.html
+++ b/site/loops/clodex-adversarial-review-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Clodex Adversarial Code Review Loop | Loop Library
diff --git a/site/loops/codex-completion-contract-loop/index.html b/site/loops/codex-completion-contract-loop/index.html
index ae8c50a..a4a6b2b 100644
--- a/site/loops/codex-completion-contract-loop/index.html
+++ b/site/loops/codex-completion-contract-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Codex Completion Contract and Evidence Loop | Loop Library
diff --git a/site/loops/cold-load-trimmer-loop/index.html b/site/loops/cold-load-trimmer-loop/index.html
index 441523e..75dfd64 100644
--- a/site/loops/cold-load-trimmer-loop/index.html
+++ b/site/loops/cold-load-trimmer-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Cold-Load Byte Reduction Loop | Loop Library
diff --git a/site/loops/customer-ai-deployment-loop/index.html b/site/loops/customer-ai-deployment-loop/index.html
index 725d6e4..6d77bcb 100644
--- a/site/loops/customer-ai-deployment-loop/index.html
+++ b/site/loops/customer-ai-deployment-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Customer AI Deployment Loop | Loop Library
diff --git a/site/loops/devils-advocate-design-loop/index.html b/site/loops/devils-advocate-design-loop/index.html
index 689476c..c52768b 100644
--- a/site/loops/devils-advocate-design-loop/index.html
+++ b/site/loops/devils-advocate-design-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Devil's-Advocate Design Review Loop | Loop Library
diff --git a/site/loops/easy-onboarding-loop/index.html b/site/loops/easy-onboarding-loop/index.html
index f735ab2..7b2d0f4 100644
--- a/site/loops/easy-onboarding-loop/index.html
+++ b/site/loops/easy-onboarding-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Fresh-State Onboarding Improvement Loop | Loop Library
diff --git a/site/loops/exhaustive-logging-coverage-loop/index.html b/site/loops/exhaustive-logging-coverage-loop/index.html
index 71b4b53..4c3005d 100644
--- a/site/loops/exhaustive-logging-coverage-loop/index.html
+++ b/site/loops/exhaustive-logging-coverage-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Logging Coverage Loop for Coding Agents | Loop Library
diff --git a/site/loops/five-minute-repository-maintainer-loop/index.html b/site/loops/five-minute-repository-maintainer-loop/index.html
index 2ab9e1d..9877134 100644
--- a/site/loops/five-minute-repository-maintainer-loop/index.html
+++ b/site/loops/five-minute-repository-maintainer-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Five-Minute Repository Maintainer Loop | Loop Library
diff --git a/site/loops/fresh-clone-loop/index.html b/site/loops/fresh-clone-loop/index.html
index b008a7c..9880a9c 100644
--- a/site/loops/fresh-clone-loop/index.html
+++ b/site/loops/fresh-clone-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Fresh Clone README Verification Loop | Loop Library
diff --git a/site/loops/full-product-evaluation-loop/index.html b/site/loops/full-product-evaluation-loop/index.html
index c9dbb18..8a960a9 100644
--- a/site/loops/full-product-evaluation-loop/index.html
+++ b/site/loops/full-product-evaluation-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Full Product Evaluation Loop for AI Systems | Loop Library
diff --git a/site/loops/goal-forge-loop/index.html b/site/loops/goal-forge-loop/index.html
index 28d0453..089f76a 100644
--- a/site/loops/goal-forge-loop/index.html
+++ b/site/loops/goal-forge-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Goal Forge Specification Loop for Codex | Loop Library
diff --git a/site/loops/housekeeper-loop/index.html b/site/loops/housekeeper-loop/index.html
index ca9048b..8532e8d 100644
--- a/site/loops/housekeeper-loop/index.html
+++ b/site/loops/housekeeper-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Repository Housekeeper Cleanup Loop | Loop Library
diff --git a/site/loops/infinite-clickbait-loop/index.html b/site/loops/infinite-clickbait-loop/index.html
index 1e6835d..fcceda6 100644
--- a/site/loops/infinite-clickbait-loop/index.html
+++ b/site/loops/infinite-clickbait-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Infinite Clickbait Thumbnail Iteration Loop | Loop Library
diff --git a/site/loops/loop-harness-verification-loop/index.html b/site/loops/loop-harness-verification-loop/index.html
index c7b0e1e..3bb8006 100644
--- a/site/loops/loop-harness-verification-loop/index.html
+++ b/site/loops/loop-harness-verification-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Loop Harness Second-Agent Verification Workflow | Loop Library
diff --git a/site/loops/multi-llm-convergence-loop/index.html b/site/loops/multi-llm-convergence-loop/index.html
index 9038086..0359274 100644
--- a/site/loops/multi-llm-convergence-loop/index.html
+++ b/site/loops/multi-llm-convergence-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Multi-LLM Convergence Review Loop | Loop Library
diff --git a/site/loops/nightly-changelog-sweep/index.html b/site/loops/nightly-changelog-sweep/index.html
index 3c8c174..dc942e7 100644
--- a/site/loops/nightly-changelog-sweep/index.html
+++ b/site/loops/nightly-changelog-sweep/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Nightly Changelog Loop for Coding Agents | Loop Library
diff --git a/site/loops/overnight-docs-sweep/index.html b/site/loops/overnight-docs-sweep/index.html
index 5338de2..1fe1dfa 100644
--- a/site/loops/overnight-docs-sweep/index.html
+++ b/site/loops/overnight-docs-sweep/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Documentation Sweep for Coding Agents | Loop Library
diff --git a/site/loops/pixel-safe-css-trim-loop/index.html b/site/loops/pixel-safe-css-trim-loop/index.html
index 564fc4d..0254a98 100644
--- a/site/loops/pixel-safe-css-trim-loop/index.html
+++ b/site/loops/pixel-safe-css-trim-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Pixel-Safe CSS Reduction Loop | Loop Library
diff --git a/site/loops/post-release-baseline-loop/index.html b/site/loops/post-release-baseline-loop/index.html
index bb9bcf9..b745835 100644
--- a/site/loops/post-release-baseline-loop/index.html
+++ b/site/loops/post-release-baseline-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Post-Release Benchmark Baseline Loop | Loop Library
diff --git a/site/loops/prepare-new-project-loop/index.html b/site/loops/prepare-new-project-loop/index.html
index f2e55ac..528c0fc 100644
--- a/site/loops/prepare-new-project-loop/index.html
+++ b/site/loops/prepare-new-project-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Prepare a New Project Documentation Loop | Loop Library
diff --git a/site/loops/product-update-podcast-loop/index.html b/site/loops/product-update-podcast-loop/index.html
index 04b07fd..8184b83 100644
--- a/site/loops/product-update-podcast-loop/index.html
+++ b/site/loops/product-update-podcast-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Product Update Podcast Automation Loop | Loop Library
diff --git a/site/loops/production-data-cleanup-loop/index.html b/site/loops/production-data-cleanup-loop/index.html
index da4c5b9..631f76c 100644
--- a/site/loops/production-data-cleanup-loop/index.html
+++ b/site/loops/production-data-cleanup-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Production Data Cleanup Loop for AI Systems | Loop Library
diff --git a/site/loops/production-error-sweep/index.html b/site/loops/production-error-sweep/index.html
index c079cfd..b9c7bf1 100644
--- a/site/loops/production-error-sweep/index.html
+++ b/site/loops/production-error-sweep/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Production Error Triage Loop for Coding Agents | Loop Library
diff --git a/site/loops/promise-to-proof-loop/index.html b/site/loops/promise-to-proof-loop/index.html
index 7ae61c3..8f90ff7 100644
--- a/site/loops/promise-to-proof-loop/index.html
+++ b/site/loops/promise-to-proof-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Promise-to-Proof Product Audit | Loop Library
diff --git a/site/loops/propagation-compliance-loop/index.html b/site/loops/propagation-compliance-loop/index.html
index ac1f400..816f577 100644
--- a/site/loops/propagation-compliance-loop/index.html
+++ b/site/loops/propagation-compliance-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Repository Propagation Compliance Loop | Loop Library
diff --git a/site/loops/quality-streak-loop/index.html b/site/loops/quality-streak-loop/index.html
index cb4fd06..87e1fd6 100644
--- a/site/loops/quality-streak-loop/index.html
+++ b/site/loops/quality-streak-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Quality Streak Evaluation Loop for AI Products | Loop Library
diff --git a/site/loops/recent-feedback-sweep/index.html b/site/loops/recent-feedback-sweep/index.html
index 08323aa..30b18cc 100644
--- a/site/loops/recent-feedback-sweep/index.html
+++ b/site/loops/recent-feedback-sweep/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Recent-Feedback Project Audit | Loop Library
diff --git a/site/loops/repository-cleanup-loop/index.html b/site/loops/repository-cleanup-loop/index.html
index fd20151..f929f6c 100644
--- a/site/loops/repository-cleanup-loop/index.html
+++ b/site/loops/repository-cleanup-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Repository Cleanup Loop for Coding Agents | Loop Library
diff --git a/site/loops/revolve-self-improvement-loop/index.html b/site/loops/revolve-self-improvement-loop/index.html
index edd8428..fcd277b 100644
--- a/site/loops/revolve-self-improvement-loop/index.html
+++ b/site/loops/revolve-self-improvement-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Revolve Versioned Experiment Loop | Loop Library
diff --git a/site/loops/self-improving-champion-loop/index.html b/site/loops/self-improving-champion-loop/index.html
index 0929f01..53a837d 100644
--- a/site/loops/self-improving-champion-loop/index.html
+++ b/site/loops/self-improving-champion-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Self-Improving Champion Evaluation Loop | Loop Library
diff --git a/site/loops/seo-geo-visibility-loop/index.html b/site/loops/seo-geo-visibility-loop/index.html
index 6104f51..28d35ab 100644
--- a/site/loops/seo-geo-visibility-loop/index.html
+++ b/site/loops/seo-geo-visibility-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
SEO and GEO Visibility Audit Loop | Loop Library
diff --git a/site/loops/stale-safe-batch-release-loop/index.html b/site/loops/stale-safe-batch-release-loop/index.html
index 613d241..d0a8926 100644
--- a/site/loops/stale-safe-batch-release-loop/index.html
+++ b/site/loops/stale-safe-batch-release-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Stale-Safe Batch Release Loop | Loop Library
diff --git a/site/loops/sub-50ms-page-load-loop/index.html b/site/loops/sub-50ms-page-load-loop/index.html
index 299feca..6870e47 100644
--- a/site/loops/sub-50ms-page-load-loop/index.html
+++ b/site/loops/sub-50ms-page-load-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Sub-50 ms Page-Load Optimization Loop | Loop Library
diff --git a/site/loops/test-stabilizer-loop/index.html b/site/loops/test-stabilizer-loop/index.html
index af1123e..18c59e5 100644
--- a/site/loops/test-stabilizer-loop/index.html
+++ b/site/loops/test-stabilizer-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Flaky Test Stabilizer Loop | Loop Library
diff --git a/site/loops/test-suite-speed-loop/index.html b/site/loops/test-suite-speed-loop/index.html
index c524eb0..c06819f 100644
--- a/site/loops/test-suite-speed-loop/index.html
+++ b/site/loops/test-suite-speed-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Test-Suite Speed Optimization Loop | Loop Library
diff --git a/site/loops/ticket-to-pr-ready-loop/index.html b/site/loops/ticket-to-pr-ready-loop/index.html
index 1e34821..ecc49cf 100644
--- a/site/loops/ticket-to-pr-ready-loop/index.html
+++ b/site/loops/ticket-to-pr-ready-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Ticket-to-PR-Ready Loop for Coding Agents | Loop Library
diff --git a/site/loops/ui-ux-score-loop/index.html b/site/loops/ui-ux-score-loop/index.html
index 6952466..8cf8f33 100644
--- a/site/loops/ui-ux-score-loop/index.html
+++ b/site/loops/ui-ux-score-loop/index.html
@@ -60,7 +60,7 @@
-
+
-
+
Browser UI/UX Score Loop | Loop Library
diff --git a/site/loops/war-loops-frontend-designer/index.html b/site/loops/war-loops-frontend-designer/index.html
index 861af2e..bdad31b 100644
--- a/site/loops/war-loops-frontend-designer/index.html
+++ b/site/loops/war-loops-frontend-designer/index.html
@@ -60,7 +60,7 @@
-
+
-
+
War Loops Frontend Reconstruction Workflow | Loop Library
diff --git a/site/script.js b/site/script.js
index cca734f..1921f79 100644
--- a/site/script.js
+++ b/site/script.js
@@ -239,6 +239,28 @@ categoryFilters.forEach((filter) => {
});
});
+const clearFiltersButton = document.querySelector("#clear-filters");
+
+if (clearFiltersButton) {
+ clearFiltersButton.addEventListener("click", () => {
+ if (searchInput) {
+ searchInput.value = "";
+ }
+
+ activeCategory = "all";
+ currentPage = 1;
+
+ categoryFilters.forEach((candidate) => {
+ const isActive = candidate.dataset.categoryFilter === "all";
+ candidate.classList.toggle("is-active", isActive);
+ candidate.setAttribute("aria-pressed", String(isActive));
+ });
+
+ updateLibrary();
+ searchInput?.focus();
+ });
+}
+
if (paginationPrevious) {
paginationPrevious.addEventListener("click", () => {
if (currentPage > 1) {
diff --git a/site/styles.css b/site/styles.css
index 9ecf8de..6726461 100644
--- a/site/styles.css
+++ b/site/styles.css
@@ -884,6 +884,38 @@ code {
font-weight: 700;
}
+.empty-state-actions {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+ gap: 16px;
+}
+
+.empty-state-reset {
+ padding: 8px 12px;
+ border: 1px solid var(--ink);
+ color: var(--ink);
+ background: transparent;
+ cursor: pointer;
+ font-family: var(--font-mono);
+ font-size: 0.64rem;
+ font-weight: 600;
+ letter-spacing: 0.05em;
+ text-transform: uppercase;
+}
+
+.empty-state-reset:hover,
+.empty-state-reset:focus-visible {
+ color: var(--solid-foreground);
+ background: var(--solid-background);
+}
+
+.empty-state-reset:focus-visible {
+ outline: 2px solid currentColor;
+ outline-offset: 2px;
+}
+
.pagination {
display: flex;
align-items: center;