diff --git a/.cursorrules b/.cursorrules
index 4ac8166..ff1eff3 100644
--- a/.cursorrules
+++ b/.cursorrules
@@ -33,7 +33,8 @@ Use conventional commits. Prefix determines changelog category:
## When editing registry.json
-- Every entry needs all required fields: name, repo, slug, description, type, homepage, skills, rules, mcpTools, extras, topics, status, version, language, license, pagesType, hasCI.
+- Every entry needs all required fields: name, repo, slug, description, type, homepage, skills, rules, mcpTools, extras, topics, status, language, license, pagesType, hasCI.
+- Do not add a per-tool `version` field. It was removed because tool repos auto-bump patch on every content merge, so a catalog-pinned version re-stales on each tool's next content PR. The catalog tracks tools by repo and homepage, not by patch version.
- `type` must be `cursor-plugin` or `mcp-server`.
- `skills`, `rules`, `mcpTools` must be integers.
- After editing registry.json, also update:
diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
index c17b0e1..0c83388 100644
--- a/.github/workflows/validate.yml
+++ b/.github/workflows/validate.yml
@@ -39,7 +39,6 @@ jobs:
"extras": dict,
"topics": list,
"status": str,
- "version": str,
"language": str,
"license": str,
"pagesType": str,
diff --git a/AGENTS.md b/AGENTS.md
index 349ab86..86807c9 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -124,12 +124,13 @@ Array of tool objects. Required fields per entry:
| `npm` | string | npm package name (empty string or omit if none) |
| `topics` | string[] | Discovery tags |
| `status` | string | `experimental`, `beta`, `active`, `maintenance`, `deprecated`, or `archived` (see [`standards/lifecycle.md`](standards/lifecycle.md)) |
-| `version` | string | Current semver version |
| `language` | string | Primary language |
| `license` | string | SPDX identifier |
| `pagesType` | string | `static`, `mkdocs`, or `none` |
| `hasCI` | bool | Whether the repo has CI workflows |
+There is intentionally no per-tool `version` field. Tool repos auto-bump patch on every content merge, so a catalog-pinned patch version re-stales on each tool's next content PR (and is never rendered anywhere - the sync generator and docs site ignore it). The catalog tracks tools by repo and homepage. Do not reintroduce it.
+
### `docs/index.html`
The catalog site. It embeds a copy of the registry data in a `