PR #558 updated the headline totals but left trailing references at
83/191/155 across README, AGENTS.md, GEMINI.md, ARCHITECTURE.md, and
docs/*. Sync them all to the true counts (82 local + 2 external = 84
plugins, 192 agents, 156 skills).
Also runs make generate-all to bring the committed harness registries in
sync — adds the social-publishing entries to .agents/ and .cursor-plugin/
(which the original PR could not regenerate) and fixes the stale count in
the generated cursor manifests.
Left round-trip-results.md (point-in-time CLI verification results) and
plugin-eval.md (grade threshold) unchanged.
Review feedback:
- codex.py: Codex marketplace entries now conform to the openai/codex
core-plugins schema — source {source: "local", path}, policy
{installation, authentication}, and category (was missing required
fields; flagged P1). Top-level trimmed to {name, plugins}.
- codex.py: interface.shortDescription cuts on a word boundary + ellipsis
instead of a mid-word [:120] slice in committed .codex-plugin manifests.
- cursor.py: top-level .cursor-plugin/plugin.json displayName is now the
short "Claude Code Workflows" instead of the long marketplace description.
Tooling (local drives CI):
- Bump ruff 0.15.14 -> 0.15.15 and ty 0.0.39 -> 0.0.40 in plugin-eval's
uv.lock so CI installs the same versions we run locally, and reformat the
tools/ + plugin-eval sources to ruff 0.15.15 (fixes the failing
ruff format --check; the lock-hash change also busts CI's stale cache).
make validate STRICT=1 clean / garden 0 errors / 442 tests pass; regeneration
remains drift-free.
Add lean, native plugin-install entry points so each harness's own plugin
manager can install this marketplace (mirroring obra/superpowers) — committing
only small JSON registries, not duplicated skill/agent content trees.
- Codex: committed marketplace registry (.agents/plugins/marketplace.json) +
per-plugin manifests (plugins/*/.codex-plugin/plugin.json). Entries point at
source ./plugins/<name>; Codex reads SKILL.md directly. Transformed
.codex/skills|agents stay gitignored.
- Cursor: commit the existing .cursor-plugin/ marketplace + .cursor/rules/
(these already point at source plugins/).
- Gemini: gemini-extension.json already committed (contextFileName: AGENTS.md);
transformed trees stay gitignored (install via clone + make generate).
- OpenCode: unchanged — install via `make install-opencode` (transformed tree
stays gitignored).
- CLAUDE.md is now a symlink to AGENTS.md; Claude-Code addenda moved to
docs/harnesses.md.
- CI: new step fails if `make generate-all` drifts from the committed registries.
Net new committed: ~720 KB of manifests (no skill/agent duplication). Adds
round-trip tests for the new registries + the symlink. Docs updated across
README, docs/harnesses.md, ARCHITECTURE.md, CONTRIBUTING.md, GEMINI.md,
docs/authoring.md, and the PR template.