Okay, then what is MUSCLE?

Reusable behavior with the safety rails left on.

A BONE connects a capability. A MUSCLE describes what should happen around it—check continuity, enforce a house style, route work, process a result, or stop a bad export—while Genlock keeps final control.

A MUSCLE (*.muscle.json) is a portable behavior manifest. It can subscribe to safe lifecycle moments—import, validation, prompt assembly, generation routing, render completion, and export—and declare how the host should invoke it through CLI, MCP, or API.

Power with boundaries

MUSCLEs return proposed patches instead of touching the production directly. Genlock checks every patch against capabilities you approved, refuses changes to locked content, applies the set atomically, and rolls back anything that would invalidate the document.

ObserveMeasure, log, and audit without changing anything.
TransformEnforce house style, normalize prompts, or process outputs.
VetoStop a bad export, continuity break, or unsafe route before it ships.
Open manifestCapability-scopedAtomic patchesFail-safe
// continuity-guard.muscle.json
muscle_id: continuity-guard
hook: document.validate
mode: veto
capabilities:
- read:shots
- read:characters
- read:props
execution_routes:
- type: cli
- type: mcp
# proposes patches; host stays in control
.SKEL holds the body..BONE attaches the capability..MUSCLE makes it move.