The building blocks
Plugins
Code. WebAssembly components that add tools to the agent, such as
vend, read_soil, or move_arm. Sandboxed, with permissions and network egress granted per package.SOPs
Procedure. Standard operating procedures: triggered, ordered steps that call tools, with approvals, branching, and retries. This is where an operation is defined.
Skills
Guidance. Markdown instructions the model reads. They explain how and when to use your tools, without being code.
Firmware
The physical side. A microcontroller speaking JSON over serial. It drives pins and sends events, such as a keypad entry, that start procedures.
How they fit together
A typical machine works like this: the firmware notices something happened and sends an event, a SOP triggered by that event runs a fixed sequence of plugin tools, and the final step callsmonad_attest with a structured record. The skill sits beside all of it so that when a person asks the machine something in Telegram, the model knows which tools to use.
One package, one machine
A builder ships all of this as one plugin package.kinetic plugin create writes the full layout:
vending
Cargo.toml
manifest.toml
records.example.toml
src
lib.rs
sop
SOP.toml
SOP.md
skills
vending
SKILL.md
wit
One command installs everything onto a device:
Where to start
1
Design the record
Decide what one completed operation looks like, field by field. This becomes
records.example.toml, and it is what you will eventually sell. See Operation records.2
Write the tools
One tool per physical or business action. Keep them small and deterministic. See Plugins.
3
Write the procedure
Order the tools, add approvals where a person must confirm, and end with
monad_attest. See SOPs.4
Connect the hardware
Flash a board, wire the event that starts the procedure. See Hardware and firmware.