Releases: smixs/skill-conductor
Releases · smixs/skill-conductor
Release list
v3.1.0 — Gated self-update: held-out gate + edit budget (SkillOpt core)
Borrows the core discipline of microsoft/SkillOpt — validation-gated bounded text edits — into skill-conductor's IMPROVE mode. No SkillOpt dependency; the methodology is implemented natively.
Improved
- Held-out gate for body edits (Mode 2 → Gated Self-Update Loop). Evals are split once per session into train/held-out (
scripts/split_evals.py: deterministic, seed 42, stratified by the new optionalevals[].category). Lessons and edits are formed from TRAIN failures only; a candidate is accepted iff (a) no held-out assertion flips pass→fail (with a confirmation re-run for noise), (b) train pass-rate strictly improves, (c) no new critical BinEval failure. This closes the overfitting hole where edits were accepted by the same evals that produced them. - Edit budget — at most 3 atomic edits per iteration, each labeled with its lesson. No wholesale rewrites, so a gate rejection stays attributable to a single edit.
- Case transitions — assertion-level diff parent→candidate (improved / regressed / persistent-fail / stable-success), recorded as an additive
transitionsblock in benchmark.json.
Fixed
split_eval_setwas private torun_loop.py(Mode 5 OPTIMIZE, descriptions only) — generalized intoutils.split_evals(stratify_key=...)and reused for body-edit gating. The historical should_trigger split is preserved bit-for-bit (verified on 60 configurations).
Field-tested
Validated end-to-end on humanizer-ru (15 evals, 103 assertions): baseline failure found on train, 3 gated edits accepted — train 62/63 → 63/63, held-out 36/40 → 37/40, zero regressions, one train-derived lesson transferred to a held-out case.
skill-conductor v3.0.0
First tagged GitHub release of skill-conductor, versioned v3.0.0 to continue the project's iteration history (v1 → v2 → v3) rather than restart at 1.0.0.
Full-lifecycle authoring for Claude Code agent skills: draft → test → review → improve → package.
Install
# skills.sh
npx skills add smixs/skill-conductor# Claude Code plugin
/plugin marketplace add smixs/skill-conductor
/plugin install skill-conductor@smixsWhat's new in v3.0.0
- BinEval evaluation — replaces the previous 5-axis 1-10 scoring with atomic binary yes/no questions across 5 dimensions (Discovery, Clarity, Structure, Robustness, Completeness), each answered with grounding evidence; the pass criterion is a gate on critical questions, not an opaque score. Adapted from "Ask, Don't Judge" (arXiv 2606.27226).
- Deterministic + LLM split —
eval_skill.py --jsonemits structural checks as binary question records; an evaluator agent answers the judgment questions with evidence, and a self-update loop feeds failing questions back into edits. - 9 authoring principles — a universal canon (pre-flight, no-process-in-description, MOC, fresh-practitioner author, TWI "why", blind-agent test, inline checklists, one-term-per-concept, cut-the-fat), now fully in English.
- Dual-channel install — one repo, one source of truth, installable via skills.sh and the Claude Code plugin marketplace.
Earlier iterations (pre-release)
- v2 — integrated Anthropic's eval engine (grader / comparator / analyzer agents, benchmark pipeline) with an architecture-first design.
- v1 — initial Skill Conductor: architecture patterns, TDD baseline, packaging.
Requirements
uv(checked in pre-flight)- Anthropic API key for executor subagents
Full docs: README.