SIGIL: Compiling Agent Skills into Typed Harnesses
Handing an agent a written procedure — a skill file, a repo instruction file, a runbook in the system prompt — assumes it will carry out the steps, but nothing in the loop makes it: the model re-derives the control flow on every run and quietly drops the mechanical parts. Across 30 such procedures and 1,080 runs, the prose agent performed 56% of the steps its own file mandated while still producing artifacts that passed the output checks — it wrote "all tests pass, build succeeds" into deliverables without ever running them, and narrated the API calls it would make before answering from what was already in its context. This paper compiles the prose into an executable harness in which every mandatory step becomes a gate in code that fires when execution enters the node, while the genuinely open judgements stay typed slots the model fills; compliance rises to 86%, whole procedures complete 2.3× as often, and it costs 0.58× the tokens. The finding that should change how you read your own skill files: the harness held at 86% on both model generations tested while the prose agent moved from 56% to 68%, so a stronger model narrows this gap and never closes it.