What you will learn
- The structure of a SkillManifest v1 document
- Required fields for permissions, sandbox configuration, and file integrity
- How manifest signing and verification works
Overview
A SkillManifest is a JSON document that describes a sandboxed skill: its name, publisher, permissions, resource limits, file hashes, and a cryptographic signature. Skills must be registered viaPOST /v1/skills/register before they can execute in Domain C.
Schema structure
Fields
Top-Level
Publisher
Permissions
Sandbox
Files
Each entry in thefiles array:
Registration pipeline
When a manifest is submitted toPOST /v1/skills/register, it goes through 6 validation steps:
1
Schema Validation
The manifest is validated against the JSON Schema with
additionalProperties: false.2
Signature Verification
The ECDSA signature is verified against the
publisher.address. The manifest is canonicalized (JCS) before verification.3
Hash Computation
A keccak256 hash of the canonical manifest is computed for the registry record.
4
File Hash Verification
Each file’s SHA-256 hash is compared against the declared hash in the manifest. Any mismatch rejects the registration.
5
Static Analysis
The skill code is scanned for security violations: prohibited imports (
child_process, fs), direct network access (fetch, http), and environment variable access (process.env).6
Registry Storage
The manifest and hash are stored in the SQLite registry. Duplicate names are rejected (409 Conflict).
Signing a manifest
To sign a manifest, canonicalize the JSON (excluding thesignature field) and produce an ECDSA signature:
Next steps
- Sandbox Security — How sandbox isolation works in practice
- REST API — Registration endpoint details
- TxIntent Schema — The intent format skills can request