join-the-team v0.2.1 — Agent Plugins 1.0.0 conformance
This release makes join-the-team conform to the Agent Plugins 1.0.0 specification, with skills conforming to Agent Skills — and, unlike a README badge, proves it with a CI gate and a live install into every supported client.
Scope of adherence
Validated against the published schemas:
https://agent-plugins.org/schemas/1.0.0/plugin.schema.jsonhttps://agent-plugins.org/schemas/1.0.0/mcp.schema.json
| Surface | What the standard requires | What ships |
|---|---|---|
| Root manifest | plugin.json with $schema + name, closed schema |
Present; only the ten permitted keys |
| Fixed skill location | skills/ discoverable |
Real directory, 21 skills — survives installers that drop symlinks |
| Skill format | Agent Skills frontmatter | Name pattern, 64-char cap, dirname match, non-empty description ≤1024 chars — all gated |
| Client extensions | Reverse-domain namespaces | com.anthropic.claude-code, com.google.gemini-cli, ai.moonshot.kimi; every declared path resolved on disk |
mcp.json |
Optional; closed transport union | None shipped — the bundled config is a template, not live servers |
| Path safety | No escape from plugin root | Enforced on the .agents/skills alias |
Verify it yourself:
make spec-conformanceStandard-library Python, runs offline, reports as its own CI job, backed by 22 negative fixtures — because a validator that only ever passes is decoration.
Proven on four clients
Every client was installed from a clean install of this tree:
| Client | Version | Skills at fixed location | Session-start hook |
|---|---|---|---|
| Claude Code | 0.2.1 | 21 (+3 commands) | registered |
Antigravity (agy) |
0.2.1 | 21 (+3 commands) | hooks: 1 processed |
| Codex | 0.2.1 | 21 | native discovery |
| Kimi Code | 0.2.1 | 21 — confirmed in a live session | sessionStart |
Fixed since 0.2.0
0.2.0 was merged to main but never tagged. 0.2.1 supersedes it and fixes two defects that only live installs could surface:
- A regression the conformance work itself caused. Adding a root
plugin.jsonswitchesagyinto Agent Plugins mode, where it readshooks.jsonat the package root only — silently disabling Antigravity's session-start hook, which worked in 0.1.7. Both manifests now ship, kept byte-identical by the validator. - A conformant client could install and find zero skills.
skills/was a symlink, and Codex's install cache drops symlinks. The layout is inverted:skills/is now the real directory,.agents/skills/the alias. Existing.agents/skills/...references keep working.
Upgrade notes
- Existing
.agents/skills/...paths still resolve — nothing adopter-facing breaks. - A
codex plugin addinstall contains no.agents/skills/alias (Codex flattens symlinks); all 21 skills are atskills/. - Restart your client after updating.
Full detail and the decision record — including a written correction of two claims the first draft got wrong — in ADR-002 and the CHANGELOG.