Vendor the nine shipped Opik skills from opik-mcp; retire agent-ops - #32
Conversation
The plugin carried two hand-copied skills (`opik`, `agent-ops`) that fell behind their source. opik-mcp is now the single source of truth for the Opik skill pack (OPIK-7471) and ships nine skills, so the plugin vendors those instead, pinned. - scripts/sync-shared-skills.sh: pinned to opik-mcp@0baa5ae (main after #191), SHARED = the nine published skills, evals/ excluded like the pack. - .github/workflows/skills-drift.yml: re-vendors at the pin on PRs and main and fails on drift. - skills/: agent-ops removed (folded into opik/references upstream); opik refreshed; opik-compare, -diagnose, -evaluate, -explain, -instrument, -online-eval, -optimize, -test added. skills/SHARED.md explains the rule. - commands/instrument.md loads `opik` + `opik-instrument` (agent-ops is gone). - README / CONTRIBUTING: skills section and tree; plugin.json 0.3.1 -> 0.4.0. Supersedes #30. opik-verify follows once opik-mcp#193 merges (bump CANON_REF). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
awkoy
left a comment
There was a problem hiding this comment.
Approved.
Checked the vendoring rather than reading 3.5k lines of skill text. diff -r --exclude=evals --exclude=SHARED.md between opik-mcp@0baa5ae/src/opik_mcp/skills and this branch's skills/ comes back empty, which matches what the drift job asserts. Same bytes as the opik-skills#27 pack, which I verified separately against the same commit, so once both land the public pack and the plugin carry identical skills.
The retirement is clean too: agent-patterns.md is a rename into skills/opik/references/ rather than a deletion, commands/instrument.md is correctly repointed off agent-ops, and a grep of the repo turns up no load target still pointing at it.
Five nits inline. None block. The README heading and the drift blind spot are the two I'd actually take.
…clone, checkout@v6, fix manifest URL - README: restore the `## Agents` heading that left with the agent-ops section, so agent-reviewer no longer reads as a skill. - sync-shared-skills.sh: a skill in SHARED that is missing upstream is now an error, not a warning — otherwise the stale vendored copy stays and the drift job passes over it. `--filter=blob:none` on the clone; the checkout still works. - skills-drift.yml: actions/checkout@v6, matching the opik-skills sync workflow. - plugin.json / marketplace.json: repository and homepage pointed at opik-claude-plugin, which 404s; now opik-claude-code-plugin. The agent-ops keyword stays for search continuity. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Details
The plugin carried two hand-copied skills (
opik,agent-ops) that had fallen behind their source.comet-ml/opik-mcpis now the single source of truth for the Opik skill pack (OPIK-7471) and ships nine skills, so the plugin vendors those instead, pinned to a commit.scripts/sync-shared-skills.sh— pinned toopik-mcp@0baa5ae(main after opik-mcp#191);SHAREDis the nine published skills;evals/excluded like the pack..github/workflows/skills-drift.yml— re-vendors at the pin on PRs and on main, fails on drift.skills/—agent-opsremoved (its content lives inopik/referencesupstream);opikrefreshed;opik-compare,-diagnose,-evaluate,-explain,-instrument,-online-eval,-optimize,-testadded.skills/SHARED.mdstates the rule: edit upstream, bump the pin, re-run.commands/instrument.mdloadsopik+opik-instrument(it loadedagent-ops, which no longer exists).plugin.json0.3.1 → 0.4.0.Supersedes #30.
opik-verifyfollows once opik-mcp#193 merges (one-lineCANON_REFbump).Testing
bash scripts/sync-shared-skills.shat the pin is a no-op after this commit (that is what the drift job checks). Skills are byte-identical to the publishedopik-skillspack at the same commit.