Repository navigation
Workflow Skill Router v2.1.2
Official release.
Why V2
Workflow Skill Router chooses one lead Skill for each phase of the work, adds
only the support that phase needs, and shows the route before the agent
continues. It is a pre-execution Skill-selection layer for Claude Code and
Codex: it does not replace Host permissions, approvals, sandboxing, or
production orchestration.
Why this patch
v2.1.2 fixes plan_work when a user names a Skill. Hosts list Skills by
name (python-test-writer), and models pass that name as written. In
v2.1.1 and earlier, plan_work accepted the bare name, planned with it, and
then rejected its own stored row on read-back, so the call returned
internal-error. The transaction rolled back, so no state was left behind,
but every request that named a Skill without the skill: prefix failed.
Upgrade if you or your agents name Skills in requests.
What changed
- Explicit Skill ids.
plan_workcanonicalizes a bare Skill name to
skill:<name>before planning, sopython-test-writerand
skill:python-test-writerlock the same Skill and collapse to one id. Any
other form, including a value that starts withskill:but breaks the id
contract, is rejected before anything is stored. - Public error for unreadable directives. A rejected id, several explicit
Skills withoutuse,only, orall, and an unknown semantics or work-mode
hint now returninvalid-argumentswith a reason code such as
explicit-skill-id-not-canonical. The MCP server returns that payload as a
tool error instead ofinternal-error, and it never echoes the rejected
input. - Tool description. The
plan_workexplicit_skill_idsdescription now
states the canonical form and the canonicalization rule. - Host fault lane.
scripts/run-host-fault-suite.pyloads the real Plugin
into a Claude Code or Codex session, injects one Host or Router fault per
case, and scores the transcript, the workspace, and the final answer against
the SKILL contract, including zero side effects after a denied write. Its
reports arehost-fault-behaviorevidence and never qualify a release.
Both Router SKILLs, classification, MCP tool names and readiness classes, and
persisted schemas are unchanged.
Choose your install mode
- Claude Code:
/plugin marketplace add eric861129/Workflow-skill-router, then
/plugin install workflow-skill-router@workflow-skill-router. Requires
Node.js 24+ and Python 3.11+. - Codex Plugin + MCP:
workflow-skill-router-plugin-v2.1.2.zipcontains the bundled local control
plane and typed runtime readiness. The Codex marketplace can also be pinned
with--ref v2.1.2. - Skill-only:
workflow-skill-router-skill-v2.1.2.zippreserves routing and disclosure
instructions without durable state or verified Host authority. Its routing
instructions are unchanged fromv2.1.0; Skill-only mode has no
plan_work, so this fix does not apply to it.
Canonical Plugin distribution
eric861129/Workflow-skill-router remains the canonical development and
governance surface for both hosts. The standalone
eric861129/workflow-skill-router-plugin repository is the generated target
for root-level Codex Plugin installation; the trusted release workflow
synchronizes it only after the frozen-source preflight succeeds, and its HOL
Plugin Scanner must pass before the target tag is created. Dependency updates
for the generated target are made here, not in the generated target.
Compatibility and evidence
The v2.1.0 Behavior run measured routing decisions made from the Router
SKILL alone: the Claude Code driver runs with no tools and no MCP server, so
the model never saw or called plan_work. The SKILLs, the case prompts, and
the scoring are unchanged, so this patch inherits the reviewed v2.1.0
Behavior evidence rather than claiming a new model run: the frozen six-case
paired beta smoke, 36 attempts across 42 model turns. That evidence does not
cover this fix. Deterministic tests through the bundled MCP server cover the
bare-name path. In one live Claude Code session with claude-sonnet-5-5, a
request that named python-test-writer without the prefix planned as
explicit-locked. The model passed skill:python-test-writer itself, so that
session did not exercise the server-side canonicalization. The maintainer
attestation records the inheritance and the deterministic gates for this
revision. Codex models were not re-qualified.
The release does not claim verified Skill activation, token reduction, or
task-outcome improvement.
Verify this release
- Validate
checksums.sha256before installation. - Inspect the
maintainer-attestationfor the frozen source revision before
relying on behavior evidence. - Inspect the
SBOMatsbom/workflow-skill-router-v2.1.2.spdx.jsonand
provenance/workflow-skill-router-v2.1.2.json. - Verify the generated target governance with
python scripts/verify-plugin-distribution-governance.py.
Full Changelog:
v2.1.1...v2.1.2