Skip to content

feat: ESS ships its own agent plugin and ess skill - #65

Merged
b10x-bot[bot] merged 6 commits into
mainfrom
feat/ess-plugin-marketplace
Sep 23, 2026
Merged

b10x-bot[bot] merged 6 commits into
mainfrom
feat/ess-plugin-marketplace

Conversation

@b10x-bot

@b10x-bot b10x-bot Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Moves the ESS agent guidance out of beyond10x/agentplugins into this repository, so one tag carries the binary, the plugin and its skills at one version.

Change Where
plugin ess@ess: skills ess (front door), specify, coverage, retrofit; Claude agents author, retrofitter, conformance plugins/ess/, .claude-plugin/marketplace.json, .agents/plugins/marketplace.json
ess skill [<path>] prints the skills embedded at build time; --json index; unknown path exits 2 crates/edge/ess-cli/build.rs, src/skill.rs
skill is the one first-level verb outside the four areas (TOOLS) crates/edge/ess-cli/src/main.rs, tests/command_surface.rs
cargo xtask plugin check, run by release verify: manifest version = workspace, marketplace identity, skill/agent names crates/edge/ess-xtask/src/plugin.rs
epic ess-agent-plugin + 3 stories .engineering/

Why: agentplugins 0.9.2 pinned ESS 0.22.1 while ESS was at 0.29.0; nothing checked that the skills matched the binary.

specify and coverage are moved from agentplugins 68f4e08; the specify example output was re-verified against this build (warehouse v1 — 2 file(s), valid).

Gate: task check SKIP_CONSUMER_CHECKS=true, exit 0 locally.

Follow-up: beyond10x/agentplugins retires ess-specify in its own PR, opened after this one.

b10x-bot Bot added 5 commits September 23, 2026 17:14
- epic:ess-agent-plugin: one release tag carries the ess binary, the
  Claude Code / Codex plugin and its skills at one version. The ESS
  guidance lived in beyond10x/agentplugins as ess-specify and had
  drifted (agentplugins 0.9.2 pinned ESS 0.22.1; ESS is at 0.29.0).
- story:plugin-in-repository, story:ess-skill-command and
  story:plugin-version-gate decompose it, each with one acceptance line
  and a scope; the last two depend on the first.
- The final write's projection publish did not complete; it was rebuilt
  from authority snapshot d391dcad… under writer-control custody, and
  `aep plan artifact validate` reports valid.
…ository

- plugins/ess carries the skills `ess` (front door: install the binary,
  read `ess skill`, route to a skill), `specify`, `coverage` and the new
  `retrofit` (derive a specification for an existing system from its
  OpenAPI contract, observed deployment or code, citing a source for
  every declaration), plus thin Claude agent wrappers `author`,
  `retrofitter` and `conformance`, each naming its skill.
- `specify` and `coverage` move from beyond10x/agentplugins
  plugins/ess-specify at 68f4e08. The `specify` example's recorded
  output is re-verified against this build: `warehouse v1 — 2 file(s),
  valid`.
- .claude-plugin/marketplace.json and .agents/plugins/marketplace.json
  serve it as `ess@ess` for Claude Code and Codex; both manifests carry
  the workspace version 0.29.0. `claude plugin validate` passes.

Refs: story:plugin-in-repository
- build.rs lists plugins/ess/skills/** and plugins/ess/agents/** and
  embeds them with include_str!, so the guidance an agent reads is the
  guidance for the exact binary it runs. No new dependency; the
  workspace is publish = false.
- `ess skill` prints the front door and an index; `ess skill <path>`
  prints one file byte for byte on stdout with `ess <version>: <path>`
  on stderr; `--json` prints the index; an unknown path exits 2 and
  lists every valid path.
- `skill` is the one first-level verb outside the four areas (TOOLS):
  it reads no specification. The surface tests now expect the four
  areas followed by `skill`.
- Tests: the index equals the plugin tree, every file resolves by its
  short spelling, names match paths, and no embedded file teaches a
  flat command spelling.

Refs: story:ess-skill-command
- `cargo xtask plugin check` refuses a plugin manifest whose version
  differs from [workspace.package], a marketplace under another
  identity or not listing ./plugins/ess, a skill whose frontmatter name
  differs from its folder, and an agent wrapper that names no existing
  skill as `ess skill <name>`.
- `cargo xtask release verify` runs it, so `task check` (release-check)
  and the release workflow both hold the plugin to the tag.

Refs: story:plugin-version-gate
- README: "Point your agent here" with `ess skill` and the pinned Claude
  Code and Codex install lines; the first level lists `skill`.
- AGENTS.md: a first line for agents using ESS elsewhere, the two plugin
  manifests in the version-bump list, and an Agent plugin section.
- CLI reference, getting started and status pages describe `ess skill`.
- CHANGELOG Unreleased records the plugin, the command and the gate.

Refs: epic:ess-agent-plugin
- `workspace.package.version` and all 20 `workspace.dependencies`
  entries move 0.29.0 -> 0.30.0; a minor bump invalidates a caret
  requirement, so they move together.
- Both lock files move: `Cargo.lock` and `fuzz/Cargo.lock`.
- Both plugin manifests move to 0.30.0; `cargo xtask plugin check`
  refuses them otherwise.
- `CHANGELOG.md` carries the dated 0.30.0 section: the in-repository
  agent plugin, `ess skill`, and the plugin version gate.
- `changes/agent-plugin-0.30.0.yaml` records the change and
  `WHATS-CHANGED.md` is regenerated from it (18 entries).
- The install walkthrough and the source-support block name 0.30.0.

`cargo xtask release verify`, `support --check`, `whats-changed --check`
and `docs` pass on this tree.
@b10x-bot
b10x-bot Bot merged commit 67058c4 into main Sep 23, 2026
5 checks passed
@b10x-bot
b10x-bot Bot deleted the feat/ess-plugin-marketplace branch September 28, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants