Skip to content

PLU-276: Collapse /evals:eval command into the eval skill - #12

Merged
benv2k6 merged 5 commits into
mainfrom
feature/plu-276-collapse-eval-command-into-skill-shim
Jun 17, 2026
Merged

benv2k6 merged 5 commits into
mainfrom
feature/plu-276-collapse-eval-command-into-skill-shim

Conversation

@benv2k6

@benv2k6 benv2k6 commented Jun 17, 2026

Copy link
Copy Markdown
Member

Summary

Skills are now slash-invocable in Claude Code (custom commands and skills were unified — a SKILL.md produces a / command just like a commands/*.md file). That made commands/eval.md and skills/evaluator/SKILL.md two near-identical entry points for the same flow (~95% duplicated prose: auth handling, search_evaluators-first, the frozen-task constraint, input templating, the optimize/poll/integrate steps), with a standing risk of silent drift.

This collapses the two into one source of truth:

  • Rename skills/evaluator/ → skills/eval/ (frontmatter name: evaluator → name: eval) so /evals:eval is served directly by the skill — no command file, no shim, no indirection hop.
  • Delete commands/eval.md.
  • Update the test comment in tests/test_tools.py to point at the new path.
  • Add .omc/ to .gitignore (local OMC state, should never be tracked).

The /evals:eval name is preserved, so the README references (and users' muscle memory) stay valid — it's just now backed by the skill instead of a duplicate command.

Why the rename instead of a thin shim

A shim command that delegates to the skill would keep the name but adds an indirection hop (load command → tell model to run skill → run skill) and a second file to maintain. Renaming the skill to eval gives the same /evals:eval name with zero extra files and no hop.

Test plan

  • uv run pytest tests/test_tools.py → 48 passed.
  • No remaining references to skills/evaluator, commands/eval, or evals:evaluator anywhere in the repo.
  • Sanity: claude --plugin-dir . → /reload-plugins → /evals:eval <task> picks up the flow via the skill.

Closes PLU-276.

🤖 Generated with Claude Code

Skills are now slash-invocable (commands and skills were unified in
Claude Code), so the separate commands/eval.md duplicated ~95% of the
evaluator skill's prose and risked silent drift.

Rename skills/evaluator/ -> skills/eval/ (name: eval) so /evals:eval is
served directly by the skill — no command file, no shim, no indirection
hop, single source of truth. Delete commands/eval.md and update the
test comment to point at the new path.

README /evals:eval references stay valid (same name, now from the skill).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@benv2k6
benv2k6 requested a review from Eladlev June 17, 2026 08:10
benv2k6 and others added 4 commits June 17, 2026 11:13
- marketplace.json plugins[].version 0.3.0 -> 0.4.0 to match plugin.json
- CLAUDE.md: remove commands/ from repo layout and intro (the plugin
  ships skills only); fold slash-command guidance into the Skills
  section (skills are slash-invocable and auto-activated)
- Release checklist now calls out keeping both version fields in sync

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CLAUDE.md, .claude/, and .vscode/ are local development files (internal
conventions, editor and plugin settings) that should not ship in the
public marketplace repo. Untrack them and add to .gitignore; they remain
on disk for local development.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The check-linear-issue workflow exposed the internal Linear/PLU process
and would fail CI for external contributors who have no Linear access.
Remove it from the public marketplace repo (recoverable from git history
if a private/internal copy is wanted).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The eval command was collapsed into the skill, so the orchestrator
instruction strings and test comments that read "eval skill / command"
are now inaccurate — only the skill exists. Drop the "/ command" half
in 6 spots (classifiers.py, evaluator.py x3, test_tools.py x2).

Behavior-neutral: string/comment wording only. ruff + pyright clean,
48 tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@benv2k6
benv2k6 merged commit 0005dcd into main Jun 17, 2026
@benv2k6
benv2k6 deleted the feature/plu-276-collapse-eval-command-into-skill-shim branch June 17, 2026 10:31
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.

1 participant