Publishing a skill
A skill is a zipped bundle with manifest.json, a policy (model.onnx, optional model.tflite, or a rule
skill's rules.json), verification scenarios in tests/scenarios.json, and a README. The manifest names the
interface (mobile/1, companion/1, arm/1, legged/1), the classes it supports, its inputs and outputs, its
rate, its parent skill and upstream share if it is a fork, and the data sessions it was trained on.
- Train it with the Skill Foundry, or bring your own bundle.
- Upload the bundle (
POST /skills). The API checks the manifest and returnsmanifestHash. - Call
SkillRegistry.publish(manifestHash, classMask, parentSkillId, upstreamBps, sessionIds)from the trainer wallet. Every session must be accepted inDataAttestation. - Create a
SKILLlisting withListings.create. Forks copy the upstream share from the registry.
The split on a skill sale
Platform fee, then 15% to the collectors whose sessions it was trained on (pro rata by session length), then 5% to the verifiers, then the upstream share of the remainder to the parent skill's trainer, and the rest to you. A skill trained on no sessions folds the collector share back to you.
Skills start unverified. Three passing verification runs on real hardware make them verified; see Verification.

