Skip to content
Claude Code plugin

Same workflow. Same output. Much lower cost.

Point Claude Code at a recurring headless workload — a scheduled job, a skill, a prompt. It comes back a local replica that runs for free on your hardware — with the receipts to trust it.

in Claude Code
/plugin marketplace add ahwurm/localshift
/plugin install localshift@localshift

How it works

Claude Code explores, designs the eval, and judges each seat 1v1. Then you cut over — the frontier calls deleted, not proxied — and the migrated job runs claude-free.

  1. 1

    Explore the workflow

    Goal, dataflow, tools, context footprint.

    /localshift:explore → WORKLOAD.md

  2. 2

    Design the eval

    Quality dimensions, the good-enough bar, a feasibility verdict.

    /localshift:design-eval → EVAL.md

  3. 3

    Build the framework

    The task, its hard checks, the judging rubric.

    /localshift:build → task.yaml + checks.yaml + judge.md

  4. 4

    Replicate locally

    The claude-free runner executes on your local endpoint.

    /localshift:replicate → runs + traces + artifacts

  5. 5

    Evaluate 1v1

    Blind local-vs-frontier judging ends in a verdict.

    /localshift:evaluate → EVAL-REPORT.md

Honest verdicts are the product

The bar is not frontier parity — it's good enough, and works, proven not assumed. Every seat earns one of three verdicts:

migrate

Passes every check and judged dimension. Cut over.

conditional

Specific, fixable gaps. Migrate after the fix list.

keep-frontier

Local can't meet it yet — said plainly. A first-class outcome, not a failure.

Two ways to shift

Same eval underneath — your call on how fast the frontier calls go away.

fast

Cut over now, optimize after

Move the whole workload local in one pass. Honest-fail seams catch what breaks, and the optimize-on-receipts loop closes the gap to frontier on your schedule. Least effort upfront, free from day one.

slow

Migrate seat by seat

Judge each component blind 1v1 and flip only what passes — the rest stays frontier until it's ready. Higher day-one fidelity, more deliberate.

Runs on local_harness

Migrated jobs run claude-free on LocalHarness — vLLM, Ollama, llama.cpp.