A structured language for what robots do,
and how you prove it happened.
Spur Protocol is an open standard for packaging, validating, and deploying robotics Skill Packs across heterogeneous autonomous fleets — and, as of 0.3.0, for recording a signed, licensable human demonstration behind one. Four canonical objects compile into a runtime contract. Nothing here is marketing copy; every claim below is generated from the schemas in this repo.
Four inputs compile into one runtime-ready plan.
A Task Envelope captures intent and context. A Skill Pack contributes executable
capabilities. A Governance Policy constrains allowable behavior. compileExecutionPlan()
resolves these into a hashed, deterministic Execution Plan. Adapters translate that plan into
platform-specific commands — ROS2, VDA 5050, or a vendor API — while preserving
protocol semantics, and a conformant runtime emits an append-only Audit Event trail for every
step.
Eight objects. Every field, every example, pulled live from this repo.
This isn't documentation written about the schemas. It's generated from them at build time — if a field here is wrong, the schema itself is wrong.
Install it. Validate something. Compile a plan.
npm i @spurprotocol/types @spurprotocol/validator @spurprotocol/compiler
import { validateSpurEnvelope } from '@spurprotocol/validator';
validateSpurEnvelope(envelope); // throws with the exact field that failed, or returns
import { compileExecutionPlan } from '@spurprotocol/compiler';
const plan = compileExecutionPlan({ envelope, skill, policy, robot });
console.log(plan.hash, plan.planId); // deterministic -- same inputs, same hash
Full spec, conformance vectors, and the runtime contract live in the repo — spec/ and examples/.