anvil-errand
One verb for work that belongs on another machine. `anvil errand` sends a Claude Code agent into a container on your node or spare PC and, before anything starts, asks whether every piece of the path is actually there: a node, a link to it, the image, the credential, the proxy. It reports the first blocker in that order and only the first, because a list assembled past the first failure carries entries nobody measured; the image lives on the node, so asking about it before the link is up returns an answer about the link wearing the image's words. Each of the six refusal kinds is a stable identifier carrying the one next step that clears it, and `--check` runs the whole preflight while changing nothing. The failure it removes isn't the errand not working; it's finding the missing piece halfway through a container start, from a symptom that points somewhere else. After that it's the ordinary job verbs, and `anvil attach` is read-only on purpose: the container starts detached, so PID 1's stdin is at EOF from the first instant. It provisions nothing, deliberately; standing up the node, engine, image, pairing and proxy from scratch is the runbook in the anvil repo, which stays the source of record. Worth knowing before you lean on it: `--check` passing is not the errand working, and the verb has not yet been driven against a live node from the gate.
/plugin install anvil-errand@fledgeling-pluginsNeeds the marketplace added first — how to do that.
Reach for it when
Send a Claude Code agent to work in a container on another machine through Anvil, using the single `anvil errand` verb, and read its refusals correctly when a piece of the path is missing.
Not for
Not for setting the path up from nothing: provisioning the node, the engine, the image, the pairing and the proxy is docs/ERRAND_RUNBOOK.
What ships with it
- No scripts — prose only
- No reference files
- No published evals
Say any of this
- run an errand
- send this to the node
- run Claude Code on the other machine
- offload this to the PC
- why was my errand refused
- anvil errand says image_absent
Taken from the skill’s own trigger description — these are the phrases it listens for. You do not have to match them exactly.
Send a Claude Code agent to work in a container on a machine that is not this one, through Anvil, and read the refusal correctly when it cannot.
What it is for
Anvil can run an agent on a paired node — a spare PC, a second Mac, a WSL2 distro on a Windows box. Every piece of that path was built and proved on real hardware separately: a workload running on the node, the Mac app watching one, a real provider call going out through the credential-holding proxy.
What was missing was one name for them. anvil errand is that name, and this
skill is the human-facing side of it.
anvil errand --check # can this work? changes nothing
anvil errand -p "review /work and list the three worst bugs"
The part that earns its keep
Not starting the errand — reading the refusal.
The verb asks whether every piece is in place before anything starts, and
when one is missing it answers with a stable identifier rather than a symptom.
errand_no_node and node_unreachable are different facts with opposite next
steps; so are image_absent and image_unverified, and telling someone to
build an image they already have is exactly the nearest-fit failure that split
exists to prevent.
The skill carries the table that turns each kind into the one step that clears it, plus the two refusals from further down the path whose cause is usually not what they first look like.
What it deliberately does not do
It starts nothing on your behalf — not the proxy, not a pairing, not a provision, not an install. It reports what is missing and stops, because setting the path up has real consequences on someone else's machine.
When a precondition fails nothing is started: no container, and no idempotency key spent, so re-running after the fix is a clean first attempt.
Where the recipe lives
docs/ERRAND_RUNBOOK.md, in the anvil repo. That is the source of record for
provisioning, it carries the evidence behind each of its claims, and this skill
does not replace or reproduce it — a second copy of a recipe drifts, and the
one everybody cites ends up being the stale one.
Use this skill for the verb and its refusals. Send anyone provisioning a machine to the runbook.
Status
Version 0.1.0. Shipped alongside the anvil errand verb (ANV-0365).
This plugin carries no icon, banner or eval suite yet — the pieces of the
standard create-skill brand treatment that need a human-chosen concept, or
that spend money, were left for a later pass rather than guessed at. The
substance — the SKILL.md, checked line by line against the verb's actual
behaviour — is complete.