Write the skill before the binary
Yesterday’s lesson was the stop:
Lean, a property test, a golden
transcript. Today’s is the start.
Calif’s agents found a messaging
RCE in two days. Simon’s agent
built a jeweled egg because a
SKILL.md told it how
to talk to Blender. Cursor will
run the same class of loop on a
machine you own. The model is
interchangeable. The local
contract is not.
A skill is a tiny API. It names
the binary, the flags, the files
it may touch, and the output you
will accept. Without that file,
every turn is a fresh guess at
the CLI, and a fresh chance to
pass -- into
something destructive. WeChat’s
friend list is the same bug at
product scale: a trusted contact
gets extra privileges, so owning
one friend owns the graph. MCP
tools with a
destructive_hint
you never gate are that friend
list. A coding agent that can
git, adb,
and a browser with no skill file
is a worm with a prompt.
Put the boundary on the machine,
not in the system prompt. Tool
execution on your LAN means the
keystore, the device farm, and
the half-finished exploit never
sit in a product that trains.
Calif’s warning is the operational
one: a lab accident is how
WannaCry left the building. If
you are using agents to find
bugs, the demo does not live on
a laptop that syncs. It lives
behind a network you can unplug,
with a disclosure clock, and
with a human who still owns
target selection. The agent
writes the payload. You write
the skill, the sandbox, and the
stop.
Checklist
-
Check in a
SKILL.md
for every local binary the
agent may drive. Flags, paths,
allowed outputs.
-
Run tool calls on machines you
own. The model is not the
sandbox.
-
Treat “trusted contact” and
“trusted tool” as the same
privilege. Gate writes.
-
Keep unpublished exploits and
private keys off products that
train. Unplug is a control.
-
Name the human jobs the model
does not get: target, test
harness, disclosure clock.
-
Demand an inspectable artifact
— a
.blend, a
patch, a mitigated CVE — not
a chat log.
This morning: one skill file for
a tool you already run, one
destructive call that cannot
leave the LAN, one secret that
is not in the prompt.