Claude Code expects bundled MCP server configs under an "mcpServers"
object (as the plugin README documents). Without the wrapper the runapi
server is not registered on install.
The description and "When to Use This Skill" list advertised six use
cases (staking, AMMs, governance, lending/borrowing, flash loans, yield
farming), but only four template families ship: Staking and AMM in
SKILL.md and Governance + Flash Loan in references/details.md.
Remove lending/borrowing and yield farming from the description, the
preamble, and the "When to Use" list so the advertised count matches
the four delivered templates.
Addresses review feedback on #576:
- convert.sh: feed the base64 payload to jq via --rawfile (temp file) instead
of --arg, so inputs larger than ~96KB no longer hit the OS per-argument
limit (MAX_ARG_STRLEN). Verified with a 164KB input (219KB base64).
- convert.sh: reject absolute and home-relative (~) user-supplied output paths
in addition to traversal, since OUT is written with curl -o. The auto-derived
default still works for absolute inputs (validation only applies to an
explicit output arg).
- docs: add file-conversion to docs/plugins.md (Utilities, now 5) and bump the
plugin count 84 -> 85 (83 local + 2 external) across README.md, AGENTS.md,
ARCHITECTURE.md, docs/architecture.md, docs/plugins.md, docs/usage.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add Claude Fable 5 (model: fable) as the tier above opus across the
adapter framework - native passthrough in Claude Code, mapped to each
harness's top model elsewhere. No agents are promoted yet; tier criteria
and cost guidance are documented in docs/agents.md and docs/authoring.md.
Refresh MODEL_ALIASES against current harness catalogs (June 2026):
- Codex: gpt-5 family -> gpt-5.5 / gpt-5.4-mini (per Codex model docs)
- Copilot: GPT-5 stand-ins -> native Claude models (claude-opus-4.8,
claude-sonnet-4.6, claude-haiku-4.5) now that Copilot CLI serves them
- OpenCode: opus -> anthropic/claude-opus-4-8; haiku dated pin ->
latest-tracking anthropic/claude-haiku-4-5
- Gemini: intentionally stays on GA gemini-2.5-* (3.x is preview-gated)
- plugin-eval judge opus tier -> claude-opus-4-8
Gates: generate-all (no committed drift), validate STRICT=1, garden,
test (442 passed), smoke-test all green.
- .claude-plugin/marketplace.json: revert incidental unicode-escape
normalizations on unrelated plugin entries; keep only the file-conversion
entry (ensure_ascii to match the registry's existing \uXXXX style).
- .cursor-plugin/** + .agents/: regenerated via `make generate-all` instead
of hand-editing the generated artifacts (make validate: OK, 5 harnesses).
- convert.sh: validate target format (alnum only) and reject '..' in the
output path (was a path-traversal risk on `curl -o $OUT`); build the
JSON-RPC payload with jq so arbitrary filenames are escaped safely (quotes,
backslashes, newlines, control chars), with a strict-sanitization fallback
when jq is absent.
External git-subdir entry following the Pensyve precedent.
Source: https://github.com/MartinForReal/storymap-skill (MIT, v0.0.3)
User story mapping (Jeff Patton style). Fills a gap in the current
catalog -- no existing skill/plugin covers Patton-style user story
mapping, MVP scoping, or PI planning.
- 4 invocation modes (from scratch / brief / backlog / refinement)
- 3 prioritization methods (WSJF, RICE, MoSCoW)
- 3 slicing strategies (Patton classic, SAFe PI, Now/Next/Later)
- 6 canonical output files (design doc, storymap md/mmd/csv, backlog)
- Auto-activates in the Plan stage of Superpowers / gstack / GSD
- Benchmark: 99.6% (255/256) on 25-eval suite, +79.2pp over baseline
Validator: PYTHONUTF8=1 uv run --project plugins/plugin-eval \
python tools/validate_generated.py
Output: "OK: no issues across 5 harness(es)."
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.
The Code Quality job runs ruff from `plugins/plugin-eval/`, so that project's
`[tool.ruff]` (line-length 100) governs the `../../tools/` sources too — there
is no repo-root ruff config. The previous reformat was run from the repo root,
where ruff fell back to its 88-col default, so CI disagreed. Reformat from the
plugin-eval cwd to match CI exactly.
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.