diff --git a/scripts/build-loop-pages.mjs b/scripts/build-loop-pages.mjs
index 6a3dc7a..c369d66 100644
--- a/scripts/build-loop-pages.mjs
+++ b/scripts/build-loop-pages.mjs
@@ -404,7 +404,7 @@ ${structuredData(loop)}
${escapeHtml(loop.title)}
${escapeHtml(loop.description)}
- Contributed by ${escapeHtml(loop.author)}
+ By ${escapeHtml(loop.author)}
${shareActions(loop, url)}
diff --git a/scripts/check.mjs b/scripts/check.mjs
index 7ea25c5..af60f87 100644
--- a/scripts/check.mjs
+++ b/scripts/check.mjs
@@ -630,7 +630,7 @@ for (const [index, loop] of loops.entries()) {
assert(page.includes(loop.description));
assert(page.includes(escapeHtml(loop.prompt)));
assert(page.includes(`Loop ${loop.number}
`));
- assert(page.includes(`Contributed by ${loop.author}`));
+ assert(page.includes(`By ${loop.author}`));
assert(page.includes(escapeHtml(loop.verifyTitle)));
assert(page.includes(escapeHtml(loop.verifyDetail)));
assert(page.includes(escapeHtml(loop.useWhen)));
diff --git a/site/loops/100-percent-test-coverage-loop/index.html b/site/loops/100-percent-test-coverage-loop/index.html
index 5886940..407b128 100644
--- a/site/loops/100-percent-test-coverage-loop/index.html
+++ b/site/loops/100-percent-test-coverage-loop/index.html
@@ -211,7 +211,7 @@
The 100% test coverage loop
A goal-based coding-agent workflow that identifies uncovered behavior, adds meaningful tests, and stops when the full suite passes at 100% coverage.
- Contributed by Matthew Berman
+ By Matthew Berman